diff --git a/404.html b/404.html index 0fa4a7b5d..574987c78 100644 --- a/404.html +++ b/404.html @@ -9,7 +9,7 @@ - + @@ -34,7 +34,7 @@
- + \ No newline at end of file diff --git a/README.html b/README.html index 4e5909fd9..d3c8f387c 100644 --- a/README.html +++ b/README.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,8 +66,8 @@

Deploy

Rollkit Documentation Site

Welcome to the official documentation repository for Rollkit.

Here you'll find comprehensive guides, tutorials, and reference materials to help you make the most out of Rollkit.

Building the site

To get started, clone the repository and run the following:

bash
yarn run docs:dev

This documentation site is built with VitePress

Contribution Guidelines

We love contributions from the community! Whether you're fixing typos, improving content clarity, or adding new topics, every contribution helps.

  • Fork & Clone: Fork this repository and clone it to your local machine.
  • Branch: Always create a new branch for your changes. Naming it relevantly.
  • Commit Changes: Make your changes and commit them with a clear and concise commit message.
  • Push & Create PR: Push your changes to your fork and create a pull request to the main branch of this repository.

Please ensure to review the detailed Contribution Guidelines above before making a pull request.

Directory Structure

  • /tutorials: Step-by-step instructions to help users build their own rollups with Rollkit.
  • /learn: Technical reference materials, such as configuration options and details about the Rollkit stack.
  • /blog: Blog posts for the Rollkit blog.
  • /public: Images, diagrams, and other media files used in the documentation.

Feedback & Suggestions

We value feedback from the community. If you have suggestions for improvements or find any discrepancies in the documentation, please raise an issue in this repository.

- +

Deploy

Rollkit Documentation Site

Welcome to the official documentation repository for Rollkit.

Here you'll find comprehensive guides, tutorials, and reference materials to help you make the most out of Rollkit.

Building the site

To get started, clone the repository and run the following:

bash
yarn run docs:dev

This documentation site is built with VitePress

Contribution Guidelines

We love contributions from the community! Whether you're fixing typos, improving content clarity, or adding new topics, every contribution helps.

  • Fork & Clone: Fork this repository and clone it to your local machine.
  • Branch: Always create a new branch for your changes. Naming it relevantly.
  • Commit Changes: Make your changes and commit them with a clear and concise commit message.
  • Push & Create PR: Push your changes to your fork and create a pull request to the main branch of this repository.

Please ensure to review the detailed Contribution Guidelines above before making a pull request.

Directory Structure

  • /tutorials: Step-by-step instructions to help users build their own rollups with Rollkit.
  • /learn: Technical reference materials, such as configuration options and details about the Rollkit stack.
  • /blog: Blog posts for the Rollkit blog.
  • /public: Images, diagrams, and other media files used in the documentation.

Feedback & Suggestions

We value feedback from the community. If you have suggestions for improvements or find any discrepancies in the documentation, please raise an issue in this repository.

+ \ No newline at end of file diff --git a/assets/app.B4W5LDy6.js b/assets/app.XeY7gsc2.js similarity index 99% rename from assets/app.B4W5LDy6.js rename to assets/app.XeY7gsc2.js index 62572b42d..d10026f46 100644 --- a/assets/app.B4W5LDy6.js +++ b/assets/app.XeY7gsc2.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/dagre-7KT5K2WU.Bt3L10G_.js","assets/chunks/graph.BWNVXCq5.js","assets/chunks/baseUniq.Cpp3LtUr.js","assets/chunks/layout.tjTIlxV4.js","assets/chunks/basePickBy.Cv297fiu.js","assets/chunks/json.mbpuitjH.js","assets/chunks/clone.Orx1AHso.js","assets/chunks/framework.CGQ59HuL.js","assets/chunks/theme.whhJV-4y.js","assets/chunks/c4Diagram-ZCSEYPFN.C41loL8V.js","assets/chunks/chunk-V35ELUW5.DnZkrfgD.js","assets/chunks/flowDiagram-NWEUNK3L.BsT7CT9e.js","assets/chunks/chunk-4LC2V6XN.B8hKw3ZB.js","assets/chunks/channel.Bhr7ocrP.js","assets/chunks/erDiagram-DKC2X5TE.CdySuqQr.js","assets/chunks/gitGraphDiagram-JPZ3KUXI.D752SIlR.js","assets/chunks/chunk-RYO7GUH3.Bj74XpVL.js","assets/chunks/chunk-6JKP7OK7.BgZMD3fh.js","assets/chunks/gitGraph-YCYPL57B.DzGlZmxr.js","assets/chunks/ganttDiagram-HLVPPPRE.CBltqDFq.js","assets/chunks/linear.CPyRlV9U.js","assets/chunks/init.Gi6I4Gst.js","assets/chunks/infoDiagram-RZZSJVI2.3hqSSmsQ.js","assets/chunks/pieDiagram-X7YZ5ZEZ.DdolosuG.js","assets/chunks/arc.CiTvs1Z-.js","assets/chunks/ordinal.BYWQX77i.js","assets/chunks/quadrantDiagram-F36EZAVT.DRQXII3L.js","assets/chunks/xychartDiagram-KECQ2H5Q.DeKAz1mp.js","assets/chunks/requirementDiagram-JG2LMPGF.C-4ojdbU.js","assets/chunks/sequenceDiagram-WK7YDQ3N.BOYVaLsh.js","assets/chunks/classDiagram-Q73GJZWF.CfYKzVQe.js","assets/chunks/chunk-NGC4727B.Y5EkXXl7.js","assets/chunks/classDiagram-v2-C6QPLPW4.CLiBdUiW.js","assets/chunks/chunk-REEJFE46.BkQveCwl.js","assets/chunks/stateDiagram-4JV6CC6H.C5OvJBGU.js","assets/chunks/chunk-5RIWM3LS.DCZhjKZl.js","assets/chunks/stateDiagram-v2-7KT6RKTD.B-A6Yloe.js","assets/chunks/journeyDiagram-BLD6N6MZ.DSqOsCoK.js","assets/chunks/timeline-definition-3ZMEY6HS.BmDouIwN.js","assets/chunks/mindmap-definition-OEB2RXX2.GLvTLMoi.js","assets/chunks/cytoscape.esm.otp_DSkq.js","assets/chunks/sankeyDiagram-ATFNWWW6.B29TuX-V.js","assets/chunks/diagram-AVGMFHF7.CnCTvbCY.js","assets/chunks/blockDiagram-TCMKQVZ6.imBL-zCU.js","assets/chunks/architectureDiagram-IFBEXTG3.fpl4xsmD.js"])))=>i.map(i=>d[i]); -var s0=Object.defineProperty;var lc=e=>{throw TypeError(e)};var o0=(e,t,r)=>t in e?s0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ft=(e,t,r)=>o0(e,typeof t!="symbol"?t+"":t,r),l0=(e,t,r)=>t.has(e)||lc("Cannot "+r);var cc=(e,t,r)=>t.has(e)?lc("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r);var ti=(e,t,r)=>(l0(e,t,"access private method"),r);import{V as ht,p as hc,u as Xh,ao as c0,v as Zh,x as h0,o as u0,c as f0,n as p0,R as Hs,ap as d0,aq as g0,ar as m0,al as y0,as as x0,at as b0,au as _0,av as C0,aw as w0,am as v0,d as k0,s as S0,ax as T0,ay as A0,az as L0,a2 as B0}from"./chunks/framework.CGQ59HuL.js";import{R as M0}from"./chunks/theme.whhJV-4y.js";var E0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function F0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Kh={exports:{}};(function(e,t){(function(r,i){e.exports=i()})(E0,function(){var r=1e3,i=6e4,n=36e5,a="millisecond",o="second",s="minute",l="hour",c="day",h="week",u="month",f="quarter",p="year",g="date",m="Invalid Date",y=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(A){var v=["th","st","nd","rd"],T=A%100;return"["+A+(v[(T-20)%10]||v[T]||v[0])+"]"}},w=function(A,v,T){var L=String(A);return!L||L.length>=v?A:""+Array(v+1-L.length).join(T)+A},k={s:w,z:function(A){var v=-A.utcOffset(),T=Math.abs(v),L=Math.floor(T/60),$=T%60;return(v<=0?"+":"-")+w(L,2,"0")+":"+w($,2,"0")},m:function A(v,T){if(v.date()1)return A(J[0])}else{var rt=v.name;E[rt]=v,$=rt}return!L&&$&&(S=$),$||!L&&S},O=function(A,v){if(I(A))return A.clone();var T=typeof v=="object"?v:{};return T.date=A,T.args=arguments,new G(T)},F=k;F.l=N,F.i=I,F.w=function(A,v){return O(A,{locale:v.$L,utc:v.$u,x:v.$x,$offset:v.$offset})};var G=function(){function A(T){this.$L=N(T.locale,null,!0),this.parse(T),this.$x=this.$x||T.x||{},this[B]=!0}var v=A.prototype;return v.parse=function(T){this.$d=function(L){var $=L.date,W=L.utc;if($===null)return new Date(NaN);if(F.u($))return new Date;if($ instanceof Date)return new Date($);if(typeof $=="string"&&!/Z$/i.test($)){var J=$.match(y);if(J){var rt=J[2]-1||0,mt=(J[7]||"0").substring(0,3);return W?new Date(Date.UTC(J[1],rt,J[3]||1,J[4]||0,J[5]||0,J[6]||0,mt)):new Date(J[1],rt,J[3]||1,J[4]||0,J[5]||0,J[6]||0,mt)}}return new Date($)}(T),this.init()},v.init=function(){var T=this.$d;this.$y=T.getFullYear(),this.$M=T.getMonth(),this.$D=T.getDate(),this.$W=T.getDay(),this.$H=T.getHours(),this.$m=T.getMinutes(),this.$s=T.getSeconds(),this.$ms=T.getMilliseconds()},v.$utils=function(){return F},v.isValid=function(){return this.$d.toString()!==m},v.isSame=function(T,L){var $=O(T);return this.startOf(L)<=$&&$<=this.endOf(L)},v.isAfter=function(T,L){return O(T)e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{const t=e/255;return e>.03928?Math.pow((t+.055)/1.055,2.4):t/12.92},hue2rgb:(e,t,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e),hsl2rgb:({h:e,s:t,l:r},i)=>{if(!t)return r*2.55;e/=360,t/=100,r/=100;const n=r<.5?r*(1+t):r+t-r*t,a=2*r-n;switch(i){case"r":return Mn.hue2rgb(a,n,e+1/3)*255;case"g":return Mn.hue2rgb(a,n,e)*255;case"b":return Mn.hue2rgb(a,n,e-1/3)*255}},rgb2hsl:({r:e,g:t,b:r},i)=>{e/=255,t/=255,r/=255;const n=Math.max(e,t,r),a=Math.min(e,t,r),o=(n+a)/2;if(i==="l")return o*100;if(n===a)return 0;const s=n-a,l=o>.5?s/(2-n-a):s/(n+a);if(i==="s")return l*100;switch(n){case e:return((t-r)/s+(tt>r?Math.min(t,Math.max(r,e)):Math.min(r,Math.max(t,e)),round:e=>Math.round(e*1e10)/1e10},R0={dec2hex:e=>{const t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}},tt={channel:Mn,lang:O0,unit:R0},Re={};for(let e=0;e<=255;e++)Re[e]=tt.unit.dec2hex(e);const Bt={ALL:0,RGB:1,HSL:2};class I0{constructor(){this.type=Bt.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=Bt.ALL}is(t){return this.type===t}}class P0{constructor(t,r){this.color=r,this.changed=!1,this.data=t,this.type=new I0}set(t,r){return this.color=r,this.changed=!1,this.data=t,this.type.type=Bt.ALL,this}_ensureHSL(){const t=this.data,{h:r,s:i,l:n}=t;r===void 0&&(t.h=tt.channel.rgb2hsl(t,"h")),i===void 0&&(t.s=tt.channel.rgb2hsl(t,"s")),n===void 0&&(t.l=tt.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r,g:i,b:n}=t;r===void 0&&(t.r=tt.channel.hsl2rgb(t,"r")),i===void 0&&(t.g=tt.channel.hsl2rgb(t,"g")),n===void 0&&(t.b=tt.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,r=t.r;return!this.type.is(Bt.HSL)&&r!==void 0?r:(this._ensureHSL(),tt.channel.hsl2rgb(t,"r"))}get g(){const t=this.data,r=t.g;return!this.type.is(Bt.HSL)&&r!==void 0?r:(this._ensureHSL(),tt.channel.hsl2rgb(t,"g"))}get b(){const t=this.data,r=t.b;return!this.type.is(Bt.HSL)&&r!==void 0?r:(this._ensureHSL(),tt.channel.hsl2rgb(t,"b"))}get h(){const t=this.data,r=t.h;return!this.type.is(Bt.RGB)&&r!==void 0?r:(this._ensureRGB(),tt.channel.rgb2hsl(t,"h"))}get s(){const t=this.data,r=t.s;return!this.type.is(Bt.RGB)&&r!==void 0?r:(this._ensureRGB(),tt.channel.rgb2hsl(t,"s"))}get l(){const t=this.data,r=t.l;return!this.type.is(Bt.RGB)&&r!==void 0?r:(this._ensureRGB(),tt.channel.rgb2hsl(t,"l"))}get a(){return this.data.a}set r(t){this.type.set(Bt.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(Bt.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(Bt.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(Bt.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(Bt.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(Bt.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}const Ta=new P0({r:0,g:0,b:0,a:0},"transparent"),wr={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(e.charCodeAt(0)!==35)return;const t=e.match(wr.re);if(!t)return;const r=t[1],i=parseInt(r,16),n=r.length,a=n%4===0,o=n>4,s=o?1:17,l=o?8:4,c=a?0:-1,h=o?255:15;return Ta.set({r:(i>>l*(c+3)&h)*s,g:(i>>l*(c+2)&h)*s,b:(i>>l*(c+1)&h)*s,a:a?(i&h)*s/255:1},e)},stringify:e=>{const{r:t,g:r,b:i,a:n}=e;return n<1?`#${Re[Math.round(t)]}${Re[Math.round(r)]}${Re[Math.round(i)]}${Re[Math.round(n*255)]}`:`#${Re[Math.round(t)]}${Re[Math.round(r)]}${Re[Math.round(i)]}`}},Ke={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:e=>{const t=e.match(Ke.hueRe);if(t){const[,r,i]=t;switch(i){case"grad":return tt.channel.clamp.h(parseFloat(r)*.9);case"rad":return tt.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return tt.channel.clamp.h(parseFloat(r)*360)}}return tt.channel.clamp.h(parseFloat(e))},parse:e=>{const t=e.charCodeAt(0);if(t!==104&&t!==72)return;const r=e.match(Ke.re);if(!r)return;const[,i,n,a,o,s]=r;return Ta.set({h:Ke._hue2deg(i),s:tt.channel.clamp.s(parseFloat(n)),l:tt.channel.clamp.l(parseFloat(a)),a:o?tt.channel.clamp.a(s?parseFloat(o)/100:parseFloat(o)):1},e)},stringify:e=>{const{h:t,s:r,l:i,a:n}=e;return n<1?`hsla(${tt.lang.round(t)}, ${tt.lang.round(r)}%, ${tt.lang.round(i)}%, ${n})`:`hsl(${tt.lang.round(t)}, ${tt.lang.round(r)}%, ${tt.lang.round(i)}%)`}},vi={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:e=>{e=e.toLowerCase();const t=vi.colors[e];if(t)return wr.parse(t)},stringify:e=>{const t=wr.stringify(e);for(const r in vi.colors)if(vi.colors[r]===t)return r}},yi={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:e=>{const t=e.charCodeAt(0);if(t!==114&&t!==82)return;const r=e.match(yi.re);if(!r)return;const[,i,n,a,o,s,l,c,h]=r;return Ta.set({r:tt.channel.clamp.r(n?parseFloat(i)*2.55:parseFloat(i)),g:tt.channel.clamp.g(o?parseFloat(a)*2.55:parseFloat(a)),b:tt.channel.clamp.b(l?parseFloat(s)*2.55:parseFloat(s)),a:c?tt.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},e)},stringify:e=>{const{r:t,g:r,b:i,a:n}=e;return n<1?`rgba(${tt.lang.round(t)}, ${tt.lang.round(r)}, ${tt.lang.round(i)}, ${tt.lang.round(n)})`:`rgb(${tt.lang.round(t)}, ${tt.lang.round(r)}, ${tt.lang.round(i)})`}},ge={format:{keyword:vi,hex:wr,rgb:yi,rgba:yi,hsl:Ke,hsla:Ke},parse:e=>{if(typeof e!="string")return e;const t=wr.parse(e)||yi.parse(e)||Ke.parse(e)||vi.parse(e);if(t)return t;throw new Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(Bt.HSL)||e.data.r===void 0?Ke.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?yi.stringify(e):wr.stringify(e)},Qh=(e,t)=>{const r=ge.parse(e);for(const i in t)r[i]=tt.channel.clamp[i](t[i]);return ge.stringify(r)},ki=(e,t,r=0,i=1)=>{if(typeof e!="number")return Qh(e,{a:t});const n=Ta.set({r:tt.channel.clamp.r(e),g:tt.channel.clamp.g(t),b:tt.channel.clamp.b(r),a:tt.channel.clamp.a(i)});return ge.stringify(n)},N0=e=>{const{r:t,g:r,b:i}=ge.parse(e),n=.2126*tt.channel.toLinear(t)+.7152*tt.channel.toLinear(r)+.0722*tt.channel.toLinear(i);return tt.lang.round(n)},z0=e=>N0(e)>=.5,Ui=e=>!z0(e),Jh=(e,t,r)=>{const i=ge.parse(e),n=i[t],a=tt.channel.clamp[t](n+r);return n!==a&&(i[t]=a),ge.stringify(i)},U=(e,t)=>Jh(e,"l",t),K=(e,t)=>Jh(e,"l",-t),C=(e,t)=>{const r=ge.parse(e),i={};for(const n in t)t[n]&&(i[n]=r[n]+t[n]);return Qh(e,i)},q0=(e,t,r=50)=>{const{r:i,g:n,b:a,a:o}=ge.parse(e),{r:s,g:l,b:c,a:h}=ge.parse(t),u=r/100,f=u*2-1,p=o-h,m=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,y=1-m,x=i*m+s*y,b=n*m+l*y,w=a*m+c*y,k=o*u+h*(1-u);return ki(x,b,w,k)},R=(e,t=100)=>{const r=ge.parse(e);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,q0(r,e,t)};/*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */const{entries:tu,setPrototypeOf:uc,isFrozen:W0,getPrototypeOf:H0,getOwnPropertyDescriptor:j0}=Object;let{freeze:It,seal:Kt,create:eu}=Object,{apply:js,construct:Us}=typeof Reflect<"u"&&Reflect;It||(It=function(t){return t});Kt||(Kt=function(t){return t});js||(js=function(t,r,i){return t.apply(r,i)});Us||(Us=function(t,r){return new t(...r)});const ln=Yt(Array.prototype.forEach),fc=Yt(Array.prototype.pop),ei=Yt(Array.prototype.push),En=Yt(String.prototype.toLowerCase),ns=Yt(String.prototype.toString),pc=Yt(String.prototype.match),ri=Yt(String.prototype.replace),U0=Yt(String.prototype.indexOf),Y0=Yt(String.prototype.trim),ie=Yt(Object.prototype.hasOwnProperty),Dt=Yt(RegExp.prototype.test),ii=G0(TypeError);function Yt(e){return function(t){for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:En;uc&&uc(e,null);let i=t.length;for(;i--;){let n=t[i];if(typeof n=="string"){const a=r(n);a!==n&&(W0(t)||(t[i]=a),n=a)}e[n]=!0}return e}function V0(e){for(let t=0;t/gm),J0=Kt(/\${[\w\W]*}/gm),tm=Kt(/^data-[\-\w.\u00B7-\uFFFF]/),em=Kt(/^aria-[\-\w]+$/),ru=Kt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),rm=Kt(/^(?:\w+script|data):/i),im=Kt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),iu=Kt(/^html$/i),nm=Kt(/^[a-z][.\w]*(-[.\w]+)+$/i);var xc=Object.freeze({__proto__:null,MUSTACHE_EXPR:K0,ERB_EXPR:Q0,TMPLIT_EXPR:J0,DATA_ATTR:tm,ARIA_ATTR:em,IS_ALLOWED_URI:ru,IS_SCRIPT_OR_DATA:rm,ATTR_WHITESPACE:im,DOCTYPE_NAME:iu,CUSTOM_ELEMENT:nm});const ai={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},am=function(){return typeof window>"u"?null:window},sm=function(t,r){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null;const n="data-tt-policy-suffix";r&&r.hasAttribute(n)&&(i=r.getAttribute(n));const a="dompurify"+(i?"#"+i:"");try{return t.createPolicy(a,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}};function nu(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:am();const t=j=>nu(j);if(t.version="3.1.6",t.removed=[],!e||!e.document||e.document.nodeType!==ai.document)return t.isSupported=!1,t;let{document:r}=e;const i=r,n=i.currentScript,{DocumentFragment:a,HTMLTemplateElement:o,Node:s,Element:l,NodeFilter:c,NamedNodeMap:h=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:u,DOMParser:f,trustedTypes:p}=e,g=l.prototype,m=ni(g,"cloneNode"),y=ni(g,"remove"),x=ni(g,"nextSibling"),b=ni(g,"childNodes"),w=ni(g,"parentNode");if(typeof o=="function"){const j=r.createElement("template");j.content&&j.content.ownerDocument&&(r=j.content.ownerDocument)}let k,S="";const{implementation:E,createNodeIterator:B,createDocumentFragment:I,getElementsByTagName:N}=r,{importNode:O}=i;let F={};t.isSupported=typeof tu=="function"&&typeof w=="function"&&E&&E.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:G,ERB_EXPR:P,TMPLIT_EXPR:A,DATA_ATTR:v,ARIA_ATTR:T,IS_SCRIPT_OR_DATA:L,ATTR_WHITESPACE:$,CUSTOM_ELEMENT:W}=xc;let{IS_ALLOWED_URI:J}=xc,rt=null;const mt=at({},[...dc,...as,...ss,...os,...gc]);let nt=null;const bt=at({},[...mc,...ls,...yc,...cn]);let st=Object.seal(eu(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Vt=null,te=null,Fe=!0,ee=!0,vt=!1,re=!0,Xt=!1,$e=!0,Ue=!1,Ka=!1,Qa=!1,pr=!1,rn=!1,nn=!1,ql=!0,Wl=!1;const Qg="user-content-";let Ja=!0,Kr=!1,dr={},gr=null;const Hl=at({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let jl=null;const Ul=at({},["audio","video","img","source","image","track"]);let ts=null;const Yl=at({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),an="http://www.w3.org/1998/Math/MathML",sn="http://www.w3.org/2000/svg",be="http://www.w3.org/1999/xhtml";let mr=be,es=!1,rs=null;const Jg=at({},[an,sn,be],ns);let Qr=null;const t0=["application/xhtml+xml","text/html"],e0="text/html";let Ct=null,yr=null;const r0=r.createElement("form"),Gl=function(_){return _ instanceof RegExp||_ instanceof Function},is=function(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(yr&&yr===_)){if((!_||typeof _!="object")&&(_={}),_=Ge(_),Qr=t0.indexOf(_.PARSER_MEDIA_TYPE)===-1?e0:_.PARSER_MEDIA_TYPE,Ct=Qr==="application/xhtml+xml"?ns:En,rt=ie(_,"ALLOWED_TAGS")?at({},_.ALLOWED_TAGS,Ct):mt,nt=ie(_,"ALLOWED_ATTR")?at({},_.ALLOWED_ATTR,Ct):bt,rs=ie(_,"ALLOWED_NAMESPACES")?at({},_.ALLOWED_NAMESPACES,ns):Jg,ts=ie(_,"ADD_URI_SAFE_ATTR")?at(Ge(Yl),_.ADD_URI_SAFE_ATTR,Ct):Yl,jl=ie(_,"ADD_DATA_URI_TAGS")?at(Ge(Ul),_.ADD_DATA_URI_TAGS,Ct):Ul,gr=ie(_,"FORBID_CONTENTS")?at({},_.FORBID_CONTENTS,Ct):Hl,Vt=ie(_,"FORBID_TAGS")?at({},_.FORBID_TAGS,Ct):{},te=ie(_,"FORBID_ATTR")?at({},_.FORBID_ATTR,Ct):{},dr=ie(_,"USE_PROFILES")?_.USE_PROFILES:!1,Fe=_.ALLOW_ARIA_ATTR!==!1,ee=_.ALLOW_DATA_ATTR!==!1,vt=_.ALLOW_UNKNOWN_PROTOCOLS||!1,re=_.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Xt=_.SAFE_FOR_TEMPLATES||!1,$e=_.SAFE_FOR_XML!==!1,Ue=_.WHOLE_DOCUMENT||!1,pr=_.RETURN_DOM||!1,rn=_.RETURN_DOM_FRAGMENT||!1,nn=_.RETURN_TRUSTED_TYPE||!1,Qa=_.FORCE_BODY||!1,ql=_.SANITIZE_DOM!==!1,Wl=_.SANITIZE_NAMED_PROPS||!1,Ja=_.KEEP_CONTENT!==!1,Kr=_.IN_PLACE||!1,J=_.ALLOWED_URI_REGEXP||ru,mr=_.NAMESPACE||be,st=_.CUSTOM_ELEMENT_HANDLING||{},_.CUSTOM_ELEMENT_HANDLING&&Gl(_.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(st.tagNameCheck=_.CUSTOM_ELEMENT_HANDLING.tagNameCheck),_.CUSTOM_ELEMENT_HANDLING&&Gl(_.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(st.attributeNameCheck=_.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),_.CUSTOM_ELEMENT_HANDLING&&typeof _.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(st.allowCustomizedBuiltInElements=_.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Xt&&(ee=!1),rn&&(pr=!0),dr&&(rt=at({},gc),nt=[],dr.html===!0&&(at(rt,dc),at(nt,mc)),dr.svg===!0&&(at(rt,as),at(nt,ls),at(nt,cn)),dr.svgFilters===!0&&(at(rt,ss),at(nt,ls),at(nt,cn)),dr.mathMl===!0&&(at(rt,os),at(nt,yc),at(nt,cn))),_.ADD_TAGS&&(rt===mt&&(rt=Ge(rt)),at(rt,_.ADD_TAGS,Ct)),_.ADD_ATTR&&(nt===bt&&(nt=Ge(nt)),at(nt,_.ADD_ATTR,Ct)),_.ADD_URI_SAFE_ATTR&&at(ts,_.ADD_URI_SAFE_ATTR,Ct),_.FORBID_CONTENTS&&(gr===Hl&&(gr=Ge(gr)),at(gr,_.FORBID_CONTENTS,Ct)),Ja&&(rt["#text"]=!0),Ue&&at(rt,["html","head","body"]),rt.table&&(at(rt,["tbody"]),delete Vt.tbody),_.TRUSTED_TYPES_POLICY){if(typeof _.TRUSTED_TYPES_POLICY.createHTML!="function")throw ii('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof _.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw ii('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');k=_.TRUSTED_TYPES_POLICY,S=k.createHTML("")}else k===void 0&&(k=sm(p,n)),k!==null&&typeof S=="string"&&(S=k.createHTML(""));It&&It(_),yr=_}},Vl=at({},["mi","mo","mn","ms","mtext"]),Xl=at({},["foreignobject","annotation-xml"]),i0=at({},["title","style","font","a","script"]),Zl=at({},[...as,...ss,...X0]),Kl=at({},[...os,...Z0]),n0=function(_){let D=w(_);(!D||!D.tagName)&&(D={namespaceURI:mr,tagName:"template"});const z=En(_.tagName),ut=En(D.tagName);return rs[_.namespaceURI]?_.namespaceURI===sn?D.namespaceURI===be?z==="svg":D.namespaceURI===an?z==="svg"&&(ut==="annotation-xml"||Vl[ut]):!!Zl[z]:_.namespaceURI===an?D.namespaceURI===be?z==="math":D.namespaceURI===sn?z==="math"&&Xl[ut]:!!Kl[z]:_.namespaceURI===be?D.namespaceURI===sn&&!Xl[ut]||D.namespaceURI===an&&!Vl[ut]?!1:!Kl[z]&&(i0[z]||!Zl[z]):!!(Qr==="application/xhtml+xml"&&rs[_.namespaceURI]):!1},le=function(_){ei(t.removed,{element:_});try{w(_).removeChild(_)}catch{y(_)}},on=function(_,D){try{ei(t.removed,{attribute:D.getAttributeNode(_),from:D})}catch{ei(t.removed,{attribute:null,from:D})}if(D.removeAttribute(_),_==="is"&&!nt[_])if(pr||rn)try{le(D)}catch{}else try{D.setAttribute(_,"")}catch{}},Ql=function(_){let D=null,z=null;if(Qa)_=""+_;else{const kt=pc(_,/^[\r\n\t ]+/);z=kt&&kt[0]}Qr==="application/xhtml+xml"&&mr===be&&(_=''+_+"");const ut=k?k.createHTML(_):_;if(mr===be)try{D=new f().parseFromString(ut,Qr)}catch{}if(!D||!D.documentElement){D=E.createDocument(mr,"template",null);try{D.documentElement.innerHTML=es?S:ut}catch{}}const Lt=D.body||D.documentElement;return _&&z&&Lt.insertBefore(r.createTextNode(z),Lt.childNodes[0]||null),mr===be?N.call(D,Ue?"html":"body")[0]:Ue?D.documentElement:Lt},Jl=function(_){return B.call(_.ownerDocument||_,_,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},tc=function(_){return _ instanceof u&&(typeof _.nodeName!="string"||typeof _.textContent!="string"||typeof _.removeChild!="function"||!(_.attributes instanceof h)||typeof _.removeAttribute!="function"||typeof _.setAttribute!="function"||typeof _.namespaceURI!="string"||typeof _.insertBefore!="function"||typeof _.hasChildNodes!="function")},ec=function(_){return typeof s=="function"&&_ instanceof s},_e=function(_,D,z){F[_]&&ln(F[_],ut=>{ut.call(t,D,z,yr)})},rc=function(_){let D=null;if(_e("beforeSanitizeElements",_,null),tc(_))return le(_),!0;const z=Ct(_.nodeName);if(_e("uponSanitizeElement",_,{tagName:z,allowedTags:rt}),_.hasChildNodes()&&!ec(_.firstElementChild)&&Dt(/<[/\w]/g,_.innerHTML)&&Dt(/<[/\w]/g,_.textContent)||_.nodeType===ai.progressingInstruction||$e&&_.nodeType===ai.comment&&Dt(/<[/\w]/g,_.data))return le(_),!0;if(!rt[z]||Vt[z]){if(!Vt[z]&&nc(z)&&(st.tagNameCheck instanceof RegExp&&Dt(st.tagNameCheck,z)||st.tagNameCheck instanceof Function&&st.tagNameCheck(z)))return!1;if(Ja&&!gr[z]){const ut=w(_)||_.parentNode,Lt=b(_)||_.childNodes;if(Lt&&ut){const kt=Lt.length;for(let Pt=kt-1;Pt>=0;--Pt){const ce=m(Lt[Pt],!0);ce.__removalCount=(_.__removalCount||0)+1,ut.insertBefore(ce,x(_))}}}return le(_),!0}return _ instanceof l&&!n0(_)||(z==="noscript"||z==="noembed"||z==="noframes")&&Dt(/<\/no(script|embed|frames)/i,_.innerHTML)?(le(_),!0):(Xt&&_.nodeType===ai.text&&(D=_.textContent,ln([G,P,A],ut=>{D=ri(D,ut," ")}),_.textContent!==D&&(ei(t.removed,{element:_.cloneNode()}),_.textContent=D)),_e("afterSanitizeElements",_,null),!1)},ic=function(_,D,z){if(ql&&(D==="id"||D==="name")&&(z in r||z in r0))return!1;if(!(ee&&!te[D]&&Dt(v,D))){if(!(Fe&&Dt(T,D))){if(!nt[D]||te[D]){if(!(nc(_)&&(st.tagNameCheck instanceof RegExp&&Dt(st.tagNameCheck,_)||st.tagNameCheck instanceof Function&&st.tagNameCheck(_))&&(st.attributeNameCheck instanceof RegExp&&Dt(st.attributeNameCheck,D)||st.attributeNameCheck instanceof Function&&st.attributeNameCheck(D))||D==="is"&&st.allowCustomizedBuiltInElements&&(st.tagNameCheck instanceof RegExp&&Dt(st.tagNameCheck,z)||st.tagNameCheck instanceof Function&&st.tagNameCheck(z))))return!1}else if(!ts[D]){if(!Dt(J,ri(z,$,""))){if(!((D==="src"||D==="xlink:href"||D==="href")&&_!=="script"&&U0(z,"data:")===0&&jl[_])){if(!(vt&&!Dt(L,ri(z,$,"")))){if(z)return!1}}}}}}return!0},nc=function(_){return _!=="annotation-xml"&&pc(_,W)},ac=function(_){_e("beforeSanitizeAttributes",_,null);const{attributes:D}=_;if(!D)return;const z={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:nt};let ut=D.length;for(;ut--;){const Lt=D[ut],{name:kt,namespaceURI:Pt,value:ce}=Lt,Jr=Ct(kt);let $t=kt==="value"?ce:Y0(ce);if(z.attrName=Jr,z.attrValue=$t,z.keepAttr=!0,z.forceKeepAttr=void 0,_e("uponSanitizeAttribute",_,z),$t=z.attrValue,$e&&Dt(/((--!?|])>)|<\/(style|title)/i,$t)){on(kt,_);continue}if(z.forceKeepAttr||(on(kt,_),!z.keepAttr))continue;if(!re&&Dt(/\/>/i,$t)){on(kt,_);continue}Xt&&ln([G,P,A],oc=>{$t=ri($t,oc," ")});const sc=Ct(_.nodeName);if(ic(sc,Jr,$t)){if(Wl&&(Jr==="id"||Jr==="name")&&(on(kt,_),$t=Qg+$t),k&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Pt)switch(p.getAttributeType(sc,Jr)){case"TrustedHTML":{$t=k.createHTML($t);break}case"TrustedScriptURL":{$t=k.createScriptURL($t);break}}try{Pt?_.setAttributeNS(Pt,kt,$t):_.setAttribute(kt,$t),tc(_)?le(_):fc(t.removed)}catch{}}}_e("afterSanitizeAttributes",_,null)},a0=function j(_){let D=null;const z=Jl(_);for(_e("beforeSanitizeShadowDOM",_,null);D=z.nextNode();)_e("uponSanitizeShadowNode",D,null),!rc(D)&&(D.content instanceof a&&j(D.content),ac(D));_e("afterSanitizeShadowDOM",_,null)};return t.sanitize=function(j){let _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},D=null,z=null,ut=null,Lt=null;if(es=!j,es&&(j=""),typeof j!="string"&&!ec(j))if(typeof j.toString=="function"){if(j=j.toString(),typeof j!="string")throw ii("dirty is not a string, aborting")}else throw ii("toString is not a function");if(!t.isSupported)return j;if(Ka||is(_),t.removed=[],typeof j=="string"&&(Kr=!1),Kr){if(j.nodeName){const ce=Ct(j.nodeName);if(!rt[ce]||Vt[ce])throw ii("root node is forbidden and cannot be sanitized in-place")}}else if(j instanceof s)D=Ql(""),z=D.ownerDocument.importNode(j,!0),z.nodeType===ai.element&&z.nodeName==="BODY"||z.nodeName==="HTML"?D=z:D.appendChild(z);else{if(!pr&&!Xt&&!Ue&&j.indexOf("<")===-1)return k&&nn?k.createHTML(j):j;if(D=Ql(j),!D)return pr?null:nn?S:""}D&&Qa&&le(D.firstChild);const kt=Jl(Kr?j:D);for(;ut=kt.nextNode();)rc(ut)||(ut.content instanceof a&&a0(ut.content),ac(ut));if(Kr)return j;if(pr){if(rn)for(Lt=I.call(D.ownerDocument);D.firstChild;)Lt.appendChild(D.firstChild);else Lt=D;return(nt.shadowroot||nt.shadowrootmode)&&(Lt=O.call(i,Lt,!0)),Lt}let Pt=Ue?D.outerHTML:D.innerHTML;return Ue&&rt["!doctype"]&&D.ownerDocument&&D.ownerDocument.doctype&&D.ownerDocument.doctype.name&&Dt(iu,D.ownerDocument.doctype.name)&&(Pt=" +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/dagre-7KT5K2WU.DHjBN_P2.js","assets/chunks/graph.jRtFwrS7.js","assets/chunks/baseUniq.D3QFBTuJ.js","assets/chunks/layout.CM1i2aqJ.js","assets/chunks/basePickBy.DQSVnGZT.js","assets/chunks/json.M8LmYDKW.js","assets/chunks/clone.DN5RQA0U.js","assets/chunks/framework.CGQ59HuL.js","assets/chunks/theme.BIcC851z.js","assets/chunks/c4Diagram-ZCSEYPFN.5UzMTNxy.js","assets/chunks/chunk-V35ELUW5.Bo_-Vqpn.js","assets/chunks/flowDiagram-NWEUNK3L.CByD9WLQ.js","assets/chunks/chunk-4LC2V6XN.BzSTI6dc.js","assets/chunks/channel.xdHs8zqC.js","assets/chunks/erDiagram-DKC2X5TE.DHW4vUz5.js","assets/chunks/gitGraphDiagram-JPZ3KUXI.DUJn2Gss.js","assets/chunks/chunk-RYO7GUH3.Cq4tzjLf.js","assets/chunks/chunk-6JKP7OK7.BZQScEOe.js","assets/chunks/gitGraph-YCYPL57B.BBU61gGy.js","assets/chunks/ganttDiagram-HLVPPPRE.BEOtZZ2V.js","assets/chunks/linear.CCNQpCSX.js","assets/chunks/init.Gi6I4Gst.js","assets/chunks/infoDiagram-RZZSJVI2.BtikR3J6.js","assets/chunks/pieDiagram-X7YZ5ZEZ.CuZ1OWgC.js","assets/chunks/arc.DDOeaZOx.js","assets/chunks/ordinal.BYWQX77i.js","assets/chunks/quadrantDiagram-F36EZAVT.DeYzdc6h.js","assets/chunks/xychartDiagram-KECQ2H5Q.DJXUFkUc.js","assets/chunks/requirementDiagram-JG2LMPGF.i_GlM0g_.js","assets/chunks/sequenceDiagram-WK7YDQ3N.5JpCjhKk.js","assets/chunks/classDiagram-Q73GJZWF.RbneuW3E.js","assets/chunks/chunk-NGC4727B.IB0FxRyG.js","assets/chunks/classDiagram-v2-C6QPLPW4.DcYNi2R5.js","assets/chunks/chunk-REEJFE46.w4u18u_I.js","assets/chunks/stateDiagram-4JV6CC6H.CafbZ1Ur.js","assets/chunks/chunk-5RIWM3LS.DyOmNzmH.js","assets/chunks/stateDiagram-v2-7KT6RKTD.CR9GEZ4b.js","assets/chunks/journeyDiagram-BLD6N6MZ.B-kkWoFH.js","assets/chunks/timeline-definition-3ZMEY6HS.DEjfNkEJ.js","assets/chunks/mindmap-definition-OEB2RXX2.B0ecx9Es.js","assets/chunks/cytoscape.esm.otp_DSkq.js","assets/chunks/sankeyDiagram-ATFNWWW6.DO5EeUwc.js","assets/chunks/diagram-AVGMFHF7.DVbEUPo3.js","assets/chunks/blockDiagram-TCMKQVZ6.CHPtA7tC.js","assets/chunks/architectureDiagram-IFBEXTG3.BbTtp1kr.js"])))=>i.map(i=>d[i]); +var s0=Object.defineProperty;var lc=e=>{throw TypeError(e)};var o0=(e,t,r)=>t in e?s0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ft=(e,t,r)=>o0(e,typeof t!="symbol"?t+"":t,r),l0=(e,t,r)=>t.has(e)||lc("Cannot "+r);var cc=(e,t,r)=>t.has(e)?lc("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r);var ti=(e,t,r)=>(l0(e,t,"access private method"),r);import{V as ht,p as hc,u as Xh,ao as c0,v as Zh,x as h0,o as u0,c as f0,n as p0,R as Hs,ap as d0,aq as g0,ar as m0,al as y0,as as x0,at as b0,au as _0,av as C0,aw as w0,am as v0,d as k0,s as S0,ax as T0,ay as A0,az as L0,a2 as B0}from"./chunks/framework.CGQ59HuL.js";import{R as M0}from"./chunks/theme.BIcC851z.js";var E0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function F0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Kh={exports:{}};(function(e,t){(function(r,i){e.exports=i()})(E0,function(){var r=1e3,i=6e4,n=36e5,a="millisecond",o="second",s="minute",l="hour",c="day",h="week",u="month",f="quarter",p="year",g="date",m="Invalid Date",y=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(A){var v=["th","st","nd","rd"],T=A%100;return"["+A+(v[(T-20)%10]||v[T]||v[0])+"]"}},w=function(A,v,T){var L=String(A);return!L||L.length>=v?A:""+Array(v+1-L.length).join(T)+A},k={s:w,z:function(A){var v=-A.utcOffset(),T=Math.abs(v),L=Math.floor(T/60),$=T%60;return(v<=0?"+":"-")+w(L,2,"0")+":"+w($,2,"0")},m:function A(v,T){if(v.date()1)return A(J[0])}else{var rt=v.name;E[rt]=v,$=rt}return!L&&$&&(S=$),$||!L&&S},O=function(A,v){if(I(A))return A.clone();var T=typeof v=="object"?v:{};return T.date=A,T.args=arguments,new G(T)},F=k;F.l=N,F.i=I,F.w=function(A,v){return O(A,{locale:v.$L,utc:v.$u,x:v.$x,$offset:v.$offset})};var G=function(){function A(T){this.$L=N(T.locale,null,!0),this.parse(T),this.$x=this.$x||T.x||{},this[B]=!0}var v=A.prototype;return v.parse=function(T){this.$d=function(L){var $=L.date,W=L.utc;if($===null)return new Date(NaN);if(F.u($))return new Date;if($ instanceof Date)return new Date($);if(typeof $=="string"&&!/Z$/i.test($)){var J=$.match(y);if(J){var rt=J[2]-1||0,mt=(J[7]||"0").substring(0,3);return W?new Date(Date.UTC(J[1],rt,J[3]||1,J[4]||0,J[5]||0,J[6]||0,mt)):new Date(J[1],rt,J[3]||1,J[4]||0,J[5]||0,J[6]||0,mt)}}return new Date($)}(T),this.init()},v.init=function(){var T=this.$d;this.$y=T.getFullYear(),this.$M=T.getMonth(),this.$D=T.getDate(),this.$W=T.getDay(),this.$H=T.getHours(),this.$m=T.getMinutes(),this.$s=T.getSeconds(),this.$ms=T.getMilliseconds()},v.$utils=function(){return F},v.isValid=function(){return this.$d.toString()!==m},v.isSame=function(T,L){var $=O(T);return this.startOf(L)<=$&&$<=this.endOf(L)},v.isAfter=function(T,L){return O(T)e>=255?255:e<0?0:e,g:e=>e>=255?255:e<0?0:e,b:e=>e>=255?255:e<0?0:e,h:e=>e%360,s:e=>e>=100?100:e<0?0:e,l:e=>e>=100?100:e<0?0:e,a:e=>e>=1?1:e<0?0:e},toLinear:e=>{const t=e/255;return e>.03928?Math.pow((t+.055)/1.055,2.4):t/12.92},hue2rgb:(e,t,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e),hsl2rgb:({h:e,s:t,l:r},i)=>{if(!t)return r*2.55;e/=360,t/=100,r/=100;const n=r<.5?r*(1+t):r+t-r*t,a=2*r-n;switch(i){case"r":return Mn.hue2rgb(a,n,e+1/3)*255;case"g":return Mn.hue2rgb(a,n,e)*255;case"b":return Mn.hue2rgb(a,n,e-1/3)*255}},rgb2hsl:({r:e,g:t,b:r},i)=>{e/=255,t/=255,r/=255;const n=Math.max(e,t,r),a=Math.min(e,t,r),o=(n+a)/2;if(i==="l")return o*100;if(n===a)return 0;const s=n-a,l=o>.5?s/(2-n-a):s/(n+a);if(i==="s")return l*100;switch(n){case e:return((t-r)/s+(tt>r?Math.min(t,Math.max(r,e)):Math.min(r,Math.max(t,e)),round:e=>Math.round(e*1e10)/1e10},R0={dec2hex:e=>{const t=Math.round(e).toString(16);return t.length>1?t:`0${t}`}},tt={channel:Mn,lang:O0,unit:R0},Re={};for(let e=0;e<=255;e++)Re[e]=tt.unit.dec2hex(e);const Bt={ALL:0,RGB:1,HSL:2};class I0{constructor(){this.type=Bt.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=Bt.ALL}is(t){return this.type===t}}class P0{constructor(t,r){this.color=r,this.changed=!1,this.data=t,this.type=new I0}set(t,r){return this.color=r,this.changed=!1,this.data=t,this.type.type=Bt.ALL,this}_ensureHSL(){const t=this.data,{h:r,s:i,l:n}=t;r===void 0&&(t.h=tt.channel.rgb2hsl(t,"h")),i===void 0&&(t.s=tt.channel.rgb2hsl(t,"s")),n===void 0&&(t.l=tt.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r,g:i,b:n}=t;r===void 0&&(t.r=tt.channel.hsl2rgb(t,"r")),i===void 0&&(t.g=tt.channel.hsl2rgb(t,"g")),n===void 0&&(t.b=tt.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,r=t.r;return!this.type.is(Bt.HSL)&&r!==void 0?r:(this._ensureHSL(),tt.channel.hsl2rgb(t,"r"))}get g(){const t=this.data,r=t.g;return!this.type.is(Bt.HSL)&&r!==void 0?r:(this._ensureHSL(),tt.channel.hsl2rgb(t,"g"))}get b(){const t=this.data,r=t.b;return!this.type.is(Bt.HSL)&&r!==void 0?r:(this._ensureHSL(),tt.channel.hsl2rgb(t,"b"))}get h(){const t=this.data,r=t.h;return!this.type.is(Bt.RGB)&&r!==void 0?r:(this._ensureRGB(),tt.channel.rgb2hsl(t,"h"))}get s(){const t=this.data,r=t.s;return!this.type.is(Bt.RGB)&&r!==void 0?r:(this._ensureRGB(),tt.channel.rgb2hsl(t,"s"))}get l(){const t=this.data,r=t.l;return!this.type.is(Bt.RGB)&&r!==void 0?r:(this._ensureRGB(),tt.channel.rgb2hsl(t,"l"))}get a(){return this.data.a}set r(t){this.type.set(Bt.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set(Bt.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set(Bt.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set(Bt.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set(Bt.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set(Bt.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}const Ta=new P0({r:0,g:0,b:0,a:0},"transparent"),wr={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:e=>{if(e.charCodeAt(0)!==35)return;const t=e.match(wr.re);if(!t)return;const r=t[1],i=parseInt(r,16),n=r.length,a=n%4===0,o=n>4,s=o?1:17,l=o?8:4,c=a?0:-1,h=o?255:15;return Ta.set({r:(i>>l*(c+3)&h)*s,g:(i>>l*(c+2)&h)*s,b:(i>>l*(c+1)&h)*s,a:a?(i&h)*s/255:1},e)},stringify:e=>{const{r:t,g:r,b:i,a:n}=e;return n<1?`#${Re[Math.round(t)]}${Re[Math.round(r)]}${Re[Math.round(i)]}${Re[Math.round(n*255)]}`:`#${Re[Math.round(t)]}${Re[Math.round(r)]}${Re[Math.round(i)]}`}},Ke={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:e=>{const t=e.match(Ke.hueRe);if(t){const[,r,i]=t;switch(i){case"grad":return tt.channel.clamp.h(parseFloat(r)*.9);case"rad":return tt.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return tt.channel.clamp.h(parseFloat(r)*360)}}return tt.channel.clamp.h(parseFloat(e))},parse:e=>{const t=e.charCodeAt(0);if(t!==104&&t!==72)return;const r=e.match(Ke.re);if(!r)return;const[,i,n,a,o,s]=r;return Ta.set({h:Ke._hue2deg(i),s:tt.channel.clamp.s(parseFloat(n)),l:tt.channel.clamp.l(parseFloat(a)),a:o?tt.channel.clamp.a(s?parseFloat(o)/100:parseFloat(o)):1},e)},stringify:e=>{const{h:t,s:r,l:i,a:n}=e;return n<1?`hsla(${tt.lang.round(t)}, ${tt.lang.round(r)}%, ${tt.lang.round(i)}%, ${n})`:`hsl(${tt.lang.round(t)}, ${tt.lang.round(r)}%, ${tt.lang.round(i)}%)`}},vi={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:e=>{e=e.toLowerCase();const t=vi.colors[e];if(t)return wr.parse(t)},stringify:e=>{const t=wr.stringify(e);for(const r in vi.colors)if(vi.colors[r]===t)return r}},yi={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:e=>{const t=e.charCodeAt(0);if(t!==114&&t!==82)return;const r=e.match(yi.re);if(!r)return;const[,i,n,a,o,s,l,c,h]=r;return Ta.set({r:tt.channel.clamp.r(n?parseFloat(i)*2.55:parseFloat(i)),g:tt.channel.clamp.g(o?parseFloat(a)*2.55:parseFloat(a)),b:tt.channel.clamp.b(l?parseFloat(s)*2.55:parseFloat(s)),a:c?tt.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},e)},stringify:e=>{const{r:t,g:r,b:i,a:n}=e;return n<1?`rgba(${tt.lang.round(t)}, ${tt.lang.round(r)}, ${tt.lang.round(i)}, ${tt.lang.round(n)})`:`rgb(${tt.lang.round(t)}, ${tt.lang.round(r)}, ${tt.lang.round(i)})`}},ge={format:{keyword:vi,hex:wr,rgb:yi,rgba:yi,hsl:Ke,hsla:Ke},parse:e=>{if(typeof e!="string")return e;const t=wr.parse(e)||yi.parse(e)||Ke.parse(e)||vi.parse(e);if(t)return t;throw new Error(`Unsupported color format: "${e}"`)},stringify:e=>!e.changed&&e.color?e.color:e.type.is(Bt.HSL)||e.data.r===void 0?Ke.stringify(e):e.a<1||!Number.isInteger(e.r)||!Number.isInteger(e.g)||!Number.isInteger(e.b)?yi.stringify(e):wr.stringify(e)},Qh=(e,t)=>{const r=ge.parse(e);for(const i in t)r[i]=tt.channel.clamp[i](t[i]);return ge.stringify(r)},ki=(e,t,r=0,i=1)=>{if(typeof e!="number")return Qh(e,{a:t});const n=Ta.set({r:tt.channel.clamp.r(e),g:tt.channel.clamp.g(t),b:tt.channel.clamp.b(r),a:tt.channel.clamp.a(i)});return ge.stringify(n)},N0=e=>{const{r:t,g:r,b:i}=ge.parse(e),n=.2126*tt.channel.toLinear(t)+.7152*tt.channel.toLinear(r)+.0722*tt.channel.toLinear(i);return tt.lang.round(n)},z0=e=>N0(e)>=.5,Ui=e=>!z0(e),Jh=(e,t,r)=>{const i=ge.parse(e),n=i[t],a=tt.channel.clamp[t](n+r);return n!==a&&(i[t]=a),ge.stringify(i)},U=(e,t)=>Jh(e,"l",t),K=(e,t)=>Jh(e,"l",-t),C=(e,t)=>{const r=ge.parse(e),i={};for(const n in t)t[n]&&(i[n]=r[n]+t[n]);return Qh(e,i)},q0=(e,t,r=50)=>{const{r:i,g:n,b:a,a:o}=ge.parse(e),{r:s,g:l,b:c,a:h}=ge.parse(t),u=r/100,f=u*2-1,p=o-h,m=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,y=1-m,x=i*m+s*y,b=n*m+l*y,w=a*m+c*y,k=o*u+h*(1-u);return ki(x,b,w,k)},R=(e,t=100)=>{const r=ge.parse(e);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,q0(r,e,t)};/*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */const{entries:tu,setPrototypeOf:uc,isFrozen:W0,getPrototypeOf:H0,getOwnPropertyDescriptor:j0}=Object;let{freeze:It,seal:Kt,create:eu}=Object,{apply:js,construct:Us}=typeof Reflect<"u"&&Reflect;It||(It=function(t){return t});Kt||(Kt=function(t){return t});js||(js=function(t,r,i){return t.apply(r,i)});Us||(Us=function(t,r){return new t(...r)});const ln=Yt(Array.prototype.forEach),fc=Yt(Array.prototype.pop),ei=Yt(Array.prototype.push),En=Yt(String.prototype.toLowerCase),ns=Yt(String.prototype.toString),pc=Yt(String.prototype.match),ri=Yt(String.prototype.replace),U0=Yt(String.prototype.indexOf),Y0=Yt(String.prototype.trim),ie=Yt(Object.prototype.hasOwnProperty),Dt=Yt(RegExp.prototype.test),ii=G0(TypeError);function Yt(e){return function(t){for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n2&&arguments[2]!==void 0?arguments[2]:En;uc&&uc(e,null);let i=t.length;for(;i--;){let n=t[i];if(typeof n=="string"){const a=r(n);a!==n&&(W0(t)||(t[i]=a),n=a)}e[n]=!0}return e}function V0(e){for(let t=0;t/gm),J0=Kt(/\${[\w\W]*}/gm),tm=Kt(/^data-[\-\w.\u00B7-\uFFFF]/),em=Kt(/^aria-[\-\w]+$/),ru=Kt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),rm=Kt(/^(?:\w+script|data):/i),im=Kt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),iu=Kt(/^html$/i),nm=Kt(/^[a-z][.\w]*(-[.\w]+)+$/i);var xc=Object.freeze({__proto__:null,MUSTACHE_EXPR:K0,ERB_EXPR:Q0,TMPLIT_EXPR:J0,DATA_ATTR:tm,ARIA_ATTR:em,IS_ALLOWED_URI:ru,IS_SCRIPT_OR_DATA:rm,ATTR_WHITESPACE:im,DOCTYPE_NAME:iu,CUSTOM_ELEMENT:nm});const ai={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},am=function(){return typeof window>"u"?null:window},sm=function(t,r){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null;const n="data-tt-policy-suffix";r&&r.hasAttribute(n)&&(i=r.getAttribute(n));const a="dompurify"+(i?"#"+i:"");try{return t.createPolicy(a,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}};function nu(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:am();const t=j=>nu(j);if(t.version="3.1.6",t.removed=[],!e||!e.document||e.document.nodeType!==ai.document)return t.isSupported=!1,t;let{document:r}=e;const i=r,n=i.currentScript,{DocumentFragment:a,HTMLTemplateElement:o,Node:s,Element:l,NodeFilter:c,NamedNodeMap:h=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:u,DOMParser:f,trustedTypes:p}=e,g=l.prototype,m=ni(g,"cloneNode"),y=ni(g,"remove"),x=ni(g,"nextSibling"),b=ni(g,"childNodes"),w=ni(g,"parentNode");if(typeof o=="function"){const j=r.createElement("template");j.content&&j.content.ownerDocument&&(r=j.content.ownerDocument)}let k,S="";const{implementation:E,createNodeIterator:B,createDocumentFragment:I,getElementsByTagName:N}=r,{importNode:O}=i;let F={};t.isSupported=typeof tu=="function"&&typeof w=="function"&&E&&E.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:G,ERB_EXPR:P,TMPLIT_EXPR:A,DATA_ATTR:v,ARIA_ATTR:T,IS_SCRIPT_OR_DATA:L,ATTR_WHITESPACE:$,CUSTOM_ELEMENT:W}=xc;let{IS_ALLOWED_URI:J}=xc,rt=null;const mt=at({},[...dc,...as,...ss,...os,...gc]);let nt=null;const bt=at({},[...mc,...ls,...yc,...cn]);let st=Object.seal(eu(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Vt=null,te=null,Fe=!0,ee=!0,vt=!1,re=!0,Xt=!1,$e=!0,Ue=!1,Ka=!1,Qa=!1,pr=!1,rn=!1,nn=!1,ql=!0,Wl=!1;const Qg="user-content-";let Ja=!0,Kr=!1,dr={},gr=null;const Hl=at({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let jl=null;const Ul=at({},["audio","video","img","source","image","track"]);let ts=null;const Yl=at({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),an="http://www.w3.org/1998/Math/MathML",sn="http://www.w3.org/2000/svg",be="http://www.w3.org/1999/xhtml";let mr=be,es=!1,rs=null;const Jg=at({},[an,sn,be],ns);let Qr=null;const t0=["application/xhtml+xml","text/html"],e0="text/html";let Ct=null,yr=null;const r0=r.createElement("form"),Gl=function(_){return _ instanceof RegExp||_ instanceof Function},is=function(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(yr&&yr===_)){if((!_||typeof _!="object")&&(_={}),_=Ge(_),Qr=t0.indexOf(_.PARSER_MEDIA_TYPE)===-1?e0:_.PARSER_MEDIA_TYPE,Ct=Qr==="application/xhtml+xml"?ns:En,rt=ie(_,"ALLOWED_TAGS")?at({},_.ALLOWED_TAGS,Ct):mt,nt=ie(_,"ALLOWED_ATTR")?at({},_.ALLOWED_ATTR,Ct):bt,rs=ie(_,"ALLOWED_NAMESPACES")?at({},_.ALLOWED_NAMESPACES,ns):Jg,ts=ie(_,"ADD_URI_SAFE_ATTR")?at(Ge(Yl),_.ADD_URI_SAFE_ATTR,Ct):Yl,jl=ie(_,"ADD_DATA_URI_TAGS")?at(Ge(Ul),_.ADD_DATA_URI_TAGS,Ct):Ul,gr=ie(_,"FORBID_CONTENTS")?at({},_.FORBID_CONTENTS,Ct):Hl,Vt=ie(_,"FORBID_TAGS")?at({},_.FORBID_TAGS,Ct):{},te=ie(_,"FORBID_ATTR")?at({},_.FORBID_ATTR,Ct):{},dr=ie(_,"USE_PROFILES")?_.USE_PROFILES:!1,Fe=_.ALLOW_ARIA_ATTR!==!1,ee=_.ALLOW_DATA_ATTR!==!1,vt=_.ALLOW_UNKNOWN_PROTOCOLS||!1,re=_.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Xt=_.SAFE_FOR_TEMPLATES||!1,$e=_.SAFE_FOR_XML!==!1,Ue=_.WHOLE_DOCUMENT||!1,pr=_.RETURN_DOM||!1,rn=_.RETURN_DOM_FRAGMENT||!1,nn=_.RETURN_TRUSTED_TYPE||!1,Qa=_.FORCE_BODY||!1,ql=_.SANITIZE_DOM!==!1,Wl=_.SANITIZE_NAMED_PROPS||!1,Ja=_.KEEP_CONTENT!==!1,Kr=_.IN_PLACE||!1,J=_.ALLOWED_URI_REGEXP||ru,mr=_.NAMESPACE||be,st=_.CUSTOM_ELEMENT_HANDLING||{},_.CUSTOM_ELEMENT_HANDLING&&Gl(_.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(st.tagNameCheck=_.CUSTOM_ELEMENT_HANDLING.tagNameCheck),_.CUSTOM_ELEMENT_HANDLING&&Gl(_.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(st.attributeNameCheck=_.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),_.CUSTOM_ELEMENT_HANDLING&&typeof _.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(st.allowCustomizedBuiltInElements=_.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Xt&&(ee=!1),rn&&(pr=!0),dr&&(rt=at({},gc),nt=[],dr.html===!0&&(at(rt,dc),at(nt,mc)),dr.svg===!0&&(at(rt,as),at(nt,ls),at(nt,cn)),dr.svgFilters===!0&&(at(rt,ss),at(nt,ls),at(nt,cn)),dr.mathMl===!0&&(at(rt,os),at(nt,yc),at(nt,cn))),_.ADD_TAGS&&(rt===mt&&(rt=Ge(rt)),at(rt,_.ADD_TAGS,Ct)),_.ADD_ATTR&&(nt===bt&&(nt=Ge(nt)),at(nt,_.ADD_ATTR,Ct)),_.ADD_URI_SAFE_ATTR&&at(ts,_.ADD_URI_SAFE_ATTR,Ct),_.FORBID_CONTENTS&&(gr===Hl&&(gr=Ge(gr)),at(gr,_.FORBID_CONTENTS,Ct)),Ja&&(rt["#text"]=!0),Ue&&at(rt,["html","head","body"]),rt.table&&(at(rt,["tbody"]),delete Vt.tbody),_.TRUSTED_TYPES_POLICY){if(typeof _.TRUSTED_TYPES_POLICY.createHTML!="function")throw ii('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof _.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw ii('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');k=_.TRUSTED_TYPES_POLICY,S=k.createHTML("")}else k===void 0&&(k=sm(p,n)),k!==null&&typeof S=="string"&&(S=k.createHTML(""));It&&It(_),yr=_}},Vl=at({},["mi","mo","mn","ms","mtext"]),Xl=at({},["foreignobject","annotation-xml"]),i0=at({},["title","style","font","a","script"]),Zl=at({},[...as,...ss,...X0]),Kl=at({},[...os,...Z0]),n0=function(_){let D=w(_);(!D||!D.tagName)&&(D={namespaceURI:mr,tagName:"template"});const z=En(_.tagName),ut=En(D.tagName);return rs[_.namespaceURI]?_.namespaceURI===sn?D.namespaceURI===be?z==="svg":D.namespaceURI===an?z==="svg"&&(ut==="annotation-xml"||Vl[ut]):!!Zl[z]:_.namespaceURI===an?D.namespaceURI===be?z==="math":D.namespaceURI===sn?z==="math"&&Xl[ut]:!!Kl[z]:_.namespaceURI===be?D.namespaceURI===sn&&!Xl[ut]||D.namespaceURI===an&&!Vl[ut]?!1:!Kl[z]&&(i0[z]||!Zl[z]):!!(Qr==="application/xhtml+xml"&&rs[_.namespaceURI]):!1},le=function(_){ei(t.removed,{element:_});try{w(_).removeChild(_)}catch{y(_)}},on=function(_,D){try{ei(t.removed,{attribute:D.getAttributeNode(_),from:D})}catch{ei(t.removed,{attribute:null,from:D})}if(D.removeAttribute(_),_==="is"&&!nt[_])if(pr||rn)try{le(D)}catch{}else try{D.setAttribute(_,"")}catch{}},Ql=function(_){let D=null,z=null;if(Qa)_=""+_;else{const kt=pc(_,/^[\r\n\t ]+/);z=kt&&kt[0]}Qr==="application/xhtml+xml"&&mr===be&&(_=''+_+"");const ut=k?k.createHTML(_):_;if(mr===be)try{D=new f().parseFromString(ut,Qr)}catch{}if(!D||!D.documentElement){D=E.createDocument(mr,"template",null);try{D.documentElement.innerHTML=es?S:ut}catch{}}const Lt=D.body||D.documentElement;return _&&z&&Lt.insertBefore(r.createTextNode(z),Lt.childNodes[0]||null),mr===be?N.call(D,Ue?"html":"body")[0]:Ue?D.documentElement:Lt},Jl=function(_){return B.call(_.ownerDocument||_,_,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},tc=function(_){return _ instanceof u&&(typeof _.nodeName!="string"||typeof _.textContent!="string"||typeof _.removeChild!="function"||!(_.attributes instanceof h)||typeof _.removeAttribute!="function"||typeof _.setAttribute!="function"||typeof _.namespaceURI!="string"||typeof _.insertBefore!="function"||typeof _.hasChildNodes!="function")},ec=function(_){return typeof s=="function"&&_ instanceof s},_e=function(_,D,z){F[_]&&ln(F[_],ut=>{ut.call(t,D,z,yr)})},rc=function(_){let D=null;if(_e("beforeSanitizeElements",_,null),tc(_))return le(_),!0;const z=Ct(_.nodeName);if(_e("uponSanitizeElement",_,{tagName:z,allowedTags:rt}),_.hasChildNodes()&&!ec(_.firstElementChild)&&Dt(/<[/\w]/g,_.innerHTML)&&Dt(/<[/\w]/g,_.textContent)||_.nodeType===ai.progressingInstruction||$e&&_.nodeType===ai.comment&&Dt(/<[/\w]/g,_.data))return le(_),!0;if(!rt[z]||Vt[z]){if(!Vt[z]&&nc(z)&&(st.tagNameCheck instanceof RegExp&&Dt(st.tagNameCheck,z)||st.tagNameCheck instanceof Function&&st.tagNameCheck(z)))return!1;if(Ja&&!gr[z]){const ut=w(_)||_.parentNode,Lt=b(_)||_.childNodes;if(Lt&&ut){const kt=Lt.length;for(let Pt=kt-1;Pt>=0;--Pt){const ce=m(Lt[Pt],!0);ce.__removalCount=(_.__removalCount||0)+1,ut.insertBefore(ce,x(_))}}}return le(_),!0}return _ instanceof l&&!n0(_)||(z==="noscript"||z==="noembed"||z==="noframes")&&Dt(/<\/no(script|embed|frames)/i,_.innerHTML)?(le(_),!0):(Xt&&_.nodeType===ai.text&&(D=_.textContent,ln([G,P,A],ut=>{D=ri(D,ut," ")}),_.textContent!==D&&(ei(t.removed,{element:_.cloneNode()}),_.textContent=D)),_e("afterSanitizeElements",_,null),!1)},ic=function(_,D,z){if(ql&&(D==="id"||D==="name")&&(z in r||z in r0))return!1;if(!(ee&&!te[D]&&Dt(v,D))){if(!(Fe&&Dt(T,D))){if(!nt[D]||te[D]){if(!(nc(_)&&(st.tagNameCheck instanceof RegExp&&Dt(st.tagNameCheck,_)||st.tagNameCheck instanceof Function&&st.tagNameCheck(_))&&(st.attributeNameCheck instanceof RegExp&&Dt(st.attributeNameCheck,D)||st.attributeNameCheck instanceof Function&&st.attributeNameCheck(D))||D==="is"&&st.allowCustomizedBuiltInElements&&(st.tagNameCheck instanceof RegExp&&Dt(st.tagNameCheck,z)||st.tagNameCheck instanceof Function&&st.tagNameCheck(z))))return!1}else if(!ts[D]){if(!Dt(J,ri(z,$,""))){if(!((D==="src"||D==="xlink:href"||D==="href")&&_!=="script"&&U0(z,"data:")===0&&jl[_])){if(!(vt&&!Dt(L,ri(z,$,"")))){if(z)return!1}}}}}}return!0},nc=function(_){return _!=="annotation-xml"&&pc(_,W)},ac=function(_){_e("beforeSanitizeAttributes",_,null);const{attributes:D}=_;if(!D)return;const z={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:nt};let ut=D.length;for(;ut--;){const Lt=D[ut],{name:kt,namespaceURI:Pt,value:ce}=Lt,Jr=Ct(kt);let $t=kt==="value"?ce:Y0(ce);if(z.attrName=Jr,z.attrValue=$t,z.keepAttr=!0,z.forceKeepAttr=void 0,_e("uponSanitizeAttribute",_,z),$t=z.attrValue,$e&&Dt(/((--!?|])>)|<\/(style|title)/i,$t)){on(kt,_);continue}if(z.forceKeepAttr||(on(kt,_),!z.keepAttr))continue;if(!re&&Dt(/\/>/i,$t)){on(kt,_);continue}Xt&&ln([G,P,A],oc=>{$t=ri($t,oc," ")});const sc=Ct(_.nodeName);if(ic(sc,Jr,$t)){if(Wl&&(Jr==="id"||Jr==="name")&&(on(kt,_),$t=Qg+$t),k&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!Pt)switch(p.getAttributeType(sc,Jr)){case"TrustedHTML":{$t=k.createHTML($t);break}case"TrustedScriptURL":{$t=k.createScriptURL($t);break}}try{Pt?_.setAttributeNS(Pt,kt,$t):_.setAttribute(kt,$t),tc(_)?le(_):fc(t.removed)}catch{}}}_e("afterSanitizeAttributes",_,null)},a0=function j(_){let D=null;const z=Jl(_);for(_e("beforeSanitizeShadowDOM",_,null);D=z.nextNode();)_e("uponSanitizeShadowNode",D,null),!rc(D)&&(D.content instanceof a&&j(D.content),ac(D));_e("afterSanitizeShadowDOM",_,null)};return t.sanitize=function(j){let _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},D=null,z=null,ut=null,Lt=null;if(es=!j,es&&(j=""),typeof j!="string"&&!ec(j))if(typeof j.toString=="function"){if(j=j.toString(),typeof j!="string")throw ii("dirty is not a string, aborting")}else throw ii("toString is not a function");if(!t.isSupported)return j;if(Ka||is(_),t.removed=[],typeof j=="string"&&(Kr=!1),Kr){if(j.nodeName){const ce=Ct(j.nodeName);if(!rt[ce]||Vt[ce])throw ii("root node is forbidden and cannot be sanitized in-place")}}else if(j instanceof s)D=Ql(""),z=D.ownerDocument.importNode(j,!0),z.nodeType===ai.element&&z.nodeName==="BODY"||z.nodeName==="HTML"?D=z:D.appendChild(z);else{if(!pr&&!Xt&&!Ue&&j.indexOf("<")===-1)return k&&nn?k.createHTML(j):j;if(D=Ql(j),!D)return pr?null:nn?S:""}D&&Qa&&le(D.firstChild);const kt=Jl(Kr?j:D);for(;ut=kt.nextNode();)rc(ut)||(ut.content instanceof a&&a0(ut.content),ac(ut));if(Kr)return j;if(pr){if(rn)for(Lt=I.call(D.ownerDocument);D.firstChild;)Lt.appendChild(D.firstChild);else Lt=D;return(nt.shadowroot||nt.shadowrootmode)&&(Lt=O.call(i,Lt,!0)),Lt}let Pt=Ue?D.outerHTML:D.innerHTML;return Ue&&rt["!doctype"]&&D.ownerDocument&&D.ownerDocument.doctype&&D.ownerDocument.doctype.name&&Dt(iu,D.ownerDocument.doctype.name)&&(Pt=" `+Pt),Xt&&ln([G,P,A],ce=>{Pt=ri(Pt,ce," ")}),k&&nn?k.createHTML(Pt):Pt},t.setConfig=function(){let j=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};is(j),Ka=!0},t.clearConfig=function(){yr=null,Ka=!1},t.isValidAttribute=function(j,_,D){yr||is({});const z=Ct(j),ut=Ct(_);return ic(z,ut,D)},t.addHook=function(j,_){typeof _=="function"&&(F[j]=F[j]||[],ei(F[j],_))},t.removeHook=function(j){if(F[j])return fc(F[j])},t.removeHooks=function(j){F[j]&&(F[j]=[])},t.removeAllHooks=function(){F={}},t}var Dr=nu(),au=Object.defineProperty,d=(e,t)=>au(e,"name",{value:t,configurable:!0}),om=(e,t)=>{for(var r in t)au(e,r,{get:t[r],enumerable:!0})},Ce={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},M={trace:d((...e)=>{},"trace"),debug:d((...e)=>{},"debug"),info:d((...e)=>{},"info"),warn:d((...e)=>{},"warn"),error:d((...e)=>{},"error"),fatal:d((...e)=>{},"fatal")},zo=d(function(e="fatal"){let t=Ce.fatal;typeof e=="string"?e.toLowerCase()in Ce&&(t=Ce[e]):typeof e=="number"&&(t=e),M.trace=()=>{},M.debug=()=>{},M.info=()=>{},M.warn=()=>{},M.error=()=>{},M.fatal=()=>{},t<=Ce.fatal&&(M.fatal=console.error?console.error.bind(console,Zt("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Zt("FATAL"))),t<=Ce.error&&(M.error=console.error?console.error.bind(console,Zt("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Zt("ERROR"))),t<=Ce.warn&&(M.warn=console.warn?console.warn.bind(console,Zt("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Zt("WARN"))),t<=Ce.info&&(M.info=console.info?console.info.bind(console,Zt("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Zt("INFO"))),t<=Ce.debug&&(M.debug=console.debug?console.debug.bind(console,Zt("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Zt("DEBUG"))),t<=Ce.trace&&(M.trace=console.debug?console.debug.bind(console,Zt("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Zt("TRACE")))},"setLogLevel"),Zt=d(e=>`%c${D0().format("ss.SSS")} : ${e} : `,"format"),su=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,Si=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,lm=/\s*%%.*\n/gm,Tr,ou=(Tr=class extends Error{constructor(t){super(t),this.name="UnknownDiagramError"}},d(Tr,"UnknownDiagramError"),Tr),Or={},qo=d(function(e,t){e=e.replace(su,"").replace(Si,"").replace(lm,` `);for(const[r,{detector:i}]of Object.entries(Or))if(i(e,t))return r;throw new ou(`No diagram type detected matching given configuration for text: ${e}`)},"detectType"),lu=d((...e)=>{for(const{id:t,detector:r,loader:i}of e)cu(t,r,i)},"registerLazyLoadedDiagrams"),cu=d((e,t,r)=>{Or[e]&&M.warn(`Detector with key ${e} already exists. Overwriting.`),Or[e]={detector:t,loader:r},M.debug(`Detector with key ${e} added${r?" with loader":""}`)},"addDetector"),cm=d(e=>Or[e].loader,"getDiagramLoader"),Ys=d((e,t,{depth:r=2,clobber:i=!1}={})=>{const n={depth:r,clobber:i};return Array.isArray(t)&&!Array.isArray(e)?(t.forEach(a=>Ys(e,a,n)),e):Array.isArray(t)&&Array.isArray(e)?(t.forEach(a=>{e.includes(a)||e.push(a)}),e):e===void 0||r<=0?e!=null&&typeof e=="object"&&typeof t=="object"?Object.assign(e,t):t:(t!==void 0&&typeof e=="object"&&typeof t=="object"&&Object.keys(t).forEach(a=>{typeof t[a]=="object"&&(e[a]===void 0||typeof e[a]=="object")?(e[a]===void 0&&(e[a]=Array.isArray(t[a])?[]:{}),e[a]=Ys(e[a],t[a],{depth:r-1,clobber:i})):(i||typeof e[a]!="object"&&typeof t[a]!="object")&&(e[a]=t[a])}),e)},"assignWithDepth"),At=Ys,Aa="#ffffff",La="#f2f2f2",Ot=d((e,t)=>t?C(e,{s:-40,l:10}):C(e,{s:-40,l:-10}),"mkBorder"),Ar,hm=(Ar=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var r,i,n,a,o,s,l,c,h,u,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||C(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||C(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Ot(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Ot(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Ot(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Ot(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||R(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||R(this.tertiaryColor),this.lineColor=this.lineColor||R(this.background),this.arrowheadColor=this.arrowheadColor||R(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?K(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||K(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||R(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||U(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||C(this.primaryColor,{h:30}),this.cScale4=this.cScale4||C(this.primaryColor,{h:60}),this.cScale5=this.cScale5||C(this.primaryColor,{h:90}),this.cScale6=this.cScale6||C(this.primaryColor,{h:120}),this.cScale7=this.cScale7||C(this.primaryColor,{h:150}),this.cScale8=this.cScale8||C(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||C(this.primaryColor,{h:270}),this.cScale10=this.cScale10||C(this.primaryColor,{h:300}),this.cScale11=this.cScale11||C(this.primaryColor,{h:330}),this.darkMode)for(let p=0;p{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},d(Ar,"Theme"),Ar),um=d(e=>{const t=new hm;return t.calculate(e),t},"getThemeVariables"),Lr,fm=(Lr=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=U(this.primaryColor,16),this.tertiaryColor=C(this.primaryColor,{h:-160}),this.primaryBorderColor=R(this.background),this.secondaryBorderColor=Ot(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ot(this.tertiaryColor,this.darkMode),this.primaryTextColor=R(this.primaryColor),this.secondaryTextColor=R(this.secondaryColor),this.tertiaryTextColor=R(this.tertiaryColor),this.lineColor=R(this.background),this.textColor=R(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=U(R("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=ki(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=K("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=K(this.sectionBkgColor,10),this.taskBorderColor=ki(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=ki(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var t,r,i,n,a,o,s,l,c,h,u;this.secondBkg=U(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=U(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=U(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=C(this.primaryColor,{h:64}),this.fillType3=C(this.secondaryColor,{h:64}),this.fillType4=C(this.primaryColor,{h:-64}),this.fillType5=C(this.secondaryColor,{h:-64}),this.fillType6=C(this.primaryColor,{h:128}),this.fillType7=C(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||C(this.primaryColor,{h:30}),this.cScale4=this.cScale4||C(this.primaryColor,{h:60}),this.cScale5=this.cScale5||C(this.primaryColor,{h:90}),this.cScale6=this.cScale6||C(this.primaryColor,{h:120}),this.cScale7=this.cScale7||C(this.primaryColor,{h:150}),this.cScale8=this.cScale8||C(this.primaryColor,{h:210}),this.cScale9=this.cScale9||C(this.primaryColor,{h:270}),this.cScale10=this.cScale10||C(this.primaryColor,{h:300}),this.cScale11=this.cScale11||C(this.primaryColor,{h:330});for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},d(Lr,"Theme"),Lr),pm=d(e=>{const t=new fm;return t.calculate(e),t},"getThemeVariables"),Br,dm=(Br=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=C(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=C(this.primaryColor,{h:-160}),this.primaryBorderColor=Ot(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ot(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ot(this.tertiaryColor,this.darkMode),this.primaryTextColor=R(this.primaryColor),this.secondaryTextColor=R(this.secondaryColor),this.tertiaryTextColor=R(this.tertiaryColor),this.lineColor=R(this.background),this.textColor=R(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=ki(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var t,r,i,n,a,o,s,l,c,h,u;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||C(this.primaryColor,{h:30}),this.cScale4=this.cScale4||C(this.primaryColor,{h:60}),this.cScale5=this.cScale5||C(this.primaryColor,{h:90}),this.cScale6=this.cScale6||C(this.primaryColor,{h:120}),this.cScale7=this.cScale7||C(this.primaryColor,{h:150}),this.cScale8=this.cScale8||C(this.primaryColor,{h:210}),this.cScale9=this.cScale9||C(this.primaryColor,{h:270}),this.cScale10=this.cScale10||C(this.primaryColor,{h:300}),this.cScale11=this.cScale11||C(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||K(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||K(this.tertiaryColor,40);for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},d(Br,"Theme"),Br),gm=d(e=>{const t=new dm;return t.calculate(e),t},"getThemeVariables"),Mr,mm=(Mr=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=U("#cde498",10),this.primaryBorderColor=Ot(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ot(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ot(this.tertiaryColor,this.darkMode),this.primaryTextColor=R(this.primaryColor),this.secondaryTextColor=R(this.secondaryColor),this.tertiaryTextColor=R(this.primaryColor),this.lineColor=R(this.background),this.textColor=R(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,r,i,n,a,o,s,l,c,h,u;this.actorBorder=K(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||C(this.primaryColor,{h:30}),this.cScale4=this.cScale4||C(this.primaryColor,{h:60}),this.cScale5=this.cScale5||C(this.primaryColor,{h:90}),this.cScale6=this.cScale6||C(this.primaryColor,{h:120}),this.cScale7=this.cScale7||C(this.primaryColor,{h:150}),this.cScale8=this.cScale8||C(this.primaryColor,{h:210}),this.cScale9=this.cScale9||C(this.primaryColor,{h:270}),this.cScale10=this.cScale10||C(this.primaryColor,{h:300}),this.cScale11=this.cScale11||C(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||K(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||K(this.tertiaryColor,40);for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},d(Mr,"Theme"),Mr),ym=d(e=>{const t=new mm;return t.calculate(e),t},"getThemeVariables"),Er,xm=(Er=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=U(this.contrast,55),this.background="#ffffff",this.tertiaryColor=C(this.primaryColor,{h:-160}),this.primaryBorderColor=Ot(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ot(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ot(this.tertiaryColor,this.darkMode),this.primaryTextColor=R(this.primaryColor),this.secondaryTextColor=R(this.secondaryColor),this.tertiaryTextColor=R(this.tertiaryColor),this.lineColor=R(this.background),this.textColor=R(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,r,i,n,a,o,s,l,c,h,u;this.secondBkg=U(this.contrast,55),this.border2=this.contrast,this.actorBorder=U(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let f=0;f{this[i]=t[i]}),this.updateColors(),r.forEach(i=>{this[i]=t[i]})}},d(Er,"Theme"),Er),bm=d(e=>{const t=new xm;return t.calculate(e),t},"getThemeVariables"),Se={base:{getThemeVariables:um},dark:{getThemeVariables:pm},default:{getThemeVariables:gm},forest:{getThemeVariables:ym},neutral:{getThemeVariables:bm}},De={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},hu={...De,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF"},themeCSS:void 0,themeVariables:Se.default.getThemeVariables(),sequence:{...De.sequence,messageFont:d(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:d(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:d(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},gantt:{...De.gantt,tickInterval:void 0,useWidth:void 0},c4:{...De.c4,useWidth:void 0,personFont:d(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),external_personFont:d(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:d(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:d(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:d(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:d(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:d(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:d(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:d(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:d(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:d(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:d(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:d(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:d(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:d(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:d(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:d(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:d(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:d(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:d(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:d(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:d(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...De.pie,useWidth:984},xyChart:{...De.xyChart,useWidth:void 0},requirement:{...De.requirement,useWidth:void 0},packet:{...De.packet}},uu=d((e,t="")=>Object.keys(e).reduce((r,i)=>Array.isArray(e[i])?r:typeof e[i]=="object"&&e[i]!==null?[...r,t+i,...uu(e[i],"")]:[...r,t+i],[]),"keyify"),_m=new Set(uu(hu,"")),Cm=hu,jn=d(e=>{if(M.debug("sanitizeDirective called with",e),!(typeof e!="object"||e==null)){if(Array.isArray(e)){e.forEach(t=>jn(t));return}for(const t of Object.keys(e)){if(M.debug("Checking key",t),t.startsWith("__")||t.includes("proto")||t.includes("constr")||!_m.has(t)||e[t]==null){M.debug("sanitize deleting key: ",t),delete e[t];continue}if(typeof e[t]=="object"){M.debug("sanitizing object",t),jn(e[t]);continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const i of r)t.includes(i)&&(M.debug("sanitizing css option",t),e[t]=wm(e[t]))}if(e.themeVariables)for(const t of Object.keys(e.themeVariables)){const r=e.themeVariables[t];r!=null&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(e.themeVariables[t]="")}M.debug("After sanitization",e)}},"sanitizeDirective"),wm=d(e=>{let t=0,r=0;for(const i of e){if(t{let r=At({},e),i={};for(const n of t)gu(n),i=At(i,n);if(r=At(r,i),i.theme&&i.theme in Se){const n=At({},fu),a=At(n.themeVariables||{},i.themeVariables);r.theme&&r.theme in Se&&(r.themeVariables=Se[r.theme].getThemeVariables(a))}return Ti=r,mu(Ti),Ti},"updateCurrentConfig"),vm=d(e=>(zt=At({},Rr),zt=At(zt,e),e.theme&&Se[e.theme]&&(zt.themeVariables=Se[e.theme].getThemeVariables(e.themeVariables)),Ba(zt,Ir),zt),"setSiteConfig"),km=d(e=>{fu=At({},e)},"saveConfigFromInitialize"),Sm=d(e=>(zt=At(zt,e),Ba(zt,Ir),zt),"updateSiteConfig"),pu=d(()=>At({},zt),"getSiteConfig"),du=d(e=>(mu(e),At(Ti,e),Be()),"setConfig"),Be=d(()=>At({},Ti),"getConfig"),gu=d(e=>{e&&(["secure",...zt.secure??[]].forEach(t=>{Object.hasOwn(e,t)&&(M.debug(`Denied attempt to modify a secure key ${t}`,e[t]),delete e[t])}),Object.keys(e).forEach(t=>{t.startsWith("__")&&delete e[t]}),Object.keys(e).forEach(t=>{typeof e[t]=="string"&&(e[t].includes("<")||e[t].includes(">")||e[t].includes("url(data:"))&&delete e[t],typeof e[t]=="object"&&gu(e[t])}))},"sanitize"),Tm=d(e=>{var t;jn(e),e.fontFamily&&!((t=e.themeVariables)!=null&&t.fontFamily)&&(e.themeVariables={...e.themeVariables,fontFamily:e.fontFamily}),Ir.push(e),Ba(zt,Ir)},"addDirective"),Un=d((e=zt)=>{Ir=[],Ba(e,Ir)},"reset"),Am={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},bc={},Lm=d(e=>{bc[e]||(M.warn(Am[e]),bc[e]=!0)},"issueWarning"),mu=d(e=>{e&&(e.lazyLoadedDiagrams||e.loadExternalDiagramsAtStartup)&&Lm("LAZY_LOAD_DEPRECATED")},"checkConfig"),Yi=//gi,Bm=d(e=>e?bu(e).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),Mm=(()=>{let e=!1;return()=>{e||(yu(),e=!0)}})();function yu(){const e="data-temp-href-target";Dr.addHook("beforeSanitizeAttributes",t=>{t.tagName==="A"&&t.hasAttribute("target")&&t.setAttribute(e,t.getAttribute("target")??"")}),Dr.addHook("afterSanitizeAttributes",t=>{t.tagName==="A"&&t.hasAttribute(e)&&(t.setAttribute("target",t.getAttribute(e)??""),t.removeAttribute(e),t.getAttribute("target")==="_blank"&&t.setAttribute("rel","noopener"))})}d(yu,"setupDompurifyHooks");var xu=d(e=>(Mm(),Dr.sanitize(e)),"removeScript"),_c=d((e,t)=>{var r;if(((r=t.flowchart)==null?void 0:r.htmlLabels)!==!1){const i=t.securityLevel;i==="antiscript"||i==="strict"?e=xu(e):i!=="loose"&&(e=bu(e),e=e.replace(//g,">"),e=e.replace(/=/g,"="),e=Dm(e))}return e},"sanitizeMore"),Pr=d((e,t)=>e&&(t.dompurifyConfig?e=Dr.sanitize(_c(e,t),t.dompurifyConfig).toString():e=Dr.sanitize(_c(e,t),{FORBID_TAGS:["style"]}).toString(),e),"sanitizeText"),Em=d((e,t)=>typeof e=="string"?Pr(e,t):e.flat().map(r=>Pr(r,t)),"sanitizeTextOrArray"),Fm=d(e=>Yi.test(e),"hasBreaks"),$m=d(e=>e.split(Yi),"splitBreaks"),Dm=d(e=>e.replace(/#br#/g,"
"),"placeholderToBreak"),bu=d(e=>e.replace(Yi,"#br#"),"breakToPlaceholder"),Om=d(e=>{let t="";return e&&(t=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,t=t.replaceAll(/\(/g,"\\("),t=t.replaceAll(/\)/g,"\\)")),t},"getUrl"),Qt=d(e=>!(e===!1||["false","null","0"].includes(String(e).trim().toLowerCase())),"evaluate"),Rm=d(function(...e){const t=e.filter(r=>!isNaN(r));return Math.max(...t)},"getMax"),Im=d(function(...e){const t=e.filter(r=>!isNaN(r));return Math.min(...t)},"getMin"),$L=d(function(e){const t=e.split(/(,)/),r=[];for(let i=0;i0&&i+1Math.max(0,e.split(t).length-1),"countOccurrence"),Pm=d((e,t)=>{const r=Gs(e,"~"),i=Gs(t,"~");return r===1&&i===1},"shouldCombineSets"),Nm=d(e=>{const t=Gs(e,"~");let r=!1;if(t<=1)return e;t%2!==0&&e.startsWith("~")&&(e=e.substring(1),r=!0);const i=[...e];let n=i.indexOf("~"),a=i.lastIndexOf("~");for(;n!==-1&&a!==-1&&n!==a;)i[n]="<",i[a]=">",n=i.indexOf("~"),a=i.lastIndexOf("~");return r&&i.unshift("~"),i.join("")},"processSet"),Cc=d(()=>window.MathMLElement!==void 0,"isMathMLSupported"),Vs=/\$\$(.*)\$\$/g,Mi=d(e=>{var t;return(((t=e.match(Vs))==null?void 0:t.length)??0)>0},"hasKatex"),DL=d(async(e,t)=>{e=await Wo(e,t);const r=document.createElement("div");r.innerHTML=e,r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0";const i=document.querySelector("body");i==null||i.insertAdjacentElement("beforeend",r);const n={width:r.clientWidth,height:r.clientHeight};return r.remove(),n},"calculateMathMLDimensions"),Wo=d(async(e,t)=>{if(!Mi(e))return e;if(!(Cc()||t.legacyMathML||t.forceLegacyMathML))return e.replace(Vs,"MathML is unsupported in this environment.");const{default:r}=await ht(async()=>{const{default:n}=await import("./chunks/katex.CvgdMzdh.js");return{default:n}},[]),i=t.forceLegacyMathML||!Cc()&&t.legacyMathML?"htmlAndMathml":"mathml";return e.split(Yi).map(n=>Mi(n)?`
${n}
`:`
${n}
`).join("").replace(Vs,(n,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:i}).replace(/\n/g," ").replace(//g,""))},"renderKatex"),Ur={getRows:Bm,sanitizeText:Pr,sanitizeTextOrArray:Em,hasBreaks:Fm,splitBreaks:$m,lineBreakRegex:Yi,removeScript:xu,getUrl:Om,evaluate:Qt,getMax:Rm,getMin:Im},zm=d(function(e,t){for(let r of t)e.attr(r[0],r[1])},"d3Attrs"),qm=d(function(e,t,r){let i=new Map;return r?(i.set("width","100%"),i.set("style",`max-width: ${t}px;`)):(i.set("height",e),i.set("width",t)),i},"calculateSvgSizeAttrs"),_u=d(function(e,t,r,i){const n=qm(t,r,i);zm(e,n)},"configureSvgSize"),Wm=d(function(e,t,r,i){const n=t.node().getBBox(),a=n.width,o=n.height;M.info(`SVG bounds: ${a}x${o}`,n);let s=0,l=0;M.info(`Graph bounds: ${s}x${l}`,e),s=a+r*2,l=o+r*2,M.info(`Calculated bounds: ${s}x${l}`),_u(t,l,s,i);const c=`${n.x-r} ${n.y-r} ${n.width+2*r} ${n.height+2*r}`;t.attr("viewBox",c)},"setupGraphViewbox"),Fn={},Hm=d((e,t,r)=>{let i="";return e in Fn&&Fn[e]?i=Fn[e](r):M.warn(`No theme found for ${e}`),` & { font-family: ${r.fontFamily}; @@ -175,8 +175,8 @@ res:`,q.polygon(t,c,f)),q.polygon(t,c,f)},n},"question"),iS=d((e,t,r,i,n)=>[`M${ a${n},${a} 0,0,0 0,${i} l${-r},0`,"createCylinderPathD"),oS=d((e,t,r,i,n,a)=>[`M${e},${t}`,`M${e+r},${t}`,`a${n},${a} 0,0,0 0,${-i}`,`l${-r},0`,`a${n},${a} 0,0,0 0,${i}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),lS=d((e,t,r,i,n,a)=>[`M${e+r/2},${-i/2}`,`a${n},${a} 0,0,0 0,${i}`].join(" "),"createInnerCylinderPathD"),Fs=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o,halfPadding:s}=await et(e,t,it(t)),l=t.look==="neo"?s*2:s,c=a.height+l,h=c/2,u=h/(2.5+c/50),f=a.width+u+l,{cssStyles:p}=t;let g;if(t.look==="handDrawn"){const m=Y.svg(n),y=oS(0,0,f,c,u,h),x=lS(0,0,f,c,u,h),b=m.path(y,V(t,{})),w=m.path(x,V(t,{fill:"none"}));g=n.insert(()=>w,":first-child"),g=n.insert(()=>b,":first-child"),g.attr("class","basic label-container"),p&&g.attr("style",p)}else{const m=sS(0,0,f,c,u,h);g=n.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",p).attr("style",i)}return g.attr("class","basic label-container"),p&&t.look!=="handDrawn"&&g.selectAll("path").attr("style",p),i&&t.look!=="handDrawn"&&g.selectAll("path").attr("style",i),g.attr("label-offset-x",u),g.attr("transform",`translate(${-f/2}, ${c/2} )`),o.attr("transform",`translate(${-(a.width/2)-u-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),X(t,g),t.intersect=function(m){const y=q.rect(t,m),x=y.y-(t.y??0);if(h!=0&&(Math.abs(x)<(t.height??0)/2||Math.abs(x)==(t.height??0)/2&&Math.abs(y.x-(t.x??0))>(t.width??0)/2-u)){let b=u*u*(1-x*x/(h*h));b!=0&&(b=Math.sqrt(b)),b=u-b,m.x-(t.x??0)>0&&(b=-b),y.x+=b}return y},n},"tiltedCylinder"),$s=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await et(e,t,it(t)),o=60,s=20,l=Math.max(o,a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),c=Math.max(s,a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),{cssStyles:h}=t,u=Y.svg(n),f=V(t,{});t.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=[{x:-l/2*.8,y:-c/2},{x:l/2*.8,y:-c/2},{x:l/2,y:-c/2*.6},{x:l/2,y:c/2},{x:-l/2,y:c/2},{x:-l/2,y:-c/2*.6}],g=ot(p),m=u.path(g,f),y=n.insert(()=>m,":first-child");return y.attr("class","basic label-container"),h&&t.look!=="handDrawn"&&y.selectChildren("path").attr("style",h),i&&t.look!=="handDrawn"&&y.selectChildren("path").attr("style",i),X(t,y),t.intersect=function(x){return q.polygon(t,p,x)},n},"trapezoidalPentagon"),Ds=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=a.width+(t.padding??0),l=s+a.height,c=s+a.height,h=[{x:0,y:-l},{x:c,y:-l},{x:c/2,y:0}],{cssStyles:u}=t,f=Y.svg(n),p=V(t,{});t.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const g=ot(h),m=f.path(g,p),y=n.insert(()=>m,":first-child").attr("transform",`translate(${-l/2}, ${l/2})`);return u&&t.look!=="handDrawn"&&y.selectChildren("path").attr("style",u),i&&t.look!=="handDrawn"&&y.selectChildren("path").attr("style",i),t.width=s,t.height=l,X(t,y),o.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-l/2+(t.padding??0)/2+(a.y-(a.top??0))})`),t.intersect=function(x){return M.info("Triangle intersect",t,h,x),q.polygon(t,h,x)},n},"flippedTriangle"),Fh=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.label="",t.labelStyle=r;const{shapeSvg:n}=await et(e,t,it(t)),a=Math.max(30,(t==null?void 0:t.width)??0),o=Math.max(30,(t==null?void 0:t.height)??0),{cssStyles:s}=t,l=Y.svg(n),c=V(t,{});t.look!=="handDrawn"&&(c.roughness=0,c.fillStyle="solid");const h=[{x:0,y:0},{x:a,y:0},{x:0,y:o},{x:a,y:o}],u=ot(h),f=l.path(u,c),p=n.insert(()=>f,":first-child");return p.attr("class","basic label-container"),s&&t.look!=="handDrawn"&&p.selectChildren("path").attr("style",s),i&&t.look!=="handDrawn"&&p.selectChildren("path").attr("style",i),p.attr("transform",`translate(${-a/2}, ${-o/2})`),X(t,p),t.intersect=function(g){return M.info("Pill intersect",t,{points:h}),q.polygon(t,h,g)},n},"hourglass"),Tn=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a}=await et(e,t,it(t)),o=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),s=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),l=-o/2,c=-s/2,h=.2*s,u=.2*s,{cssStyles:f}=t,p=Y.svg(n),g=V(t,{}),m=[{x:l-h/2,y:c},{x:l+o+h/2,y:c},{x:l+o+h/2,y:c+s},{x:l-h/2,y:c+s}],y=[{x:l+o-h/2,y:c+s},{x:l+o+h/2,y:c+s},{x:l+o+h/2,y:c+s-u}];t.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");const x=ot(m),b=p.path(x,g),w=ot(y),k=p.path(w,{...g,fillStyle:"solid"}),S=n.insert(()=>k,":first-child");return S.insert(()=>b,":first-child"),S.attr("class","basic label-container"),f&&t.look!=="handDrawn"&&S.selectAll("path").attr("style",f),i&&t.look!=="handDrawn"&&S.selectAll("path").attr("style",i),X(t,S),t.intersect=function(E){return q.polygon(t,m,E)},n},"taggedRect"),An=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=5,h=-s/2,u=-l/2,{cssStyles:f}=t,p=Y.svg(n),g=V(t,{}),m=[{x:h-c,y:u+c},{x:h-c,y:u+l+c},{x:h+s-c,y:u+l+c},{x:h+s-c,y:u+l},{x:h+s,y:u+l},{x:h+s,y:u+l-c},{x:h+s+c,y:u+l-c},{x:h+s+c,y:u-c},{x:h+c,y:u-c},{x:h+c,y:u},{x:h,y:u},{x:h,y:u+c}],y=[{x:h,y:u+c},{x:h+s-c,y:u+c},{x:h+s-c,y:u+l},{x:h+s,y:u+l},{x:h+s,y:u},{x:h,y:u}];t.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");const x=ot(m),b=p.path(x,g),w=ot(y),k=p.path(w,{...g,fill:"none"}),S=n.insert(()=>k,":first-child");return S.insert(()=>b,":first-child"),S.attr("class","basic label-container"),f&&t.look!=="handDrawn"&&S.selectAll("path").attr("style",f),i&&t.look!=="handDrawn"&&S.selectAll("path").attr("style",i),o.attr("transform",`translate(${-(a.width/2)-c-(a.x-(a.left??0))}, ${-(a.height/2)+c-(a.y-(a.top??0))})`),X(t,S),t.intersect=function(E){return q.polygon(t,m,E)},n},"multiRect"),cS=d((e,t,r,i,n,a,o)=>[`M${e},${t+a}`,`a${n},${a} 0,0,0 ${r},0`,`a${n},${a} 0,0,0 ${-r},0`,`l0,${i}`,`a${n},${a} 0,0,0 ${r},0`,`l0,${-i}`,`M${e},${t+a+o}`,`a${n},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),hS=d((e,t,r,i,n,a,o)=>[`M${e},${t+a}`,`M${e+r},${t+a}`,`a${n},${a} 0,0,0 ${-r},0`,`l0,${i}`,`a${n},${a} 0,0,0 ${r},0`,`l0,${-i}`,`M${e},${t+a+o}`,`a${n},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),uS=d((e,t,r,i,n,a)=>[`M${e-r/2},${-i/2}`,`a${n},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),Os=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=Math.max(a.width+(t.padding??0),t.width??0),l=s/2,c=l/(2.5+s/50),h=Math.max(a.height+c+(t.padding??0),t.height??0),u=h*.1;let f;const{cssStyles:p}=t;if(t.look==="handDrawn"){const g=Y.svg(n),m=hS(0,0,s,h,l,c,u),y=uS(0,c,s,h,l,c),x=V(t,{}),b=g.path(m,x),w=g.path(y,x);n.insert(()=>w,":first-child").attr("class","line"),f=n.insert(()=>b,":first-child"),f.attr("class","basic label-container"),p&&f.attr("style",p)}else{const g=cS(0,0,s,h,l,c,u);f=n.insert("path",":first-child").attr("d",g).attr("class","basic label-container").attr("style",p).attr("style",i)}return f.attr("label-offset-y",c),f.attr("transform",`translate(${-s/2}, ${-(h/2+c)})`),X(t,f),o.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+c-(a.y-(a.top??0))})`),t.intersect=function(g){const m=q.rect(t,g),y=m.x-(t.x??0);if(l!=0&&(Math.abs(y)<(t.width??0)/2||Math.abs(y)==(t.width??0)/2&&Math.abs(m.y-(t.y??0))>(t.height??0)/2-c)){let x=c*c*(1-y*y/(l*l));x>0&&(x=Math.sqrt(x)),x=c-x,g.y-(t.y??0)>0&&(x=-x),m.y+=x}return m},n},"linedCylinder"),$h=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=l/8,h=l+c,{cssStyles:u}=t,p=70-s,g=p>0?p/2:0,m=Y.svg(n),y=V(t,{});t.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");const x=[{x:-s/2-g,y:h/2},...He(-s/2-g,h/2,s/2+g,h/2,c,.8),{x:s/2+g,y:-h/2},{x:-s/2-g,y:-h/2}],b=ot(x),w=m.path(b,y),k=n.insert(()=>w,":first-child");return k.attr("class","basic label-container"),u&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",u),i&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",i),k.attr("transform",`translate(0,${-c/2})`),o.attr("transform",`translate(${-s/2+(t.padding??0)-(a.x-(a.left??0))},${-l/2+(t.padding??0)-c-(a.y-(a.top??0))})`),X(t,k),t.intersect=function(S){return q.polygon(t,x,S)},n},"waveEdgedRectangle"),Rs=d((e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.label="",t.labelStyle=r;const n=e.insert("g").attr("class",it(t)).attr("id",t.domId??t.id),{cssStyles:a}=t,o=Math.max(35,(t==null?void 0:t.width)??0),s=Math.max(35,(t==null?void 0:t.height)??0),l=7,c=[{x:o,y:0},{x:0,y:s+l/2},{x:o-2*l,y:s+l/2},{x:0,y:2*s},{x:o,y:s-l/2},{x:2*l,y:s-l/2}],h=Y.svg(n),u=V(t,{});t.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const f=ot(c),p=h.path(f,u),g=n.insert(()=>p,":first-child");return a&&t.look!=="handDrawn"&&g.selectAll("path").attr("style",a),i&&t.look!=="handDrawn"&&g.selectAll("path").attr("style",i),g.attr("transform",`translate(-${o/2},${-s})`),X(t,g),t.intersect=function(m){return M.info("lightningBolt intersect",t,m),q.polygon(t,c,m)},n},"lightningBolt"),Is=d((e,t,{config:{themeVariables:r}})=>{const{labelStyles:i,nodeStyles:n}=Z(t);t.label="",t.labelStyle=i;const a=e.insert("g").attr("class",it(t)).attr("id",t.domId??t.id),o=7,{cssStyles:s}=t,l=Y.svg(a),{nodeBorder:c}=r,h=V(t,{fillStyle:"solid"});t.look!=="handDrawn"&&(h.roughness=0);const u=l.circle(0,0,o*2,h),f=a.insert(()=>u,":first-child");return f.selectAll("path").attr("style",`fill: ${c} !important;`),s&&s.length>0&&t.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&t.look!=="handDrawn"&&f.selectAll("path").attr("style",n),X(t,f),t.intersect=function(p){return M.info("filledCircle intersect",t,{radius:o,point:p}),q.circle(t,o,p)},a},"filledCircle"),Ln=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=l/4,h=l+c,u=-s/2,f=-h/2,p=5,{cssStyles:g}=t,m=He(u-p,f+h+p,u+s-p,f+h+p,c,.8),y=m==null?void 0:m[m.length-1],x=[{x:u-p,y:f+p},{x:u-p,y:f+h+p},...m,{x:u+s-p,y:y.y-p},{x:u+s,y:y.y-p},{x:u+s,y:y.y-2*p},{x:u+s+p,y:y.y-2*p},{x:u+s+p,y:f-p},{x:u+p,y:f-p},{x:u+p,y:f},{x:u,y:f},{x:u,y:f+p}],b=[{x:u,y:f+p},{x:u+s-p,y:f+p},{x:u+s-p,y:y.y-p},{x:u+s,y:y.y-p},{x:u+s,y:f},{x:u,y:f}],w=Y.svg(n),k=V(t,{});t.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const S=ot(x),E=w.path(S,k),B=ot(b),I=w.path(B,k),N=n.insert(()=>E,":first-child");return N.insert(()=>I),N.attr("class","basic label-container"),g&&t.look!=="handDrawn"&&N.selectAll("path").attr("style",g),i&&t.look!=="handDrawn"&&N.selectAll("path").attr("style",i),N.attr("transform",`translate(0,${-c/2})`),o.attr("transform",`translate(${-(a.width/2)-p-(a.x-(a.left??0))}, ${-(a.height/2)+p-c/2-(a.y-(a.top??0))})`),X(t,N),t.intersect=function(O){return q.polygon(t,x,O)},n},"multiWaveEdgedRectangle"),Ps=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=5,h=-s/2,u=-l/2,{cssStyles:f}=t,p=Y.svg(n),g=V(t,{}),m=[{x:h-c,y:u-c},{x:h-c,y:u+l},{x:h+s,y:u+l},{x:h+s,y:u-c}],y=`M${h-c},${u-c} L${h+s},${u-c} L${h+s},${u+l} L${h-c},${u+l} L${h-c},${u-c} M${h-c},${u} L${h+s},${u} - M${h},${u-c} L${h},${u+l}`;t.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");const x=p.path(y,g),b=n.insert(()=>x,":first-child");return b.attr("transform",`translate(${c/2}, ${c/2})`),b.attr("class","basic label-container"),f&&t.look!=="handDrawn"&&b.selectAll("path").attr("style",f),i&&t.look!=="handDrawn"&&b.selectAll("path").attr("style",i),o.attr("transform",`translate(${-(a.width/2)+c/2-(a.x-(a.left??0))}, ${-(a.height/2)+c/2-(a.y-(a.top??0))})`),X(t,b),t.intersect=function(w){return q.polygon(t,m,w)},n},"windowPane"),Dh=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=l/4,h=l+c,{cssStyles:u}=t,f=Y.svg(n),p=V(t,{});t.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const g=[{x:-s/2-s/2*.1,y:-h/2},{x:-s/2-s/2*.1,y:h/2},...He(-s/2-s/2*.1,h/2,s/2+s/2*.1,h/2,c,.8),{x:s/2+s/2*.1,y:-h/2},{x:-s/2-s/2*.1,y:-h/2},{x:-s/2,y:-h/2},{x:-s/2,y:h/2*1.1},{x:-s/2,y:-h/2}],m=f.polygon(g.map(x=>[x.x,x.y]),p),y=n.insert(()=>m,":first-child");return y.attr("class","basic label-container"),u&&t.look!=="handDrawn"&&y.selectAll("path").attr("style",u),i&&t.look!=="handDrawn"&&y.selectAll("path").attr("style",i),y.attr("transform",`translate(0,${-c/2})`),o.attr("transform",`translate(${-s/2+(t.padding??0)+s/2*.1/2-(a.x-(a.left??0))},${-l/2+(t.padding??0)-c/2-(a.y-(a.top??0))})`),X(t,y),t.intersect=function(x){return q.polygon(t,g,x)},n},"linedWaveEdgedRect"),Oh=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=l/4,h=.2*s,u=.2*l,f=l+c,{cssStyles:p}=t,g=Y.svg(n),m=V(t,{});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const y=[{x:-s/2-s/2*.1,y:f/2},...He(-s/2-s/2*.1,f/2,s/2+s/2*.1,f/2,c,.8),{x:s/2+s/2*.1,y:-f/2},{x:-s/2-s/2*.1,y:-f/2}],x=-s/2+s/2*.1,b=-f/2-u*.4,w=[{x:x+s-h,y:(b+l)*1.4},{x:x+s,y:b+l-u},{x:x+s,y:(b+l)*.9},...He(x+s,(b+l)*1.3,x+s-h,(b+l)*1.5,-l*.03,.5)],k=ot(y),S=g.path(k,m),E=ot(w),B=g.path(E,{...m,fillStyle:"solid"}),I=n.insert(()=>B,":first-child");return I.insert(()=>S,":first-child"),I.attr("class","basic label-container"),p&&t.look!=="handDrawn"&&I.selectAll("path").attr("style",p),i&&t.look!=="handDrawn"&&I.selectAll("path").attr("style",i),I.attr("transform",`translate(0,${-c/2})`),o.attr("transform",`translate(${-s/2+(t.padding??0)-(a.x-(a.left??0))},${-l/2+(t.padding??0)-c/2-(a.y-(a.top??0))})`),X(t,I),t.intersect=function(N){return q.polygon(t,y,N)},n},"taggedWaveEdgedRectangle");function ve(e,t,r,i=100,n=0,a=180){const o=[],s=n*Math.PI/180,h=(a*Math.PI/180-s)/(i-1);for(let u=0;u{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=a.width+(t.padding??0),l=a.height+(t.padding??0),c=Math.max(5,l*.1),{cssStyles:h}=t,u=[...ve(s/2,-l/2,c,30,-90,0),{x:-s/2-c,y:c},...ve(s/2+c*2,-c,c,20,-180,-270),...ve(s/2+c*2,c,c,20,-90,-180),{x:-s/2-c,y:-l/2},...ve(s/2,l/2,c,20,0,90)],f=[{x:s/2,y:-l/2-c},{x:-s/2,y:-l/2-c},...ve(s/2,-l/2,c,20,-90,0),{x:-s/2-c,y:-c},...ve(s/2+s*.1,-c,c,20,-180,-270),...ve(s/2+s*.1,c,c,20,-90,-180),{x:-s/2-c,y:l/2},...ve(s/2,l/2,c,20,0,90),{x:-s/2,y:l/2+c},{x:s/2,y:l/2+c}],p=Y.svg(n),g=V(t,{fill:"none"});t.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");const y=ot(u).replace("Z",""),x=p.path(y,g),b=ot(f),w=p.path(b,{...g}),k=n.insert("g",":first-child");return k.insert(()=>w,":first-child").attr("stroke-opacity",0),k.insert(()=>x,":first-child"),k.attr("class","text"),h&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",h),i&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",i),k.attr("transform",`translate(${c}, 0)`),o.attr("transform",`translate(${-s/2+c-(a.x-(a.left??0))},${-l/2+(t.padding??0)/2-(a.y-(a.top??0))})`),X(t,k),t.intersect=function(S){return q.polygon(t,f,S)},n},"curlyBraceLeft");function ke(e,t,r,i=100,n=0,a=180){const o=[],s=n*Math.PI/180,h=(a*Math.PI/180-s)/(i-1);for(let u=0;u{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=a.width+(t.padding??0),l=a.height+(t.padding??0),c=Math.max(5,l*.1),{cssStyles:h}=t,u=[...ke(s/2,-l/2,c,20,-90,0),{x:s/2+c,y:-c},...ke(s/2+c*2,-c,c,20,-180,-270),...ke(s/2+c*2,c,c,20,-90,-180),{x:s/2+c,y:l/2},...ke(s/2,l/2,c,20,0,90)],f=[{x:-s/2,y:-l/2-c},{x:s/2,y:-l/2-c},...ke(s/2,-l/2,c,20,-90,0),{x:s/2+c,y:-c},...ke(s/2+c*2,-c,c,20,-180,-270),...ke(s/2+c*2,c,c,20,-90,-180),{x:s/2+c,y:l/2},...ke(s/2,l/2,c,20,0,90),{x:s/2,y:l/2+c},{x:-s/2,y:l/2+c}],p=Y.svg(n),g=V(t,{fill:"none"});t.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");const y=ot(u).replace("Z",""),x=p.path(y,g),b=ot(f),w=p.path(b,{...g}),k=n.insert("g",":first-child");return k.insert(()=>w,":first-child").attr("stroke-opacity",0),k.insert(()=>x,":first-child"),k.attr("class","text"),h&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",h),i&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",i),k.attr("transform",`translate(${-c}, 0)`),o.attr("transform",`translate(${-s/2+(t.padding??0)/2-(a.x-(a.left??0))},${-l/2+(t.padding??0)/2-(a.y-(a.top??0))})`),X(t,k),t.intersect=function(S){return q.polygon(t,f,S)},n},"curlyBraceRight");function St(e,t,r,i=100,n=0,a=180){const o=[],s=n*Math.PI/180,h=(a*Math.PI/180-s)/(i-1);for(let u=0;u{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=a.width+(t.padding??0),l=a.height+(t.padding??0),c=Math.max(5,l*.1),{cssStyles:h}=t,u=[...St(s/2,-l/2,c,30,-90,0),{x:-s/2-c,y:c},...St(s/2+c*2,-c,c,20,-180,-270),...St(s/2+c*2,c,c,20,-90,-180),{x:-s/2-c,y:-l/2},...St(s/2,l/2,c,20,0,90)],f=[...St(-s/2+c+c/2,-l/2,c,20,-90,-180),{x:s/2-c/2,y:c},...St(-s/2-c/2,-c,c,20,0,90),...St(-s/2-c/2,c,c,20,-90,0),{x:s/2-c/2,y:-c},...St(-s/2+c+c/2,l/2,c,30,-180,-270)],p=[{x:s/2,y:-l/2-c},{x:-s/2,y:-l/2-c},...St(s/2,-l/2,c,20,-90,0),{x:-s/2-c,y:-c},...St(s/2+c*2,-c,c,20,-180,-270),...St(s/2+c*2,c,c,20,-90,-180),{x:-s/2-c,y:l/2},...St(s/2,l/2,c,20,0,90),{x:-s/2,y:l/2+c},{x:s/2-c-c/2,y:l/2+c},...St(-s/2+c+c/2,-l/2,c,20,-90,-180),{x:s/2-c/2,y:c},...St(-s/2-c/2,-c,c,20,0,90),...St(-s/2-c/2,c,c,20,-90,0),{x:s/2-c/2,y:-c},...St(-s/2+c+c/2,l/2,c,30,-180,-270)],g=Y.svg(n),m=V(t,{fill:"none"});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const x=ot(u).replace("Z",""),b=g.path(x,m),k=ot(f).replace("Z",""),S=g.path(k,m),E=ot(p),B=g.path(E,{...m}),I=n.insert("g",":first-child");return I.insert(()=>B,":first-child").attr("stroke-opacity",0),I.insert(()=>b,":first-child"),I.insert(()=>S,":first-child"),I.attr("class","text"),h&&t.look!=="handDrawn"&&I.selectAll("path").attr("style",h),i&&t.look!=="handDrawn"&&I.selectAll("path").attr("style",i),I.attr("transform",`translate(${c-c/4}, 0)`),o.attr("transform",`translate(${-s/2+(t.padding??0)/2-(a.x-(a.left??0))},${-l/2+(t.padding??0)/2-(a.y-(a.top??0))})`),X(t,I),t.intersect=function(N){return q.polygon(t,p,N)},n},"curlyBraces"),dS=d(async(e,t,{config:{themeVariables:r,flowchart:i}})=>{const{labelStyles:n}=Z(t);t.labelStyle=n;const a=t.assetHeight??48,o=t.assetWidth??48,s=Math.max(a,o),l=i==null?void 0:i.wrappingWidth;t.width=Math.max(s,l??0);const{shapeSvg:c,bbox:h,halfPadding:u,label:f}=await et(e,t,"icon-shape default"),p=t.pos==="t",g=s+u*2,m=s+u*2,{nodeBorder:y,mainBkg:x}=r,{stylesMap:b}=Xr(t),w=-m/2,k=-g/2,S=t.label?8:0,E=Y.svg(c),B=V(t,{stroke:b.get("fill")||x});t.look!=="handDrawn"&&(B.roughness=0,B.fillStyle="solid");const I=E.rectangle(w,k,m,g,B),N=Math.max(m,h.width),O=g+h.height+S,F=E.rectangle(-N/2,-O/2,N,O,{...B,fill:"transparent",stroke:"none"}),G=c.insert(()=>I,":first-child"),P=c.insert(()=>F);if(t.icon){const A=c.append("g");A.html(`${await Fa(t.icon,{height:s,width:s,fallbackPrefix:""})}`);const v=A.node().getBBox(),T=v.width,L=v.height,$=v.x,W=v.y;A.attr("transform",`translate(${-T/2-$},${p?h.height/2+S/2-L/2-W:-h.height/2-S/2-L/2-W})`),A.selectAll("path").attr("fill",b.get("stroke")??y)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-O/2:O/2-h.height})`),G.attr("transform",`translate(0,${p?h.height/2+S/2:-h.height/2-S/2})`),X(t,P),t.intersect=function(A){if(M.info("iconSquare intersect",t,A),!t.label)return q.rect(t,A);const v=t.x??0,T=t.y??0,L=t.height??0;let $=[];return p?$=[{x:v-h.width/2,y:T-L/2},{x:v+h.width/2,y:T-L/2},{x:v+h.width/2,y:T-L/2+h.height+S},{x:v+m/2,y:T-L/2+h.height+S},{x:v+m/2,y:T+L/2},{x:v-m/2,y:T+L/2},{x:v-m/2,y:T-L/2+h.height+S},{x:v-h.width/2,y:T-L/2+h.height+S}]:$=[{x:v-m/2,y:T-L/2},{x:v+m/2,y:T-L/2},{x:v+m/2,y:T-L/2+g},{x:v+h.width/2,y:T-L/2+g},{x:v+h.width/2/2,y:T+L/2},{x:v-h.width/2,y:T+L/2},{x:v-h.width/2,y:T-L/2+g},{x:v-m/2,y:T-L/2+g}],q.polygon(t,$,A)},c},"iconSquare"),gS=d(async(e,t,{config:{themeVariables:r,flowchart:i}})=>{const{labelStyles:n}=Z(t);t.labelStyle=n;const a=t.assetHeight??48,o=t.assetWidth??48,s=Math.max(a,o),l=i==null?void 0:i.wrappingWidth;t.width=Math.max(s,l??0);const{shapeSvg:c,bbox:h,label:u}=await et(e,t,"icon-shape default"),f=20,p=t.label?8:0,g=t.pos==="t",{nodeBorder:m,mainBkg:y}=r,{stylesMap:x}=Xr(t),b=Y.svg(c),w=V(t,{stroke:x.get("fill")||y});t.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");const k=c.append("g");t.icon&&k.html(`${await Fa(t.icon,{height:s,width:s,fallbackPrefix:""})}`);const S=k.node().getBBox(),E=S.width,B=S.height,I=S.x,N=S.y,O=Math.max(E,B)*Math.SQRT2+f*2,F=b.circle(0,0,O,w),G=Math.max(O,h.width),P=O+h.height+p,A=b.rectangle(-G/2,-P/2,G,P,{...w,fill:"transparent",stroke:"none"}),v=c.insert(()=>F,":first-child"),T=c.insert(()=>A);return k.attr("transform",`translate(${-E/2-I},${g?h.height/2+p/2-B/2-N:-h.height/2-p/2-B/2-N})`),k.selectAll("path").attr("fill",x.get("stroke")||m),u.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${g?-P/2:P/2-h.height})`),v.attr("transform",`translate(0,${g?h.height/2+p/2:-h.height/2-p/2})`),X(t,T),t.intersect=function(L){return M.info("iconSquare intersect",t,L),q.rect(t,L)},c},"iconCircle"),mS=d(async(e,t,{config:{themeVariables:r,flowchart:i}})=>{const{labelStyles:n}=Z(t);t.labelStyle=n;const a=t.assetHeight??48,o=t.assetWidth??48,s=Math.max(a,o),l=i==null?void 0:i.wrappingWidth;t.width=Math.max(s,l??0);const{shapeSvg:c,bbox:h,label:u}=await et(e,t,"icon-shape default"),f=t.pos==="t",p=s,g=s,{nodeBorder:m}=r,{stylesMap:y}=Xr(t),x=-g/2,b=-p/2,w=t.label?8:0,k=Y.svg(c),S=V(t,{stroke:"none",fill:"none"});t.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");const E=k.rectangle(x,b,g,p,S),B=Math.max(g,h.width),I=p+h.height+w,N=k.rectangle(-B/2,-I/2,B,I,{...S,fill:"transparent",stroke:"none"}),O=c.insert(()=>E,":first-child"),F=c.insert(()=>N);if(t.icon){const G=c.append("g");G.html(`${await Fa(t.icon,{height:s,width:s,fallbackPrefix:""})}`);const P=G.node().getBBox(),A=P.width,v=P.height,T=P.x,L=P.y;G.attr("transform",`translate(${-A/2-T},${f?h.height/2+w/2-v/2-L:-h.height/2-w/2-v/2-L})`),G.selectAll("path").attr("fill",y.get("stroke")||m)}return u.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-I/2:I/2-h.height})`),O.attr("transform",`translate(0,${f?h.height/2+w/2:-h.height/2-w/2})`),X(t,F),t.intersect=function(G){if(M.info("iconSquare intersect",t,G),!t.label)return q.rect(t,G);const P=t.x??0,A=t.y??0,v=t.height??0;let T=[];return f?T=[{x:P-h.width/2,y:A-v/2},{x:P+h.width/2,y:A-v/2},{x:P+h.width/2,y:A-v/2+h.height+w},{x:P+g/2,y:A-v/2+h.height+w},{x:P+g/2,y:A+v/2},{x:P-g/2,y:A+v/2},{x:P-g/2,y:A-v/2+h.height+w},{x:P-h.width/2,y:A-v/2+h.height+w}]:T=[{x:P-g/2,y:A-v/2},{x:P+g/2,y:A-v/2},{x:P+g/2,y:A-v/2+p},{x:P+h.width/2,y:A-v/2+p},{x:P+h.width/2/2,y:A+v/2},{x:P-h.width/2,y:A+v/2},{x:P-h.width/2,y:A-v/2+p},{x:P-g/2,y:A-v/2+p}],q.polygon(t,T,G)},c},"icon"),yS=d(async(e,t,{config:{flowchart:r}})=>{const i=new Image;i.src=(t==null?void 0:t.img)??"",await i.decode();const n=Number(i.naturalWidth.toString().replace("px","")),a=Number(i.naturalHeight.toString().replace("px",""));t.imageAspectRatio=n/a;const{labelStyles:o}=Z(t);t.labelStyle=o;const s=r==null?void 0:r.wrappingWidth;t.defaultWidth=r==null?void 0:r.wrappingWidth;const l=Math.max(t.label?s??0:0,(t==null?void 0:t.assetWidth)??n),c=t.constraint==="on"&&t!=null&&t.assetHeight?t.assetHeight*t.imageAspectRatio:l,h=t.constraint==="on"?c/t.imageAspectRatio:(t==null?void 0:t.assetHeight)??a;t.width=Math.max(c,s??0);const{shapeSvg:u,bbox:f,label:p}=await et(e,t,"image-shape default"),g=t.pos==="t",m=-c/2,y=-h/2,x=t.label?8:0,b=Y.svg(u),w=V(t,{});t.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");const k=b.rectangle(m,y,c,h,w),S=Math.max(c,f.width),E=h+f.height+x,B=b.rectangle(-S/2,-E/2,S,E,{...w,fill:"none",stroke:"none"}),I=u.insert(()=>k,":first-child"),N=u.insert(()=>B);if(t.img){const O=u.append("image");O.attr("href",t.img),O.attr("width",c),O.attr("height",h),O.attr("preserveAspectRatio","none"),O.attr("transform",`translate(${-c/2},${g?E/2-h:-E/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${g?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),I.attr("transform",`translate(0,${g?f.height/2+x/2:-f.height/2-x/2})`),X(t,N),t.intersect=function(O){if(M.info("iconSquare intersect",t,O),!t.label)return q.rect(t,O);const F=t.x??0,G=t.y??0,P=t.height??0;let A=[];return g?A=[{x:F-f.width/2,y:G-P/2},{x:F+f.width/2,y:G-P/2},{x:F+f.width/2,y:G-P/2+f.height+x},{x:F+c/2,y:G-P/2+f.height+x},{x:F+c/2,y:G+P/2},{x:F-c/2,y:G+P/2},{x:F-c/2,y:G-P/2+f.height+x},{x:F-f.width/2,y:G-P/2+f.height+x}]:A=[{x:F-c/2,y:G-P/2},{x:F+c/2,y:G-P/2},{x:F+c/2,y:G-P/2+h},{x:F+f.width/2,y:G-P/2+h},{x:F+f.width/2/2,y:G+P/2},{x:F-f.width/2,y:G+P/2},{x:F-f.width/2,y:G-P/2+h},{x:F-c/2,y:G-P/2+h}],q.polygon(t,A,O)},u},"imageSquare"),xS=d(async(e,t,{config:{themeVariables:r,flowchart:i}})=>{const{labelStyles:n}=Z(t);t.labelStyle=n;const a=t.assetHeight??48,o=t.assetWidth??48,s=Math.max(a,o),l=i==null?void 0:i.wrappingWidth;t.width=Math.max(s,l??0);const{shapeSvg:c,bbox:h,halfPadding:u,label:f}=await et(e,t,"icon-shape default"),p=t.pos==="t",g=s+u*2,m=s+u*2,{nodeBorder:y,mainBkg:x}=r,{stylesMap:b}=Xr(t),w=-m/2,k=-g/2,S=t.label?8:0,E=Y.svg(c),B=V(t,{stroke:b.get("fill")||x});t.look!=="handDrawn"&&(B.roughness=0,B.fillStyle="solid");const I=E.path(Vr(w,k,m,g,5),B),N=Math.max(m,h.width),O=g+h.height+S,F=E.rectangle(-N/2,-O/2,N,O,{...B,fill:"transparent",stroke:"none"}),G=c.insert(()=>I,":first-child"),P=c.insert(()=>F);if(t.icon){const A=c.append("g");A.html(`${await Fa(t.icon,{height:s,width:s,fallbackPrefix:""})}`);const v=A.node().getBBox(),T=v.width,L=v.height,$=v.x,W=v.y;A.attr("transform",`translate(${-T/2-$},${p?h.height/2+S/2-L/2-W:-h.height/2-S/2-L/2-W})`),A.selectAll("path").attr("fill",b.get("stroke")??y)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-O/2:O/2-h.height})`),G.attr("transform",`translate(0,${p?h.height/2+S/2:-h.height/2-S/2})`),X(t,P),t.intersect=function(A){if(M.info("iconSquare intersect",t,A),!t.label)return q.rect(t,A);const v=t.x??0,T=t.y??0,L=t.height??0;let $=[];return p?$=[{x:v-h.width/2,y:T-L/2},{x:v+h.width/2,y:T-L/2},{x:v+h.width/2,y:T-L/2+h.height+S},{x:v+m/2,y:T-L/2+h.height+S},{x:v+m/2,y:T+L/2},{x:v-m/2,y:T+L/2},{x:v-m/2,y:T-L/2+h.height+S},{x:v-h.width/2,y:T-L/2+h.height+S}]:$=[{x:v-m/2,y:T-L/2},{x:v+m/2,y:T-L/2},{x:v+m/2,y:T-L/2+g},{x:v+h.width/2,y:T-L/2+g},{x:v+h.width/2/2,y:T+L/2},{x:v-h.width/2,y:T+L/2},{x:v-h.width/2,y:T-L/2+g},{x:v-m/2,y:T-L/2+g}],q.polygon(t,$,A)},c},"iconRounded"),zs={state:Xk,stateStart:xn,stateEnd:bn,forkJoin:vs,choice:Zk,note:Kk,rectWithTitle:Qk,roundedRect:ws,squareRect:pi,rectangle:pi,rect:pi,process:pi,proc:pi,rounded:ws,event:ws,stadium:ks,pill:ks,terminal:ks,subroutine:di,"framed-rectangle":di,"fr-rect":di,subprocess:di,subproc:di,cylinder:_n,db:_n,cyl:_n,database:_n,question:Cn,diam:Cn,diamond:Cn,decision:Cn,hexagon:Ts,hex:Ts,prepare:Ts,lean_right:wn,"lean-r":wn,"lean-right":wn,"in-out":wn,lean_left:vn,"lean-l":vn,"lean-left":vn,"out-in":vn,trapezoid:kn,"trap-b":kn,"trapezoid-bottom":kn,priority:kn,inv_trapezoid:mi,"inv-trapezoid":mi,"trapezoid-top":mi,"trap-t":mi,manual:mi,doublecircle:Ss,"dbl-circ":Ss,"double-circle":Ss,circle:Lh,circ:Lh,rect_left_inv_arrow:Bh,odd:Bh,card:zn,"notched-rectangle":zn,"notch-rect":zn,"lined-rectangle":gi,"lin-rect":gi,"lin-proc":gi,"lined-process":gi,"shaded-process":gi,"small-circle":xn,"sm-circ":xn,start:xn,stop:bn,"framed-circle":bn,"fr-circ":bn,join:vs,fork:vs,comment:Ns,"brace-l":Ns,bolt:Rs,"com-link":Rs,"lightning-bolt":Rs,doc:$h,document:$h,delay:Mh,"half-rounded-rectangle":Mh,"horizontal-cylinder":Fs,"h-cyl":Fs,das:Fs,"lined-cylinder":Os,"lin-cyl":Os,disk:Os,"curved-trapezoid":Ls,"curv-trap":Ls,display:Ls,"divided-rectangle":Sn,"div-rect":Sn,"div-proc":Sn,"divided-process":Sn,triangle:As,tri:As,extract:As,"window-pane":Ps,"win-pane":Ps,"internal-storage":Ps,"f-circ":Is,junction:Is,"filled-circle":Is,"lin-doc":Dh,"lined-document":Dh,"notched-pentagon":$s,"notch-pent":$s,"loop-limit":$s,"flipped-triangle":Ds,"flip-tri":Ds,"manual-file":Ds,"sloped-rectangle":Bs,"sl-rect":Bs,"manual-input":Bs,docs:Ln,documents:Ln,"st-doc":Ln,"stacked-document":Ln,processes:An,procs:An,"stacked-rectangle":An,"st-rect":An,flag:Eh,"paper-tape":Eh,"bow-tie-rectangle":Ms,"bow-rect":Ms,"stored-data":Ms,"crossed-circle":Es,"cross-circ":Es,summary:Es,"tag-doc":Oh,"tagged-document":Oh,"tag-rect":Tn,"tagged-rectangle":Tn,"tag-proc":Tn,"tagged-process":Tn,hourglass:Fh,collate:Fh,text:ng,anchor:nS,brace:Ns,labelRect:aS,"brace-r":fS,braces:pS,iconSquare:dS,iconCircle:gS,icon:mS,iconRounded:xS,imageSquare:yS},kr=new Map,bS=d(async(e,t,r)=>{let i,n;if(t.shape==="rect"&&(t.rx&&t.ry?t.shape="roundedRect":t.shape="squareRect"),!zs[t.shape])throw new Error(`No such shape: ${t.shape}. Please check your syntax.`);if(t.link){let a;r.config.securityLevel==="sandbox"?a="_top":t.linkTarget&&(a=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",a),n=await zs[t.shape](i,t,r)}else n=await zs[t.shape](e,t,r),i=n;return t.tooltip&&n.attr("title",t.tooltip),kr.set(t.id,i),t.haveCallback&&kr.get(t.id).attr("class",kr.get(t.id).attr("class")+" clickable"),i},"insertNode"),KL=d((e,t)=>{kr.set(t.id,e)},"setNodeElem"),QL=d(()=>{kr.clear()},"clear"),JL=d(e=>{const t=kr.get(e.id);M.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const r=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-r)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},"positionNode"),_S={common:Ur,getConfig:Be,insertCluster:kk,insertEdge:Fk,insertEdgeLabel:Ak,insertMarkers:jk,insertNode:bS,interpolateToCurve:yl,labelHelper:et,log:M,positionEdgeLabel:Lk},Wi={},sg=d(e=>{for(const t of e)Wi[t.name]=t},"registerLayoutLoaders"),CS=d(()=>{sg([{name:"dagre",loader:d(async()=>await ht(()=>import("./chunks/dagre-7KT5K2WU.Bt3L10G_.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8])),"loader")}])},"registerDefaultLayoutLoaders");CS();var tB=d(async(e,t)=>{if(!(e.layoutAlgorithm in Wi))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);const r=Wi[e.layoutAlgorithm];return(await r.loader()).render(e,t,_S,{algorithm:r.algorithm})},"render"),eB=d((e="",{fallback:t="dagre"}={})=>{if(e in Wi)return e;if(t in Wi)return M.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),Rh="11.3.0",wS=d(e=>{var n;const{securityLevel:t}=gt();let r=dt("body");if(t==="sandbox"){const o=((n=dt(`#i${e}`).node())==null?void 0:n.contentDocument)??document;r=dt(o.body)}return r.select(`#${e}`)},"selectSvgElement"),og="comm",lg="rule",cg="decl",vS="@import",kS="@keyframes",SS="@layer",hg=Math.abs,Il=String.fromCharCode;function ug(e){return e.trim()}function qn(e,t,r){return e.replace(t,r)}function TS(e,t,r){return e.indexOf(t,r)}function Hi(e,t){return e.charCodeAt(t)|0}function Hr(e,t,r){return e.slice(t,r)}function he(e){return e.length}function AS(e){return e.length}function Bn(e,t){return t.push(e),e}var Va=1,jr=1,fg=0,Jt=0,xt=0,Zr="";function Pl(e,t,r,i,n,a,o,s){return{value:e,root:t,parent:r,type:i,props:n,children:a,line:Va,column:jr,length:o,return:"",siblings:s}}function LS(){return xt}function BS(){return xt=Jt>0?Hi(Zr,--Jt):0,jr--,xt===10&&(jr=1,Va--),xt}function se(){return xt=Jt2||ji(xt)>3?"":" "}function $S(e,t){for(;--t&&se()&&!(xt<48||xt>102||xt>57&&xt<65||xt>70&&xt<97););return Xa(e,Wn()+(t<6&&Pe()==32&&se()==32))}function Fo(e){for(;se();)switch(xt){case e:return Jt;case 34:case 39:e!==34&&e!==39&&Fo(xt);break;case 40:e===41&&Fo(e);break;case 92:se();break}return Jt}function DS(e,t){for(;se()&&e+xt!==57;)if(e+xt===84&&Pe()===47)break;return"/*"+Xa(t,Jt-1)+"*"+Il(e===47?e:se())}function OS(e){for(;!ji(Pe());)se();return Xa(e,Jt)}function RS(e){return ES(Hn("",null,null,null,[""],e=MS(e),0,[0],e))}function Hn(e,t,r,i,n,a,o,s,l){for(var c=0,h=0,u=o,f=0,p=0,g=0,m=1,y=1,x=1,b=0,w="",k=n,S=a,E=i,B=w;y;)switch(g=b,b=se()){case 40:if(g!=108&&Hi(B,u-1)==58){TS(B+=qn(qs(b),"&","&\f"),"&\f",hg(c?s[c-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:B+=qs(b);break;case 9:case 10:case 13:case 32:B+=FS(g);break;case 92:B+=$S(Wn()-1,7);continue;case 47:switch(Pe()){case 42:case 47:Bn(IS(DS(se(),Wn()),t,r,l),l),(ji(g||1)==5||ji(Pe()||1)==5)&&he(B)&&Hr(B,-1,void 0)!==" "&&(B+=" ");break;default:B+="/"}break;case 123*m:s[c++]=he(B)*x;case 125*m:case 59:case 0:switch(b){case 0:case 125:y=0;case 59+h:x==-1&&(B=qn(B,/\f/g,"")),p>0&&(he(B)-u||m===0&&g===47)&&Bn(p>32?Ph(B+";",i,r,u-1,l):Ph(qn(B," ","")+";",i,r,u-2,l),l);break;case 59:B+=";";default:if(Bn(E=Ih(B,t,r,c,h,n,s,w,k=[],S=[],u,a),a),b===123)if(h===0)Hn(B,t,E,E,k,a,u,s,S);else switch(f===99&&Hi(B,3)===110?100:f){case 100:case 108:case 109:case 115:Hn(e,E,E,i&&Bn(Ih(e,E,E,0,0,n,s,w,n,k=[],u,S),S),n,S,u,s,i?k:S);break;default:Hn(B,E,E,E,[""],S,0,s,S)}}c=h=p=0,m=x=1,w=B="",u=o;break;case 58:u=1+he(B),p=g;default:if(m<1){if(b==123)--m;else if(b==125&&m++==0&&BS()==125)continue}switch(B+=Il(b),b*m){case 38:x=h>0?1:(B+="\f",-1);break;case 44:s[c++]=(he(B)-1)*x,x=1;break;case 64:Pe()===45&&(B+=qs(se())),f=Pe(),h=u=he(w=B+=OS(Wn())),b++;break;case 45:g===45&&he(B)==2&&(m=0)}}return a}function Ih(e,t,r,i,n,a,o,s,l,c,h,u){for(var f=n-1,p=n===0?a:[""],g=AS(p),m=0,y=0,x=0;m0?p[b]+" "+w:qn(w,/&\f/g,p[b])))&&(l[x++]=k);return Pl(e,t,r,n===0?lg:s,l,c,h,u)}function IS(e,t,r,i){return Pl(e,t,r,og,Il(LS()),Hr(e,2,-2),0,i)}function Ph(e,t,r,i,n){return Pl(e,t,r,cg,Hr(e,0,i),Hr(e,i+1,-1),i,n)}function $o(e,t){for(var r="",i=0;i/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),tT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/c4Diagram-ZCSEYPFN.C41loL8V.js");return{diagram:t}},__vite__mapDeps([9,10,7,8]));return{id:pg,diagram:e}},"loader"),eT={id:pg,detector:JS,loader:tT},rT=eT,dg="flowchart",iT=d((e,t)=>{var r,i;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),nT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/flowDiagram-NWEUNK3L.BsT7CT9e.js");return{diagram:t}},__vite__mapDeps([11,12,13,7,8]));return{id:dg,diagram:e}},"loader"),aT={id:dg,detector:iT,loader:nT},sT=aT,gg="flowchart-v2",oT=d((e,t)=>{var r,i,n;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((n=t==null?void 0:t.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),lT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/flowDiagram-NWEUNK3L.BsT7CT9e.js");return{diagram:t}},__vite__mapDeps([11,12,13,7,8]));return{id:gg,diagram:e}},"loader"),cT={id:gg,detector:oT,loader:lT},hT=cT,mg="er",uT=d(e=>/^\s*erDiagram/.test(e),"detector"),fT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/erDiagram-DKC2X5TE.CdySuqQr.js");return{diagram:t}},__vite__mapDeps([14,1,2,3,4,7,8]));return{id:mg,diagram:e}},"loader"),pT={id:mg,detector:uT,loader:fT},dT=pT,yg="gitGraph",gT=d(e=>/^\s*gitGraph/.test(e),"detector"),mT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/gitGraphDiagram-JPZ3KUXI.D752SIlR.js");return{diagram:t}},__vite__mapDeps([15,16,17,18,7,2,4,6,8]));return{id:yg,diagram:e}},"loader"),yT={id:yg,detector:gT,loader:mT},xT=yT,xg="gantt",bT=d(e=>/^\s*gantt/.test(e),"detector"),_T=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/ganttDiagram-HLVPPPRE.CBltqDFq.js");return{diagram:t}},__vite__mapDeps([19,20,21,7,8]));return{id:xg,diagram:e}},"loader"),CT={id:xg,detector:bT,loader:_T},wT=CT,bg="info",vT=d(e=>/^\s*info/.test(e),"detector"),kT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/infoDiagram-RZZSJVI2.3hqSSmsQ.js");return{diagram:t}},__vite__mapDeps([22,18,7,2,4,6,8]));return{id:bg,diagram:e}},"loader"),ST={id:bg,detector:vT,loader:kT},_g="pie",TT=d(e=>/^\s*pie/.test(e),"detector"),AT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/pieDiagram-X7YZ5ZEZ.DdolosuG.js");return{diagram:t}},__vite__mapDeps([23,16,18,7,2,4,6,24,25,21,8]));return{id:_g,diagram:e}},"loader"),LT={id:_g,detector:TT,loader:AT},Cg="quadrantChart",BT=d(e=>/^\s*quadrantChart/.test(e),"detector"),MT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/quadrantDiagram-F36EZAVT.DRQXII3L.js");return{diagram:t}},__vite__mapDeps([26,20,21,7,8]));return{id:Cg,diagram:e}},"loader"),ET={id:Cg,detector:BT,loader:MT},FT=ET,wg="xychart",$T=d(e=>/^\s*xychart-beta/.test(e),"detector"),DT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/xychartDiagram-KECQ2H5Q.DeKAz1mp.js");return{diagram:t}},__vite__mapDeps([27,21,25,20,7,8]));return{id:wg,diagram:e}},"loader"),OT={id:wg,detector:$T,loader:DT},RT=OT,vg="requirement",IT=d(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),PT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/requirementDiagram-JG2LMPGF.C-4ojdbU.js");return{diagram:t}},__vite__mapDeps([28,1,2,3,4,7,8]));return{id:vg,diagram:e}},"loader"),NT={id:vg,detector:IT,loader:PT},zT=NT,kg="sequence",qT=d(e=>/^\s*sequenceDiagram/.test(e),"detector"),WT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/sequenceDiagram-WK7YDQ3N.BOYVaLsh.js");return{diagram:t}},__vite__mapDeps([29,10,17,7,8]));return{id:kg,diagram:e}},"loader"),HT={id:kg,detector:qT,loader:WT},jT=HT,Sg="class",UT=d((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),YT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/classDiagram-Q73GJZWF.CfYKzVQe.js");return{diagram:t}},__vite__mapDeps([30,31,1,2,3,4,7,8]));return{id:Sg,diagram:e}},"loader"),GT={id:Sg,detector:UT,loader:YT},VT=GT,Tg="classDiagram",XT=d((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),ZT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/classDiagram-v2-C6QPLPW4.CLiBdUiW.js");return{diagram:t}},__vite__mapDeps([32,33,31,1,2,3,4,5,6,7,8]));return{id:Tg,diagram:e}},"loader"),KT={id:Tg,detector:XT,loader:ZT},QT=KT,Ag="state",JT=d((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),tA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/stateDiagram-4JV6CC6H.C5OvJBGU.js");return{diagram:t}},__vite__mapDeps([34,35,12,1,2,3,4,7,8]));return{id:Ag,diagram:e}},"loader"),eA={id:Ag,detector:JT,loader:tA},rA=eA,Lg="stateDiagram",iA=d((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),nA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/stateDiagram-v2-7KT6RKTD.B-A6Yloe.js");return{diagram:t}},__vite__mapDeps([36,35,12,7,8]));return{id:Lg,diagram:e}},"loader"),aA={id:Lg,detector:iA,loader:nA},sA=aA,Bg="journey",oA=d(e=>/^\s*journey/.test(e),"detector"),lA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/journeyDiagram-BLD6N6MZ.DSqOsCoK.js");return{diagram:t}},__vite__mapDeps([37,10,24,7,8]));return{id:Bg,diagram:e}},"loader"),cA={id:Bg,detector:oA,loader:lA},hA=cA,uA=d((e,t,r)=>{M.debug(`rendering svg for syntax error -`);const i=wS(t),n=i.append("g");i.attr("viewBox","0 0 2412 512"),_u(i,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Mg={draw:uA},fA=Mg,pA={db:{},renderer:Mg,parser:{parse:d(()=>{},"parse")}},dA=pA,Eg="flowchart-elk",gA=d((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*flowchart|graph/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),mA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/flowDiagram-NWEUNK3L.BsT7CT9e.js");return{diagram:t}},__vite__mapDeps([11,12,13,7,8]));return{id:Eg,diagram:e}},"loader"),yA={id:Eg,detector:gA,loader:mA},xA=yA,Fg="timeline",bA=d(e=>/^\s*timeline/.test(e),"detector"),_A=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/timeline-definition-3ZMEY6HS.BmDouIwN.js");return{diagram:t}},__vite__mapDeps([38,24,7,8]));return{id:Fg,diagram:e}},"loader"),CA={id:Fg,detector:bA,loader:_A},wA=CA,$g="mindmap",vA=d(e=>/^\s*mindmap/.test(e),"detector"),kA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/mindmap-definition-OEB2RXX2.GLvTLMoi.js");return{diagram:t}},__vite__mapDeps([39,40,7,8]));return{id:$g,diagram:e}},"loader"),SA={id:$g,detector:vA,loader:kA},TA=SA,Dg="sankey",AA=d(e=>/^\s*sankey-beta/.test(e),"detector"),LA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/sankeyDiagram-ATFNWWW6.B29TuX-V.js");return{diagram:t}},__vite__mapDeps([41,25,21,7,8]));return{id:Dg,diagram:e}},"loader"),BA={id:Dg,detector:AA,loader:LA},MA=BA,Og="packet",EA=d(e=>/^\s*packet-beta/.test(e),"detector"),FA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/diagram-AVGMFHF7.CnCTvbCY.js");return{diagram:t}},__vite__mapDeps([42,16,18,7,2,4,6,8]));return{id:Og,diagram:e}},"loader"),$A={id:Og,detector:EA,loader:FA},Rg="block",DA=d(e=>/^\s*block-beta/.test(e),"detector"),OA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/blockDiagram-TCMKQVZ6.imBL-zCU.js");return{diagram:t}},__vite__mapDeps([43,33,6,2,1,13,7,8]));return{id:Rg,diagram:e}},"loader"),RA={id:Rg,detector:DA,loader:OA},IA=RA,Ig="architecture",PA=d(e=>/^\s*architecture/.test(e),"detector"),NA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/architectureDiagram-IFBEXTG3.fpl4xsmD.js");return{diagram:t}},__vite__mapDeps([44,16,17,18,7,2,4,6,40,8]));return{id:Ig,diagram:e}},"loader"),zA={id:Ig,detector:PA,loader:NA},qA=zA,Uh=!1,Za=d(()=>{Uh||(Uh=!0,Gn("error",dA,e=>e.toLowerCase().trim()==="error"),Gn("---",{db:{clear:d(()=>{},"clear")},styles:{},renderer:{draw:d(()=>{},"draw")},parser:{parse:d(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:d(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),lu(rT,QT,VT,dT,wT,ST,LT,zT,jT,xA,hT,sT,TA,wA,xT,sA,rA,hA,FT,MA,$A,RT,IA,qA))},"addDiagrams"),WA=d(async()=>{M.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(Or).map(async([r,{detector:i,loader:n}])=>{if(n)try{Xs(r)}catch{try{const{diagram:a,id:o}=await n();Gn(o,a,i)}catch(a){throw M.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Or[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){M.error(`Failed to load ${t.length} external diagrams`);for(const r of t)M.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),HA="graphics-document document";function Pg(e,t){e.attr("role",HA),t!==""&&e.attr("aria-roledescription",t)}d(Pg,"setA11yDiagramInfo");function Ng(e,t,r,i){if(e.insert!==void 0){if(r){const n=`chart-desc-${i}`;e.attr("aria-describedby",n),e.insert("desc",":first-child").attr("id",n).text(r)}if(t){const n=`chart-title-${i}`;e.attr("aria-labelledby",n),e.insert("title",":first-child").attr("id",n).text(t)}}}d(Ng,"addSVGa11yTitleDescription");var ir,Po=(ir=class{constructor(t,r,i,n,a){this.type=t,this.text=r,this.db=i,this.parser=n,this.renderer=a}static async fromText(t,r={}){var c,h;const i=Be(),n=qo(t,i);t=mv(t)+` + M${h},${u-c} L${h},${u+l}`;t.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");const x=p.path(y,g),b=n.insert(()=>x,":first-child");return b.attr("transform",`translate(${c/2}, ${c/2})`),b.attr("class","basic label-container"),f&&t.look!=="handDrawn"&&b.selectAll("path").attr("style",f),i&&t.look!=="handDrawn"&&b.selectAll("path").attr("style",i),o.attr("transform",`translate(${-(a.width/2)+c/2-(a.x-(a.left??0))}, ${-(a.height/2)+c/2-(a.y-(a.top??0))})`),X(t,b),t.intersect=function(w){return q.polygon(t,m,w)},n},"windowPane"),Dh=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=l/4,h=l+c,{cssStyles:u}=t,f=Y.svg(n),p=V(t,{});t.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const g=[{x:-s/2-s/2*.1,y:-h/2},{x:-s/2-s/2*.1,y:h/2},...He(-s/2-s/2*.1,h/2,s/2+s/2*.1,h/2,c,.8),{x:s/2+s/2*.1,y:-h/2},{x:-s/2-s/2*.1,y:-h/2},{x:-s/2,y:-h/2},{x:-s/2,y:h/2*1.1},{x:-s/2,y:-h/2}],m=f.polygon(g.map(x=>[x.x,x.y]),p),y=n.insert(()=>m,":first-child");return y.attr("class","basic label-container"),u&&t.look!=="handDrawn"&&y.selectAll("path").attr("style",u),i&&t.look!=="handDrawn"&&y.selectAll("path").attr("style",i),y.attr("transform",`translate(0,${-c/2})`),o.attr("transform",`translate(${-s/2+(t.padding??0)+s/2*.1/2-(a.x-(a.left??0))},${-l/2+(t.padding??0)-c/2-(a.y-(a.top??0))})`),X(t,y),t.intersect=function(x){return q.polygon(t,g,x)},n},"linedWaveEdgedRect"),Oh=d(async(e,t)=>{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=Math.max(a.width+(t.padding??0)*2,(t==null?void 0:t.width)??0),l=Math.max(a.height+(t.padding??0)*2,(t==null?void 0:t.height)??0),c=l/4,h=.2*s,u=.2*l,f=l+c,{cssStyles:p}=t,g=Y.svg(n),m=V(t,{});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const y=[{x:-s/2-s/2*.1,y:f/2},...He(-s/2-s/2*.1,f/2,s/2+s/2*.1,f/2,c,.8),{x:s/2+s/2*.1,y:-f/2},{x:-s/2-s/2*.1,y:-f/2}],x=-s/2+s/2*.1,b=-f/2-u*.4,w=[{x:x+s-h,y:(b+l)*1.4},{x:x+s,y:b+l-u},{x:x+s,y:(b+l)*.9},...He(x+s,(b+l)*1.3,x+s-h,(b+l)*1.5,-l*.03,.5)],k=ot(y),S=g.path(k,m),E=ot(w),B=g.path(E,{...m,fillStyle:"solid"}),I=n.insert(()=>B,":first-child");return I.insert(()=>S,":first-child"),I.attr("class","basic label-container"),p&&t.look!=="handDrawn"&&I.selectAll("path").attr("style",p),i&&t.look!=="handDrawn"&&I.selectAll("path").attr("style",i),I.attr("transform",`translate(0,${-c/2})`),o.attr("transform",`translate(${-s/2+(t.padding??0)-(a.x-(a.left??0))},${-l/2+(t.padding??0)-c/2-(a.y-(a.top??0))})`),X(t,I),t.intersect=function(N){return q.polygon(t,y,N)},n},"taggedWaveEdgedRectangle");function ve(e,t,r,i=100,n=0,a=180){const o=[],s=n*Math.PI/180,h=(a*Math.PI/180-s)/(i-1);for(let u=0;u{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=a.width+(t.padding??0),l=a.height+(t.padding??0),c=Math.max(5,l*.1),{cssStyles:h}=t,u=[...ve(s/2,-l/2,c,30,-90,0),{x:-s/2-c,y:c},...ve(s/2+c*2,-c,c,20,-180,-270),...ve(s/2+c*2,c,c,20,-90,-180),{x:-s/2-c,y:-l/2},...ve(s/2,l/2,c,20,0,90)],f=[{x:s/2,y:-l/2-c},{x:-s/2,y:-l/2-c},...ve(s/2,-l/2,c,20,-90,0),{x:-s/2-c,y:-c},...ve(s/2+s*.1,-c,c,20,-180,-270),...ve(s/2+s*.1,c,c,20,-90,-180),{x:-s/2-c,y:l/2},...ve(s/2,l/2,c,20,0,90),{x:-s/2,y:l/2+c},{x:s/2,y:l/2+c}],p=Y.svg(n),g=V(t,{fill:"none"});t.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");const y=ot(u).replace("Z",""),x=p.path(y,g),b=ot(f),w=p.path(b,{...g}),k=n.insert("g",":first-child");return k.insert(()=>w,":first-child").attr("stroke-opacity",0),k.insert(()=>x,":first-child"),k.attr("class","text"),h&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",h),i&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",i),k.attr("transform",`translate(${c}, 0)`),o.attr("transform",`translate(${-s/2+c-(a.x-(a.left??0))},${-l/2+(t.padding??0)/2-(a.y-(a.top??0))})`),X(t,k),t.intersect=function(S){return q.polygon(t,f,S)},n},"curlyBraceLeft");function ke(e,t,r,i=100,n=0,a=180){const o=[],s=n*Math.PI/180,h=(a*Math.PI/180-s)/(i-1);for(let u=0;u{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=a.width+(t.padding??0),l=a.height+(t.padding??0),c=Math.max(5,l*.1),{cssStyles:h}=t,u=[...ke(s/2,-l/2,c,20,-90,0),{x:s/2+c,y:-c},...ke(s/2+c*2,-c,c,20,-180,-270),...ke(s/2+c*2,c,c,20,-90,-180),{x:s/2+c,y:l/2},...ke(s/2,l/2,c,20,0,90)],f=[{x:-s/2,y:-l/2-c},{x:s/2,y:-l/2-c},...ke(s/2,-l/2,c,20,-90,0),{x:s/2+c,y:-c},...ke(s/2+c*2,-c,c,20,-180,-270),...ke(s/2+c*2,c,c,20,-90,-180),{x:s/2+c,y:l/2},...ke(s/2,l/2,c,20,0,90),{x:s/2,y:l/2+c},{x:-s/2,y:l/2+c}],p=Y.svg(n),g=V(t,{fill:"none"});t.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");const y=ot(u).replace("Z",""),x=p.path(y,g),b=ot(f),w=p.path(b,{...g}),k=n.insert("g",":first-child");return k.insert(()=>w,":first-child").attr("stroke-opacity",0),k.insert(()=>x,":first-child"),k.attr("class","text"),h&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",h),i&&t.look!=="handDrawn"&&k.selectAll("path").attr("style",i),k.attr("transform",`translate(${-c}, 0)`),o.attr("transform",`translate(${-s/2+(t.padding??0)/2-(a.x-(a.left??0))},${-l/2+(t.padding??0)/2-(a.y-(a.top??0))})`),X(t,k),t.intersect=function(S){return q.polygon(t,f,S)},n},"curlyBraceRight");function St(e,t,r,i=100,n=0,a=180){const o=[],s=n*Math.PI/180,h=(a*Math.PI/180-s)/(i-1);for(let u=0;u{const{labelStyles:r,nodeStyles:i}=Z(t);t.labelStyle=r;const{shapeSvg:n,bbox:a,label:o}=await et(e,t,it(t)),s=a.width+(t.padding??0),l=a.height+(t.padding??0),c=Math.max(5,l*.1),{cssStyles:h}=t,u=[...St(s/2,-l/2,c,30,-90,0),{x:-s/2-c,y:c},...St(s/2+c*2,-c,c,20,-180,-270),...St(s/2+c*2,c,c,20,-90,-180),{x:-s/2-c,y:-l/2},...St(s/2,l/2,c,20,0,90)],f=[...St(-s/2+c+c/2,-l/2,c,20,-90,-180),{x:s/2-c/2,y:c},...St(-s/2-c/2,-c,c,20,0,90),...St(-s/2-c/2,c,c,20,-90,0),{x:s/2-c/2,y:-c},...St(-s/2+c+c/2,l/2,c,30,-180,-270)],p=[{x:s/2,y:-l/2-c},{x:-s/2,y:-l/2-c},...St(s/2,-l/2,c,20,-90,0),{x:-s/2-c,y:-c},...St(s/2+c*2,-c,c,20,-180,-270),...St(s/2+c*2,c,c,20,-90,-180),{x:-s/2-c,y:l/2},...St(s/2,l/2,c,20,0,90),{x:-s/2,y:l/2+c},{x:s/2-c-c/2,y:l/2+c},...St(-s/2+c+c/2,-l/2,c,20,-90,-180),{x:s/2-c/2,y:c},...St(-s/2-c/2,-c,c,20,0,90),...St(-s/2-c/2,c,c,20,-90,0),{x:s/2-c/2,y:-c},...St(-s/2+c+c/2,l/2,c,30,-180,-270)],g=Y.svg(n),m=V(t,{fill:"none"});t.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const x=ot(u).replace("Z",""),b=g.path(x,m),k=ot(f).replace("Z",""),S=g.path(k,m),E=ot(p),B=g.path(E,{...m}),I=n.insert("g",":first-child");return I.insert(()=>B,":first-child").attr("stroke-opacity",0),I.insert(()=>b,":first-child"),I.insert(()=>S,":first-child"),I.attr("class","text"),h&&t.look!=="handDrawn"&&I.selectAll("path").attr("style",h),i&&t.look!=="handDrawn"&&I.selectAll("path").attr("style",i),I.attr("transform",`translate(${c-c/4}, 0)`),o.attr("transform",`translate(${-s/2+(t.padding??0)/2-(a.x-(a.left??0))},${-l/2+(t.padding??0)/2-(a.y-(a.top??0))})`),X(t,I),t.intersect=function(N){return q.polygon(t,p,N)},n},"curlyBraces"),dS=d(async(e,t,{config:{themeVariables:r,flowchart:i}})=>{const{labelStyles:n}=Z(t);t.labelStyle=n;const a=t.assetHeight??48,o=t.assetWidth??48,s=Math.max(a,o),l=i==null?void 0:i.wrappingWidth;t.width=Math.max(s,l??0);const{shapeSvg:c,bbox:h,halfPadding:u,label:f}=await et(e,t,"icon-shape default"),p=t.pos==="t",g=s+u*2,m=s+u*2,{nodeBorder:y,mainBkg:x}=r,{stylesMap:b}=Xr(t),w=-m/2,k=-g/2,S=t.label?8:0,E=Y.svg(c),B=V(t,{stroke:b.get("fill")||x});t.look!=="handDrawn"&&(B.roughness=0,B.fillStyle="solid");const I=E.rectangle(w,k,m,g,B),N=Math.max(m,h.width),O=g+h.height+S,F=E.rectangle(-N/2,-O/2,N,O,{...B,fill:"transparent",stroke:"none"}),G=c.insert(()=>I,":first-child"),P=c.insert(()=>F);if(t.icon){const A=c.append("g");A.html(`${await Fa(t.icon,{height:s,width:s,fallbackPrefix:""})}`);const v=A.node().getBBox(),T=v.width,L=v.height,$=v.x,W=v.y;A.attr("transform",`translate(${-T/2-$},${p?h.height/2+S/2-L/2-W:-h.height/2-S/2-L/2-W})`),A.selectAll("path").attr("fill",b.get("stroke")??y)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-O/2:O/2-h.height})`),G.attr("transform",`translate(0,${p?h.height/2+S/2:-h.height/2-S/2})`),X(t,P),t.intersect=function(A){if(M.info("iconSquare intersect",t,A),!t.label)return q.rect(t,A);const v=t.x??0,T=t.y??0,L=t.height??0;let $=[];return p?$=[{x:v-h.width/2,y:T-L/2},{x:v+h.width/2,y:T-L/2},{x:v+h.width/2,y:T-L/2+h.height+S},{x:v+m/2,y:T-L/2+h.height+S},{x:v+m/2,y:T+L/2},{x:v-m/2,y:T+L/2},{x:v-m/2,y:T-L/2+h.height+S},{x:v-h.width/2,y:T-L/2+h.height+S}]:$=[{x:v-m/2,y:T-L/2},{x:v+m/2,y:T-L/2},{x:v+m/2,y:T-L/2+g},{x:v+h.width/2,y:T-L/2+g},{x:v+h.width/2/2,y:T+L/2},{x:v-h.width/2,y:T+L/2},{x:v-h.width/2,y:T-L/2+g},{x:v-m/2,y:T-L/2+g}],q.polygon(t,$,A)},c},"iconSquare"),gS=d(async(e,t,{config:{themeVariables:r,flowchart:i}})=>{const{labelStyles:n}=Z(t);t.labelStyle=n;const a=t.assetHeight??48,o=t.assetWidth??48,s=Math.max(a,o),l=i==null?void 0:i.wrappingWidth;t.width=Math.max(s,l??0);const{shapeSvg:c,bbox:h,label:u}=await et(e,t,"icon-shape default"),f=20,p=t.label?8:0,g=t.pos==="t",{nodeBorder:m,mainBkg:y}=r,{stylesMap:x}=Xr(t),b=Y.svg(c),w=V(t,{stroke:x.get("fill")||y});t.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");const k=c.append("g");t.icon&&k.html(`${await Fa(t.icon,{height:s,width:s,fallbackPrefix:""})}`);const S=k.node().getBBox(),E=S.width,B=S.height,I=S.x,N=S.y,O=Math.max(E,B)*Math.SQRT2+f*2,F=b.circle(0,0,O,w),G=Math.max(O,h.width),P=O+h.height+p,A=b.rectangle(-G/2,-P/2,G,P,{...w,fill:"transparent",stroke:"none"}),v=c.insert(()=>F,":first-child"),T=c.insert(()=>A);return k.attr("transform",`translate(${-E/2-I},${g?h.height/2+p/2-B/2-N:-h.height/2-p/2-B/2-N})`),k.selectAll("path").attr("fill",x.get("stroke")||m),u.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${g?-P/2:P/2-h.height})`),v.attr("transform",`translate(0,${g?h.height/2+p/2:-h.height/2-p/2})`),X(t,T),t.intersect=function(L){return M.info("iconSquare intersect",t,L),q.rect(t,L)},c},"iconCircle"),mS=d(async(e,t,{config:{themeVariables:r,flowchart:i}})=>{const{labelStyles:n}=Z(t);t.labelStyle=n;const a=t.assetHeight??48,o=t.assetWidth??48,s=Math.max(a,o),l=i==null?void 0:i.wrappingWidth;t.width=Math.max(s,l??0);const{shapeSvg:c,bbox:h,label:u}=await et(e,t,"icon-shape default"),f=t.pos==="t",p=s,g=s,{nodeBorder:m}=r,{stylesMap:y}=Xr(t),x=-g/2,b=-p/2,w=t.label?8:0,k=Y.svg(c),S=V(t,{stroke:"none",fill:"none"});t.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");const E=k.rectangle(x,b,g,p,S),B=Math.max(g,h.width),I=p+h.height+w,N=k.rectangle(-B/2,-I/2,B,I,{...S,fill:"transparent",stroke:"none"}),O=c.insert(()=>E,":first-child"),F=c.insert(()=>N);if(t.icon){const G=c.append("g");G.html(`${await Fa(t.icon,{height:s,width:s,fallbackPrefix:""})}`);const P=G.node().getBBox(),A=P.width,v=P.height,T=P.x,L=P.y;G.attr("transform",`translate(${-A/2-T},${f?h.height/2+w/2-v/2-L:-h.height/2-w/2-v/2-L})`),G.selectAll("path").attr("fill",y.get("stroke")||m)}return u.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${f?-I/2:I/2-h.height})`),O.attr("transform",`translate(0,${f?h.height/2+w/2:-h.height/2-w/2})`),X(t,F),t.intersect=function(G){if(M.info("iconSquare intersect",t,G),!t.label)return q.rect(t,G);const P=t.x??0,A=t.y??0,v=t.height??0;let T=[];return f?T=[{x:P-h.width/2,y:A-v/2},{x:P+h.width/2,y:A-v/2},{x:P+h.width/2,y:A-v/2+h.height+w},{x:P+g/2,y:A-v/2+h.height+w},{x:P+g/2,y:A+v/2},{x:P-g/2,y:A+v/2},{x:P-g/2,y:A-v/2+h.height+w},{x:P-h.width/2,y:A-v/2+h.height+w}]:T=[{x:P-g/2,y:A-v/2},{x:P+g/2,y:A-v/2},{x:P+g/2,y:A-v/2+p},{x:P+h.width/2,y:A-v/2+p},{x:P+h.width/2/2,y:A+v/2},{x:P-h.width/2,y:A+v/2},{x:P-h.width/2,y:A-v/2+p},{x:P-g/2,y:A-v/2+p}],q.polygon(t,T,G)},c},"icon"),yS=d(async(e,t,{config:{flowchart:r}})=>{const i=new Image;i.src=(t==null?void 0:t.img)??"",await i.decode();const n=Number(i.naturalWidth.toString().replace("px","")),a=Number(i.naturalHeight.toString().replace("px",""));t.imageAspectRatio=n/a;const{labelStyles:o}=Z(t);t.labelStyle=o;const s=r==null?void 0:r.wrappingWidth;t.defaultWidth=r==null?void 0:r.wrappingWidth;const l=Math.max(t.label?s??0:0,(t==null?void 0:t.assetWidth)??n),c=t.constraint==="on"&&t!=null&&t.assetHeight?t.assetHeight*t.imageAspectRatio:l,h=t.constraint==="on"?c/t.imageAspectRatio:(t==null?void 0:t.assetHeight)??a;t.width=Math.max(c,s??0);const{shapeSvg:u,bbox:f,label:p}=await et(e,t,"image-shape default"),g=t.pos==="t",m=-c/2,y=-h/2,x=t.label?8:0,b=Y.svg(u),w=V(t,{});t.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");const k=b.rectangle(m,y,c,h,w),S=Math.max(c,f.width),E=h+f.height+x,B=b.rectangle(-S/2,-E/2,S,E,{...w,fill:"none",stroke:"none"}),I=u.insert(()=>k,":first-child"),N=u.insert(()=>B);if(t.img){const O=u.append("image");O.attr("href",t.img),O.attr("width",c),O.attr("height",h),O.attr("preserveAspectRatio","none"),O.attr("transform",`translate(${-c/2},${g?E/2-h:-E/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${g?-h/2-f.height/2-x/2:h/2-f.height/2+x/2})`),I.attr("transform",`translate(0,${g?f.height/2+x/2:-f.height/2-x/2})`),X(t,N),t.intersect=function(O){if(M.info("iconSquare intersect",t,O),!t.label)return q.rect(t,O);const F=t.x??0,G=t.y??0,P=t.height??0;let A=[];return g?A=[{x:F-f.width/2,y:G-P/2},{x:F+f.width/2,y:G-P/2},{x:F+f.width/2,y:G-P/2+f.height+x},{x:F+c/2,y:G-P/2+f.height+x},{x:F+c/2,y:G+P/2},{x:F-c/2,y:G+P/2},{x:F-c/2,y:G-P/2+f.height+x},{x:F-f.width/2,y:G-P/2+f.height+x}]:A=[{x:F-c/2,y:G-P/2},{x:F+c/2,y:G-P/2},{x:F+c/2,y:G-P/2+h},{x:F+f.width/2,y:G-P/2+h},{x:F+f.width/2/2,y:G+P/2},{x:F-f.width/2,y:G+P/2},{x:F-f.width/2,y:G-P/2+h},{x:F-c/2,y:G-P/2+h}],q.polygon(t,A,O)},u},"imageSquare"),xS=d(async(e,t,{config:{themeVariables:r,flowchart:i}})=>{const{labelStyles:n}=Z(t);t.labelStyle=n;const a=t.assetHeight??48,o=t.assetWidth??48,s=Math.max(a,o),l=i==null?void 0:i.wrappingWidth;t.width=Math.max(s,l??0);const{shapeSvg:c,bbox:h,halfPadding:u,label:f}=await et(e,t,"icon-shape default"),p=t.pos==="t",g=s+u*2,m=s+u*2,{nodeBorder:y,mainBkg:x}=r,{stylesMap:b}=Xr(t),w=-m/2,k=-g/2,S=t.label?8:0,E=Y.svg(c),B=V(t,{stroke:b.get("fill")||x});t.look!=="handDrawn"&&(B.roughness=0,B.fillStyle="solid");const I=E.path(Vr(w,k,m,g,5),B),N=Math.max(m,h.width),O=g+h.height+S,F=E.rectangle(-N/2,-O/2,N,O,{...B,fill:"transparent",stroke:"none"}),G=c.insert(()=>I,":first-child"),P=c.insert(()=>F);if(t.icon){const A=c.append("g");A.html(`${await Fa(t.icon,{height:s,width:s,fallbackPrefix:""})}`);const v=A.node().getBBox(),T=v.width,L=v.height,$=v.x,W=v.y;A.attr("transform",`translate(${-T/2-$},${p?h.height/2+S/2-L/2-W:-h.height/2-S/2-L/2-W})`),A.selectAll("path").attr("fill",b.get("stroke")??y)}return f.attr("transform",`translate(${-h.width/2-(h.x-(h.left??0))},${p?-O/2:O/2-h.height})`),G.attr("transform",`translate(0,${p?h.height/2+S/2:-h.height/2-S/2})`),X(t,P),t.intersect=function(A){if(M.info("iconSquare intersect",t,A),!t.label)return q.rect(t,A);const v=t.x??0,T=t.y??0,L=t.height??0;let $=[];return p?$=[{x:v-h.width/2,y:T-L/2},{x:v+h.width/2,y:T-L/2},{x:v+h.width/2,y:T-L/2+h.height+S},{x:v+m/2,y:T-L/2+h.height+S},{x:v+m/2,y:T+L/2},{x:v-m/2,y:T+L/2},{x:v-m/2,y:T-L/2+h.height+S},{x:v-h.width/2,y:T-L/2+h.height+S}]:$=[{x:v-m/2,y:T-L/2},{x:v+m/2,y:T-L/2},{x:v+m/2,y:T-L/2+g},{x:v+h.width/2,y:T-L/2+g},{x:v+h.width/2/2,y:T+L/2},{x:v-h.width/2,y:T+L/2},{x:v-h.width/2,y:T-L/2+g},{x:v-m/2,y:T-L/2+g}],q.polygon(t,$,A)},c},"iconRounded"),zs={state:Xk,stateStart:xn,stateEnd:bn,forkJoin:vs,choice:Zk,note:Kk,rectWithTitle:Qk,roundedRect:ws,squareRect:pi,rectangle:pi,rect:pi,process:pi,proc:pi,rounded:ws,event:ws,stadium:ks,pill:ks,terminal:ks,subroutine:di,"framed-rectangle":di,"fr-rect":di,subprocess:di,subproc:di,cylinder:_n,db:_n,cyl:_n,database:_n,question:Cn,diam:Cn,diamond:Cn,decision:Cn,hexagon:Ts,hex:Ts,prepare:Ts,lean_right:wn,"lean-r":wn,"lean-right":wn,"in-out":wn,lean_left:vn,"lean-l":vn,"lean-left":vn,"out-in":vn,trapezoid:kn,"trap-b":kn,"trapezoid-bottom":kn,priority:kn,inv_trapezoid:mi,"inv-trapezoid":mi,"trapezoid-top":mi,"trap-t":mi,manual:mi,doublecircle:Ss,"dbl-circ":Ss,"double-circle":Ss,circle:Lh,circ:Lh,rect_left_inv_arrow:Bh,odd:Bh,card:zn,"notched-rectangle":zn,"notch-rect":zn,"lined-rectangle":gi,"lin-rect":gi,"lin-proc":gi,"lined-process":gi,"shaded-process":gi,"small-circle":xn,"sm-circ":xn,start:xn,stop:bn,"framed-circle":bn,"fr-circ":bn,join:vs,fork:vs,comment:Ns,"brace-l":Ns,bolt:Rs,"com-link":Rs,"lightning-bolt":Rs,doc:$h,document:$h,delay:Mh,"half-rounded-rectangle":Mh,"horizontal-cylinder":Fs,"h-cyl":Fs,das:Fs,"lined-cylinder":Os,"lin-cyl":Os,disk:Os,"curved-trapezoid":Ls,"curv-trap":Ls,display:Ls,"divided-rectangle":Sn,"div-rect":Sn,"div-proc":Sn,"divided-process":Sn,triangle:As,tri:As,extract:As,"window-pane":Ps,"win-pane":Ps,"internal-storage":Ps,"f-circ":Is,junction:Is,"filled-circle":Is,"lin-doc":Dh,"lined-document":Dh,"notched-pentagon":$s,"notch-pent":$s,"loop-limit":$s,"flipped-triangle":Ds,"flip-tri":Ds,"manual-file":Ds,"sloped-rectangle":Bs,"sl-rect":Bs,"manual-input":Bs,docs:Ln,documents:Ln,"st-doc":Ln,"stacked-document":Ln,processes:An,procs:An,"stacked-rectangle":An,"st-rect":An,flag:Eh,"paper-tape":Eh,"bow-tie-rectangle":Ms,"bow-rect":Ms,"stored-data":Ms,"crossed-circle":Es,"cross-circ":Es,summary:Es,"tag-doc":Oh,"tagged-document":Oh,"tag-rect":Tn,"tagged-rectangle":Tn,"tag-proc":Tn,"tagged-process":Tn,hourglass:Fh,collate:Fh,text:ng,anchor:nS,brace:Ns,labelRect:aS,"brace-r":fS,braces:pS,iconSquare:dS,iconCircle:gS,icon:mS,iconRounded:xS,imageSquare:yS},kr=new Map,bS=d(async(e,t,r)=>{let i,n;if(t.shape==="rect"&&(t.rx&&t.ry?t.shape="roundedRect":t.shape="squareRect"),!zs[t.shape])throw new Error(`No such shape: ${t.shape}. Please check your syntax.`);if(t.link){let a;r.config.securityLevel==="sandbox"?a="_top":t.linkTarget&&(a=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",a),n=await zs[t.shape](i,t,r)}else n=await zs[t.shape](e,t,r),i=n;return t.tooltip&&n.attr("title",t.tooltip),kr.set(t.id,i),t.haveCallback&&kr.get(t.id).attr("class",kr.get(t.id).attr("class")+" clickable"),i},"insertNode"),KL=d((e,t)=>{kr.set(t.id,e)},"setNodeElem"),QL=d(()=>{kr.clear()},"clear"),JL=d(e=>{const t=kr.get(e.id);M.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");const r=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-r)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},"positionNode"),_S={common:Ur,getConfig:Be,insertCluster:kk,insertEdge:Fk,insertEdgeLabel:Ak,insertMarkers:jk,insertNode:bS,interpolateToCurve:yl,labelHelper:et,log:M,positionEdgeLabel:Lk},Wi={},sg=d(e=>{for(const t of e)Wi[t.name]=t},"registerLayoutLoaders"),CS=d(()=>{sg([{name:"dagre",loader:d(async()=>await ht(()=>import("./chunks/dagre-7KT5K2WU.DHjBN_P2.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8])),"loader")}])},"registerDefaultLayoutLoaders");CS();var tB=d(async(e,t)=>{if(!(e.layoutAlgorithm in Wi))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);const r=Wi[e.layoutAlgorithm];return(await r.loader()).render(e,t,_S,{algorithm:r.algorithm})},"render"),eB=d((e="",{fallback:t="dagre"}={})=>{if(e in Wi)return e;if(t in Wi)return M.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),Rh="11.3.0",wS=d(e=>{var n;const{securityLevel:t}=gt();let r=dt("body");if(t==="sandbox"){const o=((n=dt(`#i${e}`).node())==null?void 0:n.contentDocument)??document;r=dt(o.body)}return r.select(`#${e}`)},"selectSvgElement"),og="comm",lg="rule",cg="decl",vS="@import",kS="@keyframes",SS="@layer",hg=Math.abs,Il=String.fromCharCode;function ug(e){return e.trim()}function qn(e,t,r){return e.replace(t,r)}function TS(e,t,r){return e.indexOf(t,r)}function Hi(e,t){return e.charCodeAt(t)|0}function Hr(e,t,r){return e.slice(t,r)}function he(e){return e.length}function AS(e){return e.length}function Bn(e,t){return t.push(e),e}var Va=1,jr=1,fg=0,Jt=0,xt=0,Zr="";function Pl(e,t,r,i,n,a,o,s){return{value:e,root:t,parent:r,type:i,props:n,children:a,line:Va,column:jr,length:o,return:"",siblings:s}}function LS(){return xt}function BS(){return xt=Jt>0?Hi(Zr,--Jt):0,jr--,xt===10&&(jr=1,Va--),xt}function se(){return xt=Jt2||ji(xt)>3?"":" "}function $S(e,t){for(;--t&&se()&&!(xt<48||xt>102||xt>57&&xt<65||xt>70&&xt<97););return Xa(e,Wn()+(t<6&&Pe()==32&&se()==32))}function Fo(e){for(;se();)switch(xt){case e:return Jt;case 34:case 39:e!==34&&e!==39&&Fo(xt);break;case 40:e===41&&Fo(e);break;case 92:se();break}return Jt}function DS(e,t){for(;se()&&e+xt!==57;)if(e+xt===84&&Pe()===47)break;return"/*"+Xa(t,Jt-1)+"*"+Il(e===47?e:se())}function OS(e){for(;!ji(Pe());)se();return Xa(e,Jt)}function RS(e){return ES(Hn("",null,null,null,[""],e=MS(e),0,[0],e))}function Hn(e,t,r,i,n,a,o,s,l){for(var c=0,h=0,u=o,f=0,p=0,g=0,m=1,y=1,x=1,b=0,w="",k=n,S=a,E=i,B=w;y;)switch(g=b,b=se()){case 40:if(g!=108&&Hi(B,u-1)==58){TS(B+=qn(qs(b),"&","&\f"),"&\f",hg(c?s[c-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:B+=qs(b);break;case 9:case 10:case 13:case 32:B+=FS(g);break;case 92:B+=$S(Wn()-1,7);continue;case 47:switch(Pe()){case 42:case 47:Bn(IS(DS(se(),Wn()),t,r,l),l),(ji(g||1)==5||ji(Pe()||1)==5)&&he(B)&&Hr(B,-1,void 0)!==" "&&(B+=" ");break;default:B+="/"}break;case 123*m:s[c++]=he(B)*x;case 125*m:case 59:case 0:switch(b){case 0:case 125:y=0;case 59+h:x==-1&&(B=qn(B,/\f/g,"")),p>0&&(he(B)-u||m===0&&g===47)&&Bn(p>32?Ph(B+";",i,r,u-1,l):Ph(qn(B," ","")+";",i,r,u-2,l),l);break;case 59:B+=";";default:if(Bn(E=Ih(B,t,r,c,h,n,s,w,k=[],S=[],u,a),a),b===123)if(h===0)Hn(B,t,E,E,k,a,u,s,S);else switch(f===99&&Hi(B,3)===110?100:f){case 100:case 108:case 109:case 115:Hn(e,E,E,i&&Bn(Ih(e,E,E,0,0,n,s,w,n,k=[],u,S),S),n,S,u,s,i?k:S);break;default:Hn(B,E,E,E,[""],S,0,s,S)}}c=h=p=0,m=x=1,w=B="",u=o;break;case 58:u=1+he(B),p=g;default:if(m<1){if(b==123)--m;else if(b==125&&m++==0&&BS()==125)continue}switch(B+=Il(b),b*m){case 38:x=h>0?1:(B+="\f",-1);break;case 44:s[c++]=(he(B)-1)*x,x=1;break;case 64:Pe()===45&&(B+=qs(se())),f=Pe(),h=u=he(w=B+=OS(Wn())),b++;break;case 45:g===45&&he(B)==2&&(m=0)}}return a}function Ih(e,t,r,i,n,a,o,s,l,c,h,u){for(var f=n-1,p=n===0?a:[""],g=AS(p),m=0,y=0,x=0;m0?p[b]+" "+w:qn(w,/&\f/g,p[b])))&&(l[x++]=k);return Pl(e,t,r,n===0?lg:s,l,c,h,u)}function IS(e,t,r,i){return Pl(e,t,r,og,Il(LS()),Hr(e,2,-2),0,i)}function Ph(e,t,r,i,n){return Pl(e,t,r,cg,Hr(e,0,i),Hr(e,i+1,-1),i,n)}function $o(e,t){for(var r="",i=0;i/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),tT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/c4Diagram-ZCSEYPFN.5UzMTNxy.js");return{diagram:t}},__vite__mapDeps([9,10,7,8]));return{id:pg,diagram:e}},"loader"),eT={id:pg,detector:JS,loader:tT},rT=eT,dg="flowchart",iT=d((e,t)=>{var r,i;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),nT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/flowDiagram-NWEUNK3L.CByD9WLQ.js");return{diagram:t}},__vite__mapDeps([11,12,13,7,8]));return{id:dg,diagram:e}},"loader"),aT={id:dg,detector:iT,loader:nT},sT=aT,gg="flowchart-v2",oT=d((e,t)=>{var r,i,n;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((i=t==null?void 0:t.flowchart)==null?void 0:i.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((n=t==null?void 0:t.flowchart)==null?void 0:n.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),lT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/flowDiagram-NWEUNK3L.CByD9WLQ.js");return{diagram:t}},__vite__mapDeps([11,12,13,7,8]));return{id:gg,diagram:e}},"loader"),cT={id:gg,detector:oT,loader:lT},hT=cT,mg="er",uT=d(e=>/^\s*erDiagram/.test(e),"detector"),fT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/erDiagram-DKC2X5TE.DHW4vUz5.js");return{diagram:t}},__vite__mapDeps([14,1,2,3,4,7,8]));return{id:mg,diagram:e}},"loader"),pT={id:mg,detector:uT,loader:fT},dT=pT,yg="gitGraph",gT=d(e=>/^\s*gitGraph/.test(e),"detector"),mT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/gitGraphDiagram-JPZ3KUXI.DUJn2Gss.js");return{diagram:t}},__vite__mapDeps([15,16,17,18,7,2,4,6,8]));return{id:yg,diagram:e}},"loader"),yT={id:yg,detector:gT,loader:mT},xT=yT,xg="gantt",bT=d(e=>/^\s*gantt/.test(e),"detector"),_T=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/ganttDiagram-HLVPPPRE.BEOtZZ2V.js");return{diagram:t}},__vite__mapDeps([19,20,21,7,8]));return{id:xg,diagram:e}},"loader"),CT={id:xg,detector:bT,loader:_T},wT=CT,bg="info",vT=d(e=>/^\s*info/.test(e),"detector"),kT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/infoDiagram-RZZSJVI2.BtikR3J6.js");return{diagram:t}},__vite__mapDeps([22,18,7,2,4,6,8]));return{id:bg,diagram:e}},"loader"),ST={id:bg,detector:vT,loader:kT},_g="pie",TT=d(e=>/^\s*pie/.test(e),"detector"),AT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/pieDiagram-X7YZ5ZEZ.CuZ1OWgC.js");return{diagram:t}},__vite__mapDeps([23,16,18,7,2,4,6,24,25,21,8]));return{id:_g,diagram:e}},"loader"),LT={id:_g,detector:TT,loader:AT},Cg="quadrantChart",BT=d(e=>/^\s*quadrantChart/.test(e),"detector"),MT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/quadrantDiagram-F36EZAVT.DeYzdc6h.js");return{diagram:t}},__vite__mapDeps([26,20,21,7,8]));return{id:Cg,diagram:e}},"loader"),ET={id:Cg,detector:BT,loader:MT},FT=ET,wg="xychart",$T=d(e=>/^\s*xychart-beta/.test(e),"detector"),DT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/xychartDiagram-KECQ2H5Q.DJXUFkUc.js");return{diagram:t}},__vite__mapDeps([27,21,25,20,7,8]));return{id:wg,diagram:e}},"loader"),OT={id:wg,detector:$T,loader:DT},RT=OT,vg="requirement",IT=d(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),PT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/requirementDiagram-JG2LMPGF.i_GlM0g_.js");return{diagram:t}},__vite__mapDeps([28,1,2,3,4,7,8]));return{id:vg,diagram:e}},"loader"),NT={id:vg,detector:IT,loader:PT},zT=NT,kg="sequence",qT=d(e=>/^\s*sequenceDiagram/.test(e),"detector"),WT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/sequenceDiagram-WK7YDQ3N.5JpCjhKk.js");return{diagram:t}},__vite__mapDeps([29,10,17,7,8]));return{id:kg,diagram:e}},"loader"),HT={id:kg,detector:qT,loader:WT},jT=HT,Sg="class",UT=d((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),YT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/classDiagram-Q73GJZWF.RbneuW3E.js");return{diagram:t}},__vite__mapDeps([30,31,1,2,3,4,7,8]));return{id:Sg,diagram:e}},"loader"),GT={id:Sg,detector:UT,loader:YT},VT=GT,Tg="classDiagram",XT=d((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),ZT=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/classDiagram-v2-C6QPLPW4.DcYNi2R5.js");return{diagram:t}},__vite__mapDeps([32,33,31,1,2,3,4,5,6,7,8]));return{id:Tg,diagram:e}},"loader"),KT={id:Tg,detector:XT,loader:ZT},QT=KT,Ag="state",JT=d((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),tA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/stateDiagram-4JV6CC6H.CafbZ1Ur.js");return{diagram:t}},__vite__mapDeps([34,35,12,1,2,3,4,7,8]));return{id:Ag,diagram:e}},"loader"),eA={id:Ag,detector:JT,loader:tA},rA=eA,Lg="stateDiagram",iA=d((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),nA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/stateDiagram-v2-7KT6RKTD.CR9GEZ4b.js");return{diagram:t}},__vite__mapDeps([36,35,12,7,8]));return{id:Lg,diagram:e}},"loader"),aA={id:Lg,detector:iA,loader:nA},sA=aA,Bg="journey",oA=d(e=>/^\s*journey/.test(e),"detector"),lA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/journeyDiagram-BLD6N6MZ.B-kkWoFH.js");return{diagram:t}},__vite__mapDeps([37,10,24,7,8]));return{id:Bg,diagram:e}},"loader"),cA={id:Bg,detector:oA,loader:lA},hA=cA,uA=d((e,t,r)=>{M.debug(`rendering svg for syntax error +`);const i=wS(t),n=i.append("g");i.attr("viewBox","0 0 2412 512"),_u(i,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Mg={draw:uA},fA=Mg,pA={db:{},renderer:Mg,parser:{parse:d(()=>{},"parse")}},dA=pA,Eg="flowchart-elk",gA=d((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*flowchart|graph/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),mA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/flowDiagram-NWEUNK3L.CByD9WLQ.js");return{diagram:t}},__vite__mapDeps([11,12,13,7,8]));return{id:Eg,diagram:e}},"loader"),yA={id:Eg,detector:gA,loader:mA},xA=yA,Fg="timeline",bA=d(e=>/^\s*timeline/.test(e),"detector"),_A=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/timeline-definition-3ZMEY6HS.DEjfNkEJ.js");return{diagram:t}},__vite__mapDeps([38,24,7,8]));return{id:Fg,diagram:e}},"loader"),CA={id:Fg,detector:bA,loader:_A},wA=CA,$g="mindmap",vA=d(e=>/^\s*mindmap/.test(e),"detector"),kA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/mindmap-definition-OEB2RXX2.B0ecx9Es.js");return{diagram:t}},__vite__mapDeps([39,40,7,8]));return{id:$g,diagram:e}},"loader"),SA={id:$g,detector:vA,loader:kA},TA=SA,Dg="sankey",AA=d(e=>/^\s*sankey-beta/.test(e),"detector"),LA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/sankeyDiagram-ATFNWWW6.DO5EeUwc.js");return{diagram:t}},__vite__mapDeps([41,25,21,7,8]));return{id:Dg,diagram:e}},"loader"),BA={id:Dg,detector:AA,loader:LA},MA=BA,Og="packet",EA=d(e=>/^\s*packet-beta/.test(e),"detector"),FA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/diagram-AVGMFHF7.DVbEUPo3.js");return{diagram:t}},__vite__mapDeps([42,16,18,7,2,4,6,8]));return{id:Og,diagram:e}},"loader"),$A={id:Og,detector:EA,loader:FA},Rg="block",DA=d(e=>/^\s*block-beta/.test(e),"detector"),OA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/blockDiagram-TCMKQVZ6.CHPtA7tC.js");return{diagram:t}},__vite__mapDeps([43,33,6,2,1,13,7,8]));return{id:Rg,diagram:e}},"loader"),RA={id:Rg,detector:DA,loader:OA},IA=RA,Ig="architecture",PA=d(e=>/^\s*architecture/.test(e),"detector"),NA=d(async()=>{const{diagram:e}=await ht(async()=>{const{diagram:t}=await import("./chunks/architectureDiagram-IFBEXTG3.BbTtp1kr.js");return{diagram:t}},__vite__mapDeps([44,16,17,18,7,2,4,6,40,8]));return{id:Ig,diagram:e}},"loader"),zA={id:Ig,detector:PA,loader:NA},qA=zA,Uh=!1,Za=d(()=>{Uh||(Uh=!0,Gn("error",dA,e=>e.toLowerCase().trim()==="error"),Gn("---",{db:{clear:d(()=>{},"clear")},styles:{},renderer:{draw:d(()=>{},"draw")},parser:{parse:d(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:d(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),lu(rT,QT,VT,dT,wT,ST,LT,zT,jT,xA,hT,sT,TA,wA,xT,sA,rA,hA,FT,MA,$A,RT,IA,qA))},"addDiagrams"),WA=d(async()=>{M.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(Or).map(async([r,{detector:i,loader:n}])=>{if(n)try{Xs(r)}catch{try{const{diagram:a,id:o}=await n();Gn(o,a,i)}catch(a){throw M.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete Or[r],a}}}))).filter(r=>r.status==="rejected");if(t.length>0){M.error(`Failed to load ${t.length} external diagrams`);for(const r of t)M.error(r);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),HA="graphics-document document";function Pg(e,t){e.attr("role",HA),t!==""&&e.attr("aria-roledescription",t)}d(Pg,"setA11yDiagramInfo");function Ng(e,t,r,i){if(e.insert!==void 0){if(r){const n=`chart-desc-${i}`;e.attr("aria-describedby",n),e.insert("desc",":first-child").attr("id",n).text(r)}if(t){const n=`chart-title-${i}`;e.attr("aria-labelledby",n),e.insert("title",":first-child").attr("id",n).text(t)}}}d(Ng,"addSVGa11yTitleDescription");var ir,Po=(ir=class{constructor(t,r,i,n,a){this.type=t,this.text=r,this.db=i,this.parser=n,this.renderer=a}static async fromText(t,r={}){var c,h;const i=Be(),n=qo(t,i);t=mv(t)+` `;try{Xs(n)}catch{const u=cm(n);if(!u)throw new ou(`Diagram ${n} not found.`);const{id:f,diagram:p}=await u();Gn(f,p)}const{db:a,parser:o,renderer:s,init:l}=Xs(n);return o.parser&&(o.parser.yy=a),(c=a.clear)==null||c.call(a),l==null||l(i),r.title&&((h=a.setDiagramTitle)==null||h.call(a,r.title)),await o.parse(t),new ir(n,t,a,o,s)}async render(t,r){await this.renderer.draw(this.text,t,r,this)}getParser(){return this.parser}getType(){return this.type}},d(ir,"Diagram"),ir),Yh=[],jA=d(()=>{Yh.forEach(e=>{e()}),Yh=[]},"attachFunctions"),UA=d(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function zg(e){const t=e.match(su);if(!t)return{text:e,metadata:{}};let r=hx(t[1],{schema:cx})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const i={};return r.displayMode&&(i.displayMode=r.displayMode.toString()),r.title&&(i.title=r.title.toString()),r.config&&(i.config=r.config),{text:e.slice(t[0].length),metadata:i}}d(zg,"extractFrontMatter");var YA=d(e=>e.replace(/\r\n?/g,` `).replace(/<(\w+)([^>]*)>/g,(t,r,i)=>"<"+r+i.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),GA=d(e=>{const{text:t,metadata:r}=zg(e),{displayMode:i,title:n,config:a={}}=r;return i&&(a.gantt||(a.gantt={}),a.gantt.displayMode=i),{title:n,config:a,text:t}},"processFrontmatter"),VA=d(e=>{const t=ue.detectInit(e)??{},r=ue.detectDirective(e,"wrap");return Array.isArray(r)?t.wrap=r.some(({type:i})=>i==="wrap"):(r==null?void 0:r.type)==="wrap"&&(t.wrap=!0),{text:iv(e),directive:t}},"processDirectives");function Nl(e){const t=YA(e),r=GA(t),i=VA(r.text),n=vl(r.config,i.directive);return e=UA(i.text),{code:e,title:r.title,config:n}}d(Nl,"preprocessDiagram");function qg(e){const t=new TextEncoder().encode(e),r=Array.from(t,i=>String.fromCodePoint(i)).join("");return btoa(r)}d(qg,"toBase64");var XA=5e4,ZA="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",KA="sandbox",QA="loose",JA="http://www.w3.org/2000/svg",tL="http://www.w3.org/1999/xlink",eL="http://www.w3.org/1999/xhtml",rL="100%",iL="100%",nL="border:0;margin:0;",aL="margin:0",sL="allow-top-navigation-by-user-activation allow-popups",oL='The "iframe" tag is not supported by your browser.',lL=["foreignobject"],cL=["dominant-baseline"];function zl(e){const t=Nl(e);return Un(),Tm(t.config??{}),t}d(zl,"processAndSetConfigs");async function Wg(e,t){Za();try{const{code:r,config:i}=zl(e);return{diagramType:(await jg(r)).type,config:i}}catch(r){if(t!=null&&t.suppressErrors)return!1;throw r}}d(Wg,"parse");var Gh=d((e,t,r=[])=>` .${e} ${t} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),hL=d((e,t=new Map)=>{var i;let r="";if(e.themeCSS!==void 0&&(r+=` diff --git a/assets/chunks/@localSearchIndexroot.BjlWLAEX.js b/assets/chunks/@localSearchIndexroot.BjlWLAEX.js deleted file mode 100644 index fa49f717b..000000000 --- a/assets/chunks/@localSearchIndexroot.BjlWLAEX.js +++ /dev/null @@ -1 +0,0 @@ -const t='{"documentCount":367,"nextId":367,"documentIds":{"0":"/README#rollkit-documentation-site","1":"/README#building-the-site","2":"/README#contribution-guidelines","3":"/README#directory-structure","4":"/README#feedback-suggestions","5":"/blog/overview#blog","6":"/blog/overview#table-of-contents","7":"/blog/rollkit-the-first-sovereign-rollup-framework#rollkit-the-first-sovereign-rollup-framework","8":"/blog/rollkit-the-first-sovereign-rollup-framework#take-control","9":"/blog/rollkit-the-first-sovereign-rollup-framework#build-with-the-best","10":"/blog/rollkit-the-first-sovereign-rollup-framework#optimize-for-your-needs","11":"/blog/rollkit-the-first-sovereign-rollup-framework#break-free-be-sovereign","12":"/blog/sovereign-rollups-on-bitcoin#sovereign-rollups-on-bitcoin-with-rollkit","13":"/blog/sovereign-rollups-on-bitcoin#tl-dr","14":"/blog/sovereign-rollups-on-bitcoin#posting-data-on-bitcoin-with-taproot","15":"/blog/sovereign-rollups-on-bitcoin#integrating-bitcoin-as-a-data-availability-layer-into-rollkit","16":"/blog/sovereign-rollups-on-bitcoin#how-rollkit-posts-data-to-bitcoin","17":"/blog/sovereign-rollups-on-bitcoin#evm-on-bitcoin-demo","18":"/blog/sovereign-rollups-on-bitcoin#conclusion","19":"/guides/block-times#how-to-change-speed-of-block-production","20":"/guides/cometbft-to-rollkit#how-to-turn-your-cometbft-app-into-a-rollkit-app","21":"/guides/cometbft-to-rollkit#install-rollkit","22":"/guides/cometbft-to-rollkit#add-rollkit-features","23":"/guides/cometbft-to-rollkit#initialize-rollkit","24":"/guides/cometbft-to-rollkit#initialize-rollkit-cli-configuration","25":"/guides/cometbft-to-rollkit#start-rollkit-app","26":"/guides/cometbft-to-rollkit#summary","27":"/guides/create-genesis#how-to-create-a-genesis-for-your-rollup","28":"/guides/create-genesis#_1-setting-variables","29":"/guides/create-genesis#_2-ensuring-rollkit-toml-is-present-and-building-entrypoint","30":"/guides/create-genesis#_3-resetting-existing-genesis-chain-data","31":"/guides/create-genesis#_4-initializing-the-validator","32":"/guides/create-genesis#_5-adding-a-key-to-keyring-backend","33":"/guides/create-genesis#_6-adding-a-genesis-account","34":"/guides/create-genesis#_7-setting-the-staking-amount-in-the-genesis-transaction","35":"/guides/create-genesis#_8-collecting-genesis-transactions","36":"/guides/create-genesis#_9-configuring-the-genesis-file","37":"/guides/create-genesis#_10-creating-a-restart-script","38":"/guides/create-genesis#_11-starting-the-chain","39":"/guides/create-genesis#summary","40":"/guides/cw-orch#speed-up-your-development-with-cw-orchestrator","41":"/guides/cw-orch#introduction","42":"/guides/cw-orch#summary","43":"/guides/cw-orch#single-contract-integration","44":"/guides/cw-orch#adding-cw-orch-to-your-cargo-toml-file","45":"/guides/cw-orch#creating-an-interface","46":"/guides/cw-orch#interaction-helpers","47":"/guides/cw-orch#using-the-integration","48":"/guides/cw-orch#integration-in-a-workspace","49":"/guides/cw-orch#handling-dependencies-and-features","50":"/guides/cw-orch#creating-an-interface-crate","51":"/guides/cw-orch#integrating-single-contracts","52":"/guides/cw-orch#more-examples-and-scripts","53":"/guides/da-block-time#how-to-configure-da-chain-block-syncing-time","54":"/guides/gas-price#how-to-configure-gas-price","55":"/guides/full-node#rollup-full-node-setup-guide","56":"/guides/full-node#introduction","57":"/guides/full-node#prerequisites","58":"/guides/full-node#setting-up-your-full-node","59":"/guides/full-node#initialize-chain-config-and-copy-genesis-file","60":"/guides/full-node#set-up-p2p-connection-to-sequencer-node","61":"/guides/full-node#start-the-full-node","62":"/guides/full-node#verifying-full-node-operation","63":"/guides/full-node#conclusion","64":"/guides/ignite-rollkit#how-to-use-ignite-to-create-a-rollkit-app","65":"/guides/ignite-rollkit#install-ignite","66":"/guides/ignite-rollkit#install-ignite-app-rollkit","67":"/guides/ignite-rollkit#add-rollkit-features","68":"/guides/ignite-rollkit#build-your-chain","69":"/guides/ignite-rollkit#initialize-your-blockchain","70":"/guides/ignite-rollkit#initialize-rollkit-cli-configuration","71":"/guides/ignite-rollkit#start-your-chain","72":"/guides/ignite-rollkit#summary","73":"/guides/ibc-connection#ibc-connection-tutorial","74":"/guides/ibc-connection#prerequisites","75":"/guides/ibc-connection#software-requirements","76":"/guides/ibc-connection#run-a-gm-rollup-chain","77":"/guides/ibc-connection#run-your-local-osmosis-testnet","78":"/guides/ibc-connection#install-osmosis-binary","79":"/guides/ibc-connection#run-local-osmosis-testnet","80":"/guides/ibc-connection#funds","81":"/guides/ibc-connection#setup-relayer-create-ibc-connection-and-start-relaying-packets","82":"/guides/ibc-connection#install-relayer","83":"/guides/ibc-connection#setup-relayer-config","84":"/guides/ibc-connection#create-relayer-account","85":"/guides/ibc-connection#create-ibc-channel","86":"/guides/ibc-connection#start-relaying-packets","87":"/guides/ibc-connection#transfer-token-from-rollup-chain-to-osmosis-local","88":"/guides/ibc-connection#transfer-token-back-from-osmosis-local-to-rollup-chain","89":"/guides/lazy-sequencing#how-to-use-lazy-sequencing-aggregation","90":"/guides/max-pending-blocks#how-to-configure-the-maximum-number-of-blocks-pending-da-submission","91":"/guides/overview#how-to-guides","92":"/guides/overview#support","93":"/guides/restart-rollup#🔄-how-to-restart-your-rollup","94":"/guides/restart-rollup#restart-rollup","95":"/guides/restart-rollup#restart-rollup-after-running-out-of-funds","96":"/guides/restart-rollup#errors","97":"/guides/restart-rollup#refund-your-account","98":"/guides/restart-rollup#stopping-your-rollup","99":"/guides/restart-rollup#increase-gas-fee","100":"/guides/restart-rollup#restarting-your-rollup","101":"/guides/restart-rollup#reduce-gas-fee-restart-again","102":"/guides/rollkit-monitoring#how-to-integrate-range-with-your-rollup","103":"/guides/rollkit-monitoring#overview","104":"/guides/rollkit-monitoring#prerequisites","105":"/guides/rollkit-monitoring#_1-integrate-your-rollup","106":"/guides/rollkit-monitoring#steps","107":"/guides/rollkit-monitoring#_2-add-your-addresses-and-contracts","108":"/guides/rollkit-monitoring#_3-creating-your-first-alert-rule","109":"/guides/use-rollkit-cli#how-to-use-rollkit-cli","110":"/guides/use-rollkit-cli#_1-installing-rollkit-cli","111":"/guides/use-rollkit-cli#_2-initializing-rollkit-toml","112":"/guides/use-rollkit-cli#steps-to-generate-rollkit-toml","113":"/guides/use-rollkit-cli#_3-running-rollup-commands-using-rollkit-cli","114":"/guides/use-rollkit-cli#example","115":"/guides/use-rollkit-cli#summary","116":"/guides/use-tia-for-gas#how-to-use-ibc-token-tia-as-gas-token-in-your-rollup","117":"/guides/use-tia-for-gas#introduction","118":"/guides/use-tia-for-gas#dependencies","119":"/guides/use-tia-for-gas#install-rollkit","120":"/guides/use-tia-for-gas#running-local-da","121":"/guides/use-tia-for-gas#building-your-sovereign-rollup","122":"/guides/use-tia-for-gas#initialize-rollkit-configuration","123":"/guides/use-tia-for-gas#start-your-rollup","124":"/guides/use-tia-for-gas#ibc-to-celestia","125":"/guides/use-tia-for-gas#transactions","126":"/guides/use-tia-for-gas#🎉-next-steps","127":"/guides/zkml#zkml-rollup-tutorial-with-sindri","128":"/guides/zkml#introduction-code-once-verify-anywhere","129":"/guides/zkml#prerequisites","130":"/guides/zkml#setting-up-the-polaris-evm-using-rollkit","131":"/guides/zkml#installing-the-sindri-python-sdk","132":"/guides/zkml#deploying-and-proving-a-cool-zkml-circuit-to-sindri","133":"/guides/zkml#clone","134":"/guides/zkml#modify","135":"/guides/zkml#deploy-and-prove-your-zkml-circuit-on-sindri","136":"/guides/zkml#deploy-smart-contract-verifier-to-rollkit","137":"/guides/zkml#deploy","138":"/guides/zkml#interact-with-the-contract-verify-your-zkml-proof-on-chain","139":"/guides/zkml#congratulations","140":"/learn/about#about-rollkit","141":"/learn/about#what-is-rollkit","142":"/learn/about#what-problems-is-rollkit-solving","143":"/learn/about#_1-scalability-and-customizability","144":"/learn/about#_2-security-and-time-to-market","145":"/learn/about#why-rollkit","146":"/learn/about#how-can-you-use-rollkit","147":"/learn/about#rollup-with-any-execution-environment","148":"/learn/about#sovereign-rollup-with-cosmos-sdk","149":"/learn/about#build-a-settlement-layer","150":"/learn/about#when-can-you-use-rollkit","151":"/learn/building-and-deploying-a-rollup#🗞️-building-a-rollup-and-testnet-deployment","152":"/learn/building-and-deploying-a-rollup#beginner","153":"/learn/building-and-deploying-a-rollup#intermediate","154":"/learn/building-and-deploying-a-rollup#advanced","155":"/learn/building-and-deploying-a-rollup#support","156":"/learn/intro#introduction","157":"/learn/specifications#technical-specifications","158":"/learn/stack#rollkit-stack","159":"/learn/stack#application-structure","160":"/learn/stack#abci-interface","161":"/learn/stack#cosmos-sdk","162":"/learn/stack#data-availability","163":"/learn/stack#celestia","164":"/learn/stack#node-components","165":"/learn/stack#mempool","166":"/learn/stack#block-manager","167":"/learn/stack#rpc","168":"/learn/stack#parameters","169":"/learn/stack#p2p-layer","170":"/learn/stack#rollkit-node-types","171":"/learn/stack#full-node","172":"/learn/stack#light-node-work-in-progress","173":"/learn/stack#sequencer-node","174":"/learn/stack#state-validity-modes","175":"/learn/stack#pessimistic-full-nodes-only","176":"/learn/stack#optimistic-fraud-proofs-work-in-progress","177":"/learn/stack#validity-zk-proofs","178":"/learn/transaction-flow#transaction-flow","179":"/learn/transaction-flow#transaction-submission","180":"/learn/transaction-flow#transaction-validation-and-processing","181":"/learn/transaction-flow#block-processing","182":"/learn/transaction-flow#fraud-proof-gossip-and-forking","183":"/testnets/cosmwasm-testnet#cosmwasm-testnet","184":"/testnets/cosmwasm-testnet#details-of-rosm-testnet","185":"/testnets/cosmwasm-testnet#add-rosm-to-keplr","186":"/tutorials/artela-evm-plus-plus#quick-start-guide-for-artela-evm-with-rollkit","187":"/tutorials/artela-evm-plus-plus#📦-clone-the-artela-rollkit-repository","188":"/tutorials/artela-evm-plus-plus#🛥️-run-with-docker-compose","189":"/tutorials/artela-evm-plus-plus#🔑-get-prefunded-test-accounts","190":"/tutorials/artela-evm-plus-plus#⚙️-configuring-the-node","191":"/tutorials/artela-evm-plus-plus#🧪-build-on-evm","192":"/tutorials/artela-evm-plus-plus#📖-more-to-know","193":"/tutorials/artela-evm-plus-plus#💥-build-with-examples","194":"/tutorials/artela-evm-plus-plus#🛑-stopping-the-node","195":"/tutorials/artela-evm-plus-plus#🎉-conclusion","196":"/tutorials/astria#astria-sequencing","197":"/tutorials/based#based-sequencing","198":"/tutorials/beaconkit#building-a-sovereign-rollup-with-beaconkit-and-rollkit","199":"/tutorials/beaconkit#introduction","200":"/tutorials/beaconkit#prerequisites","201":"/tutorials/beaconkit#rollkit","202":"/tutorials/beaconkit#docker","203":"/tutorials/beaconkit#run-local-da-node","204":"/tutorials/beaconkit#clone-the-repo","205":"/tutorials/beaconkit#start-go-ethereum-client","206":"/tutorials/beaconkit#build-and-run-beaconkit-node","207":"/tutorials/beaconkit#smart-contract-deployment-and-interaction","208":"/tutorials/beaconkit#conclusion","209":"/tutorials/beaconkit#next-steps","210":"/tutorials/beaconkit#troubleshooting","211":"/tutorials/bitcoin#bitcoin-rollup-tutorial","212":"/tutorials/bitcoin#☀️introduction","213":"/tutorials/bitcoin#📖-the-stack","214":"/tutorials/bitcoin#💻-prerequisites","215":"/tutorials/bitcoin#🛠️-dependency-setup","216":"/tutorials/bitcoin#🏃-golang","217":"/tutorials/bitcoin#⚒️-foundry","218":"/tutorials/bitcoin#🪙-install-bitcoin","219":"/tutorials/bitcoin#🟢-running-a-local-bitcoin-network","220":"/tutorials/bitcoin#👛-create-a-wallet-for-the-chain","221":"/tutorials/bitcoin#🎬-start-generating-blocks","222":"/tutorials/bitcoin#🧊-block-height","223":"/tutorials/bitcoin#🧊-block-hash","224":"/tutorials/bitcoin#🧊-block-header","225":"/tutorials/bitcoin#🎬-restarting-the-local-network","226":"/tutorials/bitcoin#🏃‍♀️-running-the-ethermint-rollup","227":"/tutorials/bitcoin#⚡️-initialize-development-environment","228":"/tutorials/bitcoin#📒-updating-the-contract-and-tests","229":"/tutorials/bitcoin#📜-updating-the-deployment-script","230":"/tutorials/bitcoin#🏠-deploying-locally","231":"/tutorials/bitcoin#🧪-deploying-to-the-ethermint-sovereign-rollup","232":"/tutorials/centralized#centralized-sequencer","233":"/tutorials/centralized#installation-and-use","234":"/tutorials/da/celestia-da#using-celestia-as-da","235":"/tutorials/da/celestia-da#introduction","236":"/tutorials/da/celestia-da#🪶-running-a-celestia-light-node","237":"/tutorials/da/celestia-da#prerequisites","238":"/tutorials/da/celestia-da#🛠️-configuring-flags-for-da","239":"/tutorials/da/celestia-da#🔥-running-your-rollup-connected-to-celestia-light-node","240":"/tutorials/da/celestia-da#🎉-next-steps","241":"/tutorials/da/avail-da#using-avail-as-da","242":"/tutorials/da/avail-da#introduction","243":"/tutorials/da/avail-da#🪶-running-an-avail-light-node","244":"/tutorials/da/avail-da#🚀-using-turing-testnet","245":"/tutorials/da/avail-da#🧹-cleaning-previous-chain-history","246":"/tutorials/da/avail-da#🏗️-building-your-rollup","247":"/tutorials/da/avail-da#🛠️-configuring-flags-for-da","248":"/tutorials/da/avail-da#🔥-running-your-rollup-connected-to-an-avail-light-node","249":"/tutorials/da/avail-da#🎉-next-steps","250":"/tutorials/cosmwasm#🗞️-cosmwasm-rollup","251":"/tutorials/cosmwasm#dependencies","252":"/tutorials/cosmwasm#start-your-rollup","253":"/tutorials/cosmwasm#contract-deployment-on-cosmwasm","254":"/tutorials/cosmwasm#compile-smart-contract","255":"/tutorials/cosmwasm#optimized-smart-contract","256":"/tutorials/cosmwasm#contract-deployment","257":"/tutorials/cosmwasm#contract-interaction-on-local-da","258":"/tutorials/cosmwasm#contract-querying","259":"/tutorials/cosmwasm#contract-instantiation","260":"/tutorials/cosmwasm#contract-interaction","261":"/tutorials/da/local-da#using-local-da","262":"/tutorials/da/local-da#introduction","263":"/tutorials/da/local-da#setting-up-a-local-da-network","264":"/tutorials/da/local-da#configuring-your-rollup-to-connect-to-the-local-da-network","265":"/tutorials/da/local-da#run-your-rollup","266":"/tutorials/da/local-da#summary","267":"/tutorials/da/overview#da","268":"/tutorials/da/overview#go-da","269":"/tutorials/da/overview#mock-da","270":"/tutorials/da/overview#da-layers","271":"/tutorials/deploy-overview#deploying-your-rollup","272":"/tutorials/docker-compose#🐳-docker-compose","273":"/tutorials/docker-compose#prerequisites","274":"/tutorials/docker-compose#dependencies","275":"/tutorials/docker-compose#docker-compose","276":"/tutorials/docker-compose#setting-up-your-environment","277":"/tutorials/docker-compose#dockerfile","278":"/tutorials/docker-compose#docker-compose-file","279":"/tutorials/docker-compose#run-wordle-chain","280":"/tutorials/docker-compose#interacting-with-the-chain","281":"/tutorials/docker-compose#🎉-next-steps","282":"/tutorials/evm-contract-interaction#smart-contract-interaction-on-evm-rollup","283":"/tutorials/evm-contract-interaction#install-foundry","284":"/tutorials/evm-contract-interaction#funds","285":"/tutorials/evm-contract-interaction#frontend","286":"/tutorials/evm-contract-interaction#deploy-the-ooga-booga-portal-contract","287":"/tutorials/evm-contract-interaction#interact-with-the-contract","288":"/tutorials/evm-contract-interaction#start-and-update-the-frontend","289":"/tutorials/evm-contract-interaction#interact-with-the-frontend","290":"/tutorials/evm-contract-interaction#conclusion","291":"/tutorials/forced#forced-inclusion","292":"/tutorials/gm-world#gm-world-rollup","293":"/tutorials/gm-world#introduction","294":"/tutorials/gm-world#dependencies","295":"/tutorials/gm-world#start-your-rollup","296":"/tutorials/gm-world#transactions","297":"/tutorials/gm-world#balances","298":"/tutorials/gm-world#📦-gm-world-ui-app","299":"/tutorials/gm-world#🔗-connecting-your-wallet","300":"/tutorials/gm-world#🎉-next-steps","301":"/tutorials/kurtosis#🟩-kurtosis","302":"/tutorials/kurtosis#prerequisites","303":"/tutorials/kurtosis#dependencies","304":"/tutorials/kurtosis#kurtosis-cli","305":"/tutorials/kurtosis#setting-up-your-environment","306":"/tutorials/kurtosis#dockerfile","307":"/tutorials/kurtosis#kurtosis-init","308":"/tutorials/kurtosis#run-wordle-chain","309":"/tutorials/kurtosis#interacting-with-the-chain","310":"/tutorials/kurtosis#🎉-next-steps","311":"/tutorials/octane-evm#quick-start-guide-for-omni-octane-with-rollkit","312":"/tutorials/octane-evm#📦-clone-the-omni-repository","313":"/tutorials/octane-evm#🏗️-build-docker-images","314":"/tutorials/octane-evm#🚀-deploy-omni-with-rollkit-and-local-da","315":"/tutorials/octane-evm#🧪-smart-contract-deployment-and-interaction","316":"/tutorials/octane-evm#🛑-stopping-the-node","317":"/tutorials/octane-evm#🎉-conclusion","318":"/tutorials/polaris-evm#polaris-evm-and-rollkit","319":"/tutorials/polaris-evm#prerequisites","320":"/tutorials/polaris-evm#run-a-local-celestia-devnet","321":"/tutorials/polaris-evm#clone-the-repo","322":"/tutorials/polaris-evm#install-foundry","323":"/tutorials/polaris-evm#start-the-polaris-evm-using-rollkit","324":"/tutorials/polaris-evm#congratulations","325":"/tutorials/polaris-evm#funds","326":"/tutorials/polaris-evm#frontend","327":"/tutorials/polaris-evm#deploy-the-ooga-booga-portal-contract","328":"/tutorials/polaris-evm#interact-with-the-contract","329":"/tutorials/polaris-evm#start-and-update-the-frontend","330":"/tutorials/polaris-evm#interact-with-the-frontend","331":"/tutorials/polaris-evm#running-polaris-evm-with-a-celestia-light-node","332":"/tutorials/polaris-evm#start-your-light-node","333":"/tutorials/polaris-evm#setup-polaris-script","334":"/tutorials/polaris-evm#start-the-evm-rollup","335":"/tutorials/quick-start#quick-start-guide","336":"/tutorials/quick-start#📦-install-rollkit-cli","337":"/tutorials/quick-start#🚀-run-your-sovereign-rollup-node","338":"/tutorials/quick-start#🎉-conclusion","339":"/tutorials/sequencing#sequencing","340":"/tutorials/sequencing#rollkit-prior-to-sequencing","341":"/tutorials/sequencing#sequencing-interface","342":"/tutorials/sequencing#sequencing-implementations","343":"/tutorials/wordle#🕹️-wordle-app","344":"/tutorials/wordle#prerequisites","345":"/tutorials/wordle#design-implementation","346":"/tutorials/wordle#ignite-scaffold-wordle-chain","347":"/tutorials/wordle#ignite","348":"/tutorials/wordle#scaffolding-wordle-chain","349":"/tutorials/wordle#wordle-directory","350":"/tutorials/wordle#setting-up-rollkit","351":"/tutorials/wordle#installing-rollkit","352":"/tutorials/wordle#creating-wordle-module","353":"/tutorials/wordle#scaffolding-a-module","354":"/tutorials/wordle#messages","355":"/tutorials/wordle#scaffolding-a-message","356":"/tutorials/wordle#wordle-types","357":"/tutorials/wordle#scaffolding-wordle-types","358":"/tutorials/wordle#keeper-functions","359":"/tutorials/wordle#submitwordle-function","360":"/tutorials/wordle#submitguess-function","361":"/tutorials/wordle#protobuf-file","362":"/tutorials/wordle#⛓️-run-the-wordle-chain","363":"/tutorials/wordle#build-and-run-wordle-chain","364":"/tutorials/wordle#interacting-with-the-chain","365":"/tutorials/wordle#extending-in-the-future","366":"/tutorials/wordle#🎉-next-steps"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[3,1,24],"1":[3,3,20],"2":[2,3,69],"3":[2,3,41],"4":[3,3,25],"5":[1,1,22],"6":[3,1,17],"7":[6,1,171],"8":[2,6,172],"9":[4,6,110],"10":[4,6,114],"11":[5,6,27],"12":[6,1,79],"13":[2,6,43],"14":[6,6,129],"15":[9,6,46],"16":[6,6,110],"17":[4,6,34],"18":[1,6,90],"19":[7,1,83],"20":[9,1,37],"21":[2,9,30],"22":[7,9,22],"23":[2,9,20],"24":[4,9,41],"25":[4,9,27],"26":[1,9,32],"27":[8,1,27],"28":[3,8,29],"29":[9,8,54],"30":[6,8,13],"31":[4,8,15],"32":[7,8,14],"33":[5,8,19],"34":[8,8,21],"35":[4,8,8],"36":[5,8,39],"37":[5,8,64],"38":[4,8,31],"39":[1,8,52],"40":[7,1,1],"41":[1,7,129],"42":[1,7,42],"43":[3,7,27],"44":[8,10,41],"45":[3,10,124],"46":[2,10,114],"47":[3,10,119],"48":[4,7,36],"49":[4,11,51],"50":[4,11,79],"51":[3,11,16],"52":[4,7,42],"53":[8,1,41],"54":[5,1,91],"55":[5,1,1],"56":[1,5,33],"57":[1,5,29],"58":[5,5,1],"59":[7,8,42],"60":[7,8,36],"61":[4,8,72],"62":[4,5,74],"63":[1,5,14],"64":[8,1,17],"65":[2,8,52],"66":[4,8,39],"67":[3,8,15],"68":[3,8,10],"69":[3,8,22],"70":[4,11,30],"71":[3,8,41],"72":[1,8,28],"73":[3,1,73],"74":[3,3,1],"75":[2,6,15],"76":[5,3,104],"77":[5,3,1],"78":[3,8,17],"79":[4,8,76],"80":[1,3,33],"81":[9,3,72],"82":[2,10,38],"83":[3,10,106],"84":[3,10,47],"85":[3,10,168],"86":[3,10,25],"87":[8,10,104],"88":[9,10,79],"89":[7,1,81],"90":[11,1,36],"91":[3,1,105],"92":[2,3,30],"93":[6,1,12],"94":[2,6,100],"95":[7,6,104],"96":[5,12,48],"97":[5,12,43],"98":[4,12,18],"99":[5,12,29],"100":[4,12,7],"101":[7,12,41],"102":[7,1,27],"103":[1,7,37],"104":[1,7,22],"105":[4,8,17],"106":[1,12,48],"107":[6,8,44],"108":[6,8,76],"109":[5,1,30],"110":[4,5,26],"111":[4,5,27],"112":[6,9,72],"113":[7,5,26],"114":[2,10,23],"115":[1,5,29],"116":[11,1,1],"117":[2,11,75],"118":[2,11,35],"119":[5,11,38],"120":[6,11,45],"121":[5,11,96],"122":[5,11,28],"123":[4,11,172],"124":[8,11,228],"125":[2,11,56],"126":[3,11,20],"127":[5,1,1],"128":[5,5,81],"129":[1,5,29],"130":[7,6,22],"131":[5,6,48],"132":[9,5,32],"133":[1,12,56],"134":[1,12,88],"135":[8,12,89],"136":[6,5,39],"137":[1,11,156],"138":[10,5,119],"139":[1,5,41],"140":[2,1,61],"141":[4,2,88],"142":[6,2,1],"143":[4,7,38],"144":[6,7,102],"145":[3,2,181],"146":[6,2,24],"147":[5,7,37],"148":[5,7,48],"149":[4,7,47],"150":[6,2,76],"151":[7,1,41],"152":[2,7,6],"153":[2,7,5],"154":[2,7,7],"155":[2,7,73],"156":[1,1,40],"157":[2,1,38],"158":[2,1,61],"159":[2,2,2],"160":[2,4,37],"161":[2,6,65],"162":[2,4,77],"163":[1,6,45],"164":[2,2,1],"165":[1,4,43],"166":[2,4,82],"167":[1,4,67],"168":[1,5,23],"169":[2,4,68],"170":[3,2,9],"171":[2,4,24],"172":[6,4,45],"173":[2,4,107],"174":[3,2,1],"175":[5,5,38],"176":[7,5,114],"177":[4,5,12],"178":[2,1,41],"179":[2,2,2],"180":[4,2,2],"181":[2,2,2],"182":[5,2,125],"183":[2,1,18],"184":[4,2,147],"185":[4,6,18],"186":[8,1,74],"187":[6,8,18],"188":[5,8,89],"189":[5,8,64],"190":[4,8,56],"191":[4,8,134],"192":[4,11,38],"193":[4,11,62],"194":[4,8,22],"195":[2,8,32],"196":[2,1,3],"197":[2,1,3],"198":[8,1,1],"199":[1,8,42],"200":[1,8,13],"201":[1,9,37],"202":[1,9,17],"203":[7,8,37],"204":[4,8,24],"205":[6,8,45],"206":[6,8,167],"207":[5,8,64],"208":[1,8,26],"209":[2,8,29],"210":[1,8,50],"211":[3,1,1],"212":[1,3,78],"213":[3,4,63],"214":[2,3,16],"215":[3,3,50],"216":[2,6,85],"217":[2,6,24],"218":[3,6,30],"219":[6,3,19],"220":[7,8,30],"221":[4,8,88],"222":[3,12,32],"223":[3,12,28],"224":[3,12,30],"225":[5,12,28],"226":[5,3,84],"227":[4,7,52],"228":[6,7,147],"229":[5,7,68],"230":[3,7,100],"231":[7,7,108],"232":[2,1,52],"233":[3,2,85],"234":[4,1,1],"235":[2,4,52],"236":[6,4,53],"237":[2,4,9],"238":[5,4,159],"239":[9,4,63],"240":[3,4,27],"241":[4,1,1],"242":[2,4,88],"243":[6,4,29],"244":[4,9,94],"245":[5,4,28],"246":[4,4,35],"247":[5,4,125],"248":[10,4,74],"249":[3,4,28],"250":[3,1,55],"251":[3,3,41],"252":[4,3,276],"253":[7,3,1],"254":[5,9,53],"255":[4,9,75],"256":[3,9,122],"257":[5,3,41],"258":[3,7,75],"259":[3,7,67],"260":[3,7,166],"261":[3,1,1],"262":[1,3,35],"263":[6,3,40],"264":[9,3,19],"265":[3,3,52],"266":[1,3,32],"267":[1,1,57],"268":[2,1,67],"269":[2,1,79],"270":[2,1,28],"271":[3,1,96],"272":[3,1,23],"273":[3,3,14],"274":[2,3,1],"275":[3,5,24],"276":[5,3,43],"277":[2,8,177],"278":[4,8,99],"279":[4,8,27],"280":[5,3,104],"281":[3,3,23],"282":[6,1,33],"283":[2,6,17],"284":[1,6,30],"285":[1,6,30],"286":[6,7,112],"287":[4,7,31],"288":[5,7,56],"289":[4,7,72],"290":[1,7,24],"291":[2,1,3],"292":[3,1,1],"293":[2,3,65],"294":[2,3,44],"295":[4,3,341],"296":[2,3,157],"297":[3,3,36],"298":[5,3,43],"299":[4,3,62],"300":[3,3,37],"301":[2,1,51],"302":[3,2,14],"303":[2,2,1],"304":[3,4,28],"305":[5,2,53],"306":[2,7,75],"307":[2,7,123],"308":[4,7,158],"309":[5,2,205],"310":[3,2,23],"311":[8,1,18],"312":[5,8,20],"313":[4,8,83],"314":[8,8,62],"315":[6,8,54],"316":[4,8,26],"317":[2,8,26],"318":[4,1,80],"319":[1,4,28],"320":[5,4,36],"321":[3,4,25],"322":[2,4,9],"323":[6,4,15],"324":[1,4,68],"325":[1,4,44],"326":[1,4,41],"327":[6,5,108],"328":[4,5,31],"329":[5,5,56],"330":[4,5,72],"331":[8,4,83],"332":[4,10,108],"333":[3,10,74],"334":[4,10,41],"335":[3,1,19],"336":[5,3,38],"337":[6,3,69],"338":[2,3,39],"339":[1,1,1],"340":[4,1,58],"341":[2,4,51],"342":[2,4,89],"343":[3,1,47],"344":[3,3,70],"345":[3,3,110],"346":[7,3,1],"347":[2,10,103],"348":[5,10,96],"349":[3,10,114],"350":[4,3,16],"351":[3,7,25],"352":[5,3,55],"353":[4,8,71],"354":[2,3,73],"355":[4,5,33],"356":[3,3,15],"357":[4,5,49],"358":[3,3,62],"359":[3,6,216],"360":[3,6,285],"361":[3,6,92],"362":[5,3,1],"363":[6,8,72],"364":[5,8,256],"365":[5,8,80],"366":[3,3,23]},"averageFieldLength":[3.869209809264306,5.536784741144413,55.087193460490454],"storedFields":{"0":{"title":"Rollkit Documentation Site","titles":[]},"1":{"title":"Building the site","titles":["Rollkit Documentation Site"]},"2":{"title":"Contribution Guidelines","titles":["Rollkit Documentation Site"]},"3":{"title":"Directory Structure","titles":["Rollkit Documentation Site"]},"4":{"title":"Feedback & Suggestions","titles":["Rollkit Documentation Site"]},"5":{"title":"Blog","titles":[]},"6":{"title":"Table of contents","titles":["Blog"]},"7":{"title":"Rollkit: The First Sovereign Rollup Framework","titles":[]},"8":{"title":"Take Control","titles":["Rollkit: The First Sovereign Rollup Framework"]},"9":{"title":"Build with the Best","titles":["Rollkit: The First Sovereign Rollup Framework"]},"10":{"title":"Optimize for your needs","titles":["Rollkit: The First Sovereign Rollup Framework"]},"11":{"title":"Break Free. Be Sovereign.","titles":["Rollkit: The First Sovereign Rollup Framework"]},"12":{"title":"Sovereign rollups on Bitcoin with Rollkit","titles":[]},"13":{"title":"Tl;dr","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"14":{"title":"Posting data on Bitcoin with Taproot","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"15":{"title":"Integrating Bitcoin as a data availability layer into Rollkit","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"16":{"title":"How Rollkit posts data to Bitcoin","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"17":{"title":"EVM on Bitcoin demo","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"18":{"title":"Conclusion","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"19":{"title":"How to change speed of block production","titles":[]},"20":{"title":"How to Turn Your CometBFT App into a Rollkit App","titles":[]},"21":{"title":"Install Rollkit","titles":["How to Turn Your CometBFT App into a Rollkit App"]},"22":{"title":"Add Rollkit Features to Your CometBFT App","titles":["How to Turn Your CometBFT App into a Rollkit App"]},"23":{"title":"Initialize Rollkit","titles":["How to Turn Your CometBFT App into a Rollkit App"]},"24":{"title":"Initialize Rollkit CLI Configuration","titles":["How to Turn Your CometBFT App into a Rollkit App"]},"25":{"title":"Start Your Rollkit App","titles":["How to Turn Your CometBFT App into a Rollkit App"]},"26":{"title":"Summary","titles":["How to Turn Your CometBFT App into a Rollkit App"]},"27":{"title":"How to create a genesis for your rollup","titles":[]},"28":{"title":"1. Setting variables","titles":["How to create a genesis for your rollup"]},"29":{"title":"2. Ensuring rollkit.toml is present and building entrypoint","titles":["How to create a genesis for your rollup"]},"30":{"title":"3. Resetting existing genesis/chain data","titles":["How to create a genesis for your rollup"]},"31":{"title":"4. Initializing the validator","titles":["How to create a genesis for your rollup"]},"32":{"title":"5. Adding a key to keyring backend","titles":["How to create a genesis for your rollup"]},"33":{"title":"6. Adding a genesis account","titles":["How to create a genesis for your rollup"]},"34":{"title":"7. Setting the staking amount in the genesis transaction","titles":["How to create a genesis for your rollup"]},"35":{"title":"8. Collecting genesis transactions","titles":["How to create a genesis for your rollup"]},"36":{"title":"9. Configuring the genesis file","titles":["How to create a genesis for your rollup"]},"37":{"title":"10. Creating a restart script","titles":["How to create a genesis for your rollup"]},"38":{"title":"11. Starting the chain","titles":["How to create a genesis for your rollup"]},"39":{"title":"Summary","titles":["How to create a genesis for your rollup"]},"40":{"title":"Speed up your development with cw-orchestrator","titles":[]},"41":{"title":"Introduction","titles":["Speed up your development with cw-orchestrator"]},"42":{"title":"Summary","titles":["Speed up your development with cw-orchestrator"]},"43":{"title":"Single Contract Integration","titles":["Speed up your development with cw-orchestrator"]},"44":{"title":"Adding cw-orch to your Cargo.toml file","titles":["Speed up your development with cw-orchestrator","Single Contract Integration"]},"45":{"title":"Creating an Interface","titles":["Speed up your development with cw-orchestrator","Single Contract Integration"]},"46":{"title":"Interaction helpers","titles":["Speed up your development with cw-orchestrator","Single Contract Integration"]},"47":{"title":"Using the integration","titles":["Speed up your development with cw-orchestrator","Single Contract Integration"]},"48":{"title":"Integration in a workspace","titles":["Speed up your development with cw-orchestrator"]},"49":{"title":"Handling dependencies and features","titles":["Speed up your development with cw-orchestrator","Integration in a workspace"]},"50":{"title":"Creating an interface crate","titles":["Speed up your development with cw-orchestrator","Integration in a workspace"]},"51":{"title":"Integrating single contracts","titles":["Speed up your development with cw-orchestrator","Integration in a workspace"]},"52":{"title":"More examples and scripts","titles":["Speed up your development with cw-orchestrator"]},"53":{"title":"How to configure DA chain block syncing time","titles":[]},"54":{"title":"How to configure gas price","titles":[]},"55":{"title":"Rollup Full Node Setup Guide","titles":[]},"56":{"title":"Introduction","titles":["Rollup Full Node Setup Guide"]},"57":{"title":"Prerequisites","titles":["Rollup Full Node Setup Guide"]},"58":{"title":"Setting Up Your Full Node","titles":["Rollup Full Node Setup Guide"]},"59":{"title":"Initialize Chain Config and Copy Genesis File","titles":["Rollup Full Node Setup Guide","Setting Up Your Full Node"]},"60":{"title":"Set Up P2P Connection to Sequencer Node","titles":["Rollup Full Node Setup Guide","Setting Up Your Full Node"]},"61":{"title":"Start the Full Node","titles":["Rollup Full Node Setup Guide","Setting Up Your Full Node"]},"62":{"title":"Verifying Full Node Operation","titles":["Rollup Full Node Setup Guide"]},"63":{"title":"Conclusion","titles":["Rollup Full Node Setup Guide"]},"64":{"title":"How to Use Ignite to Create a Rollkit App","titles":[]},"65":{"title":"Install Ignite","titles":["How to Use Ignite to Create a Rollkit App"]},"66":{"title":"Install Ignite App Rollkit","titles":["How to Use Ignite to Create a Rollkit App"]},"67":{"title":"Add Rollkit Features","titles":["How to Use Ignite to Create a Rollkit App"]},"68":{"title":"Build your chain","titles":["How to Use Ignite to Create a Rollkit App"]},"69":{"title":"Initialize Your Blockchain","titles":["How to Use Ignite to Create a Rollkit App"]},"70":{"title":"Initialize Rollkit CLI Configuration","titles":["How to Use Ignite to Create a Rollkit App","Initialize Your Blockchain"]},"71":{"title":"Start your chain","titles":["How to Use Ignite to Create a Rollkit App"]},"72":{"title":"Summary","titles":["How to Use Ignite to Create a Rollkit App"]},"73":{"title":"IBC connection tutorial","titles":[]},"74":{"title":"💻 Pre-requisites","titles":["IBC connection tutorial"]},"75":{"title":"Software requirements","titles":["IBC connection tutorial","💻 Pre-requisites"]},"76":{"title":"Run a GM rollup chain","titles":["IBC connection tutorial"]},"77":{"title":"Run your local-osmosis-testnet","titles":["IBC connection tutorial"]},"78":{"title":"Install Osmosis binary","titles":["IBC connection tutorial","Run your local-osmosis-testnet"]},"79":{"title":"Run local-osmosis-testnet","titles":["IBC connection tutorial","Run your local-osmosis-testnet"]},"80":{"title":"Funds","titles":["IBC connection tutorial"]},"81":{"title":"Setup relayer, create IBC connection and start relaying packets","titles":["IBC connection tutorial"]},"82":{"title":"Install relayer","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"83":{"title":"Setup relayer config","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"84":{"title":"Create relayer account","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"85":{"title":"Create IBC channel","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"86":{"title":"Start relaying packets","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"87":{"title":"Transfer token from rollup chain to osmosis-local","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"88":{"title":"Transfer token back from osmosis-local to rollup chain","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"89":{"title":"How to Use Lazy Sequencing (Aggregation)","titles":[]},"90":{"title":"How to configure the maximum number of blocks pending DA submission","titles":[]},"91":{"title":"How To Guides","titles":[]},"92":{"title":"💻 Support","titles":["How To Guides"]},"93":{"title":"🔄 How to restart your rollup","titles":[]},"94":{"title":"Restart rollup","titles":["🔄 How to restart your rollup"]},"95":{"title":"Restart rollup after running out of funds","titles":["🔄 How to restart your rollup"]},"96":{"title":"🟠 Errors in this example","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"97":{"title":"💰 Re-fund your account","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"98":{"title":"🛑 Stopping your rollup","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"99":{"title":"⛽ Increase the gas fee","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"100":{"title":"🔁 Restarting your rollup","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"101":{"title":"🛢️ Reduce gas fee & restart again","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"102":{"title":"How to integrate Range with your rollup","titles":[]},"103":{"title":"Overview","titles":["How to integrate Range with your rollup"]},"104":{"title":"Prerequisites","titles":["How to integrate Range with your rollup"]},"105":{"title":"1. Integrate Your Rollup","titles":["How to integrate Range with your rollup","Prerequisites"]},"106":{"title":"Steps","titles":["How to integrate Range with your rollup","Prerequisites","1. Integrate Your Rollup"]},"107":{"title":"2. Add Your Addresses and Contracts","titles":["How to integrate Range with your rollup","Prerequisites"]},"108":{"title":"3. Creating Your First Alert Rule","titles":["How to integrate Range with your rollup","Prerequisites"]},"109":{"title":"How to Use Rollkit CLI","titles":[]},"110":{"title":"1. Installing Rollkit CLI","titles":["How to Use Rollkit CLI"]},"111":{"title":"2. Initializing rollkit.toml","titles":["How to Use Rollkit CLI"]},"112":{"title":"Steps to Generate rollkit.toml:","titles":["How to Use Rollkit CLI","2. Initializing rollkit.toml"]},"113":{"title":"3. Running Rollup Commands Using Rollkit CLI","titles":["How to Use Rollkit CLI"]},"114":{"title":"Example:","titles":["How to Use Rollkit CLI","3. Running Rollup Commands Using Rollkit CLI"]},"115":{"title":"Summary","titles":["How to Use Rollkit CLI"]},"116":{"title":"How to use IBC token (TIA) as gas token in your rollup","titles":[]},"117":{"title":"🌞 Introduction","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"118":{"title":"🛠️ Dependencies","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"119":{"title":"📦 Install Rollkit (CLI)","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"120":{"title":"🌐 Running a Local DA Network","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"121":{"title":"🏗️ Building Your Sovereign Rollup","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"122":{"title":"🛠️ Initialize Rollkit TOML Configuration","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"123":{"title":"🚀 Starting your rollup","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"124":{"title":"✨ Connecting to Celestia Mocha testnet using IBC","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"125":{"title":"💸 Transactions","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"126":{"title":"🎉 Next steps","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"127":{"title":"zkML Rollup Tutorial with Sindri","titles":[]},"128":{"title":"Introduction - Code Once, Verify Anywhere","titles":["zkML Rollup Tutorial with Sindri"]},"129":{"title":"Prerequisites","titles":["zkML Rollup Tutorial with Sindri"]},"130":{"title":"Setting Up the Polaris EVM using Rollkit","titles":["zkML Rollup Tutorial with Sindri","Prerequisites"]},"131":{"title":"Installing the Sindri Python SDK","titles":["zkML Rollup Tutorial with Sindri","Prerequisites"]},"132":{"title":"Deploying and Proving a Cool zkML Circuit to Sindri","titles":["zkML Rollup Tutorial with Sindri"]},"133":{"title":"Clone","titles":["zkML Rollup Tutorial with Sindri","Deploying and Proving a Cool zkML Circuit to Sindri"]},"134":{"title":"Modify","titles":["zkML Rollup Tutorial with Sindri","Deploying and Proving a Cool zkML Circuit to Sindri"]},"135":{"title":"Deploy and Prove your zkML Circuit on Sindri","titles":["zkML Rollup Tutorial with Sindri","Deploying and Proving a Cool zkML Circuit to Sindri"]},"136":{"title":"Deploy Smart Contract Verifier to Rollkit","titles":["zkML Rollup Tutorial with Sindri"]},"137":{"title":"Deploy","titles":["zkML Rollup Tutorial with Sindri","Deploy Smart Contract Verifier to Rollkit"]},"138":{"title":"Interact with the Contract - Verify your zkML Proof On-Chain","titles":["zkML Rollup Tutorial with Sindri"]},"139":{"title":"Congratulations","titles":["zkML Rollup Tutorial with Sindri"]},"140":{"title":"About Rollkit","titles":[]},"141":{"title":"What is Rollkit?","titles":["About Rollkit"]},"142":{"title":"What problems is Rollkit solving?","titles":["About Rollkit"]},"143":{"title":"1. Scalability and customizability","titles":["About Rollkit","What problems is Rollkit solving?"]},"144":{"title":"2. Security and time to market","titles":["About Rollkit","What problems is Rollkit solving?"]},"145":{"title":"Why Rollkit?","titles":["About Rollkit"]},"146":{"title":"How can you use Rollkit?","titles":["About Rollkit"]},"147":{"title":"Rollup with any execution environment","titles":["About Rollkit","How can you use Rollkit?"]},"148":{"title":"Sovereign rollup with Cosmos SDK","titles":["About Rollkit","How can you use Rollkit?"]},"149":{"title":"Build a settlement layer","titles":["About Rollkit","How can you use Rollkit?"]},"150":{"title":"When can you use Rollkit?","titles":["About Rollkit"]},"151":{"title":"🗞️ Building a rollup and testnet deployment","titles":[]},"152":{"title":"1. Beginner","titles":["🗞️ Building a rollup and testnet deployment"]},"153":{"title":"2️. Intermediate","titles":["🗞️ Building a rollup and testnet deployment"]},"154":{"title":"3️. Advanced","titles":["🗞️ Building a rollup and testnet deployment"]},"155":{"title":"💻 Support","titles":["🗞️ Building a rollup and testnet deployment"]},"156":{"title":"Introduction","titles":[]},"157":{"title":"Technical specifications","titles":[]},"158":{"title":"Rollkit stack","titles":[]},"159":{"title":"Application structure","titles":["Rollkit stack"]},"160":{"title":"ABCI interface","titles":["Rollkit stack","Application structure"]},"161":{"title":"Cosmos SDK","titles":["Rollkit stack","Application structure","ABCI interface"]},"162":{"title":"Data availability","titles":["Rollkit stack","Application structure"]},"163":{"title":"Celestia","titles":["Rollkit stack","Application structure","Data availability"]},"164":{"title":"Node components","titles":["Rollkit stack"]},"165":{"title":"Mempool","titles":["Rollkit stack","Node components"]},"166":{"title":"Block manager","titles":["Rollkit stack","Node components"]},"167":{"title":"RPC","titles":["Rollkit stack","Node components"]},"168":{"title":"Parameters","titles":["Rollkit stack","Node components","RPC"]},"169":{"title":"P2P layer","titles":["Rollkit stack","Node components"]},"170":{"title":"Rollkit node types","titles":["Rollkit stack"]},"171":{"title":"Full node","titles":["Rollkit stack","Rollkit node types"]},"172":{"title":"Light node (work in progress)","titles":["Rollkit stack","Rollkit node types"]},"173":{"title":"Sequencer node","titles":["Rollkit stack","Rollkit node types"]},"174":{"title":"State validity modes","titles":["Rollkit stack"]},"175":{"title":"Pessimistic (full nodes only)","titles":["Rollkit stack","State validity modes"]},"176":{"title":"Optimistic (fraud proofs) (work in progress)","titles":["Rollkit stack","State validity modes"]},"177":{"title":"Validity (ZK proofs)","titles":["Rollkit stack","State validity modes"]},"178":{"title":"Transaction flow","titles":[]},"179":{"title":"Transaction submission","titles":["Transaction flow"]},"180":{"title":"Transaction validation and processing","titles":["Transaction flow"]},"181":{"title":"Block processing","titles":["Transaction flow"]},"182":{"title":"Fraud proof gossip and forking","titles":["Transaction flow"]},"183":{"title":"CosmWasm Testnet","titles":[]},"184":{"title":"Details of ROSM testnet","titles":["CosmWasm Testnet"]},"185":{"title":"Add Rosm to Keplr","titles":["CosmWasm Testnet","Details of ROSM testnet"]},"186":{"title":"Quick Start Guide for Artela EVM++ with Rollkit","titles":[]},"187":{"title":"📦 Clone the Artela Rollkit Repository","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"188":{"title":"🛥️ Run with Docker Compose","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"189":{"title":"🔑 Get prefunded test accounts","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"190":{"title":"⚙️ Configuring the Node","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"191":{"title":"🧪 Build on EVM++","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"192":{"title":"📖 More to know","titles":["Quick Start Guide for Artela EVM++ with Rollkit","🧪 Build on EVM++"]},"193":{"title":"💥 Build with examples","titles":["Quick Start Guide for Artela EVM++ with Rollkit","🧪 Build on EVM++"]},"194":{"title":"🛑 Stopping the Node","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"195":{"title":"🎉 Conclusion","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"196":{"title":"Astria Sequencing","titles":[]},"197":{"title":"Based Sequencing","titles":[]},"198":{"title":"Building a Sovereign Rollup with BeaconKit and Rollkit","titles":[]},"199":{"title":"Introduction","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"200":{"title":"Prerequisites","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"201":{"title":"Rollkit","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit","Prerequisites"]},"202":{"title":"Docker","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit","Prerequisites"]},"203":{"title":"Run a local Data Availability (DA) node","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"204":{"title":"Clone the BeaconKit repository","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"205":{"title":"Start the Go Ethereum (Geth) client","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"206":{"title":"Build and run the BeaconKit node","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"207":{"title":"Smart Contract Deployment and Interaction","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"208":{"title":"Conclusion","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"209":{"title":"Next Steps","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"210":{"title":"Troubleshooting","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"211":{"title":"Bitcoin rollup tutorial","titles":[]},"212":{"title":"☀️Introduction","titles":["Bitcoin rollup tutorial"]},"213":{"title":"📖 The stack","titles":["Bitcoin rollup tutorial","☀️Introduction"]},"214":{"title":"💻 Prerequisites","titles":["Bitcoin rollup tutorial"]},"215":{"title":"🛠️ Dependency setup","titles":["Bitcoin rollup tutorial"]},"216":{"title":"🏃 Golang","titles":["Bitcoin rollup tutorial","🛠️ Dependency setup"]},"217":{"title":"⚒️ Foundry","titles":["Bitcoin rollup tutorial","🛠️ Dependency setup"]},"218":{"title":"🪙 Install Bitcoin","titles":["Bitcoin rollup tutorial","🛠️ Dependency setup"]},"219":{"title":"🟢 Running a local Bitcoin network","titles":["Bitcoin rollup tutorial"]},"220":{"title":"👛 Create a wallet for the chain","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network"]},"221":{"title":"🎬 Start generating blocks","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network"]},"222":{"title":"🧊 Block height","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network","🎬 Start generating blocks"]},"223":{"title":"🧊 Block hash","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network","🎬 Start generating blocks"]},"224":{"title":"🧊 Block header","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network","🎬 Start generating blocks"]},"225":{"title":"🎬 Restarting the local network","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network","🎬 Start generating blocks"]},"226":{"title":"🏃‍♀️ Running the Ethermint rollup","titles":["Bitcoin rollup tutorial"]},"227":{"title":"⚡️ Initialize development environment","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"228":{"title":"📒 Updating the contract and tests","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"229":{"title":"📜 Updating the deployment script","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"230":{"title":"🏠 Deploying locally","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"231":{"title":"🧪 Deploying to the Ethermint sovereign rollup","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"232":{"title":"Centralized Sequencer","titles":[]},"233":{"title":"Installation and Use","titles":["Centralized Sequencer"]},"234":{"title":"Using Celestia as DA","titles":[]},"235":{"title":"🌞 Introduction","titles":["Using Celestia as DA"]},"236":{"title":"🪶 Running a Celestia light node","titles":["Using Celestia as DA"]},"237":{"title":"🏗️ Prerequisites","titles":["Using Celestia as DA"]},"238":{"title":"🛠️ Configuring flags for DA","titles":["Using Celestia as DA"]},"239":{"title":"🔥 Running your rollup connected to Celestia light node","titles":["Using Celestia as DA"]},"240":{"title":"🎉 Next steps","titles":["Using Celestia as DA"]},"241":{"title":"Using Avail as DA","titles":[]},"242":{"title":"🌞 Introduction","titles":["Using Avail as DA"]},"243":{"title":"🪶 Running an Avail light node","titles":["Using Avail as DA"]},"244":{"title":"🚀 Using Turing Testnet","titles":["Using Avail as DA","🪶 Running an Avail light node"]},"245":{"title":"🧹 Cleaning previous chain history","titles":["Using Avail as DA"]},"246":{"title":"🏗️ Building your rollup","titles":["Using Avail as DA"]},"247":{"title":"🛠️ Configuring flags for DA","titles":["Using Avail as DA"]},"248":{"title":"🔥 Running your rollup connected to an avail light node","titles":["Using Avail as DA"]},"249":{"title":"🎉 Next steps","titles":["Using Avail as DA"]},"250":{"title":"🗞️ CosmWasm rollup","titles":[]},"251":{"title":"💻 CosmWasm dependency","titles":["🗞️ CosmWasm rollup"]},"252":{"title":"🚀 Starting your rollup","titles":["🗞️ CosmWasm rollup"]},"253":{"title":"📒 Contract deployment on CosmWasm with Rollkit","titles":["🗞️ CosmWasm rollup"]},"254":{"title":"🤖 Compile the smart contract","titles":["🗞️ CosmWasm rollup","📒 Contract deployment on CosmWasm with Rollkit"]},"255":{"title":"🏎️ Optimized smart contract","titles":["🗞️ CosmWasm rollup","📒 Contract deployment on CosmWasm with Rollkit"]},"256":{"title":"🚀 Contract deployment","titles":["🗞️ CosmWasm rollup","📒 Contract deployment on CosmWasm with Rollkit"]},"257":{"title":"🌟 Contract interaction on CosmWasm","titles":["🗞️ CosmWasm rollup"]},"258":{"title":"🔎 Contract querying","titles":["🗞️ CosmWasm rollup","🌟 Contract interaction on CosmWasm"]},"259":{"title":"📃 Contract instantiation","titles":["🗞️ CosmWasm rollup","🌟 Contract interaction on CosmWasm"]},"260":{"title":"📄 Contract interaction","titles":["🗞️ CosmWasm rollup","🌟 Contract interaction on CosmWasm"]},"261":{"title":"Using Local DA","titles":[]},"262":{"title":"Introduction","titles":["Using Local DA"]},"263":{"title":"Setting Up a Local DA Network","titles":["Using Local DA"]},"264":{"title":"Configuring your rollup to connect to the local DA network","titles":["Using Local DA"]},"265":{"title":"Run your rollup","titles":["Using Local DA"]},"266":{"title":"Summary","titles":["Using Local DA"]},"267":{"title":"DA","titles":[]},"268":{"title":"Go DA","titles":["DA"]},"269":{"title":"Mock DA","titles":["DA"]},"270":{"title":"DA Layers","titles":["DA"]},"271":{"title":"Deploying Your Rollup","titles":[]},"272":{"title":"🐳 Docker Compose","titles":[]},"273":{"title":"💻 Pre-requisites","titles":["🐳 Docker Compose"]},"274":{"title":"🛠️ Dependencies","titles":["🐳 Docker Compose"]},"275":{"title":"💻 Docker Compose","titles":["🐳 Docker Compose","🛠️ Dependencies"]},"276":{"title":"🛠️ Setting up your environment","titles":["🐳 Docker Compose"]},"277":{"title":"🐳 Dockerfile","titles":["🐳 Docker Compose","🛠️ Setting up your environment"]},"278":{"title":"🐳 Docker Compose file","titles":["🐳 Docker Compose","🛠️ Setting up your environment"]},"279":{"title":"🚀 Run Wordle chain","titles":["🐳 Docker Compose","🛠️ Setting up your environment"]},"280":{"title":"🚀 Interacting with the chain","titles":["🐳 Docker Compose"]},"281":{"title":"🎉 Next steps","titles":["🐳 Docker Compose"]},"282":{"title":"Smart Contract Interaction on EVM Rollup","titles":[]},"283":{"title":"Install Foundry","titles":["Smart Contract Interaction on EVM Rollup"]},"284":{"title":"Funds","titles":["Smart Contract Interaction on EVM Rollup"]},"285":{"title":"Frontend","titles":["Smart Contract Interaction on EVM Rollup"]},"286":{"title":"Deploy the ooga booga portal contract","titles":["Smart Contract Interaction on EVM Rollup","Frontend"]},"287":{"title":"Interact with the contract","titles":["Smart Contract Interaction on EVM Rollup","Frontend"]},"288":{"title":"Start and update the frontend","titles":["Smart Contract Interaction on EVM Rollup","Frontend"]},"289":{"title":"Interact with the frontend","titles":["Smart Contract Interaction on EVM Rollup","Frontend"]},"290":{"title":"Conclusion","titles":["Smart Contract Interaction on EVM Rollup","Frontend"]},"291":{"title":"Forced Inclusion","titles":[]},"292":{"title":"GM world rollup","titles":[]},"293":{"title":"🌞 Introduction","titles":["GM world rollup"]},"294":{"title":"🛠️ Dependencies","titles":["GM world rollup"]},"295":{"title":"🚀 Starting your rollup","titles":["GM world rollup"]},"296":{"title":"💸 Transactions","titles":["GM world rollup"]},"297":{"title":"⚖️ Checking Balances","titles":["GM world rollup"]},"298":{"title":"📦 GM world UI app","titles":["GM world rollup"]},"299":{"title":"🔗 Connecting your wallet","titles":["GM world rollup"]},"300":{"title":"🎉 Next steps","titles":["GM world rollup"]},"301":{"title":"🟩 Kurtosis","titles":[]},"302":{"title":"💻 Pre-requisites","titles":["🟩 Kurtosis"]},"303":{"title":"🛠️ Dependencies","titles":["🟩 Kurtosis"]},"304":{"title":"💻 Kurtosis CLI","titles":["🟩 Kurtosis","🛠️ Dependencies"]},"305":{"title":"🛠️ Setting up your environment","titles":["🟩 Kurtosis"]},"306":{"title":"🐳 Dockerfile","titles":["🟩 Kurtosis","🛠️ Setting up your environment"]},"307":{"title":"🟢 Kurtosis","titles":["🟩 Kurtosis","🛠️ Setting up your environment"]},"308":{"title":"🚀 Run Wordle chain","titles":["🟩 Kurtosis","🛠️ Setting up your environment"]},"309":{"title":"🚀 Interacting with the chain","titles":["🟩 Kurtosis"]},"310":{"title":"🎉 Next steps","titles":["🟩 Kurtosis"]},"311":{"title":"Quick start guide for Omni Octane with Rollkit","titles":[]},"312":{"title":"📦 Clone the Omni repository","titles":["Quick start guide for Omni Octane with Rollkit"]},"313":{"title":"🏗️ Build Docker images","titles":["Quick start guide for Omni Octane with Rollkit"]},"314":{"title":"🚀 Deploy Omni with Rollkit and local-DA","titles":["Quick start guide for Omni Octane with Rollkit"]},"315":{"title":"🧪 Smart Contract Deployment and Interaction","titles":["Quick start guide for Omni Octane with Rollkit"]},"316":{"title":"🛑 Stopping the node","titles":["Quick start guide for Omni Octane with Rollkit"]},"317":{"title":"🎉 Conclusion","titles":["Quick start guide for Omni Octane with Rollkit"]},"318":{"title":"Polaris EVM and Rollkit","titles":[]},"319":{"title":"Prerequisites","titles":["Polaris EVM and Rollkit"]},"320":{"title":"Run a local-celestia-devnet","titles":["Polaris EVM and Rollkit"]},"321":{"title":"Clone the repo","titles":["Polaris EVM and Rollkit"]},"322":{"title":"Install Foundry","titles":["Polaris EVM and Rollkit"]},"323":{"title":"Start the Polaris EVM using Rollkit","titles":["Polaris EVM and Rollkit"]},"324":{"title":"Congratulations","titles":["Polaris EVM and Rollkit"]},"325":{"title":"Funds","titles":["Polaris EVM and Rollkit"]},"326":{"title":"Frontend","titles":["Polaris EVM and Rollkit"]},"327":{"title":"Deploy the ooga booga portal contract","titles":["Polaris EVM and Rollkit","Frontend"]},"328":{"title":"Interact with the contract","titles":["Polaris EVM and Rollkit","Frontend"]},"329":{"title":"Start and update the frontend","titles":["Polaris EVM and Rollkit","Frontend"]},"330":{"title":"Interact with the frontend","titles":["Polaris EVM and Rollkit","Frontend"]},"331":{"title":"Running Polaris EVM with a Celestia light node","titles":["Polaris EVM and Rollkit"]},"332":{"title":"Start your light node","titles":["Polaris EVM and Rollkit","Running Polaris EVM with a Celestia light node"]},"333":{"title":"Setup Polaris script","titles":["Polaris EVM and Rollkit","Running Polaris EVM with a Celestia light node"]},"334":{"title":"Start the EVM rollup","titles":["Polaris EVM and Rollkit","Running Polaris EVM with a Celestia light node"]},"335":{"title":"Quick start guide","titles":[]},"336":{"title":"📦 Install Rollkit (CLI)","titles":["Quick start guide"]},"337":{"title":"🚀 Run your sovereign rollup node","titles":["Quick start guide"]},"338":{"title":"🎉 Conclusion","titles":["Quick start guide"]},"339":{"title":"Sequencing","titles":[]},"340":{"title":"Rollkit prior to Sequencing","titles":["Sequencing"]},"341":{"title":"Sequencing Interface","titles":["Sequencing","Rollkit prior to Sequencing"]},"342":{"title":"Sequencing Implementations","titles":["Sequencing","Rollkit prior to Sequencing"]},"343":{"title":"🕹️ Wordle app","titles":[]},"344":{"title":"💻 Pre-requisites","titles":["🕹️ Wordle app"]},"345":{"title":"📖 Design implementation","titles":["🕹️ Wordle app"]},"346":{"title":"⛓️ Ignite and scaffolding the wordle chain","titles":["🕹️ Wordle app"]},"347":{"title":"🔥 Ignite","titles":["🕹️ Wordle app","⛓️ Ignite and scaffolding the wordle chain"]},"348":{"title":"⛓️ Scaffolding the wordle chain","titles":["🕹️ Wordle app","⛓️ Ignite and scaffolding the wordle chain"]},"349":{"title":"🗂️ Wordle directory","titles":["🕹️ Wordle app","⛓️ Ignite and scaffolding the wordle chain"]},"350":{"title":"🛠️ Setting up Rollkit","titles":["🕹️ Wordle app"]},"351":{"title":"🗞️ Installing Rollkit","titles":["🕹️ Wordle app","🛠️ Setting up Rollkit"]},"352":{"title":"✨ Creating the wordle module","titles":["🕹️ Wordle app"]},"353":{"title":"🔖 Scaffolding a module","titles":["🕹️ Wordle app","✨ Creating the wordle module"]},"354":{"title":"✉️ Messages","titles":["🕹️ Wordle app"]},"355":{"title":"💬 Scaffolding a message","titles":["🕹️ Wordle app","✉️ Messages"]},"356":{"title":"🎨 Wordle types","titles":["🕹️ Wordle app"]},"357":{"title":"🏗️ Scaffolding wordle types","titles":["🕹️ Wordle app","🎨 Wordle types"]},"358":{"title":"🔐 Keeper functions","titles":["🕹️ Wordle app"]},"359":{"title":"📤 SubmitWordle function","titles":["🕹️ Wordle app","🔐 Keeper functions"]},"360":{"title":"⌛ SubmitGuess function","titles":["🕹️ Wordle app","🔐 Keeper functions"]},"361":{"title":"📦 Protobuf file","titles":["🕹️ Wordle app","🔐 Keeper functions"]},"362":{"title":"⛓️ Run the wordle chain","titles":["🕹️ Wordle app"]},"363":{"title":"🟢 Building and running wordle chain","titles":["🕹️ Wordle app","⛓️ Run the wordle chain"]},"364":{"title":"🚀 Interacting with the chain","titles":["🕹️ Wordle app","⛓️ Run the wordle chain"]},"365":{"title":"🔮 Extending in the future","titles":["🕹️ Wordle app","⛓️ Run the wordle chain"]},"366":{"title":"🎉 Next steps","titles":["🕹️ Wordle app"]}},"dirtCount":0,"index":[["✔",{"2":{"363":2}}],["⌛",{"0":{"360":1}}],["✉️",{"0":{"354":1},"1":{"355":1}}],["⛓️",{"0":{"346":1,"348":1,"362":1},"1":{"347":1,"348":1,"349":1,"363":1,"364":1,"365":1}}],["ã���������$�i��",{"2":{"324":1}}],["�aru��5�",{"2":{"324":1}}],["���",{"2":{"324":1}}],["⚖️",{"0":{"297":1}}],["⠘",{"2":{"286":1,"327":1}}],["⭐",{"2":{"252":1,"295":1,"308":1}}],["\\tjq",{"2":{"277":1}}],["\\tcurl",{"2":{"277":1}}],["\\tca",{"2":{"277":1}}],["\\tcentralized",{"2":{"233":2}}],["\\tbuild",{"2":{"277":1}}],["\\tapt",{"2":{"277":2}}],["\\tauth",{"2":{"233":1}}],["\\tsubmit",{"2":{"268":1}}],["\\tget",{"2":{"268":1}}],["\\t",{"2":{"268":2}}],["\\tpath",{"2":{"233":1}}],["\\tda",{"2":{"233":2}}],["\\ttime",{"2":{"233":1}}],["\\trollup",{"2":{"233":1}}],["\\tlisten",{"2":{"233":1}}],["⠑",{"2":{"228":1,"286":1,"327":1}}],["⠊",{"2":{"228":1}}],["⚒️",{"0":{"217":1}}],["☀️introduction",{"0":{"212":1},"1":{"213":1}}],["🤖",{"0":{"254":1}}],["🧹",{"0":{"245":1}}],["🪶",{"0":{"236":1,"243":1},"1":{"244":1}}],["🧊",{"0":{"222":1,"223":1,"224":1}}],["🪙",{"0":{"218":1}}],["🧢",{"2":{"206":2}}],["🧪",{"0":{"191":1,"231":1,"315":1},"1":{"192":1,"193":1}}],["⚙️",{"0":{"190":1}}],["⚡️",{"0":{"227":1},"2":{"173":2}}],["⏳",{"2":{"173":2}}],["❌",{"2":{"173":4}}],["✅",{"2":{"137":1,"173":9,"286":1,"327":1}}],["⠉",{"2":{"137":1,"286":1,"327":1}}],["⠰",{"2":{"137":1,"228":1}}],["⠆",{"2":{"137":1,"228":1}}],["⠒",{"2":{"137":1,"228":1,"286":1,"327":1}}],["^0",{"2":{"137":1,"228":2,"229":1}}],["zero",{"2":{"128":1,"242":1,"314":1,"316":1}}],["zkml",{"0":{"127":1,"132":1,"135":1,"138":1},"1":{"128":1,"129":1,"130":1,"131":1,"132":1,"133":2,"134":2,"135":2,"136":1,"137":1,"138":1,"139":1},"2":{"91":1,"132":1,"135":1,"136":1,"138":1,"139":1}}],["zk",{"0":{"177":1},"2":{"7":1,"10":2,"128":1,"145":2,"158":1,"177":1}}],["q",{"2":{"124":4,"125":1,"333":1,"364":1}}],["quality",{"2":{"135":1}}],["quot",{"2":{"133":2,"155":2,"168":2,"173":4,"248":2,"287":2,"293":2,"299":2,"313":2,"328":2}}],["queried",{"2":{"223":1}}],["queries",{"2":{"46":1,"158":1,"172":1}}],["query=",{"2":{"260":1}}],["querying",{"0":{"258":1},"2":{"167":1,"364":1}}],["queryresponses",{"2":{"46":1}}],["queryfns",{"2":{"46":2,"49":1}}],["query",{"2":{"45":1,"46":3,"87":2,"88":3,"167":1,"184":3,"224":1,"238":1,"247":1,"258":3,"260":7,"297":3,"364":6}}],["querymsgfns",{"2":{"46":1}}],["querymsg",{"2":{"45":2,"46":3,"49":2}}],["quickly",{"2":{"141":1,"186":1,"311":1}}],["quickstart",{"2":{"131":1}}],["quicker",{"2":{"41":2}}],["quick",{"0":{"186":1,"311":1,"335":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"336":1,"337":1,"338":1},"2":{"19":1,"41":2,"94":1,"95":1,"117":1,"191":1,"201":1,"235":1,"237":1,"262":1,"265":1,"269":1,"293":1,"344":1}}],["✨",{"0":{"124":1,"352":1},"1":{"353":1}}],["🎨",{"0":{"356":1},"1":{"357":1}}],["🌟",{"0":{"257":1},"1":{"258":1,"259":1,"260":1}}],["🏠",{"0":{"230":1}}],["🎬",{"0":{"221":1,"225":1},"1":{"222":1,"223":1,"224":1,"225":1}}],["🏃‍♀️",{"0":{"226":1},"1":{"227":1,"228":1,"229":1,"230":1,"231":1}}],["🏃",{"0":{"216":1}}],["🏎️",{"0":{"255":1},"2":{"206":1}}],["🌲",{"2":{"206":1}}],["🎉",{"0":{"126":1,"195":1,"240":1,"249":1,"281":1,"300":1,"310":1,"317":1,"338":1,"366":1}}],["🏗️",{"0":{"121":1,"237":1,"246":1,"313":1,"357":1},"2":{"206":1}}],["🌐",{"0":{"120":1}}],["🌞",{"0":{"117":1,"235":1,"242":1,"293":1}}],["🎊",{"2":{"101":1,"108":1}}],["⛽",{"0":{"99":1}}],["+x",{"2":{"277":1}}],["+=",{"2":{"228":1,"360":1}}],["+calldata",{"2":{"134":1}}],["+",{"2":{"98":1,"101":1,"123":1,"139":1,"221":1,"360":1}}],["++",{"2":{"19":1,"53":1,"59":1,"89":1,"90":1,"333":1}}],["🔮",{"0":{"365":1}}],["📤",{"0":{"359":1}}],["🔐",{"0":{"358":1},"1":{"359":1,"360":1,"361":1}}],["💬",{"0":{"355":1}}],["🔖",{"0":{"353":1}}],["🗂️",{"0":{"349":1}}],["🕹️",{"0":{"343":1},"1":{"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"351":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1}}],["🟩",{"0":{"301":1},"1":{"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1}}],["🔗",{"0":{"299":1}}],["🐳",{"0":{"272":1,"277":1,"278":1,"306":1},"1":{"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"281":1}}],["📄",{"0":{"260":1}}],["📃",{"0":{"259":1}}],["🔎",{"0":{"258":1}}],["🔥",{"0":{"239":1,"248":1,"347":1}}],["😎",{"2":{"238":1,"332":1}}],["📜",{"0":{"229":1}}],["📒",{"0":{"228":1,"253":1},"1":{"254":1,"255":1,"256":1}}],["👛",{"0":{"220":1}}],["🟢",{"0":{"219":1,"307":1,"363":1},"1":{"220":1,"221":1,"222":1,"223":1,"224":1,"225":1}}],["🚧",{"2":{"206":1}}],["🔆",{"2":{"206":1}}],["🛩️",{"2":{"206":1}}],["📫",{"2":{"206":1}}],["🙈",{"2":{"206":1}}],["💥",{"0":{"193":1}}],["📖",{"0":{"192":1,"213":1,"345":1}}],["👉",{"2":{"191":2}}],["👇",{"2":{"189":1}}],["🔑",{"0":{"189":1}}],["🛥️",{"0":{"188":1}}],["🟡",{"2":{"173":2}}],["🗞️",{"0":{"151":1,"250":1,"351":1},"1":{"152":1,"153":1,"154":1,"155":1,"251":1,"252":1,"253":1,"254":1,"255":1,"256":1,"257":1,"258":1,"259":1,"260":1}}],["💸",{"0":{"125":1,"296":1}}],["🚀",{"0":{"123":1,"244":1,"252":1,"256":1,"279":1,"280":1,"295":1,"308":1,"309":1,"314":1,"337":1,"364":1},"2":{"216":1}}],["📦",{"0":{"119":1,"187":1,"298":1,"312":1,"336":1,"361":1}}],["🛠️",{"0":{"118":1,"122":1,"215":1,"238":1,"247":1,"274":1,"276":1,"294":1,"303":1,"305":1,"350":1},"1":{"216":1,"217":1,"218":1,"275":1,"277":1,"278":1,"279":1,"304":1,"306":1,"307":1,"308":1,"351":1},"2":{"206":1}}],["🛢️",{"0":{"101":1}}],["🔁",{"0":{"100":1}}],["🛑",{"0":{"98":1,"194":1,"316":1}}],["💰",{"0":{"97":1}}],["🟠",{"0":{"96":1}}],["🔄",{"0":{"93":1},"1":{"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1}}],["💻",{"0":{"74":1,"92":1,"155":1,"214":1,"251":1,"273":1,"275":1,"302":1,"304":1,"344":1},"1":{"75":1},"2":{"206":1}}],["≥",{"2":{"75":2}}],["|jq",{"2":{"333":1}}],["||",{"2":{"252":2,"295":2,"308":2}}],["|",{"2":{"65":1,"76":1,"110":1,"118":1,"119":1,"120":1,"121":1,"124":2,"125":2,"203":1,"217":1,"224":1,"238":1,"247":1,"252":1,"256":1,"258":1,"260":1,"263":1,"277":2,"283":1,"295":1,"307":1,"309":1,"322":1,"333":1,"336":1,"344":1,"347":1,"364":1}}],["└──",{"2":{"50":2}}],["├──",{"2":{"50":5}}],["`date",{"2":{"221":1}}],["`nodejs",{"2":{"216":1}}],["```bash",{"2":{"216":4}}],["```",{"2":{"216":5}}],["`",{"2":{"47":1,"221":1}}],["01",{"2":{"359":1,"360":2}}],["01|09",{"2":{"337":6}}],["05",{"2":{"337":6}}],["05bd40e",{"2":{"295":3}}],["03",{"2":{"314":1}}],["036da1ab230a4ce8654358f77cb426ba2f8ef9b81ea06faca32085b0b0d25c2a",{"2":{"184":2}}],["082",{"2":{"337":1}}],["081",{"2":{"337":1}}],["080",{"2":{"337":1}}],["080998z",{"2":{"85":1}}],["080992z",{"2":{"85":1}}],["080924z",{"2":{"85":1}}],["089b9be758464668857fa46c2187bfe3",{"2":{"309":2}}],["0`",{"2":{"216":1}}],["09bdf1e94862",{"2":{"309":1}}],["09",{"2":{"269":1}}],["09am",{"2":{"188":4}}],["09t15",{"2":{"184":2}}],["0xa174e9389633972458e6dce431d84736e0709e9406c1c3b14b5fa9ae0cdd6860",{"2":{"286":1,"327":1}}],["0xa06a4585af436e2271fc9f697488ce49771c6480e72caac76739e286564c0fc3",{"2":{"137":1}}],["0xfffdbb37105441e14b0ee6330d855d8504ff39e705c3afa8f859ac9865f99306",{"2":{"284":1,"325":1}}],["0x123450000000000000000",{"2":{"207":1}}],["0x12345000000000000000000",{"2":{"207":1}}],["0x18df82c7e422a42d47345ed86b0e935e9718ebda",{"2":{"286":1,"327":1}}],["0x18d",{"2":{"191":1}}],["0x0",{"2":{"207":1}}],["0x0000000000000000",{"2":{"207":1}}],["0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",{"2":{"138":1}}],["0x000000",{"2":{"206":1}}],["0x9fcebd70654d360b41ccd123dadaaad6ce13c788",{"2":{"191":1}}],["0x58096aabd3cb58bdef28501bda01b6cf4a37ed0ba482f81462bc1043bb91f996",{"2":{"138":1}}],["0x5c59c83c099f72fce832208f96a23a1e43737a14",{"2":{"137":2,"138":1}}],["0x20f33ce90a13a4b5e7697e3544c3083b8f8a51d4",{"2":{"138":1,"207":1,"284":1,"325":1}}],["0xbbd872d0c37fe889c2456daf80505c20f262b001842d919d06e48c163319af3d",{"2":{"138":1}}],["002",{"2":{"337":2}}],["002924172006823068",{"2":{"137":1}}],["001",{"2":{"337":1}}],["001528707003566983",{"2":{"286":1,"327":1}}],["000001",{"2":{"219":1}}],["000000506f6c61726973",{"2":{"332":1}}],["000000",{"2":{"206":1}}],["00000000000000000000000000000000000000000008e5f679bf7116cb",{"2":{"238":2}}],["0000000000000000000000000000000000000000000000000000000000000000",{"2":{"184":1}}],["000000000000000000000000000000000000b7b24d9321578eb83626",{"2":{"184":1}}],["000000007",{"2":{"137":1,"286":1,"327":1}}],["00",{"2":{"137":3,"252":6,"286":3,"295":8,"308":13,"327":3}}],["069040z",{"2":{"85":1}}],["062667z",{"2":{"85":1}}],["062649z",{"2":{"85":1}}],["078583z",{"2":{"85":1}}],["070389z",{"2":{"85":1}}],["070364z",{"2":{"85":1}}],["07",{"2":{"85":8,"252":5,"295":8,"308":13,"314":1}}],["04",{"2":{"85":5,"184":2,"252":5,"295":8,"308":13}}],["025uwasm",{"2":{"256":1,"259":1,"260":1}}],["025stake",{"2":{"37":1,"38":1,"123":1,"124":1,"248":1}}],["02t11",{"2":{"252":1,"295":8}}],["02ibc",{"2":{"123":1,"125":1}}],["02",{"2":{"85":13,"295":1,"359":1,"360":2}}],["0s",{"2":{"83":2,"124":2,"137":1,"286":1,"327":1}}],["0",{"2":{"37":9,"38":9,"41":1,"44":1,"47":1,"54":1,"60":2,"61":14,"75":2,"76":2,"78":1,"83":2,"85":12,"87":2,"89":1,"90":1,"108":2,"123":9,"124":7,"125":2,"137":4,"138":1,"167":4,"184":6,"216":3,"226":2,"228":5,"230":2,"231":6,"233":4,"244":2,"248":2,"251":1,"252":49,"254":2,"255":1,"256":3,"258":5,"259":3,"260":21,"275":1,"278":8,"280":8,"286":4,"294":1,"295":42,"296":1,"297":2,"301":1,"307":4,"308":5,"309":32,"314":2,"315":2,"319":1,"327":4,"332":3,"340":1,"342":1,"360":1,"364":5}}],["xyz",{"2":{"217":1,"283":1,"322":1}}],["xzf",{"2":{"216":1}}],["x",{"2":{"137":1,"139":1,"260":1,"286":1,"327":1,"331":1,"349":2,"359":2,"360":2,"361":1}}],["x26",{"2":{"36":2,"37":2,"41":1,"45":3,"47":2,"97":2,"120":2,"122":2,"203":2,"204":2,"215":2,"245":2,"246":2,"256":2,"277":6,"288":2,"321":2,"323":2,"326":2,"329":2,"333":2,"359":1,"360":2,"363":2}}],["x3c",{"2":{"25":1,"45":4,"47":1,"89":1,"97":1,"114":5,"135":1,"207":1,"230":2,"231":1,"244":1,"289":1,"315":1,"330":1}}],[">26657",{"2":{"295":1,"309":1}}],[">50051",{"2":{"280":1}}],[">9730",{"2":{"252":1,"295":1,"309":1}}],[">9779",{"2":{"252":1,"295":1,"309":1}}],[">9710",{"2":{"252":1,"295":1,"309":1}}],[">9290",{"2":{"252":1}}],[">8081",{"2":{"252":1,"295":1,"309":1}}],[">7443",{"2":{"252":1,"295":1,"309":1}}],[">7980",{"2":{"252":1,"280":1,"295":1,"309":1}}],[">36656",{"2":{"252":1}}],[">>",{"2":{"37":1,"216":2}}],[">",{"2":{"36":1,"45":2,"47":2,"124":1,"216":2,"252":6,"295":4,"308":4}}],["=nil",{"2":{"360":1}}],["=====================================================",{"2":{"308":2}}],["======================================================",{"2":{"252":2,"295":2}}],["==========================================",{"2":{"252":2,"295":2,"308":2}}],["=========================================",{"2":{"252":2,"295":2,"308":2}}],["==",{"2":{"137":2,"286":2,"327":2,"360":2}}],["=>",{"2":{"124":5,"125":1}}],["=",{"2":{"36":1,"41":1,"44":2,"45":4,"47":8,"50":1,"59":2,"95":1,"112":2,"122":2,"134":8,"228":6,"244":5,"260":4,"307":5,"319":1,"359":15,"360":21,"361":2}}],["~",{"2":{"36":4,"112":1,"137":2,"189":1,"216":4,"227":1,"255":1,"363":1,"364":1}}],["jcstein",{"2":{"326":1}}],["jit",{"2":{"193":1}}],["join",{"2":{"134":1,"192":1,"307":1}}],["journey",{"2":{"41":1}}],["js",{"2":{"123":1,"216":1,"365":1}}],["jsonrpc",{"2":{"184":1,"252":1,"295":2,"307":2,"308":2}}],["json",{"2":{"36":7,"46":1,"59":2,"61":1,"83":2,"124":2,"125":2,"133":1,"134":3,"167":2,"184":2,"191":1,"207":1,"256":1,"258":3,"260":4,"288":3,"329":3,"337":4,"364":3}}],["jump",{"2":{"256":1}}],["jul",{"2":{"252":1,"295":1,"308":1}}],["juno",{"2":{"47":1}}],["just",{"2":{"7":1,"10":1,"81":1,"117":1,"135":1,"139":1,"145":1,"186":1,"233":1,"244":1,"255":1,"278":1,"293":1,"296":1,"305":1,"307":1,"325":1,"331":1}}],["jq",{"2":{"36":3,"121":3,"124":1,"125":2,"201":1,"215":1,"224":1,"238":1,"247":1,"256":1,"258":1,"260":1,"277":1,"333":1,"364":1}}],["9db601efd92b",{"2":{"295":1}}],["9d5c710cd64d031752a7db86e09c8ea8ce4cae4e30878c6d0487c57806060a47",{"2":{"184":2}}],["9731",{"2":{"252":2,"295":2,"309":2}}],["9730",{"2":{"252":1,"295":1,"309":1}}],["9779",{"2":{"252":1,"295":1,"309":1}}],["9711",{"2":{"252":2,"295":2,"309":2}}],["9710",{"2":{"252":1,"295":1,"309":1}}],["974724",{"2":{"137":1}}],["96d04bc472c9",{"2":{"252":1}}],["96d04bc472c9455d88d046128fbdefa6",{"2":{"252":3}}],["90",{"2":{"251":1,"252":2,"294":1,"295":2,"309":2}}],["9090",{"2":{"76":2,"320":2}}],["9545",{"2":{"230":2}}],["93036ms",{"2":{"206":1}}],["9390",{"2":{"61":1}}],["990942dc84ab",{"2":{"295":1}}],["990942dc84ab4b3ab2c8d64002a5bafa",{"2":{"295":3}}],["99957931",{"2":{"297":1}}],["999",{"2":{"259":1}}],["999uwasm",{"2":{"259":1}}],["9999999999999999989995000",{"2":{"124":1}}],["9999999999999999999897679",{"2":{"88":1}}],["99ms",{"2":{"137":1}}],["991rcctqc5l4px95k6tdg4pjrms70m2a9t35rl50t",{"2":{"108":1}}],["991hesf7xgmjwttag2n2wzk43rvxh47nn4ckh3e6s",{"2":{"108":1}}],["9290",{"2":{"37":1,"38":1,"123":1,"252":3,"295":1}}],["9",{"0":{"36":1},"2":{"216":1,"228":2,"252":1,"295":1,"309":1}}],["86f9bfa5b6d2",{"2":{"280":1}}],["80",{"2":{"252":1,"295":1,"309":1}}],["8081",{"2":{"252":1,"295":1,"309":1}}],["80085",{"2":{"137":1}}],["8000",{"2":{"101":1,"244":1,"247":2,"286":1,"314":1,"315":1}}],["8bfee95b49ee",{"2":{"252":1}}],["8cd936e91ada45beab50f0d19be8c57f",{"2":{"252":2}}],["8cd936e91ada",{"2":{"252":1}}],["8kyecn9mzv8ghjspkrde",{"2":{"238":1}}],["8510",{"2":{"228":1}}],["8545",{"2":{"137":1,"191":1,"205":1,"231":3,"286":1,"327":1}}],["8547",{"2":{"61":1}}],["8gb",{"2":{"214":1}}],["842",{"2":{"265":1}}],["846",{"2":{"94":1}}],["845",{"2":{"94":7}}],["8",{"0":{"35":1},"2":{"137":3,"226":1,"228":6,"229":1,"277":1,"286":2,"306":1,"327":2}}],["655",{"2":{"314":1}}],["6510stake",{"2":{"85":1}}],["677caf6c80b85acef6f9ec7906fb3cb021322aac78b015fa07d5112f2f824bff",{"2":{"296":1}}],["67a2c3058e01",{"2":{"280":1}}],["682",{"2":{"286":1,"327":1}}],["62da89015918",{"2":{"252":1}}],["6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d",{"2":{"184":1}}],["64ba6e31fe887d66c6f8f31c7b1a80c7ca179239677b4088bb55f5ea07dbe273",{"2":{"87":1,"88":1}}],["69",{"2":{"85":1}}],["61",{"2":{"85":1}}],["6",{"0":{"33":1},"2":{"76":1,"216":1,"252":2,"255":1,"295":1,"309":14,"320":1,"345":3,"360":5}}],["$wordle",{"2":{"309":3}}],["$name",{"2":{"260":1}}],["$namespace",{"2":{"226":1}}],["$receiver",{"2":{"289":1,"330":1}}],["$register",{"2":{"260":1}}],["$rpc",{"2":{"137":2,"138":2,"230":3,"286":2,"287":2,"289":1,"327":2,"328":2,"330":1}}],["$init",{"2":{"259":1}}],["$da",{"2":{"238":1,"239":3,"247":1,"248":1}}],["$hash",{"2":{"224":2}}],["$home",{"2":{"76":1,"78":1,"82":1,"83":1,"97":1,"121":1,"124":4,"133":1,"136":1,"137":1,"138":1,"203":1,"204":1,"205":1,"206":1,"207":1,"216":5,"245":2,"246":2,"277":1,"285":1,"288":2,"321":1,"323":1,"326":1,"329":2,"332":1,"333":2,"334":1}}],["$flags",{"2":{"223":1,"224":2}}],["$cw",{"2":{"252":2,"256":2}}],["$code",{"2":{"258":2,"259":1,"260":2}}],["$coinbase",{"2":{"221":1}}],["$contract",{"2":{"138":2,"230":2,"231":2,"260":5,"287":2,"328":2}}],["$calldata",{"2":{"138":2}}],["$channel",{"2":{"87":1,"88":1,"124":1}}],["$chain",{"2":{"31":1,"34":1}}],["$tx",{"2":{"125":1,"256":1,"258":1,"364":1}}],["$token",{"2":{"33":1}}],["$auth",{"2":{"238":3,"239":1,"333":1}}],["$anvil",{"2":{"230":2}}],["$account",{"2":{"124":1,"125":2}}],["$address",{"2":{"36":1,"221":1}}],["$gm",{"2":{"88":3,"295":2,"296":1}}],["$osmo",{"2":{"87":2}}],["$private",{"2":{"137":2,"138":2,"231":2,"286":2,"287":1,"289":1,"327":2,"328":1,"330":1}}],["$p2p",{"2":{"61":1}}],["$pubkey",{"2":{"36":1}}],["$pub",{"2":{"36":1}}],["$staking",{"2":{"34":1}}],["$key1",{"2":{"296":1,"297":1}}],["$key2",{"2":{"296":1,"297":1}}],["$key",{"2":{"32":1,"33":1,"34":1}}],["$validator",{"2":{"31":1}}],["$",{"2":{"28":1,"124":3,"125":1,"225":1,"245":1,"255":3,"333":1}}],["364",{"2":{"260":1}}],["36656",{"2":{"37":1,"38":1,"60":1,"252":3}}],["36657",{"2":{"37":1,"38":1,"83":1,"87":1,"88":2,"108":1,"252":5,"256":1,"258":2,"259":1,"260":6}}],["31",{"2":{"252":1,"295":1,"309":1}}],["310493z",{"2":{"85":1}}],["39eb05e1c693",{"2":{"295":1}}],["39",{"2":{"252":6,"308":3}}],["390kb",{"2":{"14":1}}],["3b5a25b",{"2":{"252":1}}],["35",{"2":{"247":1}}],["322264",{"2":{"244":1}}],["38000",{"2":{"244":1}}],["3️",{"0":{"154":1}}],["33pm",{"2":{"62":2}}],["3",{"0":{"30":1,"108":1,"113":1},"1":{"114":1},"2":{"76":2,"129":1,"137":1,"193":1,"228":3,"252":7,"256":1,"259":1,"260":1,"280":3,"286":1,"295":1,"304":1,"307":1,"327":1,"349":1}}],["3000",{"2":{"248":1,"299":1}}],["3000000007",{"2":{"138":1}}],["300397z",{"2":{"85":1}}],["30s",{"2":{"19":1}}],["30",{"2":{"19":1}}],["kv",{"2":{"359":2}}],["k",{"2":{"359":4,"360":6}}],["kurtos",{"2":{"252":1,"295":1,"309":1}}],["kurtosistech",{"2":{"252":2,"295":2,"309":2}}],["kurtosis",{"0":{"301":1,"304":1,"307":1},"1":{"302":1,"303":1,"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1},"2":{"251":3,"252":9,"294":3,"295":9,"299":1,"301":3,"304":2,"305":3,"307":6,"308":5,"309":7,"310":1}}],["kzg",{"2":{"242":1}}],["knowledge",{"2":{"128":1,"195":1,"212":1,"242":1}}],["know",{"0":{"192":1},"2":{"92":1,"155":1,"281":1,"282":1,"310":1}}],["keplr",{"0":{"185":1},"2":{"185":3,"298":1,"299":3}}],["keyfile=",{"2":{"337":1}}],["key2=gm1r2udsh4za7r7sxvzy496qfazvjp04j4zgytve3",{"2":{"296":1}}],["key1=gm17rpwv7lnk96ka00v93rphhvcqqztpn896q0dxx",{"2":{"296":1}}],["keyinfo",{"2":{"189":1}}],["key>",{"2":{"135":1,"230":1}}],["key=0xfffdbb37105441e14b0ee6330d855d8504ff39e705c3afa8f859ac9865f99306",{"2":{"137":1,"286":1,"327":1}}],["key=",{"2":{"135":1,"230":1}}],["key=gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy",{"2":{"87":1}}],["key=osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll",{"2":{"87":1}}],["key=$",{"2":{"36":1,"231":1}}],["keys",{"2":{"32":1,"83":2,"84":3,"87":1,"124":8,"125":1,"193":1,"230":3,"231":1,"296":3}}],["keyring",{"0":{"32":1},"2":{"32":2,"33":1,"34":1,"83":2,"87":1,"97":1,"108":1,"124":5,"125":2,"189":1,"231":1,"256":1,"259":1,"260":1,"296":2,"364":5}}],["key",{"0":{"32":1},"2":{"28":2,"32":1,"36":5,"61":1,"79":2,"80":2,"83":4,"87":5,"88":3,"97":2,"124":7,"125":1,"129":1,"135":1,"137":5,"138":4,"184":1,"189":5,"191":2,"193":1,"230":5,"231":8,"256":1,"258":1,"259":1,"260":3,"284":1,"286":5,"287":2,"289":4,"296":2,"297":2,"325":1,"327":5,"328":2,"330":4,"337":3,"341":1,"345":1,"358":1,"359":1,"364":1}}],["keepers",{"2":{"358":1,"361":1}}],["keeper",{"0":{"358":1},"1":{"359":1,"360":1,"361":1},"2":{"260":2,"358":5,"359":3,"360":3,"361":1}}],["keep",{"2":{"18":1,"54":1,"81":1,"97":1,"138":1,"162":1,"277":1,"352":1}}],["kit",{"2":{"204":2,"205":1,"206":1,"207":1}}],["kickstarted",{"2":{"363":1}}],["kicking",{"2":{"191":1}}],["kicked",{"2":{"14":1}}],["kinds",{"2":{"353":1}}],["kind",{"2":{"10":1}}],["40",{"2":{"308":1}}],["4039stake",{"2":{"108":1}}],["45",{"2":{"295":1}}],["45am",{"2":{"206":25}}],["49dd471ac3bb413d96932d4020c20b21",{"2":{"295":2}}],["49dd471ac3bb",{"2":{"295":1}}],["4980",{"2":{"223":1}}],["41",{"2":{"269":1}}],["43",{"2":{"252":1,"295":2,"308":3}}],["46",{"2":{"295":7,"308":3,"337":6}}],["464427035z",{"2":{"184":2}}],["46656",{"2":{"61":1}}],["46657",{"2":{"61":1,"79":1,"83":1,"87":1,"88":1}}],["48",{"2":{"184":2,"308":1}}],["443mb",{"2":{"277":1,"306":1}}],["443",{"2":{"124":1}}],["42069$ibc",{"2":{"88":1}}],["42069",{"2":{"87":1,"296":1,"297":1}}],["42069stake",{"2":{"87":1,"296":1}}],["4762stake",{"2":{"85":1}}],["47",{"2":{"82":1}}],["4mb",{"2":{"14":1}}],["4",{"0":{"31":1},"2":{"14":1,"82":3,"96":3,"124":11,"214":1,"309":1,"332":3}}],["58",{"2":{"337":6}}],["58pm",{"2":{"324":10}}],["5a969765174a",{"2":{"308":1}}],["5a969765174a47ada0727bd68e087f36",{"2":{"308":1,"309":2}}],["56pm",{"2":{"309":6}}],["56",{"2":{"308":14}}],["5699",{"2":{"137":1}}],["59855",{"2":{"295":1}}],["59s",{"2":{"228":1}}],["5d3533c1ea1c",{"2":{"277":1,"306":1}}],["54",{"2":{"265":1,"308":3}}],["55500",{"2":{"252":1}}],["55pm",{"2":{"60":1,"252":7}}],["5bfeda0a871f",{"2":{"252":1}}],["53",{"2":{"252":5}}],["57pm",{"2":{"309":6}}],["57050",{"2":{"309":1}}],["57",{"2":{"242":1}}],["52s",{"2":{"286":1,"327":1}}],["52",{"2":{"94":8}}],["51",{"2":{"295":2}}],["51pm",{"2":{"96":4}}],["5183",{"2":{"83":1,"124":1}}],["5112",{"2":{"73":1}}],["509569",{"2":{"286":1,"327":1}}],["50051",{"2":{"233":1,"278":3,"280":1}}],["500uosmo",{"2":{"88":1}}],["5000stake",{"2":{"87":1,"108":1,"124":1,"296":1}}],["50",{"2":{"76":1,"184":2,"295":5}}],["5",{"0":{"32":1},"2":{"12":1,"82":1,"83":2,"102":1,"124":3,"252":1,"308":1,"309":2,"359":4,"360":4,"364":1}}],["uwasm",{"2":{"259":2}}],["uuid",{"2":{"252":5,"295":5,"308":5}}],["ui",{"0":{"298":1},"2":{"298":1,"299":1,"365":1}}],["uiiny",{"2":{"184":1}}],["uint256",{"2":{"138":8}}],["uint",{"2":{"90":1}}],["uri",{"2":{"167":1,"244":1}}],["url=http",{"2":{"137":1,"230":1,"286":1,"314":1,"327":1}}],["url",{"2":{"137":5,"138":4,"191":1,"230":7,"231":3,"247":1,"282":1,"286":5,"287":4,"289":2,"315":1,"327":5,"328":4,"330":2}}],["ubuntu",{"2":{"121":1,"214":2}}],["utia",{"2":{"101":1,"123":1}}],["utilizing",{"2":{"140":1}}],["utilization",{"2":{"14":1}}],["utilized",{"2":{"148":1}}],["utilizes",{"2":{"117":1,"293":1}}],["utilize",{"2":{"9":1,"10":1,"148":1,"173":1}}],["utest",{"2":{"87":1}}],["uosmo",{"2":{"87":1}}],["updating",{"0":{"228":1,"229":1}}],["updates",{"2":{"210":1}}],["updates=0",{"2":{"94":2,"123":1,"188":1,"206":1,"252":2,"295":1,"309":3,"324":1,"337":1}}],["updated",{"2":{"166":1,"182":1,"299":1,"342":1,"360":2}}],["update",{"0":{"288":1,"329":1},"2":{"59":1,"176":1,"206":3,"215":2,"216":1,"228":2,"229":1,"277":2,"288":1,"307":1,"318":1,"329":1}}],["upon",{"2":{"124":2,"314":1,"337":1}}],["uploading",{"2":{"295":1,"308":1}}],["uploadable",{"2":{"45":1}}],["upload",{"2":{"41":1,"47":1,"133":2,"135":1,"295":1,"308":1}}],["up",{"0":{"40":1,"58":1,"60":1,"130":1,"263":1,"276":1,"305":1,"350":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"59":1,"60":1,"61":1,"277":1,"278":1,"279":1,"306":1,"307":1,"308":1,"351":1},"2":{"14":1,"19":1,"20":1,"24":1,"27":1,"29":1,"39":1,"42":1,"56":1,"63":1,"70":1,"71":1,"81":1,"95":1,"108":1,"113":1,"120":1,"137":1,"140":1,"166":1,"173":2,"186":1,"188":2,"195":1,"203":1,"208":1,"210":1,"212":2,"213":1,"218":1,"219":1,"220":1,"238":1,"242":1,"252":7,"259":1,"263":1,"266":1,"277":3,"278":1,"279":1,"280":3,"282":1,"295":8,"299":1,"306":2,"307":2,"309":7,"311":1,"314":1,"316":1,"317":1,"318":1,"338":1,"345":1,"348":1,"350":1,"359":2,"360":2}}],["upstream",{"2":{"9":1,"161":1}}],["upgrade",{"2":{"13":1,"14":1,"213":1,"215":2}}],["upgradeable",{"2":{"8":1}}],["upgrades",{"2":{"8":1}}],["unicode",{"2":{"359":2}}],["unified",{"2":{"141":1}}],["undelegating",{"2":{"353":1}}],["underpins",{"2":{"242":1}}],["under",{"2":{"112":2,"172":1,"209":1,"232":1}}],["understanding",{"2":{"117":1,"191":1,"192":1,"212":1,"270":1,"293":2}}],["understand",{"2":{"24":1,"91":1,"111":1,"157":1,"191":1,"271":1,"352":1}}],["unknown",{"2":{"260":3}}],["unpacked",{"2":{"221":1}}],["unstoppable",{"2":{"156":2}}],["unsafe",{"2":{"30":1,"231":1}}],["unlikely",{"2":{"144":1}}],["unlike",{"2":{"117":1,"293":1}}],["unable",{"2":{"95":1}}],["unordered",{"2":{"85":1}}],["until",{"2":{"54":1}}],["unwrapsdkcontext",{"2":{"359":1,"360":1}}],["unwrap",{"2":{"45":1}}],["unwind",{"2":{"8":1}}],["unconstrained",{"2":{"7":1}}],["usr",{"2":{"216":3,"255":1,"277":1}}],["us",{"2":{"92":1,"108":1,"134":1,"155":1,"252":1,"254":1,"258":1,"260":1,"276":1,"295":1,"305":1,"308":1,"347":1,"354":1,"357":1,"358":2,"359":1,"360":2}}],["usage",{"2":{"13":1,"14":1,"45":1,"46":1,"124":1,"213":1}}],["using",{"0":{"47":1,"113":1,"124":1,"130":1,"234":1,"241":1,"244":1,"261":1,"323":1},"1":{"114":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"262":1,"263":1,"264":1,"265":1,"266":1},"2":{"7":2,"13":1,"17":1,"39":1,"41":1,"42":1,"43":1,"45":1,"49":1,"50":1,"51":1,"64":1,"68":1,"71":1,"79":1,"83":1,"85":1,"95":2,"98":1,"109":1,"113":1,"117":2,"121":1,"123":2,"125":1,"128":2,"129":1,"130":1,"138":1,"139":1,"161":1,"162":1,"163":2,"167":1,"169":1,"186":1,"189":1,"195":1,"199":2,"208":1,"212":2,"228":2,"229":1,"233":1,"236":1,"238":3,"239":1,"244":2,"247":1,"250":1,"257":2,"260":1,"262":1,"271":1,"272":1,"280":2,"281":1,"293":1,"295":1,"300":1,"301":1,"309":1,"310":1,"311":1,"313":1,"318":1,"319":1,"331":4,"332":1,"335":1,"338":1,"347":1,"353":1,"359":1,"364":1,"365":2,"366":1}}],["user",{"2":{"182":2,"226":1,"252":1,"295":1,"298":1,"300":1,"308":1,"353":1}}],["users",{"2":{"3":1,"139":1,"145":1,"158":1,"172":2,"178":1,"182":1,"295":1,"308":1,"347":1}}],["useful",{"2":{"45":1,"46":1,"266":1,"338":1}}],["uses",{"2":{"16":1,"62":1,"111":1,"117":1,"118":1,"126":1,"141":1,"143":1,"169":1,"175":1,"184":1,"228":1,"267":1,"318":1,"347":1,"359":1,"360":1}}],["use",{"0":{"64":1,"89":1,"109":1,"116":1,"146":1,"150":1,"233":1},"1":{"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"147":1,"148":1,"149":1},"2":{"5":1,"9":3,"10":1,"12":1,"14":1,"16":1,"24":1,"25":1,"39":1,"44":1,"45":2,"46":1,"47":4,"48":1,"50":2,"52":1,"54":1,"61":1,"67":1,"70":1,"73":2,"76":1,"89":2,"91":5,"140":1,"141":1,"147":2,"160":1,"169":1,"176":1,"178":1,"188":1,"189":1,"191":3,"193":5,"194":1,"207":1,"212":1,"213":1,"216":1,"225":1,"229":1,"230":2,"231":1,"242":1,"250":2,"251":1,"254":1,"256":3,"257":2,"267":1,"269":1,"270":1,"271":1,"276":2,"278":7,"286":1,"289":1,"294":2,"301":1,"305":2,"307":1,"315":2,"316":1,"318":1,"327":1,"330":1,"332":2,"340":1,"343":1,"348":1,"359":1,"360":1,"363":1}}],["used",{"2":{"3":1,"7":1,"9":2,"14":1,"16":1,"17":1,"29":1,"47":2,"49":1,"53":1,"54":2,"62":1,"85":5,"89":1,"90":1,"94":2,"131":1,"138":1,"141":1,"145":1,"146":1,"160":1,"168":1,"169":1,"173":1,"184":2,"191":1,"222":1,"238":1,"248":1,"252":1,"260":2,"267":1,"269":1,"271":1,"278":2,"280":1,"284":1,"295":1,"308":1,"309":2,"318":1,"331":1,"340":1,"356":1,"360":1,"364":1}}],["2e8da9bdf81f",{"2":{"309":1}}],["2b50989f65cd",{"2":{"309":1}}],["27",{"2":{"252":3}}],["2s",{"2":{"233":1}}],["2️",{"0":{"153":1}}],["24ms",{"2":{"228":1}}],["24",{"2":{"85":3,"137":2,"184":1,"345":1}}],["24023uosmo",{"2":{"85":1}}],["29",{"2":{"314":1}}],["296353z",{"2":{"85":1}}],["293348z",{"2":{"85":1}}],["231649",{"2":{"138":2}}],["23",{"2":{"85":1,"275":1}}],["22",{"2":{"85":13,"214":1,"314":1}}],["2006",{"2":{"359":1,"360":2}}],["200000",{"2":{"296":1,"364":1}}],["2061",{"2":{"286":1,"327":1}}],["20b",{"2":{"206":1}}],["2020",{"2":{"252":1,"295":1,"309":1}}],["2024",{"2":{"85":12,"94":8,"184":2,"252":6,"265":1,"269":1,"295":9,"308":14,"337":6}}],["2023",{"2":{"12":1,"14":1}}],["20s",{"2":{"83":2,"124":2}}],["20",{"2":{"83":1,"123":1,"124":1,"137":1,"238":1,"286":2,"314":1,"327":2}}],["259b1278264180a2aefc2085f1b55753849c4815",{"2":{"82":1}}],["26650",{"2":{"320":2,"332":3}}],["26659",{"2":{"76":2,"320":2,"332":2}}],["26658",{"2":{"76":2,"233":1,"238":2,"269":1,"320":2,"332":2}}],["26657",{"2":{"76":2,"123":1,"124":1,"167":2,"295":5,"308":2,"309":1,"320":2}}],["26656",{"2":{"61":1,"123":2,"295":2}}],["2x",{"2":{"54":1}}],["2127672",{"2":{"238":1}}],["21pm",{"2":{"123":24,"295":24}}],["21",{"2":{"44":1,"75":1,"82":1,"319":1}}],["2",{"0":{"29":1,"107":1,"111":1,"144":1},"1":{"112":1},"2":{"7":1,"44":1,"49":1,"54":1,"62":2,"71":1,"75":1,"76":1,"82":3,"124":5,"125":1,"138":9,"184":2,"193":1,"228":1,"252":5,"254":2,"277":1,"280":1,"295":10,"305":1,"308":2,"309":2,"354":1,"361":1,"363":1}}],["1ether",{"2":{"289":1,"330":1}}],["1eb6366a5e16",{"2":{"252":1}}],["17",{"2":{"228":4,"309":1}}],["172",{"2":{"123":1,"252":2,"295":1,"308":1}}],["17|14",{"2":{"94":8}}],["171590",{"2":{"85":1}}],["198f7873bbec",{"2":{"295":1}}],["19",{"2":{"85":1,"95":3,"96":3,"99":1,"216":1,"265":1,"309":2}}],["14",{"2":{"85":1,"301":1,"308":1,"309":2,"340":1,"342":1}}],["18332",{"2":{"226":1}}],["18177uosmo",{"2":{"85":1}}],["18",{"2":{"85":1,"228":1,"286":1,"309":3,"327":1}}],["1594",{"2":{"318":1}}],["15|14",{"2":{"265":1,"269":1}}],["15s",{"2":{"184":1}}],["15utia",{"2":{"124":1}}],["150",{"2":{"124":1}}],["15",{"2":{"85":1,"106":1,"238":1,"247":1,"252":1,"295":9}}],["15t09",{"2":{"85":13}}],["16t14",{"2":{"308":13}}],["1657ab3f1c3942658a3993a0e3b54327",{"2":{"295":2}}],["165662",{"2":{"85":1}}],["167533",{"2":{"260":1}}],["16",{"2":{"216":6,"252":2,"308":2}}],["160",{"2":{"214":1}}],["162",{"2":{"123":1,"295":1}}],["163",{"2":{"123":1,"295":1}}],["1632",{"2":{"73":1}}],["1uosmo",{"2":{"83":1}}],["1utia",{"2":{"54":1}}],["13285",{"2":{"228":1}}],["1317",{"2":{"184":1}}],["1318",{"2":{"61":1}}],["13",{"2":{"76":2,"89":1,"94":4,"137":1,"184":1,"228":2,"229":1,"252":1,"309":2}}],["12345",{"2":{"364":1}}],["123809",{"2":{"260":1}}],["12350",{"2":{"228":1}}],["12d3koowsicdpmmtlf9fjbsshzc9uvp1cbnqkppbyvbgxhvbhauy",{"2":{"123":2,"295":2}}],["12d3koowjbd9tqomsssuyfhhmmgvy3lqcjxyfz8wq92qa6daqtmh",{"2":{"60":2}}],["124972",{"2":{"85":1}}],["126689",{"2":{"85":1}}],["12",{"2":{"85":1,"94":4,"123":23,"228":2,"255":1,"295":24,"320":1,"332":1}}],["127",{"2":{"37":2,"38":2,"60":1,"61":5,"108":1,"123":1,"167":2,"226":1,"230":1,"231":3,"244":1,"252":4,"256":1,"258":2,"259":1,"260":6,"295":3,"308":2,"314":1,"315":1}}],["11t11",{"2":{"252":4}}],["11544",{"2":{"138":1}}],["118",{"2":{"83":2,"124":2}}],["11",{"0":{"38":1},"2":{"184":1,"206":25,"252":2,"265":1,"269":1,"280":1,"295":1}}],["101",{"2":{"137":1,"221":2}}],["10+",{"2":{"129":1}}],["109",{"2":{"123":1,"295":1}}],["10s",{"2":{"83":1,"124":1,"184":1}}],["10",{"0":{"37":1},"2":{"85":1,"94":8,"214":1,"228":3,"229":1,"238":3,"252":1,"295":1,"309":1,"332":2}}],["100uwasm",{"2":{"259":1,"260":1}}],["1000000urosm",{"2":{"184":1}}],["1000000utia",{"2":{"124":1}}],["10000000utia",{"2":{"124":1}}],["10000000stake",{"2":{"124":2}}],["100000000999876914",{"2":{"87":1}}],["100000000000000",{"2":{"87":1}}],["10000000000000000000000000stake",{"2":{"28":1}}],["1000000000stake",{"2":{"28":1}}],["1000000stake",{"2":{"87":1}}],["1000000",{"2":{"83":2,"124":1}}],["100000",{"2":{"83":2}}],["1000",{"2":{"36":1}}],["100ms",{"2":{"19":1}}],["100",{"2":{"19":1,"259":1,"345":1,"359":1,"360":1}}],["1stake",{"2":{"83":1,"125":1,"248":1}}],["1s",{"2":{"19":3}}],["1",{"0":{"28":1,"105":1,"110":1,"143":1,"152":1},"1":{"106":1},"2":{"7":2,"14":1,"18":2,"37":2,"38":2,"41":1,"47":1,"50":2,"54":3,"60":2,"61":5,"75":1,"76":1,"78":1,"83":4,"85":7,"86":1,"87":1,"88":2,"89":1,"108":1,"123":3,"124":5,"137":2,"138":3,"144":2,"145":2,"148":2,"167":2,"184":5,"193":1,"216":2,"221":2,"226":2,"228":2,"230":1,"231":3,"244":2,"251":1,"252":12,"256":2,"258":5,"259":2,"260":9,"275":1,"277":1,"286":3,"294":1,"295":12,"304":2,"308":4,"309":4,"314":1,"315":1,"319":1,"327":3,"345":1,"360":1,"361":1}}],["yml",{"2":{"307":2,"349":1}}],["ymlservices",{"2":{"278":1}}],["yarn",{"2":{"288":2,"329":2}}],["yamlname",{"2":{"307":1}}],["yamlglobal",{"2":{"83":1}}],["yaml",{"2":{"83":1,"124":1,"244":1,"278":2}}],["y",{"2":{"124":1,"125":1,"215":2,"221":1,"256":1,"259":1,"260":1,"277":2,"296":1,"353":1,"355":2,"357":2,"364":6}}],["yearning",{"2":{"308":3}}],["years",{"2":{"7":2,"9":1,"145":1}}],["yes",{"2":{"173":8,"206":1}}],["yellow",{"2":{"124":2,"345":1}}],["yet",{"2":{"18":1,"155":1,"360":1,"364":2}}],["yourself",{"2":{"348":1}}],["yours",{"2":{"224":1}}],["yourrollup",{"2":{"62":1}}],["yourrollupd",{"2":{"59":4}}],["your",{"0":{"10":1,"20":1,"22":1,"25":1,"27":1,"40":1,"44":1,"58":1,"68":1,"69":1,"71":1,"77":1,"93":1,"97":1,"98":1,"100":1,"102":1,"105":1,"107":1,"108":1,"116":1,"121":1,"123":1,"135":1,"138":1,"239":1,"246":1,"248":1,"252":1,"264":1,"265":1,"271":1,"276":1,"295":1,"299":1,"305":1,"332":1,"337":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"59":1,"60":1,"61":1,"70":1,"78":1,"79":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"103":1,"104":1,"105":1,"106":2,"107":1,"108":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"277":1,"278":1,"279":1,"306":1,"307":1,"308":1},"2":{"2":5,"10":1,"11":1,"19":3,"20":2,"21":2,"22":1,"23":1,"24":1,"25":3,"26":2,"27":2,"28":1,"29":2,"39":3,"41":1,"42":2,"44":3,"45":4,"46":1,"47":2,"49":1,"50":5,"52":1,"57":1,"59":1,"61":2,"62":3,"63":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":3,"72":2,"75":1,"79":2,"80":2,"82":1,"85":1,"87":4,"88":1,"89":1,"91":8,"93":1,"94":9,"95":4,"96":1,"97":3,"98":2,"101":2,"103":3,"106":3,"107":2,"108":2,"111":1,"112":2,"115":1,"119":1,"120":1,"121":2,"128":1,"133":1,"135":3,"136":2,"137":9,"138":3,"143":2,"152":1,"160":1,"161":1,"185":1,"188":1,"191":2,"192":1,"199":1,"200":1,"201":1,"202":1,"205":1,"206":1,"207":3,"208":1,"209":3,"210":1,"220":1,"221":2,"222":1,"223":1,"225":1,"226":1,"227":1,"231":1,"235":1,"236":3,"238":10,"239":2,"242":1,"243":1,"244":6,"247":2,"248":2,"256":1,"260":2,"262":3,"263":1,"264":1,"265":2,"266":1,"267":2,"271":5,"273":2,"277":1,"279":2,"280":4,"281":1,"282":1,"286":2,"288":2,"289":4,"290":2,"296":1,"298":3,"299":7,"300":1,"302":2,"307":2,"308":1,"309":3,"310":1,"313":4,"314":3,"315":2,"319":2,"323":1,"325":2,"327":2,"329":2,"330":4,"331":5,"332":4,"333":1,"334":4,"335":1,"336":1,"338":1,"347":3,"348":2,"349":2,"351":1,"360":1,"366":1}}],["you",{"0":{"146":1,"150":1},"1":{"147":1,"148":1,"149":1},"2":{"0":2,"2":1,"4":1,"5":1,"10":1,"11":2,"18":1,"19":4,"20":3,"21":1,"22":1,"23":1,"24":2,"25":1,"26":1,"27":1,"29":2,"31":1,"39":1,"41":7,"44":2,"45":3,"47":2,"48":3,"49":2,"50":2,"51":2,"52":1,"57":1,"62":3,"63":1,"64":1,"65":2,"66":1,"69":1,"70":1,"71":1,"72":1,"76":4,"79":2,"83":1,"84":1,"85":4,"86":1,"89":1,"91":4,"92":1,"93":1,"94":12,"95":6,"96":1,"97":3,"98":1,"99":1,"101":1,"104":3,"106":1,"107":4,"108":2,"109":2,"112":1,"113":3,"114":1,"115":2,"117":1,"121":4,"123":1,"126":1,"128":1,"130":1,"131":1,"133":3,"135":2,"136":1,"138":1,"139":1,"140":3,"143":1,"150":3,"151":2,"155":2,"156":1,"160":1,"161":2,"163":1,"176":1,"182":1,"184":1,"186":1,"188":2,"189":1,"190":2,"191":8,"192":1,"193":1,"195":2,"199":1,"200":2,"205":1,"206":1,"207":2,"208":1,"210":1,"212":2,"216":1,"218":1,"221":2,"223":1,"225":2,"226":2,"227":1,"228":1,"230":2,"231":1,"235":1,"236":3,"238":3,"239":1,"240":1,"242":3,"243":2,"244":2,"245":1,"247":2,"248":1,"249":1,"250":1,"251":2,"252":3,"254":1,"255":1,"256":4,"257":2,"260":3,"262":1,"264":1,"265":1,"266":1,"267":2,"269":3,"270":2,"271":6,"272":2,"273":1,"275":2,"277":3,"279":2,"280":8,"281":1,"282":2,"284":1,"286":1,"288":4,"289":6,"290":2,"293":1,"294":2,"295":3,"296":3,"298":2,"299":1,"300":2,"301":2,"302":1,"304":2,"306":3,"307":2,"308":2,"309":10,"310":1,"311":1,"313":6,"314":1,"315":3,"316":1,"317":2,"319":2,"320":2,"324":1,"325":2,"327":1,"329":4,"330":6,"331":4,"332":4,"333":2,"338":1,"344":3,"345":3,"347":4,"348":4,"349":2,"360":2,"364":13,"365":7,"366":1}}],["74b6708de48e",{"2":{"309":1}}],["7fec3d659452",{"2":{"295":1}}],["735",{"2":{"269":1}}],["775883b14f7f",{"2":{"308":1}}],["775883b14f7f4db393addcebe3afe34d",{"2":{"308":1,"309":2}}],["7700c0b72195",{"2":{"252":1}}],["774628",{"2":{"14":1}}],["782dec73fcf8",{"2":{"252":1}}],["7980",{"2":{"37":1,"38":1,"57":1,"61":1,"120":1,"123":1,"203":1,"210":1,"252":4,"263":1,"265":3,"278":3,"280":1,"295":4,"308":3,"309":1}}],["7x",{"2":{"14":1}}],["7",{"0":{"34":1},"2":{"7":1,"89":2,"184":1,"188":4,"252":1,"280":1,"295":1,"309":1,"324":9}}],["h",{"2":{"221":1,"233":1,"313":1}}],["hub",{"2":{"149":1}}],["hundred",{"2":{"10":1}}],["home",{"2":{"332":1}}],["homebrew",{"2":{"313":1}}],["hold",{"2":{"252":1,"295":1,"309":1}}],["hole",{"2":{"150":1}}],["hours",{"2":{"184":1,"280":1,"295":6,"345":1}}],["honest",{"2":{"176":1}}],["hosted",{"2":{"232":1}}],["host",{"2":{"135":1,"188":1,"190":1,"226":1,"233":2,"244":1,"278":1,"347":1}}],["hopefully",{"2":{"91":1}}],["hood",{"2":{"80":2,"84":2,"232":1}}],["however",{"2":{"123":1,"156":1,"182":2}}],["how",{"0":{"16":1,"19":1,"20":1,"27":1,"53":1,"54":1,"64":1,"89":1,"90":1,"91":1,"93":1,"102":1,"109":1,"116":1,"146":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"92":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"147":1,"148":1,"149":1},"2":{"7":1,"16":3,"18":1,"26":1,"49":1,"52":1,"56":1,"73":2,"89":1,"93":1,"99":1,"102":1,"109":1,"117":1,"118":1,"128":1,"139":1,"148":1,"175":1,"191":1,"192":1,"193":2,"212":5,"236":1,"250":2,"257":1,"271":1,"272":1,"276":1,"281":1,"298":1,"300":1,"301":1,"305":1,"310":1,"325":1,"338":1,"343":1,"344":1,"348":1,"354":1,"357":1,"364":1}}],["https",{"2":{"65":1,"76":2,"78":1,"79":1,"82":1,"110":1,"118":1,"119":1,"120":1,"121":1,"124":2,"133":1,"184":7,"187":1,"191":1,"203":1,"204":1,"216":1,"217":1,"226":1,"233":1,"247":3,"252":1,"263":1,"277":2,"283":1,"285":1,"295":1,"308":1,"312":1,"318":1,"321":1,"322":1,"326":1,"333":1,"336":1,"344":1,"347":1}}],["http",{"2":{"37":1,"38":1,"61":1,"83":2,"123":2,"124":1,"167":4,"191":1,"226":1,"231":3,"233":1,"244":1,"252":6,"256":1,"258":2,"259":1,"260":6,"265":2,"278":1,"295":3,"299":1,"307":1,"308":3,"315":1}}],["hints",{"2":{"345":1}}],["hire",{"2":{"47":1}}],["history",{"0":{"245":1},"2":{"225":1}}],["his",{"2":{"14":1}}],["highlight",{"2":{"345":3}}],["high",{"2":{"8":1,"18":1,"54":1,"73":1,"131":1,"145":2,"156":1,"296":1}}],["happen",{"2":{"349":1}}],["happy",{"2":{"156":1}}],["halts",{"2":{"194":1}}],["halt",{"2":{"182":1}}],["hands",{"2":{"191":1,"207":1,"315":1}}],["handshake",{"2":{"85":5}}],["handful",{"2":{"133":1,"230":1}}],["handles",{"2":{"358":1}}],["handled",{"2":{"165":1}}],["handle",{"2":{"47":2,"121":1,"238":1,"247":1,"354":1}}],["handler",{"2":{"9":1}}],["handling",{"0":{"49":1},"2":{"42":1,"353":1}}],["had",{"2":{"16":1}}],["hasn",{"2":{"360":2}}],["hashing",{"2":{"365":1}}],["hash=f159e11116ec9505fc2c0d97e605357fec0f3dae06b57bfb17ea6a548905043e",{"2":{"364":1}}],["hash=ac959f089c21dc617275e0ab35e77dc3839c9597ecfdecdad6c924ec49b1eb07",{"2":{"324":1}}],["hash=c93d26aee9b611952c8122deb67dbad95b3604f5c9c5dfba95a3e7a4cf0af641",{"2":{"309":1}}],["hash=8c751ba9edcfad7f92e0e940995b0155bdc856070b876373299e7820c32f0b8b",{"2":{"309":2}}],["hash=826541369149f3f8de5a53f5b4174c51975bcc665f0e73b1db69d9206e4f5563",{"2":{"309":2}}],["hash=313f7c52e30b3dee3511d66b3e2c1b2a56df4cde54a90b02ac79678d822b644a",{"2":{"309":1}}],["hash=e09f4a71e216d85f4ccb9fcbcee53d82bca597451c1d4b4fce0e4081b5fa40e3",{"2":{"252":2}}],["hash=e71622a57b08d28613a34e3d7ad36bf294cf5a88f4cdd5dd18e6fb65c76f7209",{"2":{"252":2}}],["hash=e483920a1e1e7e492e47036300003769420813bb13bb3f25cfafdb0df19c144a",{"2":{"188":2}}],["hash=1d7e98aec3085b615c7c71659768fa42e774a87ab5981597e99794d240fb3db5",{"2":{"223":1}}],["hash=004216246ae7750d578035ea1c6cd13330bd91a0c3fdd628f96d514acf691be5",{"2":{"206":2}}],["hash=0x5207a1ff35540dafe70565d3a95ed07f6c9b1ed9114f93c6c47ee0a1c0d4cc2e",{"2":{"324":1}}],["hash=0x314b131b1d4117445091b25240eaf420cdbdcf9f653eabd1d95aa0dab3cd1359",{"2":{"324":1}}],["hash=0x2ff9329ffecc7f395cb72acb9fd81a6085e5d75101ab14b508f6418fbcd7d0b4",{"2":{"206":6}}],["hash=0x88081d5e4c48de2f82464f2c8b4b46df8892fe921e5e9b13113ed2a62081d843",{"2":{"206":7}}],["hash=$",{"2":{"125":1,"256":1}}],["hash=235d3710d61f347dbbbdd6fd63aa7687842d1ef9cb475c712856d7da32f82f09",{"2":{"123":2,"295":2}}],["hash=",{"2":{"94":4,"324":1,"337":1}}],["hash",{"0":{"223":1},"2":{"85":4,"87":1,"88":1,"119":1,"125":1,"137":1,"184":14,"223":3,"224":2,"256":2,"257":1,"258":2,"286":1,"296":1,"327":1,"336":1,"359":3,"360":5,"364":3,"365":1}}],["has",{"2":{"14":2,"16":1,"54":1,"73":1,"80":2,"84":1,"87":1,"88":1,"143":2,"148":1,"161":1,"182":1,"193":1,"206":2,"227":1,"230":1,"231":1,"252":1,"254":1,"260":1,"277":1,"295":1,"318":1,"325":1,"358":1,"359":2,"364":2}}],["having",{"2":{"7":1,"141":1}}],["haven",{"2":{"104":1,"123":1}}],["have",{"2":{"4":1,"7":1,"8":2,"9":1,"12":1,"19":1,"20":1,"57":1,"62":1,"94":1,"104":1,"106":1,"113":1,"131":1,"135":1,"136":1,"139":1,"140":1,"145":1,"163":1,"185":1,"191":3,"195":2,"200":1,"212":2,"226":1,"227":1,"228":1,"235":1,"242":1,"245":1,"252":2,"254":1,"257":1,"260":1,"262":1,"267":1,"269":1,"270":1,"271":1,"273":1,"278":1,"279":1,"282":1,"289":1,"290":1,"295":2,"298":2,"302":1,"307":1,"308":1,"313":2,"319":1,"324":1,"330":1,"344":3,"345":3,"359":1,"360":1,"363":1}}],["hacks",{"2":{"7":1,"8":1}}],["hardhat",{"2":{"348":1}}],["hardcoded",{"2":{"124":1}}],["hard",{"2":{"7":1,"8":1}}],["hello",{"2":{"191":1}}],["helper",{"2":{"271":1,"349":1,"359":1}}],["helpers",{"0":{"46":1},"2":{"42":1,"46":1,"49":1}}],["helps",{"2":{"2":1,"56":1,"115":1,"359":1,"360":1}}],["help",{"2":{"0":1,"3":1,"12":1,"41":1,"91":1,"151":1,"233":1,"251":1,"294":1,"311":1,"347":3,"358":1}}],["hex",{"2":{"189":1,"226":1,"238":1,"287":1,"328":1,"332":1,"359":3,"360":4}}],["height=6",{"2":{"309":4}}],["height=5",{"2":{"309":2}}],["height=$",{"2":{"238":1,"247":1,"333":2}}],["height=41",{"2":{"206":1}}],["height=40",{"2":{"206":4}}],["height=4",{"2":{"188":1}}],["height=39",{"2":{"206":1}}],["height=3",{"2":{"188":3}}],["height=included",{"2":{"167":1}}],["height=223",{"2":{"337":2}}],["height=22",{"2":{"123":4,"295":4}}],["height=28126",{"2":{"96":1}}],["height=8",{"2":{"94":4,"309":2}}],["height=7",{"2":{"94":4,"309":4}}],["height=12",{"2":{"324":3}}],["height=11",{"2":{"324":4}}],["height=138",{"2":{"252":3}}],["height=137",{"2":{"252":4}}],["height=1",{"2":{"62":1,"167":1,"184":1}}],["height",{"0":{"222":1},"2":{"85":4,"94":1,"162":2,"166":1,"167":1,"168":4,"184":2,"222":1,"223":1,"224":2,"226":1,"238":6,"239":2,"247":6,"248":2,"260":1,"296":1,"333":4,"364":2}}],["health",{"2":{"167":1}}],["healthy",{"2":{"12":1}}],["header",{"0":{"224":1},"2":{"184":1,"224":2,"238":2,"247":1,"333":3,"342":1}}],["headerinch",{"2":{"166":1}}],["headers",{"2":{"158":1,"166":2,"167":1,"169":1,"172":1,"176":2,"178":1}}],["head",{"2":{"107":1,"150":1,"206":3,"238":1,"333":1}}],["hear",{"2":{"11":1}}],["here>",{"2":{"244":1}}],["here",{"2":{"0":1,"5":1,"18":1,"19":1,"28":1,"37":1,"50":1,"65":1,"79":1,"91":1,"118":1,"129":1,"132":1,"133":1,"156":1,"178":1,"182":1,"185":1,"188":1,"228":2,"231":1,"239":1,"244":1,"247":1,"250":1,"251":1,"259":1,"272":1,"275":1,"284":1,"294":1,"301":1,"304":1,"305":1,"347":1,"349":1,"355":1,"357":1,"358":1,"359":1,"360":1,"361":2,"364":1,"365":3}}],["vue",{"2":{"349":2,"365":1}}],["v",{"2":{"255":1,"332":1}}],["vv",{"2":{"228":1}}],["v1beta1",{"2":{"184":2,"296":1}}],["v1",{"2":{"85":8,"247":2,"318":1}}],["v2",{"2":{"82":1,"124":1,"275":1,"318":1}}],["v21",{"2":{"78":1}}],["v28",{"2":{"75":1,"76":2}}],["v0",{"2":{"76":3,"82":1,"89":2,"184":1,"252":6,"254":2,"295":4,"301":1,"307":1,"308":2,"309":1,"320":1,"332":1,"340":1,"342":1}}],["vesting",{"2":{"353":1}}],["vector",{"2":{"252":1,"295":1,"309":1}}],["venue",{"2":{"47":1}}],["verified",{"2":{"138":1,"139":1}}],["verifierscript",{"2":{"137":3}}],["verifier",{"0":{"136":1},"1":{"137":1},"2":{"128":1,"134":10,"135":3,"137":12,"138":1,"206":2}}],["verification",{"2":{"128":1,"206":1}}],["verifiable",{"2":{"128":2,"139":1}}],["verifybatch",{"2":{"341":2}}],["verifyfraudproof",{"2":{"176":1}}],["verifyproof",{"2":{"138":2}}],["verifying",{"0":{"62":1},"2":{"135":1}}],["verify",{"0":{"128":1,"138":1},"2":{"8":2,"73":1,"80":2,"82":1,"84":2,"119":1,"124":2,"125":1,"128":1,"136":1,"138":1,"145":2,"149":1,"158":2,"166":2,"171":2,"176":1,"206":2,"210":1,"251":1,"252":1,"275":1,"294":1,"295":1,"304":1,"309":1,"336":1,"364":1}}],["very",{"2":{"46":1,"134":1,"268":1}}],["version",{"2":{"44":2,"73":1,"75":2,"82":3,"85":1,"110":1,"119":3,"124":1,"161":1,"184":2,"216":1,"218":2,"228":1,"251":3,"275":2,"294":3,"304":3,"318":2,"319":1,"336":3,"348":1}}],["ve",{"2":{"19":1,"26":1,"63":1,"72":1,"91":1,"101":1,"107":1,"108":1,"124":1,"126":1,"139":1,"208":1,"229":1,"231":1,"240":1,"249":1,"271":1,"300":1,"317":1,"366":1}}],["visit",{"2":{"210":1}}],["visiting",{"2":{"140":1,"331":1}}],["view",{"2":{"138":1,"184":1,"228":2,"239":1,"248":1,"334":1}}],["vital",{"2":{"124":2}}],["vitepress",{"2":{"1":1}}],["virtual",{"2":{"10":1,"147":1,"199":1,"318":1}}],["viable",{"2":{"14":1}}],["via",{"2":{"8":2,"9":2,"151":1,"163":1,"165":1,"175":1,"233":1,"252":1,"280":1,"296":1,"307":1,"308":1,"309":1,"340":1,"342":1,"365":1}}],["vm",{"2":{"7":2,"137":2,"186":2,"229":2}}],["varying",{"2":{"353":1}}],["var",{"2":{"47":1,"359":6,"360":10}}],["various",{"2":{"209":1,"271":2,"342":1}}],["variable",{"2":{"60":1,"61":1,"135":1,"138":1,"222":1,"223":1,"230":2,"231":1,"257":1}}],["variables",{"0":{"28":1},"2":{"28":1,"87":1,"226":1,"256":3}}],["variant",{"2":{"46":1}}],["variety",{"2":{"5":1}}],["valuable",{"2":{"144":1}}],["values",{"2":{"238":1,"357":1}}],["value",{"2":{"4":1,"46":1,"83":2,"124":2,"133":1,"228":9,"238":1,"247":1,"258":2,"289":1,"330":1,"358":1,"360":1,"364":1}}],["val",{"2":{"94":2,"123":1,"188":1,"206":1,"252":2,"295":1,"309":3,"324":1,"337":1}}],["valid",{"2":{"182":2}}],["validating",{"2":{"352":1}}],["validation",{"0":{"180":1}}],["validates",{"2":{"341":1}}],["validate",{"2":{"56":1,"182":1}}],["validators",{"2":{"8":2,"36":1,"144":2,"184":2}}],["validator",{"0":{"31":1},"2":{"7":1,"8":1,"10":1,"31":1,"36":2,"39":1,"144":1,"145":1,"184":1,"337":3}}],["validity",{"0":{"174":1,"177":1},"1":{"175":1,"176":1,"177":1},"2":{"10":1,"155":1,"171":1,"172":1,"175":1,"177":1,"182":1}}],["e2e",{"2":{"333":1}}],["eyjbbgxvdyi6wyjwdwjsawmilcjyzwfkiiwid3jpdguixx0",{"2":{"238":1}}],["eyjhbgcioijiuzi1niisinr5cci6ikpxvcj9",{"2":{"238":1}}],["eye",{"2":{"81":1}}],["emit",{"2":{"228":3}}],["empty",{"2":{"45":1,"83":1,"89":1,"359":2,"361":1}}],["empty>>",{"2":{"45":1}}],["empower",{"2":{"8":1,"141":1}}],["ephemeral",{"2":{"205":1,"206":1}}],["eoa",{"2":{"193":1}}],["e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"2":{"184":4}}],["etc",{"2":{"158":1}}],["eth1",{"2":{"206":7}}],["eth",{"2":{"137":1,"207":1,"231":1,"284":1,"286":1,"289":1,"327":1,"330":1}}],["ethermintd",{"2":{"231":1}}],["ethermint",{"0":{"226":1,"231":1},"1":{"227":1,"228":1,"229":1,"230":1,"231":1},"2":{"17":1,"226":5,"227":3,"231":4}}],["ethereum",{"0":{"205":1},"2":{"7":2,"8":1,"14":1,"199":1,"205":1,"289":1,"318":1,"330":1}}],["escrow",{"2":{"359":1}}],["estimate",{"2":{"260":1}}],["establish",{"2":{"124":1,"247":1}}],["essentially",{"2":{"338":1}}],["essentials",{"2":{"191":1}}],["essential",{"2":{"157":1,"162":1,"192":1,"202":1,"215":2,"277":1}}],["e",{"2":{"155":1,"173":1,"184":1,"238":4,"247":1,"332":2,"340":1}}],["either",{"2":{"124":2,"229":1,"332":1}}],["ed0233f8291d",{"2":{"295":1}}],["ed0233f8291d4a42bdd0e173393af809",{"2":{"295":3}}],["edt",{"2":{"252":1,"295":1,"308":1}}],["edge",{"2":{"242":1}}],["educational",{"2":{"120":1,"271":1}}],["editor",{"2":{"83":1}}],["edit",{"2":{"76":1,"122":1}}],["efficient",{"2":{"212":1}}],["efficiently",{"2":{"115":1}}],["effect",{"2":{"144":1}}],["effectivegasprice",{"2":{"138":1}}],["effectively",{"2":{"91":1,"193":1}}],["errinvalidrequest",{"2":{"359":3,"360":4}}],["err",{"2":{"96":3,"359":3,"360":6}}],["errtxinmempoolcache",{"2":{"95":2}}],["error=",{"2":{"96":3}}],["errors",{"0":{"96":1},"2":{"96":1,"121":1,"256":1,"359":5,"360":6,"364":2}}],["error",{"2":{"62":1,"95":6,"99":1,"210":1,"260":3,"268":3,"341":1,"359":1,"360":1,"361":2,"364":3}}],["eric",{"2":{"14":1}}],["else",{"2":{"41":1,"359":1,"360":2}}],["eliminates",{"2":{"145":1}}],["eliminate",{"2":{"10":1}}],["equality",{"2":{"228":1}}],["eq",{"2":{"41":1,"47":1}}],["economic",{"2":{"145":1}}],["ecosystem",{"2":{"7":1,"14":1,"242":1,"250":1}}],["echo",{"2":{"37":1,"124":1,"216":2,"221":2,"238":4,"247":1,"252":1,"256":1,"258":1,"260":1,"295":1,"309":1}}],["evidence",{"2":{"184":3}}],["evm++",{"0":{"186":1,"191":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":2,"193":2,"194":1,"195":1},"2":{"186":2,"191":3,"195":3}}],["evm",{"0":{"17":1,"130":1,"282":1,"318":1,"323":1,"331":1,"334":1},"1":{"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":2,"333":2,"334":2},"2":{"12":1,"13":1,"17":2,"62":2,"91":1,"129":1,"130":2,"136":1,"137":3,"138":1,"151":1,"186":1,"189":1,"199":2,"205":1,"207":1,"212":1,"226":1,"282":2,"285":1,"286":3,"290":2,"314":4,"315":1,"318":4,"319":1,"320":1,"324":3,"326":1,"327":2,"348":1}}],["ever",{"2":{"10":1,"14":1}}],["everyone",{"2":{"359":1}}],["everyday",{"2":{"145":1}}],["everybody",{"2":{"41":1}}],["everything",{"2":{"25":1,"61":1,"348":1}}],["every",{"2":{"2":1,"108":1,"143":1,"184":1,"221":3,"340":1,"345":2,"360":1,"365":1}}],["eventual",{"2":{"173":2}}],["eventually",{"2":{"54":1}}],["eventbus",{"2":{"123":1,"295":1}}],["events",{"2":{"94":2,"108":2,"123":1,"188":1,"206":2,"252":1,"258":1,"260":1,"295":1,"309":3,"324":1,"364":2}}],["event",{"2":{"85":1}}],["even",{"2":{"10":1,"19":1,"89":1,"145":1,"146":1,"342":1,"364":1}}],["early",{"2":{"12":1,"13":1,"15":1,"18":1,"124":2}}],["each",{"2":{"7":1,"46":1,"81":2,"84":2,"162":1,"238":1,"247":1,"268":1,"349":1,"352":2,"354":1,"357":1,"358":2,"360":1}}],["easiest",{"2":{"335":1}}],["easier",{"2":{"91":1,"145":1,"271":1}}],["easily",{"2":{"14":1,"140":1,"156":1}}],["ease",{"2":{"7":1,"278":3}}],["easy",{"2":{"7":1,"18":1,"41":1,"141":1,"145":1,"213":2,"348":1,"352":1}}],["exit",{"2":{"280":1,"309":1}}],["exist",{"2":{"277":1,"352":1}}],["exists",{"2":{"95":2,"360":1}}],["existing",{"0":{"30":1},"2":{"8":1,"19":2,"20":1,"22":1,"30":1,"53":2,"54":1,"89":2,"90":2,"147":1,"148":1,"246":1}}],["exercise",{"2":{"224":1}}],["exec",{"2":{"189":1,"190":1,"256":1,"280":1,"296":1,"309":1,"333":1}}],["executable",{"2":{"277":2}}],["executing",{"2":{"108":1,"113":1,"117":1,"173":1,"293":1,"295":2,"308":2}}],["execution",{"0":{"147":1},"2":{"7":1,"8":1,"12":1,"15":2,"17":1,"18":1,"26":1,"62":1,"138":1,"143":1,"145":1,"149":1,"150":1,"186":2,"205":1,"212":2,"213":2,"271":1,"314":1,"337":1}}],["executed",{"2":{"94":2,"123":1,"145":1,"188":1,"206":1,"252":2,"295":1,"309":3,"324":1}}],["executefns",{"2":{"46":2,"49":1}}],["execute",{"2":{"45":1,"46":1,"49":1,"110":1,"118":1,"155":1,"158":1,"176":1,"215":1,"260":3,"314":1,"337":1,"342":1}}],["executemsgfns",{"2":{"46":1}}],["executemsg",{"2":{"45":2,"46":3,"49":2}}],["extended",{"2":{"365":1}}],["extending",{"0":{"365":1}}],["extend",{"2":{"193":1,"343":1,"345":1,"364":1}}],["extensions",{"2":{"186":2}}],["extension",{"2":{"83":2,"124":2,"185":1,"186":1,"260":1,"296":2,"298":1,"364":2}}],["external",{"2":{"8":1,"289":1,"330":1}}],["extra",{"2":{"83":2,"124":2}}],["exotic",{"2":{"80":2,"84":2}}],["examples",{"0":{"52":1,"193":1},"2":{"42":1,"52":2,"193":1,"271":2,"365":1}}],["example",{"0":{"96":1,"114":1},"2":{"19":2,"28":1,"41":1,"43":1,"46":1,"48":1,"52":2,"53":1,"89":1,"90":1,"94":2,"95":2,"108":1,"112":1,"137":2,"163":1,"184":3,"193":3,"227":1,"228":1,"239":1,"244":1,"247":1,"280":1,"308":4,"309":1,"342":1,"344":1,"364":1,"365":1}}],["exposes",{"2":{"141":1,"353":1}}],["export",{"2":{"45":1,"46":1,"121":1,"135":1,"137":2,"216":2,"231":2,"286":3,"296":2,"327":3}}],["explain",{"2":{"360":1}}],["explaining",{"2":{"139":1}}],["exploring",{"2":{"250":1,"300":1}}],["exploration",{"2":{"117":1}}],["explorer",{"2":{"107":1,"138":1,"184":2,"334":1}}],["explorers",{"2":{"9":1,"239":2}}],["explore",{"2":{"52":1,"92":1,"102":1,"103":1,"155":1,"212":1,"270":1,"338":1,"366":1}}],["expecting",{"2":{"318":1}}],["expected",{"2":{"260":1,"361":1}}],["experienced",{"2":{"300":1}}],["experience",{"2":{"191":1,"207":1,"256":1,"315":1,"344":1}}],["experimentation",{"2":{"141":1,"148":1}}],["experiment",{"2":{"19":1,"147":1,"209":1,"317":1}}],["expertise",{"2":{"144":1}}],["expensive",{"2":{"8":1,"139":1}}],["expanded",{"2":{"186":1}}],["expand",{"2":{"12":1}}],["excessively",{"2":{"8":1}}],["exciting",{"2":{"6":1,"150":1}}],["enclave",{"2":{"252":3,"295":3,"305":1,"308":3}}],["encodetostring",{"2":{"359":2,"360":3}}],["encoded",{"2":{"46":1,"287":1,"328":1}}],["encoding",{"2":{"359":1,"360":1}}],["encourage",{"2":{"349":1}}],["encountered",{"2":{"145":1}}],["encounter",{"2":{"95":1,"210":1,"313":1}}],["enough",{"2":{"244":1}}],["engine",{"2":{"206":5,"251":2,"252":2,"294":2,"295":2,"304":2,"308":2,"309":2}}],["entries",{"2":{"337":1}}],["entry",{"2":{"111":1,"144":1,"360":5}}],["entrypoint",{"0":{"29":1},"2":{"29":2,"112":3,"189":1,"277":9,"333":1}}],["enter",{"2":{"280":1,"296":1,"309":1,"349":1}}],["entering",{"2":{"189":1,"280":1,"309":1}}],["enjoy",{"2":{"145":1}}],["enhance",{"2":{"67":1,"192":1}}],["enhanced",{"2":{"20":1,"161":1,"186":1}}],["env`",{"2":{"47":1}}],["env",{"2":{"47":2}}],["environments",{"2":{"12":1,"18":1,"138":1,"145":1,"212":1,"213":2}}],["environment",{"0":{"147":1,"227":1,"276":1,"305":1},"1":{"277":1,"278":1,"279":1,"306":1,"307":1,"308":1},"2":{"7":1,"41":1,"60":1,"61":1,"76":1,"135":1,"137":1,"138":1,"143":1,"194":1,"212":1,"227":1,"230":2,"257":1,"266":1,"271":2,"277":3,"280":1,"299":1,"306":2,"316":1,"345":1}}],["enum",{"2":{"46":2}}],["endpoint",{"2":{"106":1,"184":1,"230":1,"247":1}}],["end",{"2":{"41":1,"85":1,"117":1,"139":1,"212":1,"293":1,"324":1,"345":1,"365":1}}],["ensuring",{"0":{"29":1},"2":{"128":1,"265":1,"365":1}}],["ensures",{"2":{"54":1,"242":1,"278":1,"360":1}}],["ensure",{"2":{"2":1,"29":2,"57":1,"84":1,"94":1,"113":1,"121":1,"188":1,"200":1,"210":1,"235":1,"242":1,"262":1,"277":1,"333":1,"359":2,"360":1,"364":1}}],["enshrine",{"2":{"9":1}}],["enshrined",{"2":{"7":2,"8":2}}],["enable",{"2":{"124":1,"128":1,"162":1,"176":1}}],["enabled",{"2":{"14":1,"25":1,"117":1,"161":1,"176":1}}],["enables",{"2":{"7":1,"9":1,"145":1,"169":1,"186":1,"195":1}}],["enabling",{"2":{"7":1,"12":1,"46":1,"188":1,"213":1,"242":1}}],["enforce",{"2":{"7":1}}],["pwd",{"2":{"255":2}}],["pseudo",{"2":{"353":1}}],["psprovider",{"2":{"313":1}}],["psdrive",{"2":{"313":1}}],["ps",{"2":{"252":2,"280":1,"295":2,"309":2,"333":1}}],["pkg",{"2":{"215":1}}],["py",{"2":{"134":1,"135":2}}],["python",{"0":{"131":1},"2":{"129":2,"131":3,"134":1,"307":1}}],["p",{"2":{"76":4,"124":1,"320":5,"332":3}}],["peers",{"2":{"169":1}}],["peer",{"2":{"169":1}}],["person",{"2":{"357":1,"360":1}}],["perspective",{"2":{"235":1,"296":1}}],["persistence",{"2":{"301":1}}],["persist",{"2":{"233":1}}],["perform",{"2":{"230":1,"231":1}}],["performance",{"2":{"209":2}}],["perfect",{"2":{"144":1}}],["per",{"2":{"166":2,"345":1,"359":2,"360":1}}],["periods",{"2":{"54":1}}],["pending",{"0":{"90":1},"2":{"90":4,"91":1}}],["pessimistic",{"0":{"175":1},"2":{"10":1,"155":1,"175":3}}],["pip",{"2":{"131":1}}],["pipe",{"2":{"47":1}}],["piece",{"2":{"14":1,"358":1}}],["p2p",{"0":{"60":1,"169":1},"2":{"37":1,"38":1,"60":4,"61":3,"97":1,"123":3,"169":2,"176":2,"178":1,"182":1,"238":2,"252":1,"295":3,"331":1,"332":2}}],["plaintext",{"2":{"365":1}}],["plain",{"2":{"189":1}}],["plan",{"2":{"307":4}}],["planned",{"2":{"173":3,"177":1}}],["plans",{"2":{"173":1}}],["placed",{"2":{"145":1,"221":2}}],["place",{"2":{"81":1,"182":1,"255":1,"347":1}}],["platform",{"2":{"76":1,"102":1,"149":1,"250":1,"320":1}}],["played",{"2":{"191":1}}],["play",{"2":{"18":1}}],["plus",{"2":{"48":1,"50":1,"143":1}}],["plugin",{"2":{"216":1}}],["pluggable",{"2":{"173":1}}],["plugged",{"2":{"162":1}}],["plug",{"2":{"15":1}}],["please",{"2":{"2":1,"4":1,"26":1,"92":1,"112":1,"132":1,"155":1,"191":1}}],["panic",{"2":{"360":1}}],["particular",{"2":{"353":1}}],["part",{"2":{"345":1,"348":1}}],["party",{"2":{"342":1}}],["parts",{"2":{"184":3}}],["parent",{"2":{"206":4}}],["paradigm",{"2":{"217":1,"283":1,"322":1}}],["parameter",{"2":{"167":1,"355":1}}],["parameters",{"0":{"168":1},"2":{"24":1,"190":1}}],["paragraph",{"2":{"48":1}}],["paid",{"2":{"137":1,"286":1,"327":1}}],["pagination",{"2":{"87":1,"88":1,"124":1,"258":1,"260":2,"297":2}}],["page",{"2":{"41":1,"140":1,"158":1,"299":1}}],["packets",{"0":{"81":1,"86":1},"1":{"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1}}],["packages",{"2":{"50":2,"215":1}}],["package",{"2":{"16":3,"49":1,"50":2,"131":1,"163":1,"170":1,"295":3,"305":1,"307":6,"308":5,"349":1}}],["passes",{"2":{"354":2}}],["passed",{"2":{"228":1,"295":1,"308":1,"348":1,"359":1}}],["pass",{"2":{"226":1,"228":3,"264":1}}],["passwd",{"2":{"189":1}}],["passing",{"2":{"14":2,"81":1,"355":1}}],["paste",{"2":{"244":2}}],["past",{"2":{"8":1,"9":1}}],["paying",{"2":{"144":1}}],["payer",{"2":{"85":4,"296":1,"364":1}}],["payload",{"2":{"14":1,"206":10}}],["pay",{"2":{"10":1}}],["paves",{"2":{"8":1}}],["path=",{"2":{"337":2}}],["path=$path",{"2":{"121":1,"216":2}}],["paths",{"2":{"81":2,"83":1,"85":1,"124":1}}],["path",{"2":{"7":1,"8":1,"45":2,"47":1,"50":2,"85":6,"121":1,"124":1,"216":1,"217":1,"233":1,"313":1}}],["pops",{"2":{"332":1,"333":1}}],["popular",{"2":{"9":1,"343":1}}],["polynomial",{"2":{"242":1}}],["polaris",{"0":{"130":1,"318":1,"323":1,"331":1,"333":1},"1":{"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":2,"333":2,"334":2},"2":{"130":2,"136":1,"137":3,"318":5,"319":1,"320":1,"321":3,"323":1,"324":1,"325":1,"326":3,"327":1,"331":1,"333":3,"334":2}}],["point",{"2":{"79":1,"111":1,"192":1,"333":1}}],["points",{"2":{"61":1,"345":1}}],["portion",{"2":{"227":1,"331":1}}],["portal",{"0":{"286":1,"327":1},"2":{"136":1,"137":4,"191":2,"285":3,"288":6,"289":1,"325":2,"326":4,"329":6,"330":1}}],["ports=wordle",{"2":{"307":2}}],["portspec",{"2":{"307":1}}],["ports",{"2":{"61":1,"252":2,"278":4,"280":1,"295":2,"307":4,"308":1,"309":1}}],["port",{"2":{"57":1,"79":3,"85":10,"120":1,"124":2,"184":1,"203":1,"205":2,"210":1,"230":1,"233":2,"238":1,"244":2,"260":1,"263":1,"286":1,"295":2}}],["powershell",{"2":{"313":1}}],["power",{"2":{"36":1,"347":1}}],["powerful",{"2":{"7":1}}],["pool",{"2":{"14":1}}],["potential",{"2":{"12":1,"144":1}}],["position",{"2":{"345":3}}],["posted",{"2":{"145":1,"176":1}}],["post",{"2":{"14":1,"95":2,"139":1,"158":1,"212":1,"226":1,"266":1,"289":1,"330":1,"331":2}}],["posting",{"0":{"14":1},"2":{"14":1,"57":1,"95":1,"117":1,"123":1,"145":1,"235":1,"236":1,"238":2,"239":1,"244":1,"248":1,"293":1,"334":1}}],["posts",{"0":{"16":1},"2":{"3":1,"126":1,"176":1,"240":1,"249":1}}],["possibly",{"2":{"243":1}}],["possible",{"2":{"12":1,"13":1,"18":1,"86":1,"165":2,"213":3,"255":1,"340":2}}],["possibility",{"2":{"148":1,"182":1}}],["possibilities",{"2":{"12":1,"141":1,"212":1,"213":1}}],["purpose",{"2":{"349":1}}],["purposes",{"2":{"120":1,"271":1}}],["purchase",{"2":{"259":2}}],["purchasing",{"2":{"250":1}}],["pure",{"2":{"173":2}}],["putting",{"2":{"144":1,"221":1}}],["put",{"2":{"112":1,"221":1}}],["pubsub",{"2":{"123":1,"295":1}}],["pubkey",{"2":{"36":1,"296":4}}],["pub",{"2":{"36":3,"45":3,"46":4,"47":1,"184":1}}],["publish",{"2":{"94":1,"278":2}}],["publishing",{"2":{"13":1,"14":1,"94":2,"123":1,"188":1,"206":3,"213":1,"252":2,"295":1,"309":3,"324":1,"337":1}}],["published",{"2":{"12":1,"278":2}}],["publicnode",{"2":{"124":1,"247":1}}],["public",{"2":{"3":1,"14":1,"106":1,"137":2,"228":7,"229":2,"307":1}}],["pull",{"2":{"2":2,"254":1,"360":1}}],["push",{"2":{"2":2,"176":1}}],["prune",{"2":{"324":2}}],["practical",{"2":{"293":1}}],["pragma",{"2":{"137":1,"228":2,"229":1}}],["prhw8rohdq==",{"2":{"184":1}}],["primary",{"2":{"178":1}}],["printf",{"2":{"252":1,"295":1,"309":1}}],["printing",{"2":{"252":3,"295":3,"308":1}}],["print",{"2":{"134":2,"307":1}}],["priority",{"2":{"165":1}}],["prior",{"0":{"340":1},"1":{"341":1,"342":1},"2":{"117":1,"293":1,"342":1,"365":1}}],["prices",{"2":{"83":2,"124":2,"125":1,"248":1,"256":1,"259":1,"260":1}}],["prices=",{"2":{"37":1,"38":1,"123":1,"248":2}}],["price=0",{"2":{"54":2}}],["price",{"0":{"54":1},"2":{"54":11,"80":2,"84":2,"91":1,"99":1,"248":1,"259":4}}],["privileged",{"2":{"173":1}}],["privatekey",{"2":{"325":1}}],["private",{"2":{"80":2,"137":4,"138":2,"189":4,"191":2,"228":1,"230":6,"231":3,"284":1,"286":4,"287":1,"289":3,"325":1,"327":4,"328":1,"330":3,"337":1}}],["priv",{"2":{"36":2,"337":2}}],["press",{"2":{"221":1}}],["presents",{"2":{"144":1}}],["present",{"0":{"29":1},"2":{"29":1,"39":1,"201":1}}],["preserve",{"2":{"10":1}}],["preparing",{"2":{"324":1}}],["prepared",{"2":{"247":1}}],["prepareproposal",{"2":{"165":1}}],["prepare",{"2":{"23":1,"121":1}}],["prepend",{"2":{"135":1}}],["prevents",{"2":{"89":1}}],["previous",{"0":{"245":1},"2":{"54":1,"191":2,"256":1,"257":1}}],["prefunded",{"0":{"189":1}}],["prefer",{"2":{"83":1}}],["prefix",{"2":{"65":1,"76":1,"83":2,"124":2,"184":1}}],["pre",{"0":{"74":1,"273":1,"302":1,"344":1},"1":{"75":1},"2":{"132":1,"147":1,"169":1,"254":1}}],["prerequisites",{"0":{"57":1,"104":1,"129":1,"200":1,"214":1,"237":1,"319":1},"1":{"105":1,"106":1,"107":1,"108":1,"130":1,"131":1,"201":1,"202":1},"2":{"188":1,"210":1}}],["pretty",{"2":{"47":1,"348":1}}],["prelude",{"2":{"45":1,"47":1}}],["premature",{"2":{"8":1}}],["prematurely",{"2":{"7":1,"8":1}}],["prompt",{"2":{"299":1}}],["prompted",{"2":{"296":2}}],["prominent",{"2":{"163":1}}],["probably",{"2":{"268":1}}],["problem",{"2":{"161":1}}],["problems",{"0":{"142":1},"1":{"143":1,"144":1},"2":{"144":1}}],["proxy",{"2":{"252":1,"295":1,"308":1,"309":1}}],["proposal",{"2":{"206":4}}],["proposer",{"2":{"184":1}}],["properly",{"2":{"188":1,"210":1}}],["property",{"2":{"173":1}}],["propagate",{"2":{"158":1}}],["progress",{"0":{"172":1,"176":1},"2":{"173":1,"176":1,"178":1,"184":1,"314":1,"342":1}}],["programmatically",{"2":{"162":1}}],["programming",{"2":{"118":1}}],["prohibitively",{"2":{"139":1}}],["proved",{"2":{"135":1}}],["prove",{"0":{"135":1},"2":{"134":1,"135":2}}],["proving",{"0":{"132":1},"1":{"133":1,"134":1,"135":1},"2":{"135":1}}],["providing",{"2":{"117":1,"186":1}}],["provided",{"2":{"118":1,"202":1,"247":1,"250":1,"251":1,"294":1,"304":1,"347":1}}],["provider",{"2":{"85":4}}],["provide",{"2":{"14":1,"148":1,"149":1,"205":1,"228":1,"238":1,"247":1,"269":1,"337":1}}],["provides",{"2":{"7":2,"16":1,"39":1,"46":1,"150":1,"167":1,"232":1,"255":1,"267":1,"293":1,"318":1,"347":1}}],["proof+public",{"2":{"134":2,"135":1}}],["proof",{"0":{"138":1,"182":1},"2":{"128":2,"134":7,"135":2,"136":1,"138":3,"145":1,"176":2}}],["proofs",{"0":{"176":1,"177":1},"2":{"7":1,"8":1,"73":2,"76":1,"128":1,"135":1,"145":2,"149":1,"150":1,"155":1,"158":2,"161":1,"169":1,"171":2,"172":2,"176":5,"178":1,"182":1}}],["proceeding",{"2":{"121":1,"235":1,"242":1,"262":1,"364":1}}],["processed",{"2":{"182":1}}],["processor",{"2":{"85":1,"352":1}}],["processing",{"0":{"180":1,"181":1},"2":{"62":1,"157":1}}],["process",{"2":{"7":1,"20":1,"27":1,"62":1,"64":1,"117":1,"123":2,"128":1,"186":1,"199":1,"201":1,"246":1,"293":1,"295":2,"313":1,"348":1,"354":1}}],["profile",{"2":{"106":1,"216":2}}],["projects",{"2":{"193":3}}],["project",{"2":{"14":1,"16":1,"112":1,"115":1,"191":2,"192":1,"227":1,"348":1,"349":2,"351":1,"353":1}}],["proud",{"2":{"12":1}}],["producers",{"2":{"173":1}}],["producer",{"2":{"71":1,"342":1}}],["produce",{"2":{"10":1,"171":1,"173":1,"342":1}}],["products",{"2":{"144":1,"145":1}}],["production",{"0":{"19":1},"2":{"9":1,"18":1,"73":1,"89":1,"91":1,"135":1,"166":1,"269":1,"271":2,"301":1,"364":2}}],["product",{"2":{"8":1}}],["protobuf",{"0":{"361":1}}],["proto",{"2":{"65":1,"349":1,"361":2}}],["protocol=",{"2":{"307":2}}],["protocols",{"2":{"167":1}}],["protocol",{"2":{"7":1,"9":1,"73":1,"81":1,"349":1}}],["protect",{"2":{"7":1,"8":1}}],["pr",{"2":{"2":1}}],["nice",{"2":{"365":1}}],["nil",{"2":{"359":6,"360":8}}],["ncdu",{"2":{"215":1}}],["npc",{"2":{"193":1}}],["npm",{"2":{"191":2,"215":1,"216":3}}],["n",{"2":{"134":2,"238":8,"247":2,"296":1,"364":1}}],["null",{"2":{"83":2,"87":1,"124":2,"184":2,"258":1,"260":5,"277":1,"296":1,"297":2,"364":2}}],["numerous",{"2":{"191":1}}],["num",{"2":{"62":1,"94":4,"123":2,"188":2,"206":3,"252":4,"295":2,"309":6,"324":3,"337":2}}],["number=26657",{"2":{"307":1}}],["numbers",{"2":{"193":1}}],["number",{"0":{"90":1},"2":{"46":1,"119":1,"162":1,"184":1,"244":1,"336":1}}],["nfts",{"2":{"14":2}}],["nft",{"2":{"14":2}}],["nodejs",{"2":{"216":3}}],["node",{"0":{"55":1,"58":1,"60":1,"61":1,"62":1,"164":1,"170":1,"171":1,"172":1,"173":1,"190":1,"194":1,"203":1,"206":1,"236":1,"239":1,"243":1,"248":1,"316":1,"331":1,"332":1,"337":1},"1":{"56":1,"57":1,"58":1,"59":2,"60":2,"61":2,"62":1,"63":1,"165":1,"166":1,"167":1,"168":1,"169":1,"171":1,"172":1,"173":1,"244":1,"332":1,"333":1,"334":1},"2":{"19":1,"37":1,"54":2,"56":3,"57":2,"59":2,"60":1,"61":4,"62":2,"63":1,"71":1,"73":1,"84":1,"87":2,"88":3,"91":1,"95":3,"96":1,"97":3,"98":1,"108":1,"120":2,"123":4,"141":1,"155":1,"163":2,"166":1,"167":2,"169":1,"170":1,"176":1,"178":1,"182":4,"184":1,"186":1,"188":4,"189":1,"190":2,"191":4,"194":1,"203":2,"206":3,"208":1,"210":1,"212":1,"216":1,"218":1,"232":1,"236":3,"238":3,"239":1,"242":1,"243":2,"244":4,"246":1,"247":1,"248":1,"252":2,"256":1,"258":2,"259":1,"260":6,"263":3,"264":1,"265":1,"266":1,"268":1,"276":1,"277":1,"278":1,"280":1,"295":5,"305":2,"306":1,"307":5,"309":1,"311":1,"314":4,"316":1,"317":1,"331":3,"332":8,"334":1,"335":1,"337":5,"338":1,"340":1,"342":3}}],["nodes",{"0":{"175":1},"2":{"8":1,"123":1,"145":3,"150":1,"155":1,"158":2,"162":1,"166":5,"169":3,"170":1,"171":1,"172":4,"173":2,"175":1,"176":10,"178":1,"182":4,"215":1,"295":1,"305":1}}],["nonce",{"2":{"207":1}}],["none",{"2":{"41":2,"47":2}}],["non",{"2":{"14":1,"296":1,"364":1}}],["nor",{"2":{"10":1}}],["no",{"2":{"10":1,"43":1,"76":1,"89":1,"90":1,"117":1,"123":1,"161":1,"162":1,"168":1,"173":4,"206":2,"235":1,"252":1,"259":1,"293":1,"295":2,"308":2,"348":2,"357":2,"359":1,"360":1}}],["notably",{"2":{"353":1}}],["notifying",{"2":{"206":2}}],["notifies",{"2":{"108":1}}],["noticed",{"2":{"269":1}}],["notice",{"2":{"37":1,"85":1,"205":1,"314":1,"348":1}}],["note",{"2":{"41":2,"45":1,"46":1,"79":1,"123":1,"124":1,"137":1,"138":1,"161":1,"166":1,"176":1,"191":1,"231":1,"242":1,"295":1,"364":2}}],["not",{"2":{"8":2,"12":1,"18":3,"29":1,"45":3,"61":2,"87":1,"88":1,"112":1,"121":1,"128":1,"147":1,"155":1,"176":1,"177":1,"182":1,"188":1,"192":1,"201":1,"206":1,"226":1,"238":2,"247":2,"269":3,"301":3,"318":1,"332":1,"340":1,"359":2,"364":2,"365":1}}],["now",{"2":{"7":1,"12":1,"13":1,"14":1,"15":1,"19":1,"22":1,"47":2,"51":1,"63":1,"66":1,"71":2,"76":1,"86":1,"107":1,"108":1,"114":1,"120":1,"123":1,"135":1,"138":1,"191":1,"206":1,"215":1,"221":1,"224":2,"226":1,"229":2,"230":1,"231":2,"238":2,"239":1,"240":1,"246":1,"247":1,"248":2,"249":1,"252":2,"254":2,"256":2,"258":2,"260":2,"267":1,"270":1,"271":1,"278":1,"280":1,"281":1,"285":1,"288":2,"289":1,"290":1,"295":2,"296":3,"298":1,"300":1,"307":1,"309":1,"310":1,"324":1,"326":1,"329":2,"330":1,"334":1,"338":1,"345":1,"347":1,"348":1,"349":1,"355":1,"358":1,"359":1,"360":1,"363":1,"364":3,"366":1}}],["neural",{"2":{"128":1}}],["neck",{"2":{"47":1}}],["necessary",{"2":{"28":1,"41":1,"61":1,"190":1,"215":1,"313":1,"363":1}}],["next",{"0":{"126":1,"209":1,"240":1,"249":1,"281":1,"300":1,"310":1,"366":1},"2":{"24":1,"79":1,"85":1,"87":1,"124":1,"129":1,"135":1,"136":1,"137":1,"150":1,"184":1,"191":1,"206":2,"221":1,"227":1,"228":2,"230":2,"238":1,"246":1,"258":1,"260":3,"278":1,"286":1,"297":2,"327":1,"341":1,"351":1,"356":1,"359":1,"360":2,"361":1,"364":2}}],["network=mocha",{"2":{"332":2}}],["networking",{"2":{"278":1}}],["network>",{"2":{"97":1}}],["networks",{"2":{"41":1,"47":1,"141":1,"169":1,"216":1,"236":1,"342":1,"366":1}}],["network",{"0":{"120":1,"219":1,"225":1,"263":1,"264":1},"1":{"220":1,"221":1,"222":1,"223":1,"224":1,"225":1},"2":{"10":1,"17":1,"39":1,"47":2,"54":1,"56":2,"57":2,"62":1,"97":1,"106":2,"117":1,"120":2,"121":1,"123":1,"126":1,"128":1,"140":1,"144":5,"145":2,"167":1,"169":1,"176":2,"178":1,"182":2,"187":1,"188":1,"191":1,"203":1,"219":1,"225":1,"229":1,"232":1,"233":2,"235":2,"238":3,"242":1,"243":1,"244":1,"248":3,"252":3,"258":1,"260":1,"263":1,"264":1,"265":1,"266":1,"278":1,"280":1,"293":1,"295":4,"305":1,"309":1,"318":2,"331":2,"332":1,"340":2,"341":2,"342":1,"363":2,"364":2}}],["needing",{"2":{"318":1}}],["needs",{"0":{"10":1},"2":{"147":1,"267":2,"315":1}}],["needed",{"2":{"7":1,"8":1,"10":2,"24":1,"158":1,"161":1,"176":1,"212":1,"247":1}}],["need",{"2":{"7":1,"8":3,"10":1,"16":1,"19":1,"21":1,"23":1,"24":1,"41":1,"44":1,"45":2,"49":2,"69":1,"71":1,"76":2,"79":1,"85":1,"94":4,"95":3,"97":1,"99":1,"104":2,"121":1,"138":1,"145":1,"155":1,"161":1,"162":1,"190":1,"191":2,"205":1,"216":1,"231":1,"236":1,"243":1,"246":2,"251":1,"252":1,"256":1,"264":1,"267":1,"271":1,"276":1,"277":1,"278":2,"288":2,"289":2,"294":1,"295":1,"306":1,"307":1,"309":1,"313":2,"319":1,"320":1,"329":2,"330":2,"331":4,"332":1,"344":1,"348":1,"350":1,"361":2,"364":1}}],["newguess",{"2":{"360":2}}],["newint64coin",{"2":{"359":1,"360":1}}],["newly",{"2":{"169":1,"238":1,"359":2}}],["new",{"2":{"2":2,"8":1,"12":1,"13":1,"16":1,"29":1,"45":2,"47":2,"50":2,"65":1,"66":1,"81":2,"85":5,"95":1,"121":1,"137":5,"141":3,"144":3,"145":2,"150":1,"162":1,"163":1,"176":1,"182":1,"190":1,"191":1,"206":3,"212":1,"213":1,"220":1,"221":3,"227":1,"228":1,"229":1,"231":1,"233":1,"246":2,"252":1,"277":2,"278":1,"295":1,"301":1,"306":2,"308":1,"345":1,"347":1,"348":3,"360":7}}],["names",{"2":{"252":2,"280":1,"295":2,"309":2}}],["nameservice",{"2":{"250":2,"254":4,"255":2,"256":3,"259":1,"260":1}}],["namespaces",{"2":{"238":1,"332":1}}],["namespace=000000506f6c61726973",{"2":{"332":1}}],["namespace=00000000000000000000000000000000000000000008e5f679bf7116cb",{"2":{"238":1}}],["namespace=$",{"2":{"226":1}}],["namespace",{"2":{"94":2,"169":1,"184":1,"226":1,"233":3,"238":3,"239":3,"268":4,"332":1,"334":2}}],["name",{"2":{"31":1,"32":1,"33":1,"34":1,"36":1,"79":2,"85":8,"133":1,"220":1,"231":2,"252":6,"254":1,"259":2,"260":8,"278":6,"295":6,"296":2,"307":1,"308":5,"309":1}}],["name=omni",{"2":{"314":1}}],["name=",{"2":{"307":1}}],["name=rollup",{"2":{"28":1}}],["name=validator1",{"2":{"28":1}}],["naming",{"2":{"2":1}}],["native",{"2":{"10":1,"87":1,"117":1,"186":3}}],["navigate",{"2":{"5":1,"65":1,"114":1,"133":1}}],["award",{"2":{"345":1}}],["away",{"2":{"8":1}}],["a+jox",{"2":{"296":1}}],["a5wpm5wzfniprgyha",{"2":{"296":1}}],["af16c1a5e68c",{"2":{"295":1}}],["afterward",{"2":{"83":1}}],["after",{"0":{"95":1},"1":{"96":1,"97":1,"98":1,"99":1,"100":1,"101":1},"2":{"16":1,"41":1,"46":1,"62":1,"86":1,"101":1,"108":1,"182":1,"188":1,"190":1,"236":1,"244":1,"277":1,"297":1,"313":1,"332":1,"348":1,"364":4}}],["auto",{"2":{"256":1,"259":1,"260":1}}],["automatic",{"2":{"193":1}}],["automatically",{"2":{"128":1}}],["authorized",{"2":{"299":1}}],["authentication",{"2":{"238":1}}],["authenticate",{"2":{"158":1,"172":1}}],["auth",{"2":{"184":2,"206":1,"233":2,"238":8,"239":1,"331":1,"352":1}}],["avail",{"0":{"241":1,"243":1,"248":1},"1":{"242":1,"243":1,"244":2,"245":1,"246":1,"247":1,"248":1,"249":1},"2":{"242":4,"243":1,"244":4,"246":1,"247":3,"248":1,"249":1,"268":1,"270":1}}],["available",{"2":{"9":1,"182":1,"188":1,"189":1,"228":1,"232":1,"252":1,"270":1,"313":1,"314":2}}],["availability",{"0":{"15":1,"162":1,"203":1},"1":{"163":1},"2":{"8":1,"10":2,"12":2,"13":1,"14":1,"15":4,"16":5,"18":3,"20":1,"37":1,"39":1,"57":1,"117":1,"128":1,"140":1,"141":1,"145":4,"150":1,"151":1,"158":1,"162":3,"163":1,"166":1,"173":1,"175":1,"182":1,"203":1,"212":2,"213":5,"235":1,"242":2,"267":2,"268":2,"269":1,"293":1,"305":1,"318":2,"332":1,"333":1,"364":1}}],["average",{"2":{"172":1}}],["avoid",{"2":{"54":1,"61":1,"79":1,"99":1,"149":1,"277":1,"345":1,"364":1}}],["ago",{"2":{"252":7,"277":1,"280":3,"295":7,"306":1,"309":7}}],["aggregating",{"2":{"173":1}}],["aggregationloop",{"2":{"166":2}}],["aggregation",{"0":{"89":1},"2":{"91":1}}],["aggregated",{"2":{"239":1,"248":1}}],["aggregate",{"2":{"158":1}}],["aggregator=false",{"2":{"61":2}}],["aggregator",{"2":{"25":1,"37":1,"38":1,"61":1,"71":2,"89":2,"123":2,"226":1,"232":1,"239":1,"248":1,"252":1,"265":1,"277":1,"278":1,"295":2,"307":1,"309":1,"340":2,"342":2,"363":1,"364":1}}],["again",{"0":{"101":1},"2":{"46":1,"94":1,"121":1,"225":1,"260":1,"281":1,"289":1,"310":1,"330":1,"360":3}}],["against",{"2":{"7":1,"8":1,"54":1,"72":1,"235":1}}],["atoi",{"2":{"360":1}}],["atomic",{"2":{"173":1}}],["attributes",{"2":{"258":1,"364":1}}],["attributes=false",{"2":{"206":1}}],["attributes=true",{"2":{"206":1}}],["attract",{"2":{"144":1}}],["attempts",{"2":{"354":1}}],["attempting",{"2":{"308":1}}],["attempt",{"2":{"166":2}}],["attempt=3",{"2":{"96":1}}],["attempt=2",{"2":{"96":1}}],["attempt=1",{"2":{"96":1}}],["at",{"2":{"14":1,"16":1,"41":2,"44":1,"83":1,"85":1,"107":1,"144":1,"161":1,"176":1,"186":1,"212":1,"221":1,"227":1,"229":1,"238":1,"252":1,"255":1,"258":1,"295":2,"296":1,"298":1,"308":2,"345":1,"365":1}}],["admin",{"2":{"259":1,"260":1}}],["adr",{"2":{"176":1}}],["adoption",{"2":{"144":1}}],["adjusting",{"2":{"190":1}}],["adjust",{"2":{"112":1}}],["adjustment",{"2":{"83":2,"124":2,"256":1,"259":1,"260":1}}],["adjusted",{"2":{"19":1}}],["advertises",{"2":{"169":1}}],["advice",{"2":{"52":1}}],["advise",{"2":{"45":1,"50":2}}],["advanced",{"0":{"154":1},"2":{"41":1,"294":1}}],["advantages",{"2":{"10":1}}],["addr",{"2":{"79":1,"83":3,"124":3,"252":1}}],["address>",{"2":{"207":1,"230":1,"231":1,"289":1,"315":1,"330":1}}],["addresses",{"0":{"107":1},"2":{"61":1,"102":1,"103":1,"107":2}}],["address=0x18df82c7e422a42d47345ed86b0e935e9718ebda",{"2":{"286":1,"327":1}}],["address=0x5c59c83c099f72fce832208f96a23a1e43737a14",{"2":{"137":1}}],["address=http",{"2":{"238":1,"265":1,"269":1}}],["address=`bitcoin",{"2":{"221":1}}],["address=127",{"2":{"123":2,"295":2}}],["address=",{"2":{"60":1,"123":2,"230":1,"231":1,"248":1,"295":2,"315":1}}],["address",{"2":{"36":3,"37":4,"38":2,"60":2,"61":4,"65":1,"76":1,"80":2,"87":2,"88":1,"97":1,"107":1,"108":1,"123":1,"124":4,"137":4,"138":2,"184":4,"189":4,"191":1,"207":1,"221":1,"230":4,"231":4,"233":3,"236":1,"238":1,"239":2,"244":1,"247":1,"260":5,"264":2,"265":3,"278":2,"284":2,"286":2,"287":2,"288":2,"296":4,"299":1,"307":6,"327":2,"328":2,"329":2,"331":1,"345":1,"357":3,"360":2,"364":1}}],["added",{"2":{"48":1,"107":1,"163":1,"252":2,"295":2,"308":2,"318":1,"363":2}}],["addition",{"2":{"276":1}}],["additionally",{"2":{"89":1,"145":1,"149":1,"344":1}}],["additional",{"2":{"46":1,"94":1,"157":1,"167":1,"182":1}}],["additions",{"2":{"41":1,"134":1}}],["adding",{"0":{"32":1,"33":1,"44":1},"2":{"2":1,"16":1,"42":1,"67":1,"107":1,"112":1,"182":1,"252":3,"295":4,"308":2,"347":1}}],["add",{"0":{"22":1,"67":1,"107":1,"185":1},"2":{"16":2,"19":1,"22":2,"27":1,"32":2,"33":2,"39":1,"44":3,"45":1,"46":1,"49":1,"50":4,"67":1,"84":1,"89":1,"91":2,"103":1,"106":1,"121":1,"182":1,"185":2,"193":1,"207":1,"216":1,"221":1,"228":1,"244":1,"277":1,"278":1,"289":1,"300":1,"306":1,"307":1,"330":1,"351":2,"352":1,"360":2,"361":1}}],["apt",{"2":{"121":1,"215":3,"277":2}}],["apart",{"2":{"81":1}}],["append",{"2":{"134":2}}],["appear",{"2":{"108":1}}],["approve",{"2":{"299":1}}],["approach",{"2":{"128":1,"293":1}}],["appropriate",{"2":{"112":1}}],["approximately",{"2":{"14":1}}],["apply",{"2":{"43":1,"173":1,"190":1}}],["applications",{"2":{"18":1,"117":1,"145":1,"147":1,"151":1,"202":1,"212":1,"290":1,"293":1,"338":1}}],["application",{"0":{"159":1},"1":{"160":1,"161":1,"162":1,"163":1},"2":{"7":3,"9":2,"66":1,"117":1,"141":1,"143":2,"160":2,"161":1,"165":2,"167":1,"293":1,"298":1,"299":1,"300":1,"307":1,"349":1,"352":1}}],["apps",{"2":{"21":1,"66":1,"347":1,"351":1}}],["app",{"0":{"20":2,"22":1,"25":1,"64":1,"66":1,"298":1,"343":1},"1":{"21":2,"22":2,"23":2,"24":2,"25":2,"26":2,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"344":1,"345":1,"346":1,"347":1,"348":1,"349":1,"350":1,"351":1,"352":1,"353":1,"354":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1},"2":{"20":3,"21":3,"22":1,"23":1,"25":2,"26":2,"64":1,"66":3,"91":3,"94":4,"123":2,"184":1,"188":2,"190":1,"206":2,"227":3,"244":1,"252":4,"277":3,"288":1,"295":2,"299":1,"300":1,"309":6,"324":2,"329":1,"337":1,"343":1,"349":3,"350":1,"351":2,"366":1}}],["apis",{"2":{"167":1}}],["api",{"2":{"10":1,"61":1,"83":1,"124":1,"129":1,"135":3,"163":1,"184":3,"252":2,"295":2,"301":1,"309":2}}],["achieve",{"2":{"144":1,"345":1}}],["action",{"2":{"364":1}}],["activities",{"2":{"206":1}}],["activity",{"2":{"102":1}}],["active",{"2":{"169":1}}],["acts",{"2":{"342":1}}],["actual",{"2":{"238":1,"247":1}}],["act",{"2":{"149":1}}],["actor",{"2":{"47":1}}],["accaddress",{"2":{"361":2}}],["accaddressfrombech32",{"2":{"359":1,"360":1}}],["access",{"2":{"186":1,"189":1,"190":1}}],["accessed",{"2":{"162":1}}],["accelerated",{"2":{"135":1}}],["accepting",{"2":{"206":1}}],["accepted",{"2":{"54":2}}],["accept",{"2":{"8":1,"296":1,"314":1}}],["accordingly",{"2":{"182":1}}],["according",{"2":{"112":1}}],["accounts",{"0":{"189":1},"2":{"124":2,"184":2,"189":3,"230":1,"353":3,"363":3}}],["account",{"0":{"33":1,"84":1,"97":1},"2":{"27":1,"33":2,"39":1,"83":2,"95":1,"97":1,"106":2,"124":3,"184":3,"191":1,"207":2,"239":1,"248":1,"282":1,"284":1,"289":2,"296":1,"315":1,"330":2,"331":1,"363":2,"364":1}}],["across",{"2":{"9":1,"138":2,"301":1}}],["artroll",{"2":{"188":1,"189":3,"190":4}}],["artela",{"0":{"186":1,"187":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1},"2":{"186":1,"187":4,"188":2,"190":1,"191":10,"194":1,"195":2}}],["artifacts",{"2":{"45":1,"252":1,"255":1,"256":1,"295":1,"308":1}}],["articles",{"2":{"5":1}}],["arabica",{"2":{"151":1,"236":1,"238":2,"239":2,"331":1}}],["arm64",{"2":{"82":1}}],["architecture",{"2":{"128":1,"176":1,"345":1,"349":1}}],["arch",{"2":{"45":2}}],["argjson",{"2":{"36":1}}],["argument",{"2":{"19":1,"295":1,"308":1}}],["args",{"2":{"19":1,"94":1}}],["around",{"2":{"14":1,"18":2,"95":2,"365":1}}],["arbitrary",{"2":{"12":1,"13":1,"14":3,"162":1,"213":2}}],["are",{"2":{"12":1,"13":1,"14":1,"16":1,"49":2,"61":1,"71":1,"81":2,"84":1,"89":1,"91":1,"95":2,"113":1,"137":1,"144":1,"145":4,"149":1,"165":1,"166":3,"167":1,"170":1,"172":2,"173":1,"175":1,"176":2,"177":1,"178":1,"182":2,"189":1,"191":2,"201":1,"207":1,"210":1,"213":1,"215":2,"225":1,"228":1,"232":3,"233":1,"238":1,"255":1,"259":1,"270":1,"271":4,"280":3,"289":1,"305":1,"309":2,"315":1,"318":2,"330":1,"341":1,"342":2,"345":3,"348":2,"354":3,"355":1,"357":1,"359":2,"360":3,"364":2,"365":2}}],["array",{"2":{"9":1}}],["amt",{"2":{"361":2}}],["amazing",{"2":{"347":1}}],["amd",{"2":{"214":1,"216":1}}],["amd64",{"2":{"76":1,"216":3,"320":1}}],["among",{"2":{"182":1}}],["amount=",{"2":{"28":2}}],["amount",{"0":{"34":1},"2":{"8":1,"33":2,"34":2,"83":4,"87":3,"88":1,"124":6,"259":2,"260":1,"296":3,"297":2,"360":1,"364":1}}],["am",{"2":{"137":1,"221":1,"286":1,"327":1}}],["amp",{"0":{"4":1,"101":1},"2":{"2":2}}],["abcdefg",{"2":{"364":1}}],["abci",{"0":{"160":1},"1":{"161":1},"2":{"9":3,"95":1,"123":1,"141":2,"147":1,"150":1,"160":3,"161":2,"167":1,"176":1,"295":1}}],["abci++",{"2":{"7":2,"9":1,"10":1,"165":1}}],["abi",{"2":{"288":1,"329":1}}],["ability",{"2":{"7":2,"145":1,"156":1}}],["able",{"2":{"41":1,"144":1}}],["abstraction",{"2":{"358":1}}],["abstract",{"2":{"9":1}}],["about",{"0":{"140":1},"1":{"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"3":1,"26":1,"45":1,"46":1,"61":1,"65":1,"73":1,"141":1,"150":1,"158":1,"167":2,"172":1,"182":1,"206":1,"238":1,"252":8,"272":1,"296":1,"301":1,"332":1,"347":1,"349":1}}],["above",{"2":{"2":1,"19":1,"49":1,"51":1,"100":1,"144":1,"146":1,"238":2,"288":1,"289":1,"329":1,"330":1,"342":1,"360":1,"364":4}}],["alice",{"2":{"296":1,"363":2,"364":2}}],["align",{"2":{"8":1}}],["alignment",{"2":{"8":1}}],["alerting",{"2":{"108":1}}],["alerts",{"2":{"108":1}}],["alert",{"0":{"108":1},"2":{"103":1,"108":2,"150":1}}],["algorithm",{"2":{"83":2,"124":2}}],["alphabet",{"2":{"359":2,"360":3}}],["alphabets",{"2":{"359":2}}],["alpha",{"2":{"41":1,"92":1,"150":1,"155":1}}],["already",{"2":{"19":1,"62":1,"95":3,"123":1,"188":1,"191":1,"201":1,"207":1,"245":1,"265":1,"299":1,"315":1,"359":2,"364":2}}],["alongside",{"2":{"56":1,"63":1,"299":1}}],["along",{"2":{"9":1,"13":1,"230":1,"252":1,"295":1,"318":1,"341":1}}],["also",{"2":{"8":1,"12":1,"54":1,"79":1,"81":1,"101":1,"128":1,"144":1,"145":1,"163":1,"165":1,"166":1,"212":1,"238":1,"247":1,"331":1,"344":1,"354":1,"357":1,"359":1,"363":1}}],["alloc",{"2":{"207":1}}],["allow",{"2":{"41":1,"134":1,"140":1,"186":1,"276":1,"305":1,"354":1,"361":1}}],["allowing",{"2":{"8":1,"70":1,"145":1,"147":1}}],["allows",{"2":{"7":1,"8":2,"9":1,"10":2,"12":1,"89":1,"155":1,"156":1,"162":1,"213":2,"260":1,"277":1,"306":1,"317":1,"357":1,"358":1,"359":1,"360":1}}],["alley",{"2":{"80":2,"84":2}}],["all",{"2":{"7":2,"29":1,"30":1,"39":1,"43":1,"47":1,"48":1,"49":1,"50":1,"62":1,"85":1,"86":1,"121":1,"144":1,"166":2,"171":2,"175":1,"194":1,"210":1,"228":1,"233":2,"239":1,"248":1,"251":1,"252":1,"271":1,"277":2,"278":3,"280":1,"294":1,"295":1,"296":1,"307":1,"309":1,"313":1,"316":1,"361":1,"363":1,"364":1}}],["alter",{"2":{"353":1}}],["alternatively",{"2":{"19":1,"44":1,"85":1,"189":1}}],["alternative",{"2":{"9":1}}],["although",{"2":{"345":1}}],["alt",{"2":{"7":1}}],["always",{"2":{"2":1,"54":1,"124":1}}],["answer",{"2":{"360":1}}],["anvil",{"2":{"230":6}}],["announce",{"2":{"12":1}}],["another",{"2":{"8":1,"18":1,"62":1,"148":1,"161":1,"182":1,"296":1,"364":2}}],["an",{"0":{"45":1,"50":1,"243":1,"248":1},"1":{"244":1},"2":{"4":1,"7":3,"8":6,"9":1,"12":1,"14":1,"15":3,"18":1,"19":1,"28":1,"29":2,"42":2,"45":1,"48":1,"53":1,"60":1,"61":1,"62":2,"73":3,"76":1,"81":1,"83":1,"87":1,"88":1,"89":1,"90":1,"91":1,"95":1,"104":1,"106":1,"108":2,"112":1,"117":1,"121":2,"123":2,"124":1,"129":1,"135":1,"136":1,"141":2,"145":1,"148":1,"150":1,"156":1,"157":1,"158":1,"161":1,"162":1,"167":1,"182":1,"186":1,"195":1,"206":1,"214":1,"227":1,"230":2,"244":1,"247":2,"252":1,"257":1,"260":1,"268":1,"282":2,"287":1,"289":2,"295":1,"296":1,"297":1,"298":1,"308":1,"311":1,"317":1,"325":1,"328":1,"330":2,"334":1,"342":1,"344":1,"345":1,"347":2,"349":1,"358":1,"360":3,"364":4}}],["anyone",{"2":{"140":1,"156":1}}],["anywhere",{"0":{"128":1}}],["anyhow",{"2":{"47":2}}],["any",{"0":{"147":1},"2":{"4":1,"7":3,"9":1,"10":3,"16":1,"30":1,"43":1,"47":1,"83":1,"94":1,"113":1,"114":1,"138":1,"141":1,"147":1,"160":1,"162":1,"173":1,"182":1,"184":1,"210":1,"232":1,"267":1,"269":1,"277":1,"298":1,"299":1,"306":1,"313":1,"340":1,"341":1,"359":1,"364":2}}],["and",{"0":{"29":1,"49":1,"52":1,"59":1,"81":1,"107":1,"132":1,"135":1,"143":1,"144":1,"151":1,"180":1,"182":1,"198":1,"206":1,"207":1,"228":1,"233":1,"288":1,"314":1,"315":1,"318":1,"329":1,"346":1,"363":1},"1":{"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"133":1,"134":1,"135":1,"152":1,"153":1,"154":1,"155":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"347":1,"348":1,"349":1},"2":{"0":1,"1":1,"2":4,"3":2,"7":6,"8":10,"9":5,"10":3,"12":1,"13":1,"14":2,"15":4,"16":7,"18":6,"19":3,"20":2,"21":1,"26":1,"27":1,"29":2,"39":3,"41":5,"42":2,"46":5,"47":1,"49":3,"52":1,"56":2,"57":1,"59":1,"61":1,"62":3,"66":1,"70":1,"71":1,"72":2,"73":3,"76":1,"79":3,"81":1,"85":3,"86":1,"87":2,"88":1,"89":1,"91":3,"94":2,"95":8,"101":1,"102":2,"103":3,"105":2,"106":1,"107":1,"108":1,"109":2,"110":1,"111":1,"112":2,"115":2,"117":1,"118":1,"119":1,"120":1,"121":2,"122":1,"123":1,"126":1,"128":3,"130":2,"131":1,"132":2,"134":4,"135":6,"136":2,"137":3,"138":2,"141":4,"144":5,"145":5,"146":1,"147":1,"148":3,"149":2,"150":3,"151":1,"155":1,"156":1,"157":2,"158":5,"160":1,"161":1,"162":1,"165":2,"166":3,"167":4,"169":2,"171":1,"172":1,"173":2,"176":8,"178":1,"182":8,"186":1,"188":3,"189":2,"190":1,"191":4,"192":1,"193":2,"194":2,"195":2,"199":2,"201":1,"203":1,"204":1,"205":1,"206":6,"207":4,"209":1,"210":4,"212":6,"213":4,"215":2,"216":1,"220":1,"221":2,"224":1,"226":1,"227":1,"228":3,"230":2,"231":1,"232":2,"233":1,"235":1,"236":1,"239":1,"240":1,"242":4,"243":1,"245":1,"246":1,"247":2,"248":1,"249":1,"252":6,"254":1,"256":2,"257":1,"259":1,"260":3,"262":1,"263":2,"266":2,"267":2,"268":1,"269":2,"271":4,"276":3,"277":6,"278":4,"280":3,"281":1,"282":2,"284":1,"286":1,"288":1,"289":1,"290":1,"293":1,"295":7,"296":2,"299":3,"300":1,"301":1,"305":2,"306":3,"307":4,"308":3,"309":7,"310":1,"311":2,"314":3,"315":1,"316":2,"317":2,"318":3,"321":1,"324":1,"326":1,"327":1,"329":1,"330":1,"331":5,"332":4,"336":1,"337":2,"338":2,"340":2,"341":1,"342":2,"343":2,"347":2,"348":1,"349":4,"352":2,"353":1,"354":4,"357":1,"358":2,"359":1,"360":6,"361":1,"363":1,"364":7,"365":1,"366":1}}],["ask",{"2":{"364":1}}],["asking",{"2":{"18":1}}],["async",{"2":{"364":5}}],["asynchronously",{"2":{"364":1}}],["asynchronous",{"2":{"8":1}}],["asdf",{"2":{"216":7}}],["astria",{"0":{"196":1},"2":{"340":1,"342":1}}],["aspect",{"2":{"191":6,"192":5,"193":11,"298":1}}],["asset",{"2":{"353":1}}],["assembly",{"2":{"206":1}}],["assertion",{"2":{"228":2}}],["asserteq",{"2":{"228":4}}],["assert",{"2":{"41":1,"47":1,"228":1}}],["assist",{"2":{"186":1}}],["associated",{"2":{"119":1,"189":1,"336":1}}],["assume",{"2":{"123":1,"191":1}}],["assumes",{"2":{"20":1,"130":1,"136":1,"282":1,"298":1}}],["assumptions",{"2":{"73":1,"145":1}}],["as",{"0":{"15":1,"116":1,"234":1,"241":1},"1":{"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1},"2":{"3":1,"7":3,"8":1,"9":2,"10":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":2,"24":1,"41":1,"44":1,"46":3,"48":1,"49":2,"62":2,"69":1,"87":1,"91":1,"95":1,"108":1,"117":3,"125":1,"126":1,"129":2,"130":1,"134":4,"135":1,"140":2,"141":4,"143":1,"144":1,"145":3,"146":1,"148":1,"149":2,"150":2,"156":2,"158":1,"160":1,"161":1,"162":2,"166":2,"167":2,"169":1,"175":1,"176":2,"182":3,"206":1,"212":1,"213":1,"223":1,"230":4,"231":1,"232":1,"233":1,"235":1,"238":1,"242":1,"247":1,"249":2,"251":1,"252":2,"255":2,"256":1,"262":1,"267":1,"269":1,"271":1,"277":2,"294":1,"295":3,"296":1,"298":2,"300":1,"305":1,"306":1,"308":1,"309":1,"318":1,"325":1,"341":1,"342":2,"343":2,"348":1,"352":1,"353":1,"354":1,"355":2,"358":1,"359":1,"360":2,"364":4}}],["a",{"0":{"15":1,"20":1,"27":1,"32":1,"33":1,"37":1,"48":1,"64":1,"76":1,"120":1,"132":1,"149":1,"151":1,"198":1,"203":1,"219":1,"220":1,"236":1,"263":1,"320":1,"331":1,"353":1,"355":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"49":1,"50":1,"51":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"133":1,"134":1,"135":1,"152":1,"153":1,"154":1,"155":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"332":1,"333":1,"334":1},"2":{"2":4,"5":2,"7":11,"8":6,"9":2,"10":6,"11":1,"12":3,"13":3,"14":9,"15":2,"16":7,"17":3,"18":3,"19":1,"20":2,"21":1,"26":1,"27":2,"29":2,"32":1,"33":1,"37":2,"39":3,"41":2,"42":1,"43":1,"45":2,"46":2,"50":2,"53":1,"54":3,"56":5,"57":2,"62":1,"63":1,"64":1,"65":1,"66":1,"72":1,"73":2,"76":2,"79":1,"81":4,"85":4,"89":1,"91":5,"92":1,"95":3,"99":1,"106":1,"108":2,"109":1,"111":1,"117":5,"119":1,"120":2,"121":4,"124":10,"125":2,"126":2,"128":5,"129":1,"130":1,"131":1,"132":2,"133":1,"134":3,"135":2,"137":3,"138":2,"139":1,"140":2,"141":6,"143":2,"144":10,"145":8,"147":1,"148":4,"149":3,"150":4,"155":3,"156":1,"158":1,"160":2,"161":2,"162":1,"163":4,"165":2,"166":6,"169":1,"173":4,"175":3,"176":6,"178":2,"182":9,"186":3,"188":1,"191":2,"192":1,"193":1,"199":3,"201":1,"203":2,"206":2,"207":2,"208":1,"212":6,"213":2,"218":1,"220":2,"221":5,"222":1,"223":1,"227":1,"228":3,"229":1,"230":2,"232":4,"233":3,"235":3,"236":2,"238":2,"240":1,"242":3,"243":1,"244":2,"246":2,"247":1,"249":1,"250":1,"252":13,"255":1,"256":2,"257":1,"258":1,"259":1,"260":2,"262":2,"263":1,"266":2,"267":3,"268":2,"269":4,"270":2,"271":3,"276":1,"277":2,"278":2,"280":1,"282":2,"285":2,"286":2,"289":2,"290":2,"293":4,"295":7,"296":3,"298":2,"299":1,"300":1,"305":2,"306":2,"307":7,"308":3,"309":2,"315":1,"318":5,"320":2,"324":2,"325":1,"326":2,"327":2,"330":2,"331":2,"332":2,"333":1,"335":1,"336":1,"337":1,"338":2,"340":4,"341":2,"342":1,"343":1,"344":1,"345":10,"347":3,"348":4,"349":4,"352":2,"354":3,"355":3,"357":2,"358":3,"359":8,"360":11,"361":2,"363":4,"364":12,"365":6,"366":1}}],["ics",{"2":{"123":1}}],["ics20",{"2":{"50":1,"85":1,"124":2}}],["illustrates",{"2":{"102":1}}],["ip",{"2":{"79":1,"332":1}}],["ip4",{"2":{"60":1,"123":2,"295":2}}],["io",{"2":{"76":1,"252":6,"254":2,"278":2,"295":6,"308":2,"309":1,"320":1,"332":1,"359":1,"360":1}}],["i",{"2":{"76":1,"94":6,"134":2,"137":1,"155":1,"221":1,"286":1,"320":1,"327":1,"337":5}}],["i32",{"2":{"46":2}}],["ids",{"2":{"268":1}}],["identity",{"2":{"244":5}}],["identifier",{"2":{"137":1,"228":2,"229":1}}],["identify",{"2":{"60":1}}],["idea",{"2":{"298":1}}],["ideas",{"2":{"191":1,"343":1}}],["ideal",{"2":{"149":1}}],["id=1651",{"2":{"314":1}}],["id=wordle",{"2":{"278":1}}],["id=$",{"2":{"258":1}}],["id=0x03bc2b46dc4bef55",{"2":{"206":1}}],["id=channel",{"2":{"87":1}}],["id=",{"2":{"60":1}}],["id=your",{"2":{"59":1}}],["id=rollup",{"2":{"28":1}}],["id",{"2":{"28":2,"31":3,"34":2,"45":3,"59":3,"61":2,"71":3,"83":2,"85":35,"87":4,"88":2,"108":1,"124":8,"125":1,"134":2,"169":1,"184":7,"226":1,"233":3,"244":1,"252":1,"256":1,"258":5,"259":2,"260":5,"265":1,"268":3,"277":2,"278":2,"280":1,"295":1,"296":1,"306":1,"307":1,"309":1,"363":1,"364":5}}],["igniteversiontag",{"2":{"65":1,"277":1,"347":1}}],["ignite",{"0":{"64":1,"65":1,"66":1,"346":1,"347":1},"1":{"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"347":1,"348":1,"349":1},"2":{"20":1,"21":1,"64":1,"65":4,"66":2,"72":1,"75":1,"76":3,"91":1,"277":5,"343":1,"347":7,"348":5,"351":2,"354":1,"363":1,"364":1,"365":1}}],["ibc",{"0":{"73":1,"81":1,"85":1,"116":1,"124":1},"1":{"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":2,"83":2,"84":2,"85":2,"86":2,"87":2,"88":2,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1},"2":{"7":1,"9":1,"73":5,"76":2,"79":2,"81":1,"85":9,"86":1,"87":5,"88":2,"91":2,"117":1,"123":3,"124":7,"125":1,"260":1}}],["if",{"2":{"4":1,"11":1,"19":1,"29":2,"41":2,"47":1,"48":1,"54":1,"62":1,"87":1,"88":1,"89":2,"92":1,"94":3,"95":1,"96":1,"97":1,"104":1,"121":1,"123":1,"131":1,"138":1,"140":1,"150":1,"155":1,"168":2,"182":2,"188":2,"192":1,"201":1,"210":1,"242":1,"244":1,"247":1,"256":1,"260":1,"269":1,"277":1,"288":1,"289":1,"299":1,"313":2,"325":1,"329":1,"330":1,"347":1,"348":1,"359":8,"360":14,"364":1}}],["inner",{"2":{"157":1}}],["innovative",{"2":{"147":1,"191":1}}],["innovation",{"2":{"141":1}}],["innovate",{"2":{"141":1}}],["invalid",{"2":{"182":4,"364":2}}],["involved",{"2":{"108":1,"305":1}}],["involves",{"2":{"81":1}}],["invite",{"2":{"18":1}}],["indicators",{"2":{"345":1}}],["indicating",{"2":{"205":1,"206":1,"265":1,"314":1}}],["indicates",{"2":{"61":1,"62":1,"112":1,"314":1}}],["index",{"2":{"260":1,"359":4,"360":4,"364":1}}],["indexing",{"2":{"103":1,"105":1}}],["indexed",{"2":{"62":1,"94":2,"123":1,"188":1,"206":2,"252":1,"295":1,"309":3,"324":1}}],["indexerservice",{"2":{"123":1,"295":1}}],["indexers",{"2":{"9":1}}],["independently",{"2":{"8":1}}],["independent",{"2":{"7":1}}],["initiate",{"2":{"236":1,"239":1,"243":1,"247":1}}],["initial",{"2":{"47":1,"73":1,"354":2,"360":1}}],["initialization",{"2":{"337":1}}],["initializing",{"0":{"31":1,"111":1},"1":{"112":1},"2":{"84":1}}],["initialized",{"2":{"112":1,"210":1}}],["initialize",{"0":{"23":1,"24":1,"59":1,"69":1,"70":1,"122":1,"227":1},"1":{"70":1},"2":{"23":2,"24":1,"27":1,"31":1,"39":1,"59":1,"69":2,"70":1,"109":1,"111":1,"115":1,"122":1,"226":1,"277":2,"307":1,"349":1,"360":1,"363":3}}],["initially",{"2":{"15":1}}],["init",{"2":{"23":1,"24":1,"29":1,"31":1,"47":1,"59":1,"69":1,"70":1,"76":2,"79":3,"83":1,"112":1,"121":2,"122":1,"124":1,"162":1,"226":1,"227":1,"231":3,"246":2,"256":1,"259":1,"277":2,"307":1,"363":2}}],["insights",{"2":{"337":1}}],["inside",{"2":{"45":2,"50":2,"190":1,"252":1,"295":1,"308":1,"349":2,"359":1,"361":1}}],["inspired",{"2":{"165":1}}],["insert",{"2":{"25":1}}],["inscriptions",{"2":{"14":2}}],["inscribe",{"2":{"14":2}}],["instantiating",{"2":{"259":1}}],["instantiation",{"0":{"259":1}}],["instantiated",{"2":{"258":1,"260":2}}],["instantiatemsg",{"2":{"41":1,"45":2,"47":2}}],["instantiate",{"2":{"41":1,"45":1,"47":1,"259":1}}],["instantaneous",{"2":{"242":1}}],["instance",{"2":{"49":1,"76":1,"136":1,"320":1}}],["installation",{"0":{"233":1},"2":{"119":2,"131":1,"201":2,"217":1,"251":1,"275":1,"294":1,"304":1,"313":1,"336":2,"347":1}}],["installer",{"2":{"118":1}}],["installed",{"2":{"20":1,"22":1,"57":1,"65":1,"72":1,"121":1,"129":1,"131":1,"188":2,"191":1,"200":1,"210":1,"216":1,"227":1,"228":1,"237":1,"251":1,"252":1,"275":1,"294":1,"295":1,"298":1,"304":1,"313":3,"315":1,"319":1,"344":1,"347":1}}],["installing",{"0":{"110":1,"131":1,"351":1},"2":{"109":1,"188":1,"228":1,"235":1,"262":1}}],["installs",{"2":{"66":1,"110":1,"347":1}}],["install",{"0":{"21":1,"65":1,"66":1,"78":1,"82":1,"119":1,"218":1,"283":1,"322":1,"336":1},"2":{"21":2,"65":1,"66":3,"76":2,"78":1,"82":1,"109":1,"110":2,"115":1,"118":2,"119":2,"120":1,"121":4,"124":2,"131":1,"191":2,"201":1,"202":1,"203":1,"212":2,"215":2,"216":4,"217":1,"218":2,"226":1,"251":1,"263":2,"275":1,"277":8,"283":1,"294":1,"304":1,"313":3,"315":2,"332":2,"336":2,"344":2,"347":1,"351":2}}],["instead",{"2":{"7":1,"8":2,"81":1,"114":2,"137":1,"161":1,"191":4,"233":1,"238":1,"256":1}}],["instructions",{"2":{"3":1,"18":1,"124":1,"131":1,"188":1,"318":1,"332":2}}],["inherits",{"2":{"18":1}}],["inherit",{"2":{"12":1,"145":1,"213":1}}],["inflationary",{"2":{"144":1}}],["inflating",{"2":{"8":1}}],["inference",{"2":{"128":3}}],["inform",{"2":{"318":1}}],["information",{"2":{"99":1,"129":1,"167":5,"210":1,"242":1,"344":1,"354":1}}],["infos",{"2":{"296":1,"364":1}}],["info",{"2":{"85":13,"124":1,"167":1,"189":4,"248":1,"252":4,"260":2,"295":7,"296":1,"308":12,"314":1,"364":2}}],["inf",{"2":{"60":1,"62":1,"96":1,"123":24,"188":4,"206":24,"252":7,"295":24,"309":12,"324":10}}],["infrastructure",{"2":{"9":1,"135":1}}],["inclusion",{"0":{"291":1},"2":{"342":1}}],["includes",{"2":{"73":1,"121":1,"145":1,"161":1,"162":1}}],["included",{"2":{"14":1,"62":1,"167":1,"168":2,"182":2,"228":1,"340":1,"345":1,"364":3}}],["include",{"2":{"14":2,"49":1,"71":1,"94":2,"122":1,"134":1,"228":1,"265":1}}],["including",{"2":{"7":1,"17":1,"144":1,"145":1,"157":1,"340":1}}],["incoming",{"2":{"206":2}}],["incorporates",{"2":{"128":1}}],["incredibly",{"2":{"338":1}}],["increase",{"0":{"99":1},"2":{"95":3,"99":1,"297":1}}],["increasing",{"2":{"54":1}}],["incrementcounter",{"2":{"228":3,"230":1,"231":1}}],["increment",{"2":{"41":1,"46":2,"47":1,"360":2,"364":1}}],["incurring",{"2":{"144":1}}],["incur",{"2":{"18":1,"145":1}}],["incentive",{"2":{"8":1}}],["int",{"2":{"228":9,"230":1,"231":1,"360":1}}],["introduction",{"0":{"41":1,"56":1,"117":1,"128":1,"156":1,"199":1,"235":1,"242":1,"262":1,"293":1},"2":{"42":1}}],["introduced",{"2":{"89":1,"301":1}}],["introduce",{"2":{"8":1}}],["integrity",{"2":{"242":1}}],["integrated",{"2":{"66":1,"72":1,"106":1,"107":1,"195":1,"317":1}}],["integrate",{"0":{"102":1,"105":1},"1":{"103":1,"104":1,"105":1,"106":2,"107":1,"108":1},"2":{"22":1,"41":2,"50":1,"51":1,"91":1,"103":1,"105":1,"117":1,"213":1,"250":1,"268":1}}],["integrating",{"0":{"15":1,"51":1},"2":{"14":1,"20":1,"42":1}}],["integrations",{"2":{"91":1,"163":1}}],["integration",{"0":{"43":1,"47":1,"48":1},"1":{"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1},"2":{"12":1,"13":1,"17":1,"18":1,"41":2,"42":3,"47":1,"48":2,"50":1,"103":1,"162":1,"163":1,"186":1,"213":2,"318":2}}],["integers",{"2":{"359":1,"364":1}}],["integer",{"2":{"168":1}}],["intermediate",{"0":{"153":1},"2":{"176":1}}],["intermediaries",{"2":{"8":1}}],["interpreted",{"2":{"130":1}}],["interval",{"2":{"89":1}}],["inter",{"2":{"73":1}}],["interacted",{"2":{"260":1,"290":1}}],["interactive",{"2":{"121":1}}],["interacting",{"0":{"280":1,"309":1,"364":1},"2":{"52":1,"166":1,"189":1,"191":1,"280":1,"309":1}}],["interactions",{"2":{"47":1,"52":1,"358":2}}],["interaction",{"0":{"46":1,"207":1,"257":1,"260":1,"282":1,"315":1},"1":{"258":1,"259":1,"260":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":1},"2":{"42":1,"46":1,"49":1,"191":3,"207":1,"268":1,"315":1,"353":1}}],["interact",{"0":{"138":1,"287":1,"289":1,"328":1,"330":1},"2":{"9":1,"41":2,"43":1,"115":1,"137":1,"138":1,"205":1,"207":1,"257":1,"260":1,"268":1,"280":3,"281":1,"282":1,"288":2,"289":1,"296":1,"298":1,"309":3,"310":1,"315":1,"329":2,"330":1,"358":1}}],["interchain",{"2":{"9":1}}],["interoperability",{"2":{"8":1}}],["interoperate",{"2":{"7":2}}],["internal",{"2":{"8":1}}],["interfaces",{"2":{"16":2,"50":1,"162":1,"167":1,"233":1,"353":1}}],["interface",{"0":{"45":1,"50":1,"160":1,"341":1},"1":{"161":1},"2":{"7":1,"9":1,"10":1,"16":6,"42":2,"45":9,"46":1,"50":7,"141":2,"150":1,"160":1,"161":1,"162":2,"163":1,"232":1,"267":2,"268":4,"298":1,"341":2,"342":2,"361":2,"365":1}}],["into",{"0":{"15":1,"20":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1},"2":{"7":1,"20":2,"26":1,"36":1,"41":1,"66":1,"72":1,"76":1,"91":2,"92":1,"103":1,"105":1,"107":1,"128":1,"155":1,"158":1,"173":1,"191":1,"213":1,"227":1,"256":2,"268":1,"269":1,"288":1,"289":1,"294":1,"299":1,"329":1,"330":1,"334":1,"337":1}}],["in",{"0":{"34":1,"48":1,"96":1,"116":1,"172":1,"176":1,"365":1},"1":{"49":1,"50":1,"51":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1},"2":{"3":1,"4":2,"8":4,"9":1,"14":1,"15":2,"16":3,"18":1,"19":2,"21":2,"29":3,"34":1,"37":1,"39":1,"41":3,"42":1,"44":2,"45":4,"46":5,"47":2,"48":1,"49":1,"50":3,"52":1,"53":1,"54":1,"56":1,"59":1,"65":1,"66":1,"73":4,"76":2,"79":2,"81":2,"85":5,"87":3,"89":3,"91":2,"92":2,"94":1,"95":7,"98":1,"99":1,"101":2,"102":1,"103":1,"105":1,"106":5,"107":1,"108":4,"112":2,"113":1,"119":1,"121":1,"123":3,"124":1,"128":1,"131":1,"132":1,"134":1,"135":2,"136":1,"137":2,"138":3,"140":1,"141":1,"144":2,"145":2,"146":2,"150":1,"155":3,"157":1,"158":1,"162":2,"165":1,"166":3,"169":1,"170":1,"173":2,"175":2,"176":4,"178":1,"182":9,"184":2,"188":1,"189":2,"191":4,"212":2,"221":1,"225":1,"227":1,"228":4,"231":1,"232":2,"233":1,"235":1,"236":1,"238":1,"239":1,"242":1,"244":2,"248":1,"250":1,"252":4,"254":1,"255":2,"256":5,"257":2,"258":1,"260":1,"266":1,"269":1,"271":4,"276":1,"277":1,"278":1,"280":6,"281":1,"282":1,"284":1,"286":1,"288":1,"289":4,"295":7,"296":1,"298":1,"299":1,"300":1,"301":1,"305":3,"306":1,"307":1,"308":2,"309":6,"310":1,"313":1,"318":1,"320":1,"323":1,"327":1,"329":1,"330":4,"331":3,"333":1,"334":2,"336":1,"340":3,"342":1,"343":1,"344":1,"345":5,"347":2,"348":1,"349":1,"352":2,"354":2,"355":1,"359":5,"360":3,"361":2,"363":1,"364":5,"365":1}}],["image=",{"2":{"307":1}}],["image",{"2":{"14":1,"252":3,"254":2,"277":4,"278":6,"280":1,"295":3,"306":4,"307":1,"308":2,"309":2}}],["images",{"0":{"313":1},"2":{"3":1,"252":1,"277":1,"280":1,"295":1,"306":1,"308":1,"313":3}}],["impact",{"2":{"191":1}}],["impl=node",{"2":{"123":1,"295":1}}],["impl=rpc",{"2":{"123":1,"295":1}}],["impl=indexerservice",{"2":{"123":1,"295":1}}],["impl=pubsub",{"2":{"123":1,"295":1}}],["impl=eventbus",{"2":{"123":1,"295":1}}],["impl=localclient",{"2":{"123":4,"295":4}}],["impl=multiappconn",{"2":{"123":1,"295":1}}],["impl",{"2":{"45":1}}],["implementing",{"2":{"16":1,"150":1,"209":1}}],["implementers",{"2":{"16":1}}],["implemented",{"2":{"16":1,"141":1,"163":1,"165":1,"169":1,"170":1,"173":1,"352":1,"361":1,"364":1}}],["implements",{"2":{"14":1,"46":1,"167":1,"232":1,"267":1,"342":1}}],["implementations",{"0":{"342":1},"2":{"162":1,"342":1,"343":1}}],["implementation",{"0":{"345":1},"2":{"12":1,"13":1,"15":1,"18":1,"145":1,"173":2,"342":1,"343":1}}],["implement",{"2":{"10":1,"16":2,"345":2,"358":1}}],["imported",{"2":{"361":1}}],["import",{"2":{"134":1,"137":2,"228":2,"229":2,"307":2,"359":1,"360":1}}],["importing",{"2":{"47":1,"50":1}}],["important",{"2":{"16":1,"94":1,"140":1,"162":1,"268":1,"349":1}}],["imposed",{"2":{"10":1}}],["improves",{"2":{"364":1}}],["improve",{"2":{"193":1,"365":3}}],["improvements",{"2":{"4":1}}],["improving",{"2":{"2":1,"56":1}}],["itoa",{"2":{"360":2}}],["its",{"2":{"7":2,"9":1,"16":1,"60":1,"119":1,"132":1,"169":1,"175":1,"182":1,"189":1,"190":1,"191":1,"238":1,"247":1,"258":1,"336":1,"352":2,"360":1}}],["it",{"2":{"2":2,"8":1,"9":2,"12":1,"14":2,"16":3,"18":3,"19":2,"23":1,"29":2,"37":1,"41":3,"44":1,"45":2,"46":1,"59":1,"60":1,"62":1,"69":1,"73":1,"82":1,"85":3,"94":2,"117":1,"118":1,"121":2,"128":1,"133":1,"134":2,"135":5,"137":2,"138":2,"140":1,"141":1,"144":2,"145":4,"148":1,"150":1,"155":1,"156":1,"157":1,"160":1,"162":1,"163":1,"165":1,"166":1,"169":1,"176":1,"182":1,"184":1,"186":1,"190":1,"192":1,"206":1,"213":3,"216":2,"221":2,"228":1,"229":1,"230":1,"231":1,"236":1,"242":1,"244":1,"247":1,"251":1,"252":1,"254":1,"255":1,"256":1,"258":1,"260":1,"266":1,"267":3,"269":2,"276":1,"277":2,"280":2,"281":1,"282":3,"284":1,"289":1,"290":1,"293":1,"294":1,"295":1,"296":2,"298":1,"301":1,"304":1,"305":1,"306":1,"307":3,"309":3,"310":1,"313":1,"317":1,"330":1,"338":2,"340":1,"341":1,"342":1,"343":1,"344":1,"345":2,"347":2,"349":3,"353":1,"354":3,"357":1,"358":2,"359":1,"360":2,"361":1,"363":1,"364":3,"365":3}}],["isfound",{"2":{"359":2,"360":4}}],["isletter",{"2":{"359":3,"360":1}}],["isn",{"2":{"345":1}}],["isrs",{"2":{"176":1}}],["issues",{"2":{"210":1,"277":1,"299":1,"313":1,"318":2}}],["issue",{"2":{"4":1,"73":3,"92":1,"155":1,"242":1}}],["is",{"0":{"29":1,"141":1,"142":1},"1":{"143":1,"144":1},"2":{"1":1,"7":1,"8":2,"9":1,"10":1,"12":3,"15":2,"18":4,"19":2,"21":1,"22":1,"24":1,"25":1,"28":1,"29":3,"37":1,"39":1,"41":1,"46":1,"47":1,"50":1,"51":1,"53":1,"54":2,"61":1,"62":1,"65":1,"71":2,"79":2,"81":1,"85":3,"86":1,"87":1,"88":1,"90":1,"92":1,"94":1,"95":4,"96":1,"98":1,"103":1,"107":2,"108":1,"111":1,"112":2,"117":1,"121":1,"124":2,"131":1,"133":1,"134":1,"135":1,"136":1,"137":1,"140":1,"141":3,"143":2,"145":3,"148":1,"150":1,"155":2,"156":1,"157":1,"160":1,"162":1,"163":1,"165":3,"166":2,"168":2,"169":2,"173":1,"175":1,"176":1,"182":6,"183":1,"184":1,"186":1,"188":2,"199":2,"201":1,"202":1,"205":2,"206":4,"210":2,"213":1,"226":1,"228":1,"229":1,"231":1,"232":4,"233":1,"238":8,"239":1,"242":1,"243":1,"244":1,"247":4,"248":3,"250":3,"251":1,"252":2,"254":1,"256":1,"258":1,"259":2,"265":2,"266":1,"267":3,"269":5,"270":1,"271":2,"272":1,"277":2,"278":3,"280":1,"284":1,"286":1,"288":1,"293":1,"294":1,"295":3,"296":1,"298":1,"299":2,"301":3,"304":1,"305":1,"307":2,"309":2,"313":2,"314":1,"318":4,"329":1,"332":1,"334":1,"335":1,"338":3,"342":2,"344":1,"345":1,"347":1,"348":2,"349":3,"352":3,"353":2,"354":2,"357":3,"358":3,"359":5,"360":3,"361":2,"364":3,"365":1}}],["luck",{"2":{"240":1,"249":1,"338":1}}],["luxor",{"2":{"14":1}}],["l",{"2":{"217":1,"283":1,"322":1}}],["l3s",{"2":{"146":1}}],["lt",{"2":{"94":1}}],["l2",{"2":{"8":2}}],["len",{"2":{"359":1,"360":1}}],["level",{"2":{"124":1,"131":1,"165":1,"186":1,"296":1}}],["leverages",{"2":{"128":1,"145":1}}],["leverage",{"2":{"20":1,"102":1,"148":1,"157":1,"186":1}}],["left",{"2":{"54":1,"94":1}}],["less",{"2":{"16":1,"102":1,"106":1}}],["letters",{"2":{"359":3,"360":2}}],["letter",{"2":{"345":6,"359":1,"360":1,"364":1}}],["lets",{"2":{"59":1}}],["let",{"2":{"8":1,"41":1,"47":5,"92":1,"121":1,"137":1,"155":1,"191":1,"228":2,"229":1,"238":4,"239":1,"247":2,"248":1,"252":1,"254":1,"256":3,"258":1,"260":1,"295":1,"296":1,"298":1,"309":1,"363":1,"364":3}}],["leader",{"2":{"364":1}}],["leading",{"2":{"7":1}}],["least",{"2":{"176":1,"364":1}}],["leaf",{"2":{"124":2}}],["learnt",{"2":{"195":1}}],["learning",{"2":{"128":2}}],["learn",{"2":{"3":1,"26":1,"45":1,"52":1,"73":2,"109":1,"120":1,"141":1,"148":1,"150":1,"193":1,"238":1,"272":1,"301":1,"325":1,"332":1}}],["li",{"2":{"280":1}}],["lies",{"2":{"236":1}}],["license",{"2":{"137":1,"228":2,"229":1}}],["listed",{"2":{"144":1}}],["listen=0",{"2":{"332":1}}],["listen",{"2":{"83":1,"123":1,"124":1,"203":1,"233":1,"252":1,"263":1,"278":2,"280":1,"295":2,"309":1}}],["listening",{"2":{"60":1,"120":1,"123":3,"205":1,"295":3}}],["list",{"2":{"97":1,"124":1,"193":1,"258":1,"260":2,"296":2,"354":1,"364":2}}],["lifecycle",{"2":{"162":1,"186":1,"192":1}}],["life",{"2":{"91":1,"147":1}}],["limited",{"2":{"143":2}}],["limitations",{"2":{"143":1,"192":1}}],["limit",{"2":{"90":2,"124":1,"296":1,"364":1}}],["lines",{"2":{"134":1,"269":1}}],["line",{"2":{"121":1,"256":2}}],["link",{"2":{"85":1,"202":1}}],["linux",{"2":{"76":1,"118":1,"216":3,"313":2,"320":1}}],["libraries",{"2":{"347":1}}],["library",{"2":{"52":1,"228":1}}],["libssl",{"2":{"215":1}}],["libs",{"2":{"192":1}}],["libp2p",{"2":{"169":1}}],["lib",{"2":{"45":2,"46":1,"50":1}}],["live",{"2":{"16":1,"41":1,"52":1,"54":1,"229":1}}],["liquidity",{"2":{"8":1,"149":1}}],["light",{"0":{"172":1,"236":1,"239":1,"243":1,"248":1,"331":1,"332":1},"1":{"244":1,"332":1,"333":1,"334":1},"2":{"7":2,"8":1,"83":1,"95":1,"97":1,"124":1,"145":2,"150":1,"158":1,"163":1,"172":4,"173":1,"176":4,"178":2,"182":2,"236":2,"238":6,"243":1,"244":4,"246":1,"247":1,"331":2,"332":7,"334":1}}],["like",{"2":{"7":2,"8":1,"9":1,"45":1,"46":1,"53":1,"62":1,"81":2,"85":1,"87":1,"88":2,"90":1,"96":1,"112":1,"133":1,"138":1,"144":1,"145":1,"160":1,"161":1,"178":1,"215":1,"220":1,"247":1,"252":1,"268":2,"271":1,"280":1,"295":2,"296":2,"307":1,"308":2,"325":1,"364":1,"366":1}}],["larger",{"2":{"364":1}}],["largest",{"2":{"14":1}}],["label",{"2":{"259":1,"260":1}}],["labs",{"2":{"78":1,"133":1,"247":1}}],["lazy",{"0":{"89":1},"2":{"89":6,"91":1}}],["lastbatchhash",{"2":{"341":1}}],["lastly",{"2":{"212":1,"238":1}}],["last",{"2":{"88":1,"166":1,"184":4,"238":1}}],["layar",{"2":{"62":1}}],["layers",{"0":{"270":1},"2":{"10":1,"15":2,"17":1,"18":1,"37":1,"141":1,"145":2,"146":1,"149":2,"212":1,"213":2,"267":1,"268":2,"270":1}}],["layer",{"0":{"15":1,"149":1,"169":1},"2":{"7":5,"8":3,"10":1,"14":1,"16":2,"18":2,"95":1,"96":4,"144":2,"145":5,"148":2,"149":2,"150":1,"151":1,"158":1,"162":4,"163":1,"166":2,"169":2,"173":1,"175":1,"176":2,"182":4,"186":2,"205":1,"212":1,"213":1,"226":1,"238":2,"240":1,"247":2,"250":1,"252":1,"267":3,"268":2,"269":5,"270":1,"271":1,"307":1,"308":1,"318":1,"324":2,"332":1,"333":1,"342":1}}],["language",{"2":{"118":1}}],["land",{"2":{"45":1}}],["lanes",{"2":{"9":1}}],["latest",{"2":{"44":1,"168":2,"223":1,"247":2,"277":1,"306":1,"309":1,"313":1,"357":1,"360":1}}],["later",{"2":{"37":1,"89":1,"252":1,"257":1,"295":1,"309":1,"364":1}}],["laddr",{"2":{"37":2,"38":2,"61":2,"252":2}}],["launched",{"2":{"252":1,"295":1}}],["launches",{"2":{"188":1}}],["launching",{"2":{"7":1,"8":1,"11":1,"278":1}}],["launch",{"2":{"7":2,"8":1,"10":1,"140":1,"156":1,"252":1,"295":1,"335":1}}],["l1",{"2":{"7":2,"8":1,"173":1}}],["l1s",{"2":{"7":1}}],["lots",{"2":{"347":1}}],["long",{"2":{"176":1,"359":1,"360":1,"364":1}}],["low",{"2":{"172":1}}],["loop",{"2":{"83":2,"124":2}}],["looks",{"2":{"112":1,"166":1,"178":1,"295":1,"308":1}}],["look",{"2":{"53":1,"60":1,"90":1,"96":1,"137":1,"138":1,"212":1,"220":1,"222":1,"238":2,"258":1,"260":2,"286":1,"298":1,"324":1,"327":1,"359":1}}],["looking",{"2":{"41":1,"107":1,"144":1,"157":1}}],["login",{"2":{"289":1,"330":1}}],["logic",{"2":{"186":1,"238":1,"247":1,"300":1,"352":1,"358":1,"364":1}}],["logging",{"2":{"228":1}}],["logger",{"2":{"47":1}}],["logsbloom",{"2":{"138":1}}],["logs",{"2":{"60":1,"123":1,"137":1,"138":1,"188":2,"205":1,"210":1,"228":3,"252":4,"260":1,"269":1,"279":1,"286":1,"295":4,"308":2,"309":4,"324":1,"327":1,"364":1}}],["log",{"2":{"47":1,"124":1,"206":1,"228":3,"230":1,"260":1,"265":1,"337":1,"364":2}}],["loading",{"2":{"159":1,"179":1,"180":1,"181":1,"182":1}}],["loads",{"2":{"134":1}}],["loaded",{"2":{"124":1}}],["load",{"2":{"47":1}}],["lock",{"2":{"47":1}}],["location",{"2":{"225":1}}],["located",{"2":{"21":1,"136":1,"227":1,"364":1}}],["localwasm",{"2":{"256":2,"259":2,"260":2}}],["locally",{"0":{"230":1},"2":{"229":1,"230":2,"231":1,"249":1,"295":2,"308":2}}],["localclient",{"2":{"123":4,"295":4}}],["localdalatesttag",{"2":{"120":1,"203":1,"263":1,"278":1}}],["localhost",{"2":{"37":1,"38":1,"61":1,"83":2,"87":2,"88":3,"123":1,"124":1,"137":1,"191":1,"233":3,"238":1,"247":2,"248":1,"265":3,"269":1,"286":1,"299":1,"327":1}}],["local",{"0":{"77":1,"79":1,"87":1,"88":1,"120":1,"203":1,"219":1,"225":1,"261":1,"263":1,"264":1,"314":1,"320":1},"1":{"78":1,"79":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"262":1,"263":1,"264":1,"265":1,"266":1},"2":{"2":1,"17":1,"39":1,"47":4,"57":1,"69":1,"73":1,"76":4,"79":5,"83":2,"84":3,"85":6,"87":1,"91":1,"120":3,"121":1,"123":1,"126":2,"128":1,"186":1,"188":3,"189":1,"191":1,"195":1,"203":2,"205":1,"206":1,"210":1,"212":1,"216":4,"218":1,"219":1,"227":1,"230":3,"232":1,"235":1,"238":1,"240":1,"242":2,"243":1,"247":2,"249":1,"250":1,"252":12,"255":1,"258":1,"260":1,"262":1,"263":3,"264":2,"265":1,"266":1,"270":1,"276":4,"278":11,"280":9,"295":14,"296":2,"299":1,"305":2,"307":3,"308":5,"309":6,"311":1,"314":1,"317":1,"318":1,"320":2,"333":2,"347":1,"348":1,"359":1,"360":1,"363":1,"365":1}}],["love",{"2":{"2":1,"11":1}}],["ll",{"2":{"0":1,"5":1,"23":1,"24":1,"66":1,"73":1,"79":1,"89":1,"91":2,"95":1,"97":1,"103":1,"104":1,"105":1,"109":1,"132":1,"212":1,"221":1,"260":2,"271":1,"279":1,"288":1,"289":1,"296":1,"308":1,"313":1,"329":1,"330":1,"331":2,"333":1}}],["w1",{"2":{"220":2}}],["wget",{"2":{"215":1,"216":1}}],["w",{"2":{"134":2}}],["ws",{"2":{"61":1}}],["worry",{"2":{"296":1}}],["word",{"2":{"345":7,"354":1,"355":4,"357":3,"359":6,"360":8,"364":4,"365":2}}],["wordle",{"0":{"279":1,"308":1,"343":1,"346":1,"348":1,"349":1,"352":1,"356":1,"357":1,"362":1,"363":1},"1":{"344":1,"345":1,"346":1,"347":2,"348":2,"349":2,"350":1,"351":1,"352":1,"353":2,"354":1,"355":1,"356":1,"357":2,"358":1,"359":1,"360":1,"361":1,"362":1,"363":2,"364":2,"365":2,"366":1},"2":{"153":1,"265":1,"272":1,"273":1,"276":1,"277":9,"278":8,"279":2,"280":7,"300":1,"301":1,"302":1,"305":2,"306":5,"307":17,"308":8,"309":7,"343":1,"345":7,"348":3,"349":1,"350":1,"352":1,"353":3,"354":3,"355":2,"357":3,"359":24,"360":17,"361":3,"363":4,"364":22,"365":2,"366":1}}],["words",{"2":{"84":1}}],["workdir",{"2":{"277":2}}],["working",{"2":{"123":1,"131":1,"132":1,"150":1,"277":2,"295":1}}],["work",{"0":{"172":1,"176":1},"2":{"73":1,"176":2,"178":1,"184":1,"212":1,"242":1,"252":1,"295":1,"342":1,"344":1,"347":1,"349":1,"353":1,"361":1}}],["workspace",{"0":{"48":1},"1":{"49":1,"50":1,"51":1},"2":{"42":1,"45":1,"50":4,"51":1,"107":1}}],["workspaces",{"2":{"41":1,"49":1}}],["works",{"2":{"16":1,"134":1,"212":1}}],["worldle",{"2":{"363":1}}],["world",{"0":{"292":1,"298":1},"1":{"293":1,"294":1,"295":1,"296":1,"297":1,"298":1,"299":1,"300":1},"2":{"73":1,"76":1,"104":1,"112":2,"117":1,"121":2,"152":1,"191":1,"193":1,"242":5,"245":1,"293":1,"309":1,"348":1}}],["would",{"2":{"53":1,"90":1,"94":1,"155":1,"161":1,"247":1,"269":1}}],["wrap",{"2":{"359":3,"360":4}}],["wrapper",{"2":{"45":2}}],["wrong",{"2":{"345":1,"360":2}}],["wrn",{"2":{"206":1}}],["written",{"2":{"134":2}}],["writing",{"2":{"16":1,"41":1,"44":1,"259":1}}],["writer",{"2":{"16":2}}],["write",{"2":{"16":3,"41":2,"92":1,"134":2,"155":1,"238":3,"250":1,"348":1,"359":1}}],["warning",{"2":{"76":1,"121":1,"178":1,"184":1,"220":1}}],["waiting",{"2":{"137":1,"286":1,"327":1}}],["wait",{"2":{"53":1,"73":1,"89":1,"233":1,"364":1}}],["wanted",{"2":{"260":2,"364":1}}],["want",{"2":{"41":1,"48":1,"89":1,"107":1,"140":1,"149":1,"192":1,"242":1,"244":1,"255":1,"280":1,"296":2,"309":1,"316":1,"333":1}}],["wants",{"2":{"16":1,"360":1}}],["ways",{"2":{"146":1,"271":1,"345":1,"365":1}}],["way",{"2":{"41":1,"271":1,"335":1,"360":1,"364":4}}],["walkthrough",{"2":{"130":1,"131":1}}],["walk",{"2":{"20":1,"27":1,"64":1,"109":1,"201":1}}],["wall",{"2":{"14":1}}],["wallet",{"0":{"220":1,"299":1},"2":{"9":1,"84":1,"185":2,"220":1,"236":1,"244":1,"260":1,"289":3,"298":3,"299":5,"330":3}}],["waste",{"2":{"47":1}}],["wasm1y9ceqvnsnm9xtcdmhrjvv4rslgwfzmrzky2c5z",{"2":{"260":2}}],["wasm14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d",{"2":{"260":3}}],["wasm1lysztpn74kl40w6ghfhy7xr0v44r658szuysl5",{"2":{"184":4}}],["wasmvm",{"2":{"186":1}}],["wasmd",{"2":{"183":1,"184":1,"252":1,"255":1,"256":1,"258":1,"259":1,"260":6}}],["wasmpath",{"2":{"45":1}}],["wasm32",{"2":{"45":2}}],["wasm",{"2":{"45":4,"184":2,"250":1,"252":6,"255":2,"256":4,"258":1,"259":1,"260":7}}],["was",{"2":{"13":1,"14":2,"16":1,"89":1,"138":1,"216":1,"252":1,"295":1,"308":2,"340":2,"347":1,"359":1,"360":1,"364":3}}],["wire",{"2":{"349":1}}],["wip",{"2":{"301":1}}],["win",{"2":{"124":2}}],["windows",{"2":{"118":1,"313":2,"347":3}}],["window",{"2":{"66":1,"364":1}}],["widespread",{"2":{"144":1}}],["widely",{"2":{"131":1}}],["wide",{"2":{"91":1}}],["witnesses",{"2":{"14":2}}],["without",{"2":{"7":1,"8":1,"14":1,"96":1,"162":1,"173":1,"232":1,"318":1,"340":1}}],["within",{"2":{"7":1,"117":1,"133":1,"205":1,"360":1}}],["with",{"0":{"9":1,"12":1,"14":1,"40":1,"102":1,"127":1,"138":1,"147":1,"148":1,"186":1,"188":1,"193":1,"198":1,"253":1,"280":1,"287":1,"289":1,"309":1,"311":1,"314":1,"328":1,"330":1,"331":1,"364":1},"1":{"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"254":1,"255":1,"256":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"332":1,"333":1,"334":1},"2":{"1":1,"2":1,"3":1,"6":1,"7":5,"8":4,"9":4,"11":2,"12":2,"13":2,"14":2,"16":1,"18":3,"19":1,"31":1,"33":1,"38":1,"41":2,"42":1,"43":1,"45":2,"48":1,"51":1,"52":1,"54":1,"60":1,"61":1,"65":1,"69":2,"71":1,"76":2,"79":1,"82":1,"83":2,"84":1,"85":1,"86":1,"89":2,"91":2,"92":1,"94":1,"101":1,"103":1,"115":1,"117":1,"121":3,"123":2,"124":2,"131":2,"132":1,"134":4,"135":1,"137":2,"138":1,"140":2,"141":2,"143":1,"144":2,"145":4,"148":1,"151":1,"154":1,"155":1,"161":3,"162":1,"166":5,"167":1,"173":1,"178":1,"182":1,"186":2,"188":1,"189":2,"191":8,"193":3,"195":1,"205":1,"206":3,"207":3,"208":1,"209":1,"212":2,"213":2,"214":1,"216":1,"224":1,"228":3,"229":1,"230":4,"231":1,"238":1,"239":1,"244":2,"247":1,"248":1,"250":1,"251":2,"252":5,"256":2,"257":1,"260":4,"262":1,"264":1,"265":1,"267":2,"268":2,"270":1,"271":4,"276":2,"278":1,"279":1,"280":6,"281":2,"282":1,"284":1,"285":1,"286":1,"288":3,"289":2,"290":1,"294":1,"295":7,"296":1,"298":2,"307":2,"308":4,"309":6,"310":2,"312":1,"313":4,"314":1,"315":3,"317":3,"318":1,"326":1,"327":1,"329":3,"330":2,"331":1,"341":1,"343":1,"347":1,"348":2,"350":1,"353":5,"354":2,"355":1,"357":1,"358":2,"359":2,"360":5,"361":2,"363":3,"364":8,"365":1}}],["wizards",{"2":{"14":1}}],["will",{"2":{"10":1,"18":1,"19":1,"20":1,"27":1,"37":1,"39":1,"41":3,"43":1,"48":1,"53":1,"54":2,"60":1,"64":1,"65":1,"66":1,"70":1,"76":1,"79":1,"80":2,"84":2,"87":2,"91":2,"92":1,"93":1,"94":3,"95":3,"96":1,"99":1,"108":1,"109":1,"117":2,"119":1,"121":1,"123":1,"124":1,"128":4,"131":1,"133":2,"134":1,"135":5,"136":1,"137":2,"138":3,"144":1,"151":1,"155":1,"158":2,"168":2,"176":3,"182":5,"186":1,"189":1,"190":1,"191":1,"201":1,"203":1,"205":1,"212":5,"215":1,"216":1,"220":1,"222":1,"223":1,"227":1,"228":1,"230":2,"231":1,"238":2,"247":1,"250":2,"252":1,"255":1,"256":2,"257":1,"258":1,"260":2,"263":2,"266":1,"269":1,"276":2,"282":1,"285":1,"286":2,"288":2,"293":2,"295":1,"299":1,"305":2,"307":1,"309":1,"311":1,"313":1,"314":1,"316":1,"318":1,"324":1,"326":1,"327":2,"329":2,"331":3,"336":1,"337":1,"343":3,"344":1,"345":5,"348":2,"349":2,"353":2,"354":1,"356":1,"358":1,"359":2,"360":2,"363":3,"364":6}}],["whoever",{"2":{"345":1}}],["who",{"2":{"149":1,"344":1}}],["why",{"0":{"145":1}}],["whatever",{"2":{"133":1}}],["what",{"0":{"141":1,"142":1},"1":{"143":1,"144":1},"2":{"96":1,"150":1,"178":1,"247":1,"270":1,"338":1}}],["whammy",{"2":{"85":1}}],["whitelist",{"2":{"50":1}}],["while",{"2":{"9":1,"14":1,"15":1,"144":1,"155":1,"182":1,"199":1,"221":1,"271":2,"352":1}}],["whichever",{"2":{"150":1}}],["which",{"2":{"7":1,"8":1,"16":2,"29":1,"37":1,"54":1,"66":1,"73":1,"76":1,"79":1,"81":1,"88":1,"92":1,"103":1,"117":1,"129":1,"141":2,"144":1,"145":2,"155":1,"161":2,"166":3,"182":2,"203":1,"235":1,"238":2,"242":1,"243":1,"245":1,"248":1,"255":1,"262":1,"263":1,"267":1,"314":1,"315":1,"331":1,"338":1,"342":2,"345":1,"348":1,"353":2,"359":2,"360":2}}],["where",{"2":{"8":1,"15":1,"18":1,"19":1,"21":1,"24":1,"49":2,"73":1,"94":2,"95":1,"98":1,"112":1,"135":1,"145":1,"155":1,"221":2,"233":1,"307":2,"340":1,"364":1}}],["when",{"0":{"150":1},"2":{"7":1,"10":1,"45":1,"49":1,"50":2,"54":2,"81":1,"84":1,"85":1,"91":1,"94":2,"113":1,"134":1,"158":1,"166":1,"176":1,"182":1,"191":2,"316":1,"332":1,"360":1,"365":2}}],["whether",{"2":{"2":1,"176":1,"364":1}}],["web",{"2":{"349":1}}],["webassembly",{"2":{"250":1}}],["websockets",{"2":{"167":1}}],["weight",{"2":{"172":1}}],["well",{"2":{"49":1,"129":1,"162":1,"169":1,"230":1,"240":1,"249":2,"252":1,"295":1,"343":1}}],["welcome",{"2":{"0":1,"5":1,"91":1,"156":1,"335":1}}],["we",{"2":{"2":1,"4":1,"11":1,"12":1,"16":3,"17":1,"18":2,"19":1,"41":3,"43":1,"45":1,"48":1,"50":2,"61":1,"71":1,"73":1,"79":2,"89":1,"95":2,"101":1,"103":1,"105":1,"108":1,"117":1,"121":1,"123":4,"124":2,"128":2,"131":2,"132":1,"133":1,"134":1,"136":1,"138":2,"150":1,"151":1,"156":2,"165":1,"191":1,"206":2,"212":4,"215":1,"216":1,"221":1,"227":1,"228":2,"229":2,"230":3,"231":6,"238":1,"246":2,"247":1,"250":2,"251":2,"252":6,"254":1,"255":2,"256":1,"257":1,"258":2,"259":2,"260":3,"269":2,"276":4,"277":1,"278":4,"280":5,"285":1,"288":1,"293":1,"294":3,"295":6,"296":4,"305":3,"306":1,"307":4,"309":6,"318":2,"326":1,"329":1,"331":1,"344":2,"345":5,"348":4,"349":1,"350":2,"352":1,"353":2,"354":2,"355":3,"356":2,"357":1,"358":1,"359":9,"360":12,"361":2,"363":2,"364":4}}],["df",{"2":{"313":1}}],["dc4026b38a604b82af88a0cd9bedb245",{"2":{"309":2}}],["dc4026b38a60",{"2":{"308":1}}],["d532fc82579f",{"2":{"252":1}}],["db",{"2":{"233":1}}],["dbg",{"2":{"62":1}}],["dl",{"2":{"216":1}}],["d7d4c5a2ac271061512789bee3718305beaa519b",{"2":{"184":2}}],["d7e7e6ec0299c120c0e32167c11f0b60921ef88cc6524345bceb3b266ef727aa",{"2":{"85":1}}],["dht",{"2":{"169":3}}],["dst",{"2":{"85":3,"124":2}}],["dynamic",{"2":{"186":1}}],["dyn",{"2":{"45":1}}],["dual",{"2":{"186":2}}],["dumps",{"2":{"134":1}}],["duplicate",{"2":{"95":1}}],["duplication",{"2":{"41":1}}],["during",{"2":{"54":1,"145":1,"269":1}}],["duration=46",{"2":{"206":1}}],["duration>",{"2":{"89":1}}],["duration",{"2":{"53":1,"83":2,"124":2,"233":1}}],["due",{"2":{"13":1,"95":1}}],["dramatically",{"2":{"364":1}}],["drive",{"2":{"361":1}}],["dr",{"0":{"13":1}}],["d",{"2":{"11":1,"94":1,"188":1,"221":1,"254":1,"325":1,"332":1}}],["das",{"2":{"331":1}}],["dastartheight",{"2":{"166":1}}],["dae3359665f8",{"2":{"280":1}}],["daemon",{"2":{"219":1}}],["daemonbuilder",{"2":{"47":1}}],["danger",{"2":{"226":1,"256":1,"318":1}}],["date",{"2":{"210":1,"359":1,"364":1,"365":1}}],["database",{"2":{"233":1}}],["datadir",{"2":{"62":1}}],["dataavailabilitylayerclient",{"2":{"16":1,"162":1}}],["data",{"0":{"14":1,"15":1,"16":1,"30":1,"162":1,"203":1},"1":{"163":1},"2":{"8":1,"10":2,"12":2,"13":2,"14":8,"15":4,"16":7,"18":3,"20":1,"30":1,"37":1,"39":1,"57":1,"62":3,"117":2,"128":1,"140":1,"141":1,"145":4,"150":1,"151":1,"157":1,"158":1,"162":3,"163":1,"166":3,"173":1,"175":1,"182":1,"184":2,"203":1,"212":2,"213":6,"235":1,"236":1,"238":1,"240":1,"242":3,"244":1,"245":1,"260":2,"266":1,"267":2,"268":2,"269":1,"293":2,"301":1,"305":1,"318":2,"331":2,"332":1,"333":1,"334":1,"337":1,"341":1,"349":1,"364":2}}],["daheight=30",{"2":{"324":1}}],["daheight",{"2":{"166":1}}],["dablocktime",{"2":{"166":2}}],["dapp",{"2":{"154":1}}],["dappsys",{"2":{"228":1}}],["dapps",{"2":{"14":1,"191":1}}],["darwin",{"2":{"82":1}}],["days",{"2":{"338":1}}],["day",{"2":{"9":1,"16":1,"345":2,"354":1,"359":9,"360":15,"364":1,"365":1}}],["da",{"0":{"53":1,"90":1,"120":1,"203":1,"234":1,"238":1,"241":1,"247":1,"261":1,"263":1,"264":1,"267":1,"268":1,"269":1,"270":1,"314":1},"1":{"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"262":1,"263":1,"264":1,"265":1,"266":1,"268":1,"269":1,"270":1},"2":{"7":1,"8":2,"10":2,"16":4,"26":1,"37":3,"38":1,"39":1,"53":4,"54":5,"57":2,"61":1,"62":1,"69":1,"72":1,"90":1,"91":2,"94":1,"95":3,"96":5,"117":1,"120":3,"121":1,"123":2,"126":1,"141":2,"145":1,"151":1,"158":1,"162":4,"163":3,"166":1,"167":1,"168":1,"176":2,"182":4,"184":1,"186":1,"188":1,"195":1,"203":2,"210":1,"226":4,"232":1,"233":8,"235":2,"238":16,"239":4,"240":1,"242":4,"247":8,"248":5,"250":1,"252":14,"260":1,"262":1,"263":3,"264":3,"265":5,"266":1,"267":5,"268":6,"269":6,"270":5,"271":1,"276":3,"278":8,"280":6,"293":1,"295":15,"305":3,"307":12,"308":6,"309":6,"311":1,"314":1,"317":1,"324":2,"332":7,"333":3,"342":1,"363":1,"364":1,"366":1}}],["doing",{"2":{"359":1,"360":2}}],["do",{"2":{"49":1,"50":1,"114":1,"121":1,"221":1,"229":1,"231":1,"256":1,"280":1,"296":1,"309":1}}],["dotenv",{"2":{"47":2}}],["doubt",{"2":{"29":1}}],["door",{"2":{"12":1}}],["done",{"2":{"47":1,"104":1,"221":1,"240":1,"249":1,"280":1,"288":1,"309":1,"316":1,"329":1}}],["don",{"2":{"8":1,"95":1,"161":1,"171":1,"185":1,"296":1,"313":1}}],["doesn",{"2":{"139":1}}],["does",{"2":{"8":1,"147":1,"155":1,"238":1,"247":1,"269":1,"301":2,"332":1,"364":1}}],["downloaded",{"2":{"252":2}}],["downloads",{"2":{"110":1}}],["downloading",{"2":{"79":1,"215":1}}],["download",{"2":{"76":2,"118":1,"121":2,"145":1,"182":1,"188":1,"254":1,"277":1}}],["down",{"2":{"7":1,"19":1,"150":1,"194":1,"280":1,"309":1}}],["dockerfile",{"0":{"277":1,"306":1},"2":{"276":2,"277":4,"306":3}}],["dockerfiles",{"2":{"276":1}}],["docker",{"0":{"188":1,"202":1,"272":1,"275":1,"278":1,"313":1},"1":{"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"281":1},"2":{"75":1,"188":3,"189":1,"190":2,"202":2,"252":2,"254":1,"255":2,"256":1,"271":1,"272":2,"275":1,"276":1,"277":2,"278":5,"279":1,"280":7,"281":2,"295":2,"296":2,"306":3,"307":1,"309":8,"310":1,"313":4,"319":1,"333":2}}],["docs",{"2":{"1":1,"156":1,"242":1,"344":1,"347":1,"349":1,"352":1,"353":1,"354":1,"358":1}}],["documentation",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1},"2":{"0":1,"1":1,"3":1,"4":1,"41":1,"45":1,"46":1,"52":1,"140":1,"148":1,"157":2,"210":1,"349":1}}],["did",{"2":{"269":1,"360":1,"364":4}}],["didn",{"2":{"97":1,"364":1}}],["disk",{"2":{"313":1}}],["disable",{"2":{"226":1}}],["distinct",{"2":{"191":1}}],["disputes",{"2":{"149":1}}],["displayed",{"2":{"299":1}}],["display",{"2":{"119":1,"189":1,"288":1,"329":1,"336":1,"364":1}}],["discover",{"2":{"338":1}}],["discovery",{"2":{"169":1}}],["disclaimer",{"2":{"73":1,"242":1,"271":1,"301":1}}],["discrepancies",{"2":{"4":1}}],["divided",{"2":{"103":1}}],["dive",{"2":{"91":1,"191":1}}],["dir",{"2":{"45":1,"59":3,"112":4,"122":1}}],["directories",{"2":{"349":1}}],["directory",{"0":{"3":1,"349":1},"2":{"21":1,"29":3,"39":1,"44":1,"45":1,"62":2,"65":1,"76":1,"83":2,"112":2,"113":1,"114":1,"121":1,"122":1,"124":2,"133":2,"135":1,"136":2,"137":1,"221":1,"227":2,"228":1,"245":1,"246":1,"254":1,"255":1,"277":6,"278":1,"288":1,"295":1,"306":1,"308":1,"329":1,"334":1,"348":2,"349":4,"363":2,"364":1}}],["direct",{"2":{"83":2,"124":2,"130":1,"162":1,"169":1}}],["directly",{"2":{"7":1,"8":1,"14":1,"52":1,"81":1,"145":1,"268":1}}],["difference",{"2":{"235":1,"236":1}}],["differently",{"2":{"353":1}}],["different",{"2":{"10":1,"18":2,"37":1,"61":1,"62":1,"81":1,"87":1,"137":1,"141":1,"146":1,"173":1,"209":1,"212":1,"213":1,"270":1,"289":1,"330":1,"340":1,"342":1}}],["diff",{"2":{"48":1}}],["difficult",{"2":{"8":1}}],["diagrams",{"2":{"3":1}}],["debian",{"2":{"252":1,"277":1,"295":1,"309":1}}],["debug",{"2":{"9":1,"83":2,"124":2,"160":1}}],["delegating",{"2":{"353":1}}],["delegate",{"2":{"10":2}}],["deloyment",{"2":{"229":1}}],["dedicated",{"2":{"145":1,"169":1}}],["desktop",{"2":{"275":1}}],["desc",{"2":{"260":2}}],["describing",{"2":{"349":1}}],["described",{"2":{"256":1,"342":1}}],["description",{"2":{"132":1,"307":1}}],["desired",{"2":{"244":1}}],["designs",{"2":{"354":1}}],["design",{"0":{"345":1},"2":{"132":1,"162":1,"176":2,"213":1,"343":1,"345":2,"354":1}}],["designed",{"2":{"91":1,"120":1,"318":1,"348":2}}],["designate",{"2":{"10":1}}],["deep",{"2":{"128":1}}],["deeper",{"2":{"91":1,"117":1,"192":1}}],["deterministic",{"2":{"341":1}}],["determine",{"2":{"238":1,"247":1}}],["detect",{"2":{"176":1}}],["detected",{"2":{"108":1}}],["detail",{"2":{"91":1}}],["details",{"0":{"184":1},"1":{"185":1},"2":{"3":1,"16":1,"18":1,"49":1,"248":1,"260":1}}],["detailed",{"2":{"2":1,"176":1,"210":1}}],["denom",{"2":{"87":5,"88":3,"123":1,"124":2,"259":2,"296":1,"297":2}}],["de5f15d2ceb85278fa916185a01fba5da604563462893288ec7a8745fb597b96",{"2":{"85":1}}],["decrementcounter",{"2":{"228":2}}],["decreasing",{"2":{"54":1}}],["decision",{"2":{"176":1}}],["decide",{"2":{"169":1,"182":1}}],["decoded",{"2":{"138":1}}],["decentralized",{"2":{"128":1,"143":1,"144":1,"173":2,"182":1}}],["decentralization",{"2":{"56":1}}],["def",{"2":{"307":1}}],["defer",{"2":{"173":1}}],["defaults",{"2":{"54":1}}],["default",{"2":{"47":1,"54":1,"83":2,"84":2,"101":1,"123":1,"165":1,"175":1,"184":1,"233":5,"238":3,"247":1,"295":1,"332":1,"334":1,"349":1}}],["definition",{"2":{"349":1}}],["definitions",{"2":{"46":1}}],["defining",{"2":{"50":1}}],["defined",{"2":{"49":2,"95":1,"341":1,"352":1,"353":1,"358":1,"361":1}}],["defines",{"2":{"16":2,"95":1,"268":2,"341":1,"354":1}}],["define",{"2":{"7":2,"8":1,"45":1,"268":1,"269":1,"278":3,"307":4}}],["derived",{"2":{"284":1}}],["derive",{"2":{"46":4,"49":1}}],["dep",{"2":{"353":1}}],["depends",{"2":{"278":1}}],["dependency",{"0":{"215":1,"251":1},"1":{"216":1,"217":1,"218":1},"2":{"161":2,"353":2}}],["dependencies",{"0":{"49":1,"118":1,"274":1,"294":1,"303":1},"1":{"275":1,"304":1},"2":{"42":1,"44":1,"47":2,"215":1,"277":2,"352":1}}],["depth",{"2":{"41":1,"124":1,"132":1}}],["deployed",{"2":{"134":1,"135":1,"145":1,"183":1,"230":1,"231":2,"258":2,"271":1,"290":1}}],["deployment",{"0":{"151":1,"207":1,"229":1,"253":1,"256":1,"315":1},"1":{"152":1,"153":1,"154":1,"155":1,"254":1,"255":1,"256":1},"2":{"41":1,"137":2,"145":1,"252":1,"256":1,"271":1,"286":2,"327":2}}],["deploy",{"0":{"135":1,"136":1,"137":1,"286":1,"314":1,"327":1},"1":{"137":1},"2":{"7":1,"18":1,"91":1,"128":2,"136":1,"137":1,"141":1,"145":2,"163":1,"173":1,"205":1,"207":1,"212":1,"213":1,"226":1,"229":1,"230":1,"231":1,"256":3,"257":1,"271":3,"272":1,"282":1,"286":2,"301":1,"314":1,"315":1,"318":1,"325":2,"327":2}}],["deploying",{"0":{"132":1,"230":1,"231":1,"271":1},"1":{"133":1,"134":1,"135":1},"2":{"7":2,"10":1,"18":1,"141":2,"143":1,"144":3,"145":2,"148":1,"149":1,"191":1,"229":1,"231":1,"235":1,"242":1,"255":1,"271":2}}],["demonstrated",{"2":{"300":1}}],["demonstrates",{"2":{"117":1,"208":1}}],["demo",{"0":{"17":1},"2":{"13":1,"17":1}}],["demand",{"2":{"10":1}}],["degree",{"2":{"8":1}}],["devices",{"2":{"172":1}}],["devnetmocha",{"2":{"238":1}}],["devnet",{"0":{"320":1},"2":{"76":2,"128":1,"151":1,"236":1,"314":1,"315":1,"316":1,"318":1,"320":2,"331":1,"333":1}}],["developing",{"2":{"91":1,"92":1,"155":1}}],["development",{"0":{"40":1,"227":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1},"2":{"8":1,"42":1,"117":1,"131":1,"172":1,"188":2,"189":1,"190":2,"191":1,"227":1,"243":1,"247":1,"266":1,"269":1,"293":1,"345":1,"348":1,"349":1}}],["developers",{"2":{"7":2,"8":3,"9":3,"10":1,"12":1,"15":1,"16":1,"102":1,"141":2,"144":3,"145":3,"147":2,"148":2,"149":1,"156":1,"157":1,"186":1,"199":1,"213":2,"344":1}}],["developer",{"2":{"7":1,"9":1,"143":1,"271":1,"277":1,"306":1}}],["dev",{"2":{"1":1,"47":1,"76":1,"79":1,"110":1,"118":1,"119":1,"120":1,"121":1,"184":6,"203":1,"215":1,"263":1,"277":2,"288":1,"329":1,"336":1,"344":1}}],["b�",{"2":{"324":1}}],["b",{"2":{"204":1,"312":1,"364":5}}],["b917289ec7566b57b2d0ec759f2e703dbd652f9044362e78c05c4f6df8fd7ac7",{"2":{"85":1}}],["black",{"2":{"193":1}}],["blank",{"2":{"85":1}}],["blob",{"2":{"54":2,"206":4,"268":3}}],["blobs=0",{"2":{"206":1}}],["blobs",{"2":{"14":1,"94":1,"268":2}}],["block=true",{"2":{"206":2}}],["blockinch",{"2":{"166":1}}],["blockmanager",{"2":{"166":3}}],["blocktime",{"2":{"166":1}}],["blocknumber",{"2":{"138":1}}],["blockhash",{"2":{"138":1}}],["blockhash=7897885b959f52bf0d772e35f8da638cf8bbc361c819c3fd3e61dcef5034d1cc",{"2":{"62":1}}],["blockheight=5532",{"2":{"62":1}}],["blockretriever",{"2":{"16":1,"162":1}}],["blocks=100",{"2":{"90":1}}],["blockspace",{"2":{"12":1,"14":1}}],["blocks",{"0":{"90":1,"221":1},"1":{"222":1,"223":1,"224":1,"225":1},"2":{"10":1,"16":2,"19":1,"57":1,"62":1,"89":2,"90":3,"91":1,"95":2,"105":1,"145":3,"158":3,"162":1,"167":2,"169":1,"171":2,"173":1,"176":3,"206":1,"221":2,"235":1,"236":1,"239":1,"244":1,"248":1,"340":1}}],["blocksdk",{"2":{"7":1,"9":1}}],["block",{"0":{"19":1,"53":1,"166":1,"181":1,"222":1,"223":1,"224":1},"2":{"9":2,"10":1,"14":1,"19":7,"53":4,"62":1,"71":1,"83":2,"89":4,"91":2,"94":11,"95":1,"96":1,"123":6,"124":2,"137":1,"138":1,"162":2,"166":10,"167":3,"168":3,"172":1,"173":1,"176":3,"182":7,"184":10,"188":5,"206":19,"221":4,"222":1,"223":3,"224":2,"238":6,"239":2,"244":2,"247":9,"248":1,"252":9,"286":1,"295":6,"309":15,"324":10,"327":1,"333":5,"337":3,"340":1,"364":7}}],["blockchain",{"0":{"69":1},"1":{"70":1},"2":{"8":3,"9":1,"10":1,"14":1,"18":1,"20":1,"22":1,"25":1,"56":2,"65":3,"66":1,"67":1,"69":2,"70":1,"72":1,"73":1,"81":1,"117":2,"121":1,"140":1,"141":1,"143":2,"144":1,"145":1,"156":1,"160":1,"167":2,"186":2,"212":1,"267":1,"293":2,"298":1,"338":1,"348":5,"349":4,"352":1,"358":1,"361":1}}],["blockchains",{"2":{"7":2,"9":1,"81":6,"156":1,"347":1,"348":1}}],["blog",{"0":{"5":1},"1":{"6":1},"2":{"3":3,"5":1,"139":1,"141":1,"212":1}}],["bit",{"2":{"252":2,"295":2,"309":2,"359":1,"360":1}}],["bitcoin",{"0":{"12":1,"14":1,"15":1,"16":1,"17":1,"211":1,"218":1,"219":1},"1":{"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":2,"221":2,"222":2,"223":2,"224":2,"225":2,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1},"2":{"6":1,"7":1,"12":6,"13":4,"14":9,"15":3,"16":7,"17":1,"18":3,"175":1,"212":5,"213":7,"218":3,"221":3,"225":1,"226":3,"227":3}}],["bid",{"2":{"124":2}}],["bin",{"2":{"121":2,"189":1,"190":1,"216":3,"221":1,"252":6,"277":2,"295":6,"307":1,"309":6}}],["binary",{"0":{"78":1},"2":{"29":2,"94":1,"245":1,"246":1,"277":1,"349":1}}],["big",{"2":{"14":1}}],["bog",{"2":{"308":3}}],["body",{"2":{"296":1,"360":2,"361":1,"364":1}}],["bodies",{"2":{"166":1}}],["bool",{"2":{"359":1}}],["boogas",{"2":{"287":1,"328":1}}],["booga",{"0":{"286":1,"327":1},"2":{"287":2,"289":2,"325":1,"326":1,"328":2,"330":2}}],["bookworm",{"2":{"277":1}}],["bootstrapping",{"2":{"8":1}}],["bootstrap",{"2":{"7":1,"12":1,"144":1,"145":1,"169":2}}],["bob",{"2":{"206":2,"296":1,"363":2,"364":5}}],["bonus",{"2":{"161":1}}],["bot",{"2":{"365":1}}],["bottom",{"2":{"134":1}}],["both",{"2":{"10":1,"19":1,"108":1}}],["box",{"2":{"45":2}}],["bar",{"2":{"156":1}}],["barrier",{"2":{"144":1}}],["back",{"0":{"88":1},"2":{"101":1,"258":1}}],["backend",{"0":{"32":1},"2":{"32":2,"33":1,"34":1,"83":2,"87":1,"97":1,"108":1,"124":5,"125":2,"231":1,"256":1,"259":1,"260":1,"296":2,"364":5}}],["bankkeeper",{"2":{"359":1,"360":1,"361":2}}],["bank",{"2":{"87":1,"88":2,"108":1,"124":2,"125":1,"260":2,"296":2,"297":2,"353":5,"361":1}}],["balances",{"0":{"297":1},"2":{"87":2,"88":5,"124":2,"260":3,"297":3,"353":1}}],["balance",{"2":{"87":1,"88":1,"95":1,"124":4,"207":3,"297":2}}],["batched",{"2":{"342":1}}],["batches",{"2":{"232":1,"233":1,"236":1,"239":1,"244":1,"248":1}}],["batchhash",{"2":{"341":1}}],["batch",{"2":{"83":2,"124":2,"233":2,"341":3}}],["battle",{"2":{"9":1}}],["basename",{"2":{"255":1}}],["baseaccount",{"2":{"184":1}}],["base",{"2":{"49":2,"50":3,"277":1,"364":1}}],["based",{"0":{"197":1},"2":{"10":1,"20":1,"56":1,"169":1,"199":1,"342":1}}],["basics",{"2":{"109":1}}],["basic",{"2":{"39":1,"191":1,"193":1,"195":1,"208":1,"228":2,"337":1,"364":1}}],["bash7",{"2":{"324":1}}],["bash24",{"2":{"314":1}}],["bash2024",{"2":{"85":1}}],["bashmake",{"2":{"313":1,"314":1,"315":1,"316":1}}],["bashname",{"2":{"260":1}}],["bashwordle=$",{"2":{"309":1}}],["bashwasmd",{"2":{"258":1,"260":1}}],["bashwget",{"2":{"76":1,"79":1}}],["bashtx",{"2":{"256":1,"364":1}}],["bashkurtosis",{"2":{"251":1,"252":1,"294":1,"295":1,"304":1,"307":1,"308":1,"309":1}}],["bashkeyname",{"2":{"80":2}}],["bashhttp",{"2":{"244":1}}],["bashopenssl",{"2":{"238":1,"332":1}}],["bashosmosisd",{"2":{"87":1,"88":1}}],["bashosmo",{"2":{"87":1}}],["bashda",{"2":{"238":3,"247":1}}],["bashdocker",{"2":{"76":1,"188":2,"189":1,"190":2,"194":1,"252":2,"254":3,"256":2,"275":2,"277":2,"279":1,"280":2,"295":2,"296":1,"306":2,"309":3,"320":1,"332":1}}],["bashaddress",{"2":{"325":1}}],["bashavail",{"2":{"244":1}}],["bashauth",{"2":{"238":3,"296":1,"364":1}}],["bashanvil",{"2":{"230":1}}],["bashaccount",{"2":{"124":1,"125":1}}],["bashforge",{"2":{"227":1,"228":1,"230":1,"231":1,"286":1,"327":1}}],["bashfoundryup",{"2":{"217":1}}],["bashfound",{"2":{"112":1}}],["bashexit",{"2":{"280":1,"309":1}}],["bashexport",{"2":{"60":1,"135":1,"137":2,"221":1,"222":1,"223":1,"226":1,"230":3,"231":1,"286":2,"289":1,"296":1,"327":2,"330":1}}],["basherror",{"2":{"260":1}}],["bashethermintd",{"2":{"226":1}}],["bash1d7e98aec3085b615c7c71659768fa42e774a87ab5981597e99794d240fb3db5",{"2":{"223":1}}],["bash12",{"2":{"123":1}}],["bashbrew",{"2":{"313":1}}],["bashbitcoin",{"2":{"218":1,"219":1,"220":1,"222":1,"223":1,"224":2}}],["bashbalances",{"2":{"87":1,"297":2}}],["bashbash",{"2":{"76":1,"79":1,"221":1,"226":1}}],["bashsource",{"2":{"217":1}}],["bashsudo",{"2":{"215":2,"218":1,"255":1}}],["bashver=",{"2":{"216":1}}],["bashversion",{"2":{"82":1}}],["bashprivatekey",{"2":{"284":1}}],["bashprivate",{"2":{"189":1,"231":1}}],["bashpython3",{"2":{"135":1}}],["bashpip",{"2":{"131":1}}],["bashgo",{"2":{"313":1}}],["bashgm=$",{"2":{"295":1}}],["bashgmd",{"2":{"87":1,"88":2,"108":1}}],["bashgas",{"2":{"260":1}}],["bashgit",{"2":{"124":1,"187":1,"226":1,"312":1}}],["bash4980",{"2":{"222":1}}],["bash4",{"2":{"96":1}}],["bashrepository",{"2":{"277":1,"306":1}}],["bashregister=",{"2":{"260":1}}],["bashrm",{"2":{"225":1,"245":1}}],["bashrc",{"2":{"216":3,"217":1}}],["bashrly",{"2":{"82":1,"83":1,"84":1,"85":3,"86":1,"124":7}}],["bashrollkit",{"2":{"24":1,"25":1,"53":1,"54":2,"59":1,"61":1,"70":1,"71":1,"90":1,"94":2,"112":1,"119":1,"123":1,"124":2,"239":1,"296":2,"297":2,"336":1,"337":1,"363":2,"364":7}}],["bashcode",{"2":{"258":1,"364":1}}],["bashcontainer",{"2":{"252":1,"280":1,"295":1,"309":1}}],["bashcw=$",{"2":{"252":1}}],["bashcli",{"2":{"251":1,"294":1,"304":1}}],["bashcargo",{"2":{"244":1}}],["bashcast",{"2":{"138":2,"230":2,"231":2,"287":2,"328":2}}],["bashcalldata=$",{"2":{"138":1}}],["bashcd",{"2":{"65":1,"76":2,"78":1,"82":1,"97":1,"122":1,"133":2,"137":3,"203":1,"204":1,"205":1,"206":1,"246":1,"285":1,"286":1,"288":2,"321":1,"323":1,"326":1,"327":1,"329":2,"333":1,"334":1,"349":1}}],["bashcurl",{"2":{"65":1,"76":1,"110":1,"118":1,"119":1,"121":1,"217":1,"263":1,"283":1,"322":1,"336":1,"344":1,"347":1}}],["bashcp",{"2":{"59":1}}],["bashinitializing",{"2":{"363":1}}],["bashinit=",{"2":{"259":1}}],["bashinfo",{"2":{"252":1,"295":1,"308":1}}],["bashinterface",{"2":{"50":1}}],["bashi",{"2":{"94":2,"337":1}}],["bashibc",{"2":{"88":1}}],["bashignite",{"2":{"21":1,"22":1,"23":1,"65":1,"66":1,"67":1,"68":1,"69":1,"347":1,"348":1,"351":2,"353":1,"355":2,"357":2,"363":1}}],["bash",{"2":{"19":4,"53":1,"59":1,"65":1,"76":1,"89":3,"90":1,"114":1,"118":1,"120":2,"188":1,"189":2,"190":1,"206":1,"207":1,"216":3,"217":1,"221":1,"228":1,"238":2,"246":1,"247":1,"248":1,"252":1,"260":2,"263":1,"271":1,"277":1,"283":1,"295":1,"296":2,"309":1,"322":1,"333":1,"347":1}}],["bashyarn",{"2":{"1":1}}],["berachain",{"2":{"318":1,"321":1}}],["being",{"2":{"222":1,"268":1,"269":1,"279":1,"364":1}}],["beacond",{"2":{"206":1}}],["beacon",{"2":{"204":2,"205":1,"206":7,"207":1}}],["beaconkit",{"0":{"198":1,"204":1,"206":1},"1":{"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1},"2":{"199":2,"204":1,"205":1,"207":1,"208":2,"210":2}}],["begin",{"2":{"200":1,"324":1}}],["beginner",{"0":{"152":1}}],["benefits",{"2":{"271":1}}],["benefit",{"2":{"145":1}}],["below",{"2":{"17":1,"27":1,"43":1,"44":2,"46":1,"129":1,"190":1,"222":1,"256":1,"260":2,"332":1,"341":1}}],["behavior",{"2":{"16":1,"132":1}}],["because",{"2":{"95":1,"124":1,"131":2,"169":1,"255":1,"269":1,"301":1,"348":1,"364":2}}],["became",{"2":{"14":1}}],["become",{"2":{"14":2}}],["becoming",{"2":{"8":1}}],["beta",{"2":{"235":1,"236":2,"238":1,"239":1,"331":1}}],["better",{"2":{"14":1,"256":1,"270":1,"271":1}}],["between",{"2":{"8":1,"10":3,"73":1,"79":1,"81":3,"85":1,"86":1,"149":1,"162":1,"169":1,"176":2,"278":1,"341":1,"353":1}}],["best",{"0":{"9":1}}],["been",{"2":{"8":1,"54":1,"87":1,"88":1,"182":1,"230":1,"231":1,"260":1,"277":1,"318":1,"359":1,"360":1,"364":2}}],["be",{"0":{"11":1},"2":{"7":1,"9":2,"10":1,"16":2,"18":1,"19":1,"37":1,"41":1,"43":1,"45":1,"46":1,"53":1,"54":4,"61":1,"66":1,"85":1,"87":1,"106":1,"123":2,"124":1,"129":1,"130":1,"132":1,"137":1,"138":1,"139":1,"141":2,"144":4,"146":1,"148":1,"150":1,"157":1,"158":1,"160":1,"161":1,"162":2,"163":1,"165":1,"168":2,"172":1,"176":1,"182":3,"184":2,"191":1,"223":1,"224":1,"227":1,"238":2,"247":2,"250":1,"255":1,"267":1,"271":1,"284":1,"288":1,"296":1,"299":1,"313":1,"315":1,"318":1,"329":1,"331":3,"332":1,"342":1,"345":2,"348":1,"353":1,"356":2,"359":3,"360":3,"361":2,"365":1}}],["before",{"2":{"2":1,"41":1,"57":1,"69":1,"76":1,"89":1,"99":1,"121":1,"182":1,"188":1,"200":1,"233":1,"235":1,"236":1,"242":1,"243":1,"262":1,"271":1,"278":1,"288":1,"296":1,"313":1,"319":1,"320":1,"329":1,"331":1,"333":1,"345":1,"350":1,"364":2}}],["business",{"2":{"144":1}}],["buffer",{"2":{"89":1,"349":1}}],["budget",{"2":{"12":1,"47":1}}],["button",{"2":{"106":1,"299":1}}],["but",{"2":{"10":1,"12":1,"79":1,"128":1,"131":1,"144":1,"161":1,"169":1,"177":1,"231":1,"344":1,"345":1,"347":1,"348":1,"349":1}}],["bugs",{"2":{"7":1,"8":1,"92":1,"155":1}}],["builder=false",{"2":{"206":1}}],["builder",{"2":{"206":5}}],["builds",{"2":{"120":1,"203":1,"206":1}}],["build",{"0":{"9":1,"68":1,"149":1,"191":1,"193":1,"206":1,"313":1},"1":{"192":1,"193":1},"2":{"3":1,"7":1,"18":2,"47":1,"68":2,"117":1,"121":1,"128":1,"131":1,"144":1,"148":1,"155":1,"186":1,"193":1,"206":1,"213":2,"215":1,"216":1,"233":2,"240":1,"249":1,"250":1,"262":1,"263":1,"269":1,"273":1,"277":8,"290":1,"293":1,"302":1,"306":3,"313":5,"338":1,"343":1,"344":1,"348":3,"353":1,"363":1}}],["building",{"0":{"1":1,"29":1,"121":1,"151":1,"198":1,"246":1,"363":1},"1":{"152":1,"153":1,"154":1,"155":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1},"2":{"7":1,"8":1,"11":1,"89":2,"117":2,"150":1,"151":1,"191":1,"199":3,"262":1,"267":1,"271":1,"293":2,"343":1,"347":1,"350":1}}],["built",{"2":{"1":1,"16":1,"126":1,"132":2,"135":1,"145":1,"148":1,"193":1,"206":1,"240":1,"249":1,"250":1,"254":1,"269":1,"277":1,"278":1,"306":1,"307":1,"342":1,"366":1}}],["briefly",{"2":{"146":1}}],["bring",{"2":{"145":1,"147":1}}],["bridge",{"2":{"8":1}}],["bridging",{"2":{"8":1}}],["brew",{"2":{"121":1}}],["break",{"0":{"11":1}}],["broken",{"2":{"242":1}}],["broadcasting",{"2":{"167":1,"296":1,"364":1}}],["broadcast",{"2":{"83":2,"124":2,"137":2,"230":1,"231":1,"286":2,"327":2}}],["broccoli",{"2":{"47":1}}],["browser",{"2":{"185":1,"298":1,"299":1}}],["browse",{"2":{"41":1}}],["brought",{"2":{"7":1}}],["branches",{"2":{"9":1,"161":1}}],["branch",{"2":{"2":3,"124":1,"204":1,"312":1,"321":1,"326":1,"333":1}}],["byte",{"2":{"359":2,"360":3}}],["bytecode",{"2":{"255":1}}],["bytes",{"2":{"238":2}}],["by",{"2":{"3":1,"7":5,"8":1,"9":1,"12":1,"14":3,"16":1,"18":1,"20":1,"24":1,"26":1,"39":1,"46":1,"47":1,"50":1,"54":4,"62":1,"67":1,"70":1,"72":1,"79":1,"85":1,"95":1,"98":1,"115":1,"119":1,"121":1,"128":1,"132":1,"134":1,"135":1,"140":2,"141":1,"145":5,"163":1,"165":3,"166":1,"172":1,"173":1,"175":1,"176":2,"177":1,"183":1,"187":1,"189":1,"190":2,"191":2,"199":1,"212":1,"218":1,"221":1,"230":1,"231":1,"232":2,"233":1,"238":2,"239":1,"244":1,"246":1,"247":1,"248":1,"250":2,"251":1,"252":2,"258":2,"259":1,"260":2,"266":1,"273":1,"275":1,"277":2,"279":1,"280":4,"294":1,"295":2,"296":1,"302":1,"304":1,"306":2,"308":1,"309":5,"318":1,"331":2,"332":1,"335":1,"336":1,"342":1,"344":1,"348":1,"349":1,"351":1,"352":1,"356":1,"360":1,"363":1,"364":1,"365":1}}],["cbf66a881cb2",{"2":{"309":1}}],["cb1fa1d3309513fc6c8599606defe75164f4cae2abd101d78133b287862a5aca",{"2":{"85":1}}],["c5363b77b543",{"2":{"295":1}}],["ctx",{"2":{"268":2,"359":4,"360":6,"361":2}}],["ctrl+c",{"2":{"221":1}}],["c147257485b72e7ffa5fdb943c94ce951a37817554339586ffd645ad2aa397c3",{"2":{"260":1}}],["c71b0308616d",{"2":{"252":1}}],["c71b0308616d40ad919ad24c3d14f35b",{"2":{"252":3}}],["csrjjpfudtnftzgho69v0d",{"2":{"238":1}}],["cpu",{"2":{"214":1}}],["cp",{"2":{"137":2,"254":1,"256":1,"288":1,"329":1}}],["circom",{"2":{"133":1,"137":1,"138":1}}],["circuit",{"0":{"132":1,"135":1},"1":{"133":1,"134":1,"135":1},"2":{"128":3,"132":2,"133":6,"134":6,"135":6,"137":1,"138":2,"139":1}}],["c3e53d20bc7a4cc993b17c7971f8ecd06a433c10b6a96f4c4c3714f0624c56da",{"2":{"123":1,"124":1,"125":1}}],["cmd=",{"2":{"307":1}}],["cmd",{"2":{"112":3,"122":1,"277":2,"307":2,"349":1}}],["c",{"2":{"98":1,"101":1,"216":1,"252":5,"295":5,"307":1,"309":5}}],["c053d637cca2a2ba030e2c5ee1b28a16f71ccb0e45e8be52766dc1b241b77878",{"2":{"87":1}}],["cd",{"2":{"78":1,"82":1,"97":1,"120":1,"124":1,"187":1,"204":1,"216":1,"226":1,"227":1,"233":1,"285":1,"312":1,"321":1,"326":1}}],["cutting",{"2":{"145":1,"242":1}}],["cumulativegasused",{"2":{"138":1}}],["curl",{"2":{"120":1,"167":1,"203":1,"215":1,"247":1,"277":2,"333":1}}],["currentcount",{"2":{"360":2}}],["currenttimeguesserhashstring",{"2":{"360":4}}],["currenttimeguesserhash",{"2":{"360":2}}],["currenttimeguesserbytes",{"2":{"360":2}}],["currenttimehashstring",{"2":{"359":3,"360":2}}],["currenttimehash",{"2":{"359":2,"360":2}}],["currenttimebytes",{"2":{"359":2,"360":2}}],["currenttime",{"2":{"359":2,"360":3}}],["currently",{"2":{"150":2,"155":2,"165":1,"167":1,"172":1,"177":1,"226":1,"242":1,"301":2,"342":1,"359":1,"364":1}}],["current",{"2":{"46":2,"112":1,"176":2,"222":1,"277":1,"318":1,"345":1,"359":4,"360":7,"364":1,"365":1}}],["customizing",{"2":{"267":1,"349":1}}],["customization",{"2":{"186":2}}],["customizability",{"0":{"143":1},"2":{"145":1}}],["customizable",{"2":{"140":1,"145":1,"199":1}}],["customize",{"2":{"10":1,"18":2,"24":1,"107":1,"145":1,"156":1,"209":1,"212":1,"213":2}}],["custom",{"2":{"9":1,"15":1,"17":1,"46":1,"79":1,"89":2,"106":1,"135":1,"147":1,"186":1,"209":1,"212":1,"349":1}}],["cfg",{"2":{"45":2}}],["cwinfer2ikqgxgo0da9j7ubq+e1ljwztmdjwdt",{"2":{"296":1}}],["cw1",{"2":{"50":2}}],["cw20",{"2":{"49":3,"50":6}}],["cwenv>",{"2":{"45":1}}],["cw",{"0":{"40":1,"44":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1},"2":{"41":6,"42":2,"43":1,"44":4,"45":2,"46":7,"47":1,"48":2,"49":1,"50":2,"52":2,"254":3,"255":1,"256":4,"257":1}}],["certain",{"2":{"345":1}}],["certificates",{"2":{"277":1}}],["ce2291909a3d",{"2":{"309":1}}],["cee974a1c2b141478c9eb2a9b1e4f87f",{"2":{"252":2}}],["cease",{"2":{"194":1}}],["censorship",{"2":{"173":1,"232":1,"340":1}}],["centralized",{"0":{"232":1},"1":{"233":1},"2":{"36":1,"150":1,"173":1,"232":2,"233":4,"308":2,"342":5}}],["celenium",{"2":{"184":1,"239":1,"334":1}}],["celestiaorg",{"2":{"226":1}}],["celestia1jqevcsld0dqpjp3csfg7alkv3lehvn8u04ymsu",{"2":{"124":2}}],["celestia",{"0":{"124":1,"163":1,"234":1,"236":1,"239":1,"320":1,"331":1},"1":{"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"332":1,"333":1,"334":1},"2":{"15":1,"37":1,"76":2,"95":4,"97":2,"123":2,"124":4,"128":2,"139":1,"141":2,"145":1,"151":2,"154":1,"155":1,"158":1,"163":5,"232":1,"235":2,"236":2,"238":6,"239":2,"240":1,"268":1,"270":1,"318":2,"320":2,"331":2,"332":10,"333":2,"334":1,"342":1,"366":1}}],["cel",{"2":{"97":1}}],["cast",{"2":{"230":2,"231":2,"289":1,"330":1}}],["cases",{"2":{"54":1,"145":1,"182":1,"193":1,"294":1}}],["case",{"2":{"15":1,"37":1,"94":1,"95":1,"101":1,"145":1,"158":1,"182":2,"225":1,"258":1,"353":1}}],["capabilities",{"2":{"157":1,"167":1,"186":1,"192":1,"195":1,"232":1,"317":1,"353":1}}],["capital",{"2":{"144":1}}],["calculate",{"2":{"123":1}}],["calling",{"2":{"206":2}}],["calldata=true",{"2":{"134":1}}],["calldata",{"2":{"134":15,"135":3,"138":3}}],["calls",{"2":{"46":1}}],["call",{"2":{"16":1,"59":1,"138":2,"151":1,"230":2,"231":2,"287":1,"328":1}}],["called",{"2":{"16":1,"255":1,"277":1,"278":1,"306":1,"348":1,"357":1,"358":1}}],["cached",{"2":{"295":2,"308":2}}],["cache",{"2":{"83":1,"124":1,"255":2,"277":1}}],["cat",{"2":{"138":1}}],["catalog",{"2":{"47":1}}],["catch",{"2":{"41":1}}],["cargo",{"0":{"44":1},"2":{"42":1,"44":1,"50":4,"255":1}}],["canary",{"2":{"184":1}}],["candidate",{"2":{"85":2}}],["canonical",{"2":{"7":1}}],["can",{"0":{"146":1,"150":1},"1":{"147":1,"148":1,"149":1},"2":{"7":2,"8":1,"9":2,"14":2,"15":1,"16":3,"19":1,"20":1,"22":1,"24":1,"25":1,"29":1,"44":1,"45":2,"46":1,"47":2,"48":1,"50":1,"51":1,"52":1,"54":2,"65":2,"76":2,"79":1,"81":2,"85":1,"86":1,"94":1,"97":1,"98":1,"102":1,"107":2,"108":2,"113":1,"115":1,"121":1,"123":1,"129":1,"133":1,"138":2,"140":1,"141":3,"144":2,"145":4,"148":2,"150":1,"151":1,"157":1,"160":2,"161":1,"162":2,"163":1,"165":1,"172":2,"173":1,"176":4,"182":2,"184":3,"189":1,"190":1,"192":1,"193":1,"199":1,"206":2,"207":1,"218":1,"225":1,"228":2,"229":1,"230":4,"231":5,"236":1,"238":1,"239":1,"242":1,"243":1,"244":1,"248":1,"250":1,"251":2,"252":5,"254":1,"256":2,"257":1,"258":1,"260":1,"267":1,"268":2,"270":1,"271":1,"272":1,"275":2,"276":2,"277":1,"280":7,"288":2,"290":1,"294":2,"295":6,"296":1,"301":1,"304":2,"305":2,"306":1,"309":8,"313":1,"315":2,"319":1,"320":1,"325":1,"329":2,"331":3,"332":2,"338":1,"342":1,"344":1,"345":1,"347":2,"352":1,"354":1,"359":2,"360":3,"364":2,"365":7}}],["chmod",{"2":{"277":1}}],["checked",{"2":{"360":1}}],["checks",{"2":{"166":1,"182":1,"360":1}}],["checktx",{"2":{"165":1}}],["checking",{"0":{"297":1},"2":{"119":1,"252":1,"295":1,"309":1,"336":1}}],["checkout",{"2":{"78":1,"82":1,"204":1,"226":1,"321":1,"326":1,"333":1}}],["check",{"2":{"26":1,"37":1,"87":1,"88":1,"138":1,"139":1,"155":1,"175":1,"210":1,"216":1,"218":1,"222":1,"223":1,"250":1,"313":1,"326":1,"331":1,"344":1,"347":1,"359":4,"360":5,"364":1}}],["cheaper",{"2":{"14":1}}],["choosing",{"2":{"19":1}}],["choose",{"2":{"10":3,"47":1,"106":1,"150":1,"271":1}}],["choice",{"2":{"10":2,"173":3,"267":1,"271":1}}],["characters",{"2":{"238":1,"359":1,"360":3,"364":1}}],["challenge",{"2":{"271":1}}],["challenges",{"2":{"144":1,"145":1}}],["challenging",{"2":{"144":1}}],["changing",{"2":{"96":1,"101":1}}],["changed",{"2":{"19":1,"81":1,"288":1,"329":1}}],["change",{"0":{"19":1},"2":{"41":1,"76":1,"79":1,"91":1,"122":1,"161":1,"227":1,"231":1,"288":2,"329":2,"331":1,"333":1,"334":1,"347":1,"358":1}}],["changes",{"2":{"2":4,"190":2}}],["channel",{"0":{"85":1},"2":{"85":17,"87":3,"88":1,"123":3,"124":6,"166":2}}],["channels",{"2":{"81":2,"124":1,"166":1}}],["chain=regtest",{"2":{"219":1}}],["chain>",{"2":{"45":1}}],["chainflag=",{"2":{"28":1}}],["chains",{"2":{"8":1,"52":1,"73":1,"79":1,"83":1,"85":1,"124":1,"144":2,"145":1,"151":1}}],["chain",{"0":{"30":1,"38":1,"53":1,"59":1,"68":1,"71":1,"76":1,"87":1,"88":1,"138":1,"220":1,"245":1,"279":1,"280":1,"308":1,"309":1,"346":1,"348":1,"362":1,"363":1,"364":1},"1":{"347":1,"348":1,"349":1,"363":1,"364":1,"365":1},"2":{"7":3,"10":1,"11":2,"14":1,"18":2,"19":1,"27":2,"28":5,"29":2,"30":1,"31":2,"34":1,"37":1,"38":1,"39":1,"45":1,"47":4,"53":1,"59":6,"65":1,"68":2,"71":4,"72":1,"76":3,"79":1,"80":2,"83":2,"84":1,"85":20,"87":4,"88":1,"89":1,"91":1,"95":1,"96":1,"99":1,"101":2,"108":1,"112":4,"122":1,"124":5,"125":1,"128":1,"135":1,"136":1,"138":1,"141":1,"144":2,"145":1,"148":2,"155":1,"182":3,"184":2,"189":1,"193":2,"199":1,"209":1,"225":1,"226":3,"231":2,"256":1,"259":1,"260":1,"262":4,"265":1,"267":1,"269":1,"272":1,"273":2,"276":3,"277":7,"278":4,"279":3,"280":7,"281":1,"296":1,"301":1,"302":2,"305":5,"306":4,"307":5,"308":2,"309":10,"310":1,"314":4,"323":1,"325":1,"344":2,"348":2,"349":1,"353":1,"363":4,"364":5,"365":2,"366":1}}],["crtl+c",{"2":{"280":1}}],["critical",{"2":{"144":1,"267":1,"296":1,"364":1}}],["crates",{"2":{"49":1,"50":1}}],["crater",{"2":{"47":1}}],["crate",{"0":{"50":1},"2":{"41":1,"42":1,"45":6,"46":1,"47":1,"50":2}}],["cross",{"2":{"41":1,"256":1,"277":1,"358":1}}],["creator",{"2":{"260":1,"359":2,"360":3,"364":1}}],["creative",{"2":{"238":1,"332":1}}],["creation",{"2":{"45":1,"186":1,"252":1,"295":1,"308":1}}],["creating",{"0":{"37":1,"45":1,"50":1,"108":1,"352":1},"1":{"353":1},"2":{"42":2,"45":1,"81":1,"94":2,"123":1,"188":1,"191":1,"206":3,"208":1,"212":1,"244":1,"252":3,"295":2,"308":1,"309":3,"324":1,"337":1,"348":3,"354":1,"356":1}}],["createwallet",{"2":{"220":1}}],["created",{"2":{"85":2,"169":1,"182":1,"227":1,"252":3,"260":1,"277":1,"280":1,"295":3,"306":1,"308":2,"309":1,"356":1,"360":1}}],["creates",{"2":{"29":1,"85":1,"246":1,"355":1}}],["create",{"0":{"27":1,"64":1,"81":1,"84":1,"85":1,"220":1},"1":{"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1},"2":{"2":3,"12":1,"24":1,"37":1,"50":1,"60":1,"64":1,"65":1,"73":1,"76":1,"79":1,"85":3,"91":2,"103":1,"106":1,"108":1,"124":3,"128":1,"141":1,"147":1,"148":1,"199":1,"212":3,"213":1,"220":1,"227":1,"228":1,"277":2,"278":2,"306":2,"307":1,"349":1,"355":2,"358":1,"359":2,"360":2,"363":1,"365":2}}],["crucial",{"2":{"24":1}}],["crypto",{"2":{"7":1,"296":2,"359":1,"360":1}}],["clang",{"2":{"215":1}}],["classes",{"2":{"141":1}}],["clay",{"2":{"80":2,"84":2}}],["clarity",{"2":{"2":1}}],["cleaning",{"0":{"245":1}}],["clean",{"2":{"41":1,"244":1,"309":1,"316":2}}],["clears",{"2":{"194":1}}],["clear",{"2":{"2":1,"14":1,"225":1,"245":1}}],["cloning",{"2":{"187":1}}],["clone",{"0":{"133":1,"187":1,"204":1,"312":1,"321":1},"2":{"1":1,"2":2,"78":1,"82":1,"124":1,"133":2,"187":1,"204":2,"226":2,"233":1,"285":2,"312":2,"321":2,"326":2}}],["cloud",{"2":{"184":2}}],["close",{"2":{"14":1,"88":1}}],["clip",{"2":{"47":1}}],["cli",{"0":{"24":1,"70":1,"109":1,"110":1,"113":1,"119":1,"304":1,"336":1},"1":{"110":1,"111":1,"112":1,"113":1,"114":2,"115":1},"2":{"9":1,"20":1,"24":1,"39":1,"57":1,"65":1,"70":2,"72":1,"76":1,"91":1,"109":2,"110":2,"113":1,"115":1,"160":1,"184":1,"201":1,"218":1,"220":1,"221":4,"222":1,"223":1,"224":2,"235":1,"237":1,"257":1,"262":1,"277":2,"280":2,"281":1,"296":1,"298":1,"304":1,"309":2,"310":1,"315":3,"331":2,"335":1,"337":1,"343":1,"344":1,"347":3,"348":2,"349":1,"360":1}}],["clients",{"2":{"7":1,"8":1,"73":2,"81":1,"85":1,"124":1,"145":1,"158":1,"173":1,"199":1}}],["client",{"0":{"205":1},"2":{"7":1,"9":1,"16":1,"47":1,"62":1,"85":14,"123":5,"124":2,"141":2,"160":1,"161":1,"205":2,"206":2,"207":1,"210":1,"295":5}}],["click",{"2":{"7":1,"106":1,"173":1,"185":1,"299":1}}],["copied",{"2":{"255":1}}],["copy",{"0":{"59":1},"2":{"36":1,"56":1,"59":1,"137":2,"254":1,"277":11}}],["co",{"2":{"186":1,"252":1,"295":1,"309":1}}],["cool",{"0":{"132":1},"1":{"133":1,"134":1,"135":1}}],["cover",{"2":{"117":1,"158":1,"293":1}}],["covers",{"2":{"56":1,"94":1,"95":1,"235":1,"242":1,"262":1}}],["coins",{"2":{"296":1,"359":1,"360":1,"361":2}}],["coinbase=$",{"2":{"221":1}}],["coin",{"2":{"83":2,"124":2,"353":1}}],["coyote",{"2":{"47":1}}],["collector",{"2":{"252":1,"295":1,"309":1}}],["collection",{"2":{"50":1}}],["collecting",{"0":{"35":1}}],["collect",{"2":{"35":2,"158":1,"184":1}}],["corner",{"2":{"106":1}}],["correct",{"2":{"333":1,"345":2,"360":2,"364":1,"365":1}}],["correctly",{"2":{"29":1,"210":2,"345":1,"360":2}}],["correlation",{"2":{"162":1}}],["corresponding",{"2":{"45":1,"87":1,"132":1,"166":1}}],["core",{"2":{"8":1,"16":1,"54":2,"85":8,"212":1,"214":1,"218":3,"219":1,"220":1,"221":4,"222":1,"223":1,"224":2,"252":1,"268":1,"295":1,"309":1,"332":1,"358":2}}],["codebase",{"2":{"343":1,"345":1,"350":1,"365":1}}],["codespace",{"2":{"96":3,"260":1,"364":1}}],["codecs",{"2":{"83":2,"124":2}}],["code",{"0":{"128":1},"2":{"19":2,"29":1,"41":3,"45":1,"48":1,"53":2,"59":2,"85":3,"89":2,"90":2,"95":2,"96":3,"99":1,"125":1,"133":1,"134":7,"135":2,"183":1,"191":1,"207":3,"228":2,"229":1,"252":1,"255":2,"256":1,"258":4,"260":6,"277":1,"278":1,"286":1,"295":2,"296":1,"297":4,"306":1,"307":1,"308":2,"324":3,"327":1,"333":2,"348":1,"352":1,"359":2,"360":2,"361":1,"364":1}}],["counts",{"2":{"360":1}}],["count",{"2":{"41":5,"46":8,"47":5,"228":7,"357":3,"360":12,"364":1}}],["counterscript",{"2":{"229":1,"230":1,"231":1}}],["countertest",{"2":{"228":1}}],["counterparty",{"2":{"85":4}}],["counterquerymsgfns",{"2":{"46":1,"47":1}}],["counterexecutemsgfns",{"2":{"46":1,"47":1}}],["countercontract",{"2":{"45":3,"47":2}}],["counter",{"2":{"41":3,"43":1,"45":2,"46":2,"47":7,"52":1,"227":1,"228":16,"229":4,"230":1,"231":1}}],["council",{"2":{"8":1}}],["could",{"2":{"14":1,"19":1,"112":1,"114":1,"146":1,"148":1,"238":2,"247":1,"332":1}}],["couple",{"2":{"10":1}}],["cost",{"2":{"18":1,"138":1}}],["costs",{"2":{"8":1,"145":1}}],["cosmwasm",{"0":{"183":1,"250":1,"251":1,"253":1,"257":1},"1":{"184":1,"185":1,"251":1,"252":1,"253":1,"254":2,"255":2,"256":2,"257":1,"258":2,"259":2,"260":2},"2":{"9":1,"17":1,"41":1,"45":1,"91":1,"153":1,"183":2,"184":1,"250":3,"252":10,"255":2,"256":1,"260":2}}],["cosmos1mr9p6wql4mmtp9xvsuklpw7fxx6g0qte7qd5q9",{"2":{"364":1}}],["cosmossdk",{"2":{"359":1,"360":1}}],["cosmos",{"0":{"148":1,"161":1},"2":{"7":4,"9":4,"10":1,"17":1,"76":3,"82":2,"83":2,"85":4,"95":1,"117":2,"124":3,"140":2,"148":4,"150":1,"151":1,"161":5,"184":2,"250":2,"293":2,"296":3,"300":1,"343":1,"344":3,"347":2,"348":2,"349":2,"352":4,"353":1,"354":3,"358":3,"359":4,"360":4,"364":1,"366":1}}],["congratulations",{"0":{"139":1,"324":1},"2":{"126":1,"135":1,"139":1,"195":1,"208":1,"226":1,"240":1,"249":1,"279":1,"281":1,"300":1,"308":1,"310":1,"334":1,"366":1}}],["congrats",{"2":{"101":1,"106":1,"108":1}}],["congestion",{"2":{"54":1}}],["connected",{"0":{"239":1,"248":1},"2":{"265":1,"299":1}}],["connects",{"2":{"169":1,"307":1,"342":1}}],["connect",{"0":{"264":1},"2":{"91":1,"151":1,"191":1,"246":1,"264":1,"278":3,"299":3,"307":1,"332":1,"340":1}}],["connecting",{"0":{"124":1,"299":1},"2":{"62":1,"242":1,"252":1,"298":3,"300":1,"307":1,"308":1,"340":1,"342":1,"366":1}}],["connection=consensus",{"2":{"123":1,"295":1}}],["connection=mempool",{"2":{"123":1,"295":1}}],["connection=snapshot",{"2":{"123":1,"295":1}}],["connection=query",{"2":{"123":1,"295":1}}],["connections",{"2":{"81":1,"123":1,"295":1}}],["connection",{"0":{"60":1,"73":1,"81":1},"1":{"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":2,"83":2,"84":2,"85":2,"86":2,"87":2,"88":2},"2":{"73":1,"76":1,"79":1,"85":9,"91":1,"123":1,"124":3,"150":1,"247":1,"299":1}}],["conditions",{"2":{"209":1}}],["condition",{"2":{"85":2}}],["conditional",{"2":{"73":2}}],["confirming",{"2":{"299":1,"364":4}}],["confirm",{"2":{"296":2,"364":3}}],["confirmations",{"2":{"173":1}}],["config=serviceconfig",{"2":{"307":1}}],["config=",{"2":{"226":1}}],["config",{"0":{"59":1,"83":1},"2":{"26":1,"36":4,"59":6,"83":4,"112":5,"122":1,"124":3,"190":3,"191":1,"215":1,"219":1,"244":2,"277":1,"278":1,"337":3,"349":1}}],["configurable",{"2":{"166":1}}],["configuration",{"0":{"24":1,"70":1,"122":1},"2":{"3":1,"24":3,"29":1,"70":2,"83":1,"91":1,"109":1,"111":1,"112":1,"115":1,"122":2,"190":3,"238":1,"247":1,"349":1,"363":1}}],["configuring",{"0":{"36":1,"190":1,"238":1,"247":1,"264":1},"2":{"39":1,"117":1,"248":1,"293":1}}],["configures",{"2":{"54":2,"206":1}}],["configured",{"2":{"25":1,"54":2,"72":1,"169":1,"206":1,"233":1}}],["configure",{"0":{"53":1,"54":1,"90":1},"2":{"10":1,"53":1,"90":1,"91":3,"99":1,"124":1,"190":1,"266":1}}],["conflicts",{"2":{"61":1,"79":1}}],["convert",{"2":{"360":1}}],["converted",{"2":{"26":1}}],["convenience",{"2":{"296":1}}],["convincing",{"2":{"8":1}}],["console",{"2":{"220":1}}],["consist",{"2":{"359":1,"360":1}}],["consists",{"2":{"176":1,"341":1}}],["consider",{"2":{"182":1,"209":1,"300":1,"345":1}}],["constructor",{"2":{"228":1}}],["constrain",{"2":{"192":1}}],["const",{"2":{"45":1,"47":1}}],["constants",{"2":{"21":1,"65":1,"66":1,"110":1,"118":1,"119":1,"120":1,"203":1,"263":1,"277":2,"278":2,"336":1,"344":1,"347":1,"351":1}}],["consensus",{"2":{"7":1,"8":1,"15":2,"18":1,"36":1,"95":1,"128":1,"144":1,"145":1,"182":1,"184":1,"199":1,"318":1}}],["conclude",{"2":{"343":1}}],["conclusion",{"0":{"18":1,"63":1,"195":1,"208":1,"290":1,"317":1,"338":1}}],["concepts",{"2":{"192":1}}],["concept",{"2":{"141":1}}],["concise",{"2":{"2":1}}],["context",{"2":{"186":1,"268":4,"359":3,"360":3,"361":4}}],["contents",{"0":{"6":1},"2":{"138":1,"307":1,"360":1}}],["content",{"2":{"2":1,"5":1,"6":1,"45":1,"83":1}}],["contained",{"2":{"354":1}}],["containerized",{"2":{"202":1}}],["containers",{"2":{"194":1,"280":1,"309":1,"316":1}}],["container",{"2":{"189":1,"190":3,"252":4,"254":3,"256":3,"277":2,"278":7,"280":7,"281":1,"295":4,"296":2,"307":1,"308":1,"309":8,"310":1}}],["contain",{"2":{"162":1}}],["contains",{"2":{"131":1,"133":1,"166":1,"176":1,"183":1,"277":1,"349":1,"352":1,"358":1,"359":1,"360":1}}],["containing",{"2":{"113":1,"114":1}}],["continuation",{"2":{"130":1}}],["continues",{"2":{"94":1}}],["continue",{"2":{"94":1,"350":1,"360":1}}],["contribute",{"2":{"157":1}}],["contributions",{"2":{"2":1}}],["contribution",{"0":{"2":1},"2":{"2":2}}],["contract=$",{"2":{"260":1}}],["contracting",{"2":{"250":1}}],["contracttest",{"2":{"228":1}}],["contractaddress",{"2":{"138":1}}],["contractwrapper",{"2":{"45":1}}],["contracts",{"0":{"51":1,"107":1},"2":{"9":1,"41":4,"42":1,"45":1,"49":1,"50":3,"51":1,"52":1,"91":1,"103":1,"107":1,"137":4,"191":1,"205":1,"207":1,"209":1,"226":1,"228":1,"250":1,"254":2,"256":1,"258":2,"260":2,"286":1,"288":2,"315":1,"327":1,"329":2}}],["contract",{"0":{"43":1,"136":1,"138":1,"207":1,"228":1,"253":1,"254":1,"255":1,"256":1,"257":1,"258":1,"259":1,"260":1,"282":1,"286":1,"287":1,"315":1,"327":1,"328":1},"1":{"44":1,"45":1,"46":1,"47":1,"137":1,"254":1,"255":1,"256":1,"258":1,"259":1,"260":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":1},"2":{"8":1,"41":2,"42":1,"43":2,"44":2,"45":13,"46":2,"47":5,"49":2,"50":1,"52":1,"128":1,"134":10,"135":3,"136":1,"137":10,"138":4,"140":1,"141":1,"143":2,"145":2,"156":1,"191":4,"207":1,"227":1,"228":4,"229":3,"230":5,"231":6,"250":3,"252":1,"254":5,"255":1,"256":4,"257":2,"258":3,"259":2,"260":11,"282":1,"285":1,"286":7,"287":1,"288":5,"289":1,"290":1,"315":1,"325":1,"326":1,"327":7,"328":1,"329":5,"330":1}}],["controlled",{"2":{"266":1}}],["controls",{"2":{"166":1}}],["control",{"0":{"8":1},"2":{"98":1,"101":1,"173":1}}],["coming",{"2":{"150":1,"196":1,"197":1,"291":1,"348":1}}],["com",{"2":{"21":1,"65":1,"66":1,"76":3,"78":1,"82":1,"124":2,"133":1,"187":1,"191":1,"204":1,"226":1,"233":1,"247":1,"252":2,"277":1,"285":1,"295":4,"307":4,"308":3,"312":1,"313":1,"318":1,"321":1,"326":1,"347":1,"351":1,"359":2,"360":2}}],["combining",{"2":{"199":1,"208":1}}],["combination",{"2":{"10":1}}],["combine",{"2":{"7":1}}],["come",{"2":{"8":1,"80":2,"84":2,"145":1,"165":1,"173":1}}],["comes",{"2":{"7":1,"8":1,"9":1,"271":1,"348":2}}],["cometbft",{"0":{"20":1,"22":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1},"2":{"7":1,"9":2,"20":3,"21":1,"25":1,"26":1,"91":1,"123":1,"141":1,"160":1,"161":3,"165":1,"167":1,"295":1,"343":1,"364":1}}],["compressing",{"2":{"295":1,"308":1}}],["comprehensive",{"2":{"0":1,"157":1,"235":1,"242":1,"262":1}}],["computed",{"2":{"206":1}}],["computing",{"2":{"206":2}}],["computational",{"2":{"143":1,"145":2}}],["compiling",{"2":{"137":2,"215":1,"228":2,"286":2,"327":2}}],["compiled",{"2":{"255":1,"256":1,"349":1}}],["compiler",{"2":{"137":1,"228":1,"286":1,"327":1}}],["compile",{"0":{"254":1},"2":{"134":1,"135":3,"254":1,"255":1,"361":1}}],["comparing",{"2":{"176":1}}],["compare",{"2":{"138":1}}],["compact",{"2":{"128":1}}],["compatibility",{"2":{"9":1,"76":1,"160":1}}],["compatible",{"2":{"7":1,"10":1,"41":1,"138":1,"141":2,"147":1,"148":1}}],["complex",{"2":{"144":1,"193":1,"290":1}}],["complexity",{"2":{"43":1}}],["completions",{"2":{"216":1}}],["completion",{"2":{"176":1}}],["completing",{"2":{"86":1,"273":1,"302":1}}],["completed",{"2":{"235":1,"242":1,"262":1}}],["complete",{"2":{"48":1,"56":1,"104":1}}],["component",{"2":{"267":1}}],["components",{"0":{"164":1},"1":{"165":1,"166":1,"167":1,"168":1,"169":1},"2":{"10":1,"145":3,"157":1,"158":1,"308":2,"344":1}}],["compose",{"0":{"188":1,"272":1,"275":1,"278":1},"1":{"273":1,"274":1,"275":1,"276":1,"277":1,"278":1,"279":1,"280":1,"281":1},"2":{"188":1,"190":1,"194":1,"271":1,"272":2,"275":3,"276":1,"278":3,"279":2,"281":1,"306":1}}],["composability",{"2":{"8":1,"173":1}}],["compelled",{"2":{"8":1}}],["common",{"2":{"222":1}}],["communicating",{"2":{"341":1}}],["communication",{"2":{"73":1,"81":1,"169":1}}],["communicate",{"2":{"81":1,"166":1,"178":1,"267":1,"340":1}}],["communities",{"2":{"18":1,"145":1}}],["community",{"2":{"2":1,"4":1,"7":1,"8":1,"144":1,"193":1}}],["command>",{"2":{"114":2}}],["commands",{"0":{"113":1},"1":{"114":1},"2":{"85":1,"109":1,"113":1,"115":1,"216":1,"218":1,"227":1,"256":1,"280":1,"283":1,"309":1,"347":1,"348":1,"360":1}}],["command",{"2":{"19":1,"21":1,"22":1,"23":1,"24":2,"25":1,"29":2,"38":1,"39":1,"44":1,"50":1,"53":1,"61":2,"65":2,"66":1,"67":1,"68":1,"70":1,"71":1,"83":1,"84":1,"85":2,"87":1,"88":1,"89":2,"90":1,"94":2,"110":2,"112":1,"113":1,"119":1,"121":1,"135":1,"184":1,"188":3,"190":1,"194":1,"206":1,"224":1,"225":1,"228":1,"233":1,"238":5,"244":2,"247":1,"252":2,"255":1,"256":4,"265":1,"277":2,"278":3,"279":1,"280":2,"289":1,"295":2,"306":1,"307":3,"308":1,"309":2,"313":4,"314":1,"316":1,"330":1,"332":2,"336":1,"347":1,"348":3,"351":1,"353":1,"355":1,"363":2,"364":1}}],["commitments",{"2":{"242":1}}],["commit",{"2":{"2":3,"82":1,"119":1,"184":2,"336":1}}],["snap",{"2":{"218":1}}],["snapd",{"2":{"215":1}}],["ssd",{"2":{"214":1}}],["ssl",{"2":{"110":1,"118":1,"119":1,"120":1,"121":1,"203":1,"263":1,"277":1,"336":1,"344":1}}],["skills",{"2":{"212":1}}],["skipping",{"2":{"206":2}}],["skip",{"2":{"7":1,"9":1,"65":1,"140":1,"150":1}}],["switch",{"2":{"204":1,"321":1}}],["sweet",{"2":{"47":1}}],["small",{"2":{"255":1}}],["smart",{"0":{"136":1,"207":1,"254":1,"255":1,"282":1,"315":1},"1":{"137":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":1},"2":{"9":1,"41":2,"43":1,"45":1,"91":1,"128":1,"134":10,"135":3,"136":1,"137":2,"138":1,"140":1,"141":1,"143":2,"145":2,"156":1,"191":1,"205":1,"207":1,"209":1,"226":1,"227":1,"229":1,"231":1,"250":4,"254":1,"255":1,"256":2,"260":2,"282":1,"285":1,"286":2,"288":1,"290":1,"315":1,"325":1,"326":1,"327":2,"329":1}}],["smoothly",{"2":{"81":1}}],["symbol",{"2":{"124":2}}],["systems",{"2":{"145":1}}],["system",{"2":{"57":1,"176":1,"188":1,"202":1,"313":1}}],["syncloop",{"2":{"166":3}}],["sync",{"2":{"85":2,"91":1,"236":1,"243":1,"244":2,"332":1,"364":1}}],["syncing",{"0":{"53":1},"2":{"162":1}}],["synced",{"2":{"16":1,"53":1,"331":1,"332":1}}],["src",{"2":{"50":1,"85":3,"124":3,"137":3,"227":1,"228":2,"229":1,"288":1,"329":1}}],["sleep",{"2":{"221":1}}],["slot",{"2":{"206":1}}],["slot=41",{"2":{"206":2}}],["slot=40",{"2":{"206":5}}],["slot=0x28",{"2":{"206":2}}],["slow",{"2":{"19":1}}],["slashing",{"2":{"182":1,"352":1}}],["slim",{"2":{"277":1}}],["slightly",{"2":{"14":1}}],["slinky",{"2":{"7":1,"9":1}}],["safe",{"2":{"206":2}}],["save",{"2":{"101":1,"134":3,"135":2,"138":1,"276":1,"305":1}}],["satisfy",{"2":{"16":1}}],["sample",{"2":{"103":1,"108":1}}],["samplingstats",{"2":{"331":1}}],["sampling",{"2":{"8":1}}],["same",{"2":{"7":1,"8":1,"54":1,"94":2,"95":1,"124":1,"149":1,"169":1,"183":1,"232":1,"260":1,"305":1,"364":4}}],["side",{"2":{"300":1}}],["sidecars",{"2":{"206":2}}],["sidecars=true",{"2":{"206":2}}],["size",{"2":{"83":1,"124":2,"277":1,"306":1}}],["signer",{"2":{"296":1,"364":1}}],["significant",{"2":{"144":1}}],["significantly",{"2":{"41":1}}],["signing",{"2":{"83":2,"124":2,"296":1,"364":1}}],["sign",{"2":{"83":2,"124":2,"296":1}}],["signatures",{"2":{"184":1,"296":1,"364":1}}],["signature",{"2":{"73":1,"184":1}}],["signaled",{"2":{"166":1}}],["signal",{"2":{"71":1,"166":1}}],["similarly",{"2":{"148":1,"342":1}}],["similar",{"2":{"60":1,"62":1,"94":1,"112":1,"137":1,"175":1,"222":1,"228":1,"238":3,"260":2,"286":1,"324":1,"327":1,"332":1}}],["simplicity",{"2":{"345":1}}],["simplify",{"2":{"41":1,"45":1,"46":2}}],["simpler",{"2":{"81":1}}],["simple",{"2":{"41":1,"43":1,"121":1,"193":1,"269":1,"300":1,"305":1,"307":1,"338":1,"343":1,"345":1}}],["simply",{"2":{"16":1,"25":1,"94":1,"246":1,"277":1,"299":1,"306":1}}],["sister",{"2":{"47":1}}],["sindri",{"0":{"127":1,"131":1,"132":1,"135":1},"1":{"128":1,"129":1,"130":1,"131":1,"132":1,"133":2,"134":2,"135":2,"136":1,"137":1,"138":1,"139":1},"2":{"128":4,"129":2,"131":3,"132":1,"133":7,"134":3,"135":7,"137":1,"138":1,"139":2}}],["single",{"0":{"43":1,"51":1},"1":{"44":1,"45":1,"46":1,"47":1},"2":{"42":2,"45":1,"51":1,"73":1,"135":1,"155":1,"176":1,"364":1}}],["since",{"2":{"14":1,"171":1,"258":1,"280":2,"296":1,"309":2}}],["site",{"0":{"0":1,"1":1},"1":{"1":1,"2":1,"3":1,"4":1},"2":{"1":1}}],["shut",{"2":{"280":1,"309":1}}],["shutdown",{"2":{"194":1}}],["shusage",{"2":{"233":1}}],["shgit",{"2":{"233":1}}],["shelli",{"2":{"265":1,"269":1}}],["shell",{"2":{"221":1}}],["shellcargo",{"2":{"44":1,"50":2}}],["shcurl",{"2":{"167":1}}],["should",{"2":{"62":1,"82":1,"85":1,"87":1,"88":1,"106":1,"112":1,"123":1,"124":1,"130":1,"191":1,"206":1,"238":1,"245":1,"247":1,"252":1,"265":1,"271":1,"277":1,"280":1,"295":1,"296":1,"297":1,"306":1,"307":1,"309":2,"314":1,"347":2,"361":1,"364":1}}],["show",{"2":{"52":1,"124":2,"125":1,"128":1,"193":1,"257":1,"272":1,"297":1,"301":1,"345":1}}],["showcase",{"2":{"52":1}}],["shows",{"2":{"48":1,"345":1,"364":2}}],["shown",{"2":{"44":1,"233":1,"341":1,"364":1}}],["short",{"2":{"14":1}}],["sh",{"2":{"37":5,"76":2,"79":3,"110":2,"118":1,"119":2,"120":1,"121":4,"203":2,"221":2,"226":1,"231":3,"246":2,"252":5,"256":2,"263":1,"277":2,"280":1,"295":5,"296":1,"307":1,"309":6,"333":1,"336":2,"344":2}}],["sharing",{"2":{"145":1,"149":1}}],["share",{"2":{"8":1,"71":1,"143":1,"145":1,"149":1}}],["shared",{"2":{"7":1,"10":1,"140":1,"143":2,"145":1,"173":1}}],["sha256",{"2":{"123":1,"359":3,"360":4}}],["shaddress=$",{"2":{"36":1}}],["shrollkit",{"2":{"29":2,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"38":1,"265":2}}],["shvalidator",{"2":{"28":1}}],["space",{"2":{"313":2}}],["sparse",{"2":{"295":3}}],["spun",{"2":{"299":1}}],["spins",{"2":{"307":1}}],["spinned",{"2":{"282":1}}],["spinning",{"2":{"173":2}}],["spikes",{"2":{"54":1}}],["spoiler",{"2":{"150":1}}],["spots",{"2":{"48":1}}],["spdx",{"2":{"137":1,"228":2,"229":1}}],["split",{"2":{"10":1}}],["speed",{"0":{"19":1,"40":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1},"2":{"19":2,"42":1,"91":1,"140":1}}],["spec",{"2":{"349":1}}],["special",{"2":{"149":1,"353":1}}],["specialized",{"2":{"145":1}}],["specifying",{"2":{"259":1}}],["specify",{"2":{"62":1,"85":1,"89":1}}],["specified",{"2":{"33":1,"110":1,"123":1,"168":1,"233":1}}],["specifically",{"2":{"176":1,"248":1,"348":1}}],["specifications",{"0":{"157":1},"2":{"157":1}}],["specifics",{"2":{"45":1}}],["specific",{"2":{"16":1,"87":1,"91":1,"108":1,"117":1,"147":1,"169":1,"210":1,"293":1,"349":1,"352":1,"354":1,"365":2}}],["specs",{"2":{"16":1}}],["speak",{"2":{"9":1}}],["spending",{"2":{"8":1}}],["scope",{"2":{"250":1,"349":1}}],["scheme",{"2":{"182":1,"271":1}}],["schemes",{"2":{"10":1,"145":1,"173":1}}],["scalability",{"0":{"143":1},"2":{"128":1,"143":1,"145":2,"209":1}}],["scalable",{"2":{"7":1,"212":1,"242":1}}],["scaffolds",{"2":{"348":1}}],["scaffoldings",{"2":{"347":1}}],["scaffolding",{"0":{"346":1,"348":1,"353":1,"355":1,"357":1},"1":{"347":1,"348":1,"349":1},"2":{"348":1}}],["scaffold",{"2":{"65":2,"76":2,"348":1,"353":2,"355":2,"357":2}}],["scripts",{"0":{"52":1},"2":{"42":1,"47":1,"271":2}}],["scripting",{"2":{"41":1,"229":1,"257":1}}],["script",{"0":{"37":1,"229":1,"333":1},"2":{"76":1,"79":3,"118":1,"120":1,"121":3,"134":1,"135":1,"137":9,"201":1,"203":1,"221":4,"229":5,"230":2,"231":4,"246":1,"256":2,"263":2,"277":1,"286":5,"327":5}}],["s",{"2":{"7":1,"9":1,"12":1,"13":2,"14":1,"44":2,"45":1,"46":1,"50":1,"56":1,"60":1,"73":1,"79":1,"81":1,"95":1,"110":1,"118":2,"119":1,"120":1,"121":1,"123":1,"128":1,"131":1,"132":1,"133":1,"134":4,"135":3,"137":8,"138":1,"139":1,"140":1,"144":2,"145":1,"150":2,"151":2,"157":1,"162":1,"163":1,"167":2,"169":2,"172":1,"173":2,"176":1,"178":1,"182":1,"191":1,"192":1,"195":1,"203":1,"213":1,"221":1,"228":3,"229":2,"230":1,"231":1,"235":3,"236":2,"238":4,"239":2,"240":1,"242":1,"244":1,"247":2,"248":1,"249":1,"252":2,"254":1,"256":3,"257":1,"258":2,"260":2,"263":1,"277":1,"282":1,"286":3,"295":1,"296":1,"297":2,"298":1,"309":1,"317":2,"327":3,"331":1,"332":1,"333":1,"334":2,"336":1,"337":1,"338":2,"340":1,"344":1,"345":3,"349":1,"358":1,"359":4,"360":4,"363":1,"364":5,"365":2}}],["soon",{"2":{"196":1,"197":1,"291":1,"318":1}}],["soft",{"2":{"173":1}}],["software",{"0":{"75":1},"2":{"160":1,"200":1,"319":1}}],["sound",{"2":{"144":1}}],["source=registry",{"2":{"255":1}}],["source=",{"2":{"255":1}}],["source",{"2":{"141":1,"145":1,"216":2,"347":1,"365":1}}],["solves",{"2":{"145":1}}],["solving",{"0":{"142":1},"1":{"143":1,"144":1}}],["solution",{"2":{"144":1,"169":1,"357":1}}],["solc",{"2":{"137":1,"228":3,"286":1,"327":1}}],["solidity",{"2":{"137":1,"228":4,"229":3}}],["sol",{"2":{"134":1,"135":1,"137":14,"227":1,"228":5,"229":3,"230":1,"231":1,"286":2,"288":2,"327":2,"329":2}}],["somewhat",{"2":{"144":1}}],["something",{"2":{"81":1,"85":1,"87":1,"88":1,"240":1,"249":1,"307":1}}],["some",{"2":{"52":2,"88":1,"91":2,"135":1,"140":1,"144":1,"195":1,"207":1,"226":1,"284":1,"315":1,"344":1,"365":1}}],["so",{"2":{"16":1,"45":1,"81":1,"104":1,"134":1,"143":2,"145":1,"229":1,"231":1,"252":1,"256":1,"271":1,"295":1,"299":1,"364":1,"365":1}}],["social",{"2":{"7":1,"8":1,"182":1}}],["sovereignty",{"2":{"7":1,"145":2}}],["sovereign",{"0":{"7":1,"11":1,"12":1,"121":1,"148":1,"198":1,"231":1,"337":1},"1":{"8":1,"9":1,"10":1,"11":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1},"2":{"6":2,"7":10,"8":5,"10":1,"11":2,"12":3,"13":2,"14":1,"15":1,"17":1,"18":5,"91":1,"117":2,"140":1,"141":2,"145":1,"146":1,"148":1,"149":1,"151":1,"155":1,"199":2,"201":1,"208":1,"212":3,"213":3,"242":1,"293":2,"335":2,"337":1,"338":1,"343":1,"349":1}}],["session",{"2":{"193":2,"347":1}}],["selection",{"2":{"364":1}}],["selecting",{"2":{"182":1,"332":1,"340":1}}],["self",{"2":{"7":1,"45":2}}],["seal",{"2":{"324":1}}],["search",{"2":{"167":1,"334":1}}],["seamless",{"2":{"162":1}}],["serve",{"2":{"173":1,"233":1}}],["served",{"2":{"165":1}}],["serves",{"2":{"162":1,"235":1,"242":1,"262":1}}],["server",{"2":{"123":2,"205":1,"232":2,"244":2,"265":1,"269":1,"295":2,"359":1,"360":1}}],["serving",{"2":{"123":1,"295":1}}],["services",{"2":{"251":1,"252":2,"271":3,"278":1,"294":1,"295":2,"308":1}}],["service=engine",{"2":{"206":2}}],["service=execution",{"2":{"206":4}}],["service=blockchain",{"2":{"206":5}}],["service=prepare",{"2":{"206":2}}],["service=payload",{"2":{"206":2}}],["service=validator",{"2":{"206":4}}],["service",{"2":{"123":20,"252":8,"259":1,"260":1,"268":1,"278":4,"295":28,"307":1,"308":6}}],["serde",{"2":{"46":3}}],["sendcoins",{"2":{"361":1}}],["sendcoinsfrommoduletoaccount",{"2":{"360":1,"361":1}}],["sendcoinsfromaccounttomodule",{"2":{"359":1,"361":1}}],["senderaddr",{"2":{"361":1}}],["sendermodule",{"2":{"361":1}}],["sender",{"2":{"297":1}}],["sender=",{"2":{"184":1}}],["sends",{"2":{"296":1}}],["sending",{"2":{"230":1,"231":1,"361":1}}],["send",{"2":{"97":1,"108":1,"124":1,"125":3,"138":3,"230":2,"231":2,"287":2,"289":1,"296":1,"328":2,"330":1,"360":1}}],["sent",{"2":{"81":1}}],["separate",{"2":{"50":1,"76":1,"79":1,"248":1,"320":1,"352":1}}],["seen",{"2":{"271":1}}],["seed",{"2":{"61":1,"123":1,"295":1}}],["seeds",{"2":{"61":1}}],["see",{"2":{"16":1,"17":1,"18":1,"54":1,"62":2,"76":1,"87":1,"88":1,"94":2,"99":1,"112":1,"123":1,"129":1,"132":1,"138":1,"156":1,"206":1,"247":1,"248":1,"251":1,"252":3,"260":3,"265":1,"269":1,"271":1,"277":2,"279":1,"280":3,"294":1,"295":3,"296":2,"304":1,"306":2,"308":1,"309":4,"314":1,"344":1,"347":1,"349":1,"359":2,"364":2}}],["seeking",{"2":{"10":1}}],["segwit",{"2":{"14":2}}],["sequenced",{"2":{"232":1,"233":1,"341":1}}],["sequence",{"2":{"184":1}}],["sequencers",{"2":{"145":1,"173":2,"176":1}}],["sequencer",{"0":{"60":1,"173":1,"232":1},"1":{"233":1},"2":{"10":2,"19":1,"36":2,"56":1,"57":1,"59":1,"60":1,"61":1,"63":1,"71":3,"72":1,"145":2,"150":1,"155":1,"158":1,"166":1,"173":7,"176":1,"182":6,"206":1,"232":3,"233":7,"265":1,"276":3,"277":1,"278":7,"280":3,"307":3,"342":8,"363":1}}],["sequencing",{"0":{"89":1,"196":1,"197":1,"339":1,"340":1,"341":1,"342":1},"1":{"340":1,"341":2,"342":2},"2":{"10":3,"26":1,"89":2,"91":1,"232":3,"278":1,"301":1,"340":3,"341":4,"342":7}}],["several",{"2":{"9":1,"348":1,"349":1,"353":1}}],["setguess",{"2":{"360":1}}],["setwordle",{"2":{"359":1}}],["settings",{"2":{"106":1,"209":1}}],["setting",{"0":{"28":1,"34":1,"58":1,"130":1,"263":1,"276":1,"305":1,"350":1},"1":{"59":1,"60":1,"61":1,"277":1,"278":1,"279":1,"306":1,"307":1,"308":1,"351":1},"2":{"27":1,"156":1,"188":1,"242":1,"248":1,"345":1}}],["settle",{"2":{"8":1}}],["settled",{"2":{"8":1}}],["settlement",{"0":{"149":1},"2":{"7":3,"8":3,"15":1,"146":1,"149":3,"271":1}}],["sets",{"2":{"24":1,"277":2,"306":2}}],["setup",{"0":{"55":1,"81":1,"83":1,"215":1,"333":1},"1":{"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"216":1,"217":1,"218":1},"2":{"19":1,"47":1,"51":1,"61":1,"76":1,"115":1,"121":1,"137":1,"186":1,"188":1,"195":1,"208":1,"228":1,"229":1,"242":2,"266":1,"317":1,"343":1,"360":2}}],["set",{"0":{"60":1},"2":{"7":1,"8":1,"10":1,"20":1,"28":1,"29":2,"31":1,"34":1,"37":1,"39":1,"47":1,"56":1,"59":1,"61":1,"63":1,"70":1,"81":1,"87":1,"88":1,"108":1,"112":1,"113":1,"120":1,"144":3,"145":1,"168":1,"173":1,"186":1,"195":1,"203":1,"208":1,"212":1,"216":1,"217":1,"218":1,"219":1,"222":1,"223":1,"226":1,"230":3,"231":1,"238":5,"247":2,"263":1,"266":1,"277":3,"278":4,"289":2,"299":1,"307":1,"311":1,"314":1,"317":1,"318":1,"330":2,"331":1,"332":1,"333":1,"348":1,"350":1,"359":1}}],["secp256k1",{"2":{"296":2}}],["secret",{"2":{"244":1}}],["section",{"2":{"51":1,"91":2,"94":1,"95":1,"100":1,"102":1,"106":1,"107":1,"108":1,"112":1,"136":1,"140":1,"150":2,"271":1}}],["sections",{"2":{"26":1,"103":1}}],["second",{"2":{"19":2,"221":3,"354":1,"357":1}}],["seconds",{"2":{"7":1,"19":1,"53":1,"106":1,"233":1,"238":1,"247":1,"277":1,"280":3,"295":8,"306":1,"309":14}}],["security",{"0":{"144":1},"2":{"7":2,"12":1,"56":1,"128":1,"140":1,"145":3,"171":1,"213":1}}],["securely",{"2":{"267":1}}],["secured",{"2":{"172":1}}],["secures",{"2":{"128":1}}],["secure",{"2":{"7":1,"8":1,"144":4,"353":1}}],["sdkerrors",{"2":{"359":4,"360":5}}],["sdk=github",{"2":{"76":1}}],["sdk",{"0":{"131":1,"148":1,"161":1},"2":{"7":3,"9":4,"10":1,"17":1,"76":1,"82":1,"95":1,"96":3,"117":2,"129":1,"131":2,"140":2,"148":4,"150":1,"151":1,"161":5,"250":1,"293":2,"300":1,"343":1,"344":3,"347":2,"348":2,"349":2,"352":4,"353":1,"354":3,"358":2,"359":7,"360":7,"361":4,"364":1,"366":1}}],["sum256",{"2":{"359":2,"360":3}}],["sum",{"2":{"277":1}}],["summary",{"0":{"26":1,"39":1,"42":1,"72":1,"115":1,"266":1},"2":{"42":1}}],["superior",{"2":{"191":1}}],["supports",{"2":{"17":1,"155":1,"175":2,"186":1}}],["supported",{"2":{"15":1,"167":1,"177":1,"226":1}}],["support",{"0":{"92":1,"155":1},"2":{"12":1,"69":1,"73":1,"155":1,"165":1,"173":1,"301":2,"318":1}}],["supporting",{"2":{"9":1}}],["supply",{"2":{"8":1}}],["sustainably",{"2":{"144":1}}],["sustainable",{"2":{"12":1,"18":1}}],["sustainability",{"2":{"144":1}}],["sufficient",{"2":{"313":1}}],["sufficiently",{"2":{"144":2}}],["suffice",{"2":{"131":1}}],["sudo",{"2":{"121":1,"215":1,"216":2}}],["suitable",{"2":{"269":1}}],["suit",{"2":{"80":2,"84":2}}],["suggested",{"2":{"206":1}}],["suggest",{"2":{"41":1}}],["suggestions",{"0":{"4":1},"2":{"4":1}}],["sure",{"2":{"39":1,"81":2,"106":1,"188":1,"192":1,"215":1,"224":1,"227":1,"273":1,"284":1,"299":1,"302":1,"313":2}}],["succeeded",{"2":{"206":1}}],["succeeds",{"2":{"54":1}}],["success",{"2":{"125":1,"137":1,"144":1,"286":1,"327":1}}],["successful",{"2":{"85":4,"108":1,"119":1,"137":2,"182":1,"228":2,"286":2,"327":2,"336":1}}],["successfully",{"2":{"26":1,"62":1,"72":1,"85":2,"101":1,"137":1,"195":1,"206":2,"208":1,"228":1,"236":1,"244":1,"252":3,"279":1,"286":1,"290":1,"295":3,"299":1,"308":4,"317":1,"324":1,"327":1,"331":1,"347":1}}],["such",{"2":{"3":1,"18":1,"41":1,"54":1,"141":1,"150":1,"158":1,"167":2,"182":2,"232":1,"342":1}}],["subsequent",{"2":{"359":1}}],["substitute",{"2":{"141":1}}],["submitguess",{"0":{"360":1},"2":{"354":1,"355":1,"360":1}}],["submitwordle",{"0":{"359":1},"2":{"354":1,"355":1,"359":3}}],["submitrolluptransaction",{"2":{"341":1}}],["submits",{"2":{"233":1,"268":1,"342":1,"365":1}}],["submitteraddress",{"2":{"359":2}}],["submitter",{"2":{"357":4,"359":1,"360":8,"364":1}}],["submittedsolutionhashstring",{"2":{"359":2,"360":3}}],["submittedsolutionhash",{"2":{"359":2,"360":2}}],["submitted",{"2":{"182":3,"324":1,"340":1,"345":1,"354":1,"357":3,"359":10,"360":1,"364":5,"365":1}}],["submitting",{"2":{"96":1,"178":1,"295":1,"324":1,"364":3,"365":1}}],["submit",{"2":{"182":2,"268":2,"296":2,"354":1,"355":4,"359":1,"360":2,"363":1,"364":9}}],["submitblocks",{"2":{"162":1}}],["submitblock",{"2":{"16":2}}],["submission",{"0":{"90":1,"179":1},"2":{"54":2,"90":1,"96":3}}],["subkeys",{"2":{"50":1}}],["sub",{"2":{"19":1}}],["subordinate",{"2":{"8":1}}],["stick",{"2":{"365":1}}],["still",{"2":{"9":1,"14":1,"92":1,"95":1,"123":1,"150":1,"155":1,"172":1,"176":1,"178":1}}],["storing",{"2":{"357":1}}],["stored",{"2":{"257":1}}],["store",{"2":{"256":1,"357":1,"358":2,"359":2,"360":1}}],["storage",{"2":{"157":1}}],["stopbroadcast",{"2":{"137":1,"229":1}}],["stop",{"2":{"98":1,"162":1,"221":1,"316":2,"332":1}}],["stopping",{"0":{"98":1,"194":1,"316":1},"2":{"101":1}}],["stuck",{"2":{"95":1}}],["std",{"2":{"47":1,"137":1,"228":1,"229":1}}],["steak",{"2":{"47":2}}],["steps",{"0":{"106":1,"112":1,"126":1,"209":1,"240":1,"249":1,"281":1,"300":1,"310":1,"366":1},"2":{"27":1,"39":1,"41":2,"43":1,"49":1,"72":1,"86":1,"103":1,"111":1,"115":1,"190":1,"257":1,"266":1,"331":1,"344":1,"356":1}}],["step",{"2":{"3":2,"79":1,"85":1,"88":1,"107":1,"124":1,"129":1,"135":1,"191":2,"313":1,"318":2}}],["strconv",{"2":{"360":4}}],["strategies",{"2":{"342":1}}],["strategy",{"2":{"340":2}}],["straightforward",{"2":{"46":1,"298":1,"300":1,"348":2}}],["strong",{"2":{"144":1}}],["str+",{"2":{"134":1}}],["string",{"2":{"88":1,"168":2,"233":7,"287":1,"328":1,"331":1,"359":3,"360":3,"361":4,"365":1}}],["string=youribc",{"2":{"88":1}}],["struct",{"2":{"45":2,"46":1}}],["structure",{"0":{"3":1,"159":1},"1":{"160":1,"161":1,"162":1,"163":1},"2":{"24":1,"50":1,"111":1,"112":1,"349":1}}],["str",{"2":{"45":1,"47":1,"134":6}}],["stands",{"2":{"293":1}}],["standard",{"2":{"14":2,"228":1}}],["status",{"2":{"138":1,"167":1,"173":1,"251":1,"252":3,"280":1,"294":1,"295":3,"304":1,"308":2,"309":1,"314":1,"331":1,"341":1}}],["statefile=",{"2":{"337":1}}],["state",{"0":{"174":1},"1":{"175":1,"176":1,"177":1},"2":{"8":1,"9":1,"10":1,"46":1,"62":1,"73":2,"147":2,"150":1,"158":1,"161":1,"169":1,"172":1,"173":1,"176":11,"182":2,"206":8,"260":1,"337":1,"342":1,"354":1,"358":1,"360":1}}],["stage",{"2":{"92":1,"150":1,"155":1,"277":5}}],["stake",{"2":{"87":1,"88":1,"124":1,"296":1,"297":2}}],["staking",{"0":{"34":1},"2":{"28":1,"34":1}}],["star",{"2":{"307":3}}],["starlark",{"2":{"252":2,"295":3,"308":3}}],["starship",{"2":{"41":1}}],["startwordle",{"2":{"265":1}}],["starts",{"2":{"166":1,"191":1,"206":1}}],["startbroadcast",{"2":{"137":1,"229":1}}],["starting",{"0":{"38":1,"123":1,"252":1,"295":1},"2":{"39":1,"57":1,"62":1,"69":1,"85":1,"123":14,"169":1,"225":1,"226":1,"236":1,"244":1,"269":1,"278":1,"295":14,"308":1,"333":1}}],["start",{"0":{"25":1,"61":1,"71":1,"81":1,"86":1,"186":1,"205":1,"221":1,"288":1,"311":1,"323":1,"329":1,"332":1,"334":1,"335":1},"1":{"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"222":1,"223":1,"224":1,"225":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"336":1,"337":1,"338":1},"2":{"7":1,"9":1,"19":5,"25":3,"27":1,"37":1,"38":2,"39":1,"41":2,"47":1,"53":2,"54":2,"61":1,"71":3,"76":1,"79":2,"84":1,"86":2,"89":4,"90":2,"94":4,"95":1,"103":1,"105":1,"107":1,"114":2,"117":1,"123":12,"124":2,"150":1,"162":1,"166":1,"187":1,"188":1,"191":1,"201":1,"205":2,"206":1,"221":3,"226":3,"230":1,"231":1,"235":1,"236":2,"237":1,"238":3,"239":2,"243":1,"244":2,"247":3,"248":2,"259":1,"262":1,"263":1,"265":3,"267":1,"269":1,"270":1,"277":1,"278":2,"280":1,"293":1,"295":12,"307":7,"308":1,"314":2,"320":2,"323":2,"324":1,"332":4,"333":1,"334":1,"337":2,"338":1,"344":1,"354":1,"359":1,"363":2}}],["started",{"2":{"1":1,"11":1,"94":2,"130":1,"151":2,"230":1,"277":1,"308":3,"312":1,"321":1,"325":1,"337":1,"345":1,"347":1}}],["stay",{"2":{"6":1}}],["stack",{"0":{"158":1,"213":1},"1":{"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1},"2":{"3":1,"141":1,"145":1,"154":1,"156":1}}],["gz",{"2":{"216":3}}],["gb",{"2":{"214":1}}],["g",{"2":{"173":1,"184":1,"191":2,"216":1,"340":1}}],["gateway",{"2":{"332":1}}],["gaming",{"2":{"193":1}}],["game",{"2":{"153":1,"193":1,"343":2}}],["gain",{"2":{"144":1,"192":1}}],["gasprice",{"2":{"268":1}}],["gasused",{"2":{"138":1}}],["gas",{"0":{"54":1,"99":1,"101":1,"116":1},"1":{"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1},"2":{"10":1,"37":1,"38":1,"54":15,"83":8,"85":4,"88":1,"91":2,"95":3,"96":1,"99":2,"101":1,"117":4,"123":2,"124":9,"125":2,"126":1,"137":1,"228":3,"248":4,"256":3,"259":3,"260":7,"286":1,"296":1,"327":1,"364":3}}],["giant",{"2":{"364":2}}],["given",{"2":{"268":1,"354":1,"364":5}}],["give",{"2":{"230":1,"258":1}}],["gives",{"2":{"141":1,"147":1}}],["git",{"2":{"78":2,"82":2,"119":1,"124":1,"133":2,"187":1,"191":1,"204":3,"215":1,"226":2,"233":1,"285":2,"312":1,"321":3,"326":3,"333":1,"336":1}}],["github",{"2":{"21":1,"66":1,"76":1,"78":1,"82":1,"92":1,"124":1,"133":2,"155":1,"187":1,"191":1,"204":1,"210":1,"226":1,"233":1,"252":3,"285":1,"295":5,"307":4,"308":4,"312":1,"313":1,"318":1,"321":1,"326":1,"351":1,"359":2,"360":2}}],["gwei",{"2":{"137":1,"286":1,"327":1}}],["gpu",{"2":{"135":1}}],["global",{"2":{"124":1}}],["gt",{"2":{"94":1,"319":1}}],["ghcr",{"2":{"76":1,"252":6,"254":2,"278":2,"295":6,"308":2,"309":1,"320":1,"332":1}}],["gms",{"2":{"287":1,"328":1}}],["gmportalscript",{"2":{"286":2,"327":2}}],["gmportal",{"2":{"137":3,"286":2,"288":5,"327":2,"329":5}}],["gm1r2udsh4za7r7sxvzy496qfazvjp04j4zgytve3",{"2":{"296":2}}],["gm17rpwv7lnk96ka00v93rphhvcqqztpn896q0dxx",{"2":{"296":2}}],["gm1jqevcsld0dqpjp3csfg7alkv3lehvn8uswknrc",{"2":{"124":3}}],["gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy",{"2":{"80":1,"85":2}}],["gmd",{"2":{"112":3,"121":1,"122":1,"245":2,"246":1,"247":1,"248":1}}],["gm",{"0":{"76":1,"292":1,"298":1},"1":{"293":1,"294":1,"295":1,"296":1,"297":1,"298":1,"299":1,"300":1},"2":{"65":4,"71":2,"73":1,"76":9,"79":1,"80":2,"83":3,"84":1,"85":22,"86":1,"87":5,"103":1,"104":1,"105":1,"108":4,"112":6,"117":1,"121":3,"122":4,"124":24,"125":2,"136":1,"137":5,"152":1,"191":2,"242":5,"245":3,"246":2,"251":1,"285":3,"286":1,"287":1,"288":6,"293":2,"295":19,"296":1,"325":1,"326":3,"327":1,"328":1,"329":6}}],["grotto",{"2":{"295":3}}],["grow",{"2":{"242":1}}],["growth",{"2":{"148":1}}],["grey",{"2":{"345":1}}],["green",{"2":{"345":1}}],["grep",{"2":{"252":1,"295":1,"309":1}}],["great",{"2":{"148":2,"150":1,"240":1,"249":1,"269":1,"271":1}}],["greater",{"2":{"54":1}}],["granter",{"2":{"296":1,"364":1}}],["grasp",{"2":{"192":1}}],["grab",{"2":{"138":1,"364":1}}],["gradually",{"2":{"54":1}}],["grpc",{"2":{"37":1,"38":1,"61":1,"123":1,"232":1,"248":1,"252":1,"295":1,"332":2,"340":1}}],["gui",{"2":{"345":1}}],["guide",{"0":{"55":1,"186":1,"311":1,"335":1},"1":{"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"336":1,"337":1,"338":1},"2":{"20":2,"26":1,"27":1,"29":1,"39":1,"41":1,"56":1,"64":1,"89":1,"93":1,"99":1,"103":1,"109":1,"117":2,"128":2,"130":1,"131":1,"186":1,"191":1,"201":1,"235":1,"242":1,"248":1,"257":1,"262":1,"293":2,"311":1,"343":1,"344":1,"345":1,"349":1}}],["guidelines",{"0":{"2":1},"2":{"2":1,"76":1}}],["guides",{"0":{"91":1},"1":{"92":1},"2":{"0":1,"91":3,"92":1,"199":1}}],["guessing",{"2":{"360":1}}],["guessed",{"2":{"360":2}}],["guesseraddress",{"2":{"360":2}}],["guesser",{"2":{"360":2,"361":1}}],["guesses",{"2":{"345":2,"357":1,"359":2,"360":2}}],["guess",{"2":{"345":2,"354":2,"355":3,"357":3,"359":1,"360":19,"364":8,"365":1}}],["guard",{"2":{"193":1}}],["guarantees",{"2":{"12":1,"145":1,"213":2,"267":1,"269":1}}],["gotype",{"2":{"361":1}}],["gomessage",{"2":{"361":1}}],["goctx",{"2":{"359":2,"360":2}}],["gopackage",{"2":{"359":1,"360":1}}],["goreleaser",{"2":{"313":8}}],["gosubmitrolluptransaction",{"2":{"341":1}}],["gosequencinglatesttag",{"2":{"278":1}}],["gossips",{"2":{"182":1}}],["gossipping",{"2":{"178":1}}],["gossiped",{"2":{"176":1}}],["gossip",{"0":{"182":1},"2":{"169":1,"176":2,"182":1}}],["go$ver",{"2":{"216":3}}],["good",{"2":{"212":1,"240":1,"249":1,"252":1,"293":1,"295":1,"338":1}}],["golang",{"0":{"216":1},"2":{"201":1,"216":2,"277":1}}],["golangversion",{"2":{"118":1}}],["godocs",{"2":{"157":1}}],["going",{"2":{"131":1,"150":1,"272":1,"301":1,"349":1}}],["go1",{"2":{"82":1}}],["gone",{"2":{"19":1,"91":1,"344":1}}],["goal",{"2":{"18":1,"117":1,"141":1,"145":1,"213":1,"293":1}}],["go",{"0":{"205":1,"268":1},"2":{"10":2,"16":1,"41":1,"48":1,"73":1,"75":1,"76":3,"82":1,"89":1,"91":1,"95":1,"103":1,"106":1,"112":3,"118":2,"121":2,"122":1,"161":1,"163":1,"166":2,"205":1,"216":4,"232":1,"240":1,"242":1,"249":1,"260":1,"267":1,"268":3,"277":4,"278":1,"299":1,"313":1,"319":1,"331":1,"341":1,"343":3,"344":1,"345":1,"349":1,"359":3,"360":1,"361":1}}],["governance",{"2":{"7":1,"8":1}}],["gentxs",{"2":{"35":1}}],["gentx",{"2":{"34":1}}],["genesis",{"0":{"27":1,"30":1,"33":1,"34":1,"35":1,"36":1,"59":1},"1":{"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1},"2":{"27":2,"30":1,"33":3,"34":2,"35":2,"36":3,"39":2,"59":3,"91":1,"207":2,"337":2}}],["generation",{"2":{"46":2}}],["generating",{"0":{"221":1},"1":{"222":1,"223":1,"224":1,"225":1},"2":{"24":1,"85":1,"221":2,"233":1}}],["generates",{"2":{"236":1,"244":1}}],["generatetoaddress",{"2":{"221":2}}],["generatefraudproof",{"2":{"176":1}}],["generated",{"2":{"46":1,"128":2,"134":1,"135":1,"230":1,"231":1,"238":1,"349":1}}],["generate",{"0":{"112":1},"2":{"29":2,"70":1,"83":1,"112":1,"145":1,"176":2,"182":1,"221":3,"332":1}}],["generic",{"2":{"7":1,"162":1,"268":1}}],["getguess",{"2":{"360":1}}],["getwordle",{"2":{"359":1,"360":1}}],["getnextbatch",{"2":{"341":2,"342":1}}],["getnewaddress`",{"2":{"221":1}}],["getnewaddress",{"2":{"221":1}}],["gettotalgms",{"2":{"287":1,"328":1}}],["getting",{"2":{"167":2,"360":1}}],["getblockheader",{"2":{"224":2}}],["getblockhash",{"2":{"223":1}}],["getblockcount",{"2":{"222":1}}],["geth",{"0":{"205":1},"2":{"205":2,"207":2,"210":1,"324":2}}],["getapphash",{"2":{"176":1}}],["gets",{"2":{"81":1,"340":1,"345":1}}],["getcountresponse",{"2":{"46":2}}],["getcount",{"2":{"46":2,"228":4,"230":1,"231":1}}],["get",{"0":{"189":1},"2":{"1":1,"8":1,"11":1,"41":2,"46":1,"47":1,"50":1,"65":1,"76":1,"95":2,"97":1,"121":2,"124":1,"134":2,"140":1,"151":2,"191":1,"207":1,"224":1,"238":1,"244":1,"256":1,"258":1,"268":2,"277":3,"287":1,"312":1,"313":1,"315":1,"321":1,"325":1,"328":1,"332":1,"345":1,"347":2,"359":1,"360":3,"364":2}}],["omni",{"0":{"311":1,"312":1,"314":1},"1":{"312":1,"313":1,"314":1,"315":1,"316":1,"317":1},"2":{"311":1,"312":3,"313":2,"314":3,"315":4,"316":1,"317":2}}],["omnilayer",{"2":{"175":1}}],["octane",{"0":{"311":1},"1":{"312":1,"313":1,"314":1,"315":1,"316":1,"317":1},"2":{"286":1}}],["occurred",{"2":{"176":1}}],["occasional",{"2":{"54":1}}],["ooga",{"0":{"286":1,"327":1},"2":{"287":3,"289":2,"325":1,"326":1,"328":3,"330":2}}],["old",{"2":{"225":1,"245":1}}],["os",{"2":{"215":1,"277":1}}],["osmo",{"2":{"83":2,"84":1,"85":12}}],["osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll",{"2":{"80":1,"85":2}}],["osmosis",{"0":{"77":1,"78":1,"79":1,"87":1,"88":1},"1":{"78":1,"79":1},"2":{"73":1,"78":3,"79":6,"80":2,"83":2,"85":6,"86":1,"87":3,"88":2}}],["observe",{"2":{"188":1}}],["observed",{"2":{"85":4}}],["objects",{"2":{"134":3,"354":1,"364":1}}],["obtained",{"2":{"129":1,"191":2}}],["obtain",{"2":{"128":1,"134":2,"238":1,"331":1}}],["obvious",{"2":{"47":1}}],["ok",{"2":{"47":2,"228":1}}],["opportunity",{"2":{"148":1}}],["operate",{"2":{"267":1}}],["operators",{"2":{"89":1,"139":1}}],["operation",{"0":{"62":1},"2":{"337":1}}],["operations",{"2":{"29":1,"39":1,"166":1,"194":1,"230":1,"231":1,"248":1}}],["operational",{"2":{"8":1,"104":1,"129":1,"136":1}}],["openapi",{"2":{"349":1}}],["openssl",{"2":{"226":1}}],["opens",{"2":{"213":1}}],["open",{"2":{"21":1,"81":1,"112":1,"134":3,"137":1,"141":1,"145":1,"206":1,"207":1,"220":1,"228":2,"299":1,"307":2,"347":1,"359":1,"360":1,"365":1}}],["opening",{"2":{"12":1,"141":1,"212":1}}],["optionally",{"2":{"238":1,"247":1}}],["optional",{"2":{"176":1,"216":1}}],["option",{"2":{"15":2}}],["options",{"2":{"3":1,"83":2,"124":2,"182":1,"296":2,"364":2}}],["optimistic=true",{"2":{"206":1}}],["optimistic=false",{"2":{"206":1}}],["optimistically",{"2":{"206":1}}],["optimistic",{"0":{"176":1},"2":{"10":2,"145":1,"158":1,"171":1,"182":1}}],["optimizer",{"2":{"255":2}}],["optimized",{"0":{"255":1},"2":{"255":1}}],["optimize",{"0":{"10":1},"2":{"10":1,"209":1}}],["overlook",{"2":{"192":1}}],["overall",{"2":{"176":1}}],["override",{"2":{"95":1,"124":2,"206":1}}],["over",{"2":{"9":1,"89":1,"103":1,"167":3,"173":1,"176":2,"277":1,"331":1,"343":3,"344":1,"345":2,"349":1,"359":2}}],["overhead",{"2":{"7":2,"8":1,"10":1,"18":1,"144":1}}],["overview",{"0":{"103":1},"2":{"5":1,"108":1}}],["onwards",{"2":{"340":1}}],["onstart",{"2":{"166":1}}],["onto",{"2":{"158":1,"252":1}}],["once",{"0":{"128":1},"2":{"25":1,"65":1,"107":1,"113":1,"165":1,"176":1,"230":2,"231":1,"251":1,"275":1,"278":1,"280":1,"294":1,"299":1,"304":1,"309":1,"313":1}}],["onchain",{"2":{"8":1}}],["only",{"0":{"175":1},"2":{"10":2,"12":1,"15":1,"16":1,"54":1,"73":1,"123":1,"128":1,"155":1,"166":1,"175":1,"271":1,"288":1,"295":1,"329":1,"354":1,"359":6,"360":3}}],["ones",{"2":{"182":1}}],["one",{"2":{"7":1,"9":1,"19":1,"29":1,"46":1,"85":3,"95":1,"107":1,"173":1,"176":1,"191":2,"230":2,"236":1,"239":1,"250":1,"269":1,"271":1,"289":1,"296":1,"308":1,"330":1,"332":2,"333":1,"349":1,"354":2,"359":2,"360":1,"364":1}}],["on",{"0":{"12":1,"14":1,"17":1,"135":1,"138":1,"191":1,"253":1,"257":1,"282":1},"1":{"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"192":1,"193":1,"254":1,"255":1,"256":1,"258":1,"259":1,"260":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":1},"2":{"5":1,"6":1,"7":3,"8":4,"10":2,"12":5,"13":1,"14":6,"16":2,"17":1,"18":2,"29":1,"39":1,"46":1,"49":4,"52":1,"57":2,"60":1,"75":1,"80":2,"81":2,"89":1,"91":1,"95":1,"106":1,"120":2,"121":2,"123":2,"124":8,"125":4,"128":7,"134":1,"135":2,"136":2,"137":1,"138":1,"139":1,"140":1,"141":1,"143":1,"145":2,"150":1,"155":1,"157":1,"163":1,"165":2,"171":1,"172":1,"176":1,"184":1,"188":1,"191":6,"193":2,"200":1,"201":1,"202":1,"203":1,"205":2,"207":2,"209":1,"210":1,"212":3,"213":3,"227":1,"233":1,"235":1,"236":1,"238":1,"239":2,"242":1,"243":1,"248":2,"252":2,"256":1,"258":1,"260":1,"263":2,"276":1,"278":1,"282":2,"285":1,"286":1,"288":3,"289":2,"290":2,"295":6,"299":1,"305":1,"308":1,"309":1,"313":6,"315":2,"319":2,"325":1,"326":1,"327":1,"329":3,"330":2,"332":1,"333":1,"334":1,"338":1,"344":1,"345":1,"347":1,"350":1,"358":1,"360":1,"364":1,"365":1}}],["our",{"2":{"5":2,"18":1,"46":1,"52":1,"92":1,"95":1,"101":1,"103":1,"105":1,"108":1,"123":1,"124":4,"125":1,"134":4,"136":1,"140":1,"141":1,"145":1,"155":1,"183":1,"193":1,"201":1,"207":1,"212":1,"216":1,"229":1,"231":2,"238":1,"246":2,"247":1,"248":2,"252":1,"254":1,"256":1,"258":3,"260":2,"276":2,"277":1,"278":1,"280":1,"285":1,"288":2,"295":1,"296":2,"300":1,"305":1,"306":1,"309":1,"315":1,"326":1,"329":2,"345":1,"347":1,"348":2,"350":2,"353":1,"354":3,"361":1,"363":1}}],["outline",{"2":{"358":1}}],["outside",{"2":{"250":1,"349":1}}],["outputs",{"2":{"364":1}}],["output",{"2":{"62":2,"83":2,"94":1,"112":2,"124":2,"125":2,"137":2,"138":2,"188":1,"206":1,"220":1,"222":1,"223":1,"228":1,"231":1,"238":2,"247":1,"252":2,"256":1,"258":3,"260":5,"277":1,"279":1,"280":1,"286":2,"295":2,"296":2,"297":1,"306":1,"308":2,"309":2,"314":1,"327":2,"337":1,"347":1,"364":3}}],["out",{"0":{"95":1},"1":{"96":1,"97":1,"98":1,"99":1,"100":1,"101":1},"2":{"0":1,"11":1,"26":1,"29":1,"37":1,"46":1,"95":2,"96":1,"101":1,"106":1,"139":1,"230":1,"250":1,"254":1,"257":1,"280":1,"288":2,"309":1,"326":1,"329":2,"344":1,"347":1,"361":1,"364":1}}],["others",{"2":{"365":1}}],["other",{"2":{"3":1,"7":2,"37":1,"52":1,"79":1,"81":3,"95":1,"143":1,"145":2,"173":1,"182":1,"206":1,"239":1,"298":1,"342":1,"353":1,"358":1}}],["owner",{"2":{"260":2}}],["own",{"2":{"3":1,"7":3,"8":1,"11":1,"15":1,"140":1,"145":1,"199":1,"208":1,"238":1,"307":1,"325":1,"332":1,"334":1,"347":1,"352":1}}],["original",{"2":{"88":1,"191":1}}],["originally",{"2":{"12":1,"289":1,"330":1}}],["orch",{"0":{"44":1},"2":{"41":3,"42":1,"43":1,"44":3,"45":2,"46":3,"47":1,"48":1,"49":1,"50":1,"52":1}}],["orchestrator",{"0":{"40":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1},"2":{"41":2,"42":1,"44":1,"46":1,"52":1,"256":1,"257":1}}],["ordinals",{"2":{"13":1,"14":2,"213":1}}],["ordering",{"2":{"165":1,"173":2,"340":1}}],["ordered",{"2":{"158":1,"232":1}}],["order",{"2":{"8":1,"41":1,"45":1,"50":1,"85":1,"94":1,"95":2,"99":1,"101":1,"140":1,"144":1,"175":1,"232":1,"255":1,"256":1,"289":1,"330":1,"331":1,"340":1,"361":1}}],["org",{"2":{"12":1,"216":1,"308":2}}],["organize",{"2":{"8":1}}],["oracles",{"2":{"9":1}}],["or",{"2":{"2":1,"4":1,"7":5,"8":1,"10":5,"16":1,"17":1,"18":1,"19":1,"25":1,"30":1,"47":2,"81":1,"87":1,"88":1,"92":1,"96":1,"107":1,"108":1,"118":1,"121":1,"135":1,"139":1,"145":4,"147":1,"150":1,"151":1,"155":1,"168":1,"171":1,"172":1,"176":1,"182":2,"184":1,"192":1,"213":1,"229":1,"235":1,"236":1,"238":1,"239":1,"256":1,"262":1,"268":2,"269":1,"286":1,"289":1,"313":3,"330":1,"332":2,"334":1,"340":1,"342":1,"347":1,"348":1,"359":1,"360":1,"364":1}}],["offered",{"2":{"352":1}}],["offers",{"2":{"242":1}}],["offering",{"2":{"186":1}}],["offs",{"2":{"141":1,"144":1,"145":1}}],["offset",{"2":{"8":1}}],["offloading",{"2":{"15":1}}],["off",{"2":{"14":1,"94":1,"145":1,"191":1}}],["offchain",{"2":{"8":1}}],["official",{"2":{"0":1,"140":1}}],["of",{"0":{"6":1,"19":1,"90":1,"95":1,"184":1},"1":{"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"185":1},"2":{"0":1,"2":1,"5":2,"7":6,"8":5,"9":2,"10":6,"11":1,"13":2,"14":8,"15":1,"16":3,"18":2,"19":1,"20":1,"24":1,"27":1,"29":3,"37":3,"39":1,"41":3,"44":1,"45":1,"46":1,"50":1,"54":4,"56":1,"64":1,"73":2,"79":1,"81":1,"83":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":3,"95":3,"96":1,"97":1,"101":1,"103":2,"106":1,"109":1,"110":1,"111":1,"114":2,"117":2,"121":1,"123":1,"124":1,"128":3,"130":1,"131":2,"132":1,"133":1,"135":1,"136":1,"137":2,"138":3,"140":1,"141":2,"144":6,"145":5,"147":1,"149":2,"150":1,"155":1,"157":2,"158":2,"161":3,"162":2,"163":1,"165":1,"166":2,"168":1,"169":1,"173":1,"176":2,"182":3,"186":2,"188":1,"189":1,"190":1,"191":5,"192":1,"193":2,"195":2,"199":1,"208":1,"209":1,"212":2,"213":4,"217":1,"221":1,"223":1,"225":1,"227":1,"228":1,"230":3,"231":1,"233":1,"236":3,"238":6,"239":1,"242":1,"243":1,"244":2,"247":2,"250":2,"254":1,"256":2,"258":1,"259":1,"260":1,"267":2,"269":1,"270":1,"271":3,"277":1,"278":7,"279":1,"280":1,"284":1,"293":1,"296":1,"298":2,"301":1,"306":1,"309":1,"314":1,"318":1,"325":1,"331":1,"333":1,"340":1,"341":3,"342":2,"343":1,"344":1,"345":5,"347":3,"348":3,"349":4,"353":1,"354":2,"357":2,"358":4,"359":7,"360":11,"364":2}}],["md",{"2":{"349":1}}],["m",{"2":{"221":2}}],["my",{"2":{"221":1}}],["mykey4",{"2":{"189":1}}],["mykey3",{"2":{"189":1}}],["mykey2",{"2":{"189":1}}],["mykey",{"2":{"79":1,"189":1,"231":2}}],["ml",{"2":{"128":2,"131":2,"132":1,"133":2,"137":1,"138":1,"139":1}}],["mkdir",{"2":{"124":1,"252":1,"295":1,"309":1}}],["mnemonics",{"2":{"84":1,"124":1}}],["mnemonic",{"2":{"47":3,"80":2,"84":1,"244":2}}],["msgsubmitguessresponse",{"2":{"360":3,"361":2}}],["msgsubmitguess",{"2":{"360":1}}],["msgsubmitwordleresponse",{"2":{"359":2}}],["msgsubmitwordle",{"2":{"359":1,"364":1}}],["msgserver",{"2":{"359":1,"360":1}}],["msgsend",{"2":{"296":1}}],["msg=",{"2":{"123":10,"295":10}}],["msgchannelopenconfirm",{"2":{"85":1}}],["msgchannelopenack",{"2":{"85":1}}],["msgchannelopentry",{"2":{"85":1}}],["msgchannelopeninit",{"2":{"85":1}}],["msgupdateclient",{"2":{"85":4}}],["msg",{"2":{"45":1,"46":2,"47":1,"85":4,"359":7,"360":8}}],["much",{"2":{"348":1}}],["multiappconn",{"2":{"123":1,"295":1}}],["multiplier=1",{"2":{"54":1}}],["multiplier",{"2":{"54":2}}],["multiple",{"2":{"41":1,"107":1,"138":1,"169":1,"173":1,"176":1}}],["multi",{"2":{"41":1,"353":1}}],["must",{"2":{"7":1,"144":2,"182":1,"345":1,"348":1,"353":2,"359":2,"360":2}}],["mv",{"2":{"36":1}}],["mb",{"2":{"14":1}}],["middlewares",{"2":{"342":1}}],["middleware",{"2":{"232":1,"268":1,"342":2}}],["middleman",{"2":{"81":1}}],["might",{"2":{"144":1,"169":1,"269":1,"300":1}}],["migrate",{"2":{"45":2}}],["migratemsg",{"2":{"45":2}}],["mission",{"2":{"140":1}}],["missing",{"2":{"14":1}}],["mit",{"2":{"137":1,"228":2,"229":1}}],["millions",{"2":{"144":1}}],["milliseconds",{"2":{"10":1,"19":1}}],["milk",{"2":{"80":2,"84":2}}],["minutes",{"2":{"102":1,"145":1,"252":6,"280":2,"295":1}}],["minute",{"2":{"89":1,"252":8}}],["minus",{"2":{"88":1}}],["min",{"2":{"83":4,"124":4}}],["mind",{"2":{"18":1,"138":1,"162":1}}],["mine",{"2":{"221":2}}],["miner",{"2":{"14":1}}],["mined",{"2":{"14":1}}],["minimizes",{"2":{"348":1}}],["minimized",{"2":{"8":1,"73":1,"149":1,"158":1,"172":1}}],["minimization",{"2":{"176":1}}],["minimizing",{"2":{"145":1}}],["minimal",{"2":{"65":1,"141":1}}],["minimum",{"2":{"37":1,"38":1,"54":1,"123":1,"248":2}}],["mining",{"2":{"14":1}}],["morning",{"2":{"293":1}}],["more",{"0":{"52":1,"192":1},"2":{"6":1,"7":1,"9":1,"12":1,"19":1,"26":1,"41":1,"42":1,"45":1,"46":1,"49":1,"52":2,"65":1,"73":1,"97":1,"99":1,"129":1,"132":1,"141":2,"150":1,"157":1,"182":1,"186":1,"193":2,"210":1,"212":1,"238":1,"242":1,"271":2,"272":1,"290":1,"293":1,"294":1,"300":1,"301":1,"332":1,"344":1,"347":1,"348":1}}],["mount",{"2":{"255":2}}],["monitoring",{"2":{"215":1,"365":1}}],["monitored",{"2":{"108":1}}],["monitor",{"2":{"102":1,"107":1,"108":1,"188":1}}],["months",{"2":{"7":1,"145":1}}],["mocha=",{"2":{"124":1}}],["mocha",{"0":{"124":1},"2":{"95":2,"123":1,"124":24,"151":1,"184":1,"236":1,"238":2,"239":1,"331":2,"332":6,"333":1,"334":1}}],["mock",{"0":{"269":1},"2":{"72":2,"242":1,"269":3}}],["mockcontract",{"2":{"45":1}}],["moment",{"2":{"47":1,"359":1}}],["moving",{"2":{"41":1,"364":1}}],["move",{"2":{"8":1,"18":1,"252":1,"256":1,"294":1}}],["modified",{"2":{"318":1,"361":1}}],["modify",{"0":{"134":1},"2":{"79":1,"133":1,"137":2,"190":2,"193":1,"207":1,"231":1,"277":1,"306":1}}],["mod",{"2":{"45":1,"76":3,"277":2}}],["modulename",{"2":{"359":1,"360":1}}],["modules",{"2":{"186":1,"347":1,"349":2,"352":3,"353":1}}],["module=main",{"2":{"265":1,"269":1,"337":4}}],["module=baseapp",{"2":{"206":2}}],["module=blockmanager",{"2":{"62":1,"94":6,"96":4,"123":4,"188":3,"206":4,"252":6,"295":4,"309":9,"324":5,"337":2}}],["module=grpc",{"2":{"123":1,"295":1}}],["module=polaris",{"2":{"324":2}}],["module=p2p",{"2":{"123":3,"295":3}}],["module=pubsub",{"2":{"123":1,"295":1}}],["module=proxy",{"2":{"123":1,"295":1}}],["module=events",{"2":{"123":1,"295":1}}],["module=abci",{"2":{"123":4,"295":4}}],["module=server",{"2":{"123":7,"206":17,"295":7,"324":2}}],["module=txindex",{"2":{"62":1,"94":2,"123":2,"188":1,"206":2,"252":1,"295":2,"309":3,"324":1}}],["module",{"0":{"352":1,"353":1},"1":{"353":1},"2":{"15":1,"16":1,"18":1,"45":1,"213":1,"307":1,"348":3,"352":4,"353":6,"354":2,"358":3}}],["modularism",{"2":{"18":1}}],["modularity",{"2":{"16":1,"20":1}}],["modular",{"2":{"10":1,"15":1,"140":1,"141":2,"145":1,"154":1,"184":2,"186":1,"199":2,"201":1,"213":1}}],["mode",{"2":{"83":4,"123":1,"124":4,"155":1,"188":1,"226":1,"278":1,"295":1}}],["models",{"2":{"128":1}}],["model",{"2":{"10":1,"128":1,"132":1}}],["modes",{"0":{"174":1},"1":{"175":1,"176":1,"177":1},"2":{"10":1}}],["mostly",{"2":{"16":1}}],["most",{"2":{"0":1,"14":1,"16":1,"41":1,"54":1,"268":1,"349":2,"358":1}}],["messaging",{"2":{"365":1}}],["messages",{"0":{"354":1},"1":{"355":1},"2":{"50":1,"81":1,"206":1,"210":1,"296":1,"347":1,"354":7,"356":1,"364":1}}],["message",{"0":{"355":1},"2":{"2":1,"81":1,"96":3,"184":1,"252":3,"259":1,"260":2,"265":1,"295":3,"308":1,"314":1,"352":2,"355":5,"357":2,"358":2,"364":2}}],["meter",{"2":{"364":1}}],["method",{"2":{"271":1,"331":1,"361":1}}],["methods",{"2":{"16":3,"46":2,"161":1,"162":2,"176":1,"331":1,"361":1}}],["meet",{"2":{"188":1}}],["mean",{"2":{"364":1}}],["meaning",{"2":{"232":1,"347":1}}],["meanwhile",{"2":{"184":1}}],["means",{"2":{"7":1,"62":1,"139":1,"145":1,"345":3,"359":2}}],["mentioned",{"2":{"146":1}}],["memory",{"2":{"269":1}}],["memo",{"2":{"83":1,"124":2,"296":1,"364":1}}],["members",{"2":{"50":1}}],["mempoolttl=25",{"2":{"123":1,"295":1}}],["mempool",{"0":{"165":1},"2":{"14":2,"54":1,"95":3,"123":1,"165":3,"182":3,"295":1}}],["mev",{"2":{"9":1}}],["media",{"2":{"3":1}}],["map",{"2":{"357":3}}],["maple",{"2":{"80":2,"84":2}}],["maliciously",{"2":{"182":1}}],["made",{"2":{"123":1,"156":1,"213":2,"232":1}}],["maxbytes",{"2":{"341":1}}],["maximum",{"0":{"90":1},"2":{"90":1,"360":1}}],["maximalism",{"2":{"18":1}}],["max",{"2":{"83":2,"90":3,"91":1,"124":3,"360":1}}],["maid",{"2":{"47":1}}],["mainly",{"2":{"341":1,"342":1}}],["mainnet",{"2":{"235":1,"236":2,"239":1,"331":1}}],["maintains",{"2":{"56":1}}],["maintaining",{"2":{"10":1}}],["maintain",{"2":{"8":1}}],["main",{"2":{"2":1,"47":1,"112":3,"122":1,"145":1,"158":1,"236":1,"307":3,"349":1,"358":1}}],["macos",{"2":{"118":1,"121":1,"313":2,"347":1}}],["macro",{"2":{"46":1}}],["macros",{"2":{"46":2}}],["machines",{"2":{"147":1,"347":1}}],["machine",{"2":{"2":1,"9":1,"10":1,"75":1,"120":1,"128":2,"136":1,"147":2,"199":1,"200":1,"201":1,"214":1,"263":1,"313":1,"318":1,"319":2,"347":1}}],["manner",{"2":{"165":1}}],["many",{"2":{"143":1,"146":1,"150":1,"215":1,"352":1,"357":1,"365":1}}],["manifest",{"2":{"133":1}}],["managing",{"2":{"70":1,"144":1,"251":1,"294":1}}],["managed",{"2":{"271":1}}],["manager",{"0":{"166":1},"2":{"166":1}}],["manage",{"2":{"15":1,"115":1,"145":1,"271":1}}],["manually",{"2":{"44":1,"54":2,"112":1,"121":1}}],["matt",{"2":{"295":1,"308":1}}],["matter",{"2":{"43":1}}],["materials",{"2":{"0":1,"3":1}}],["marked",{"2":{"62":1}}],["market",{"0":{"144":1},"2":{"12":1,"124":2,"145":2}}],["march",{"2":{"12":1}}],["maybe",{"2":{"173":2}}],["may",{"2":{"8":2,"54":2,"61":1,"85":1,"121":1,"140":1,"162":1,"169":1,"182":1,"191":1,"216":1,"289":1,"330":1}}],["making",{"2":{"2":1,"18":1,"190":1,"191":1,"213":1,"250":1}}],["makes",{"2":{"7":1,"41":1,"81":2,"340":1}}],["make",{"2":{"0":1,"2":1,"16":1,"18":1,"39":1,"41":1,"78":1,"82":1,"85":1,"87":1,"88":1,"91":1,"106":1,"121":1,"124":1,"137":1,"141":1,"145":2,"172":1,"188":1,"190":1,"191":2,"192":1,"205":1,"206":1,"213":1,"215":2,"226":1,"233":1,"267":1,"271":1,"273":1,"284":1,"285":1,"299":1,"302":1,"313":2,"323":1,"326":1,"333":1,"334":1,"348":1,"354":1}}],["f159e11116ec9505fc2c0d97e605357fec0f3dae06b57bfb17ea6a548905043e",{"2":{"364":1}}],["f1a64151bd29",{"2":{"309":1}}],["f921884f4132",{"2":{"295":1}}],["fc0kermqylp8voivw8qfywgeldflbaufcmpm7tb7ptlb4opwzjaost6hbo",{"2":{"184":1}}],["fcfs",{"2":{"165":1,"340":1}}],["fwsrxeovry",{"2":{"184":1}}],["float64",{"2":{"268":1}}],["flow",{"0":{"178":1},"1":{"179":1,"180":1,"181":1,"182":1},"2":{"178":1,"182":1}}],["flu",{"2":{"252":1,"295":1,"309":1}}],["fluent",{"2":{"252":3,"295":3,"309":3}}],["flexible",{"2":{"169":1}}],["flexibility",{"2":{"143":1,"147":1,"156":1,"271":2}}],["flags=",{"2":{"222":1}}],["flags>",{"2":{"25":1}}],["flags",{"0":{"238":1,"247":1},"2":{"19":2,"37":1,"53":2,"54":1,"71":1,"89":2,"90":2,"94":1,"222":1,"238":1,"239":1,"247":1,"248":1,"252":1,"295":1,"296":1,"308":1}}],["flag",{"2":{"19":2,"37":1,"45":1,"53":1,"54":2,"79":1,"89":1,"90":1,"94":2,"184":1,"238":1,"247":1,"264":1,"265":1,"278":1,"331":1,"348":1}}],["fn",{"2":{"45":2,"47":1,"59":2,"62":1}}],["f",{"2":{"37":1,"134":6,"188":1,"277":1}}],["far",{"2":{"252":1,"271":1,"295":1,"364":1}}],["fallbackfee=0",{"2":{"219":1}}],["false",{"2":{"124":2,"359":1}}],["familiar",{"2":{"140":1,"207":1,"315":1}}],["familiarity",{"2":{"140":1}}],["faucet",{"2":{"124":1,"184":2,"244":1,"331":1}}],["failed",{"2":{"96":3,"228":1,"260":2}}],["failures",{"2":{"54":1}}],["face",{"2":{"145":1,"360":1}}],["factor",{"2":{"54":2}}],["facilitate",{"2":{"8":1,"16":1,"149":1,"186":1}}],["fast",{"2":{"48":1}}],["faster",{"2":{"19":1,"145":1,"173":1}}],["func",{"2":{"359":2,"360":1}}],["functionalities",{"2":{"193":1}}],["functionality",{"2":{"46":1,"131":1,"208":1,"228":1,"342":1,"358":1}}],["functional",{"2":{"160":1,"318":1}}],["function",{"0":{"359":1,"360":1},"2":{"46":2,"137":2,"228":7,"229":2,"359":3,"360":1}}],["functions",{"0":{"358":1},"1":{"359":1,"360":1,"361":1},"2":{"16":1,"46":1,"191":1,"228":1,"268":2,"341":1,"342":1,"349":2,"358":1,"361":1}}],["fun",{"2":{"348":1,"364":1}}],["funded",{"2":{"124":2,"282":1,"286":1,"289":1,"327":1,"330":1,"331":1}}],["funding",{"2":{"96":1}}],["fund",{"0":{"97":1},"2":{"95":1,"124":2,"207":1,"236":2,"243":1,"244":1,"284":1,"289":1,"315":2,"330":1,"332":1}}],["funds",{"0":{"80":1,"95":1,"284":1,"325":1},"1":{"96":1,"97":1,"98":1,"99":1,"100":1,"101":1},"2":{"80":2,"95":1,"325":1}}],["furthermore",{"2":{"135":1,"155":2}}],["further",{"2":{"24":1,"139":1,"209":1,"232":1,"260":1,"338":1,"345":1}}],["future",{"0":{"365":1},"2":{"18":1,"144":1,"146":1,"182":1,"343":1,"360":1,"364":1}}],["fullnode",{"2":{"59":2}}],["fully",{"2":{"8":2,"160":1,"167":1,"171":1,"192":1,"193":1,"271":1,"301":1,"318":1,"331":1,"332":1}}],["full",{"0":{"55":1,"58":1,"61":1,"62":1,"171":1,"175":1},"1":{"56":1,"57":1,"58":1,"59":2,"60":2,"61":2,"62":1,"63":1},"2":{"7":1,"19":1,"41":1,"48":1,"52":1,"56":2,"59":1,"61":1,"62":2,"63":1,"91":1,"144":1,"145":2,"154":1,"155":1,"157":1,"158":1,"162":1,"171":1,"175":1,"176":7,"182":6}}],["few",{"2":{"271":1,"295":1,"345":1,"359":1,"361":1,"364":1}}],["fen",{"2":{"252":3}}],["fetch",{"2":{"134":1,"176":1}}],["feature",{"2":{"89":1}}],["features",{"0":{"22":1,"49":1,"67":1},"2":{"20":1,"22":1,"42":1,"67":1,"72":1,"141":1,"150":1}}],["feb",{"2":{"14":1}}],["feel",{"2":{"360":1}}],["feegrants",{"2":{"83":2,"124":2}}],["fee",{"0":{"99":1,"101":1},"2":{"12":1,"85":4,"95":3,"96":1,"99":1,"101":1,"206":2,"296":1,"364":1}}],["fees",{"2":{"10":1,"85":4,"87":1,"88":2,"108":1,"124":1,"296":1}}],["feedback",{"0":{"4":1},"2":{"4":1}}],["front",{"2":{"365":2}}],["frontend",{"0":{"285":1,"288":1,"289":1,"326":1,"329":1,"330":1},"1":{"286":1,"287":1,"288":1,"289":1,"290":1,"327":1,"328":1,"329":1,"330":1},"2":{"282":1,"285":1,"288":8,"289":1,"290":1,"326":1,"329":8,"330":1}}],["from=base",{"2":{"277":4}}],["from",{"0":{"87":1,"88":1},"2":{"2":1,"4":1,"9":2,"11":1,"45":1,"46":1,"53":1,"59":1,"60":1,"61":1,"62":1,"79":1,"81":1,"87":2,"88":2,"89":1,"94":1,"112":1,"124":1,"137":2,"138":1,"145":3,"146":1,"158":1,"162":1,"176":1,"191":2,"206":1,"221":1,"224":1,"229":1,"231":1,"235":1,"237":1,"244":2,"245":1,"248":1,"256":1,"259":1,"260":1,"269":1,"277":6,"278":2,"286":1,"288":2,"289":1,"296":3,"300":1,"306":1,"327":1,"329":2,"330":1,"331":1,"333":1,"341":1,"342":2,"348":2,"352":1,"353":1,"354":1,"358":1,"359":2,"361":1,"364":8}}],["fresh",{"2":{"348":1}}],["fred",{"2":{"260":3}}],["frequency",{"2":{"166":1}}],["free",{"0":{"11":1},"2":{"9":1,"313":1,"360":1}}],["freedom",{"2":{"7":1,"141":1}}],["fraudulent",{"2":{"145":1,"176":2}}],["fraud",{"0":{"176":1,"182":1},"2":{"7":1,"76":1,"145":1,"150":1,"155":1,"158":2,"161":1,"169":1,"171":2,"172":1,"176":7,"178":1,"182":1}}],["framework",{"0":{"7":1},"1":{"8":1,"9":1,"10":1,"11":1},"2":{"6":1,"7":1,"12":1,"14":1,"15":1,"39":1,"41":1,"91":1,"141":2,"145":1,"150":1,"199":2,"201":1,"335":1}}],["five",{"2":{"345":2,"364":1}}],["fit",{"2":{"156":1,"267":1}}],["finish",{"2":{"217":1,"224":1}}],["finished",{"2":{"137":1,"228":2,"286":1,"327":1}}],["finalizing",{"2":{"324":1}}],["finalized",{"2":{"94":2,"123":1,"158":1,"188":1,"206":3,"252":2,"295":1,"309":3,"324":1,"337":1}}],["finality",{"2":{"238":1,"247":1,"267":1,"269":1}}],["final",{"2":{"52":1,"355":1}}],["finally",{"2":{"38":1,"125":1,"135":1,"239":1}}],["finding",{"2":{"248":1}}],["find",{"2":{"0":1,"4":1,"5":1,"45":1,"46":2,"52":1,"91":2,"112":1,"133":1,"176":1,"182":1,"332":1,"334":1}}],["fixed",{"2":{"54":1}}],["fix",{"2":{"18":1,"134":1,"242":1}}],["fixing",{"2":{"2":1}}],["filter",{"2":{"124":1}}],["file",{"0":{"36":1,"44":1,"59":1,"278":1,"361":1},"2":{"24":3,"29":2,"37":1,"42":1,"44":2,"45":4,"47":1,"50":1,"59":2,"70":2,"83":2,"109":1,"111":3,"112":5,"113":2,"114":1,"115":1,"122":1,"133":1,"134":8,"135":1,"189":1,"207":1,"228":1,"244":2,"277":2,"278":2,"306":1,"307":4,"337":1,"349":4,"359":1,"360":1,"361":2,"363":1}}],["filesystem",{"2":{"313":1}}],["files",{"2":{"3":1,"50":1,"133":1,"134":1,"137":1,"190":2,"207":1,"215":1,"228":1,"252":1,"277":4,"286":1,"295":1,"306":1,"308":1,"327":1,"349":2,"361":1,"363":1}}],["fill",{"2":{"11":1,"106":1,"361":1}}],["firstly",{"2":{"83":1}}],["first",{"0":{"7":1,"108":1},"1":{"8":1,"9":1,"10":1,"11":1},"2":{"6":1,"12":1,"28":1,"59":1,"91":1,"94":1,"97":1,"103":1,"104":1,"107":1,"108":1,"123":1,"138":1,"165":2,"173":2,"190":1,"191":1,"203":1,"212":1,"215":1,"223":1,"227":1,"231":1,"238":1,"247":1,"254":1,"256":1,"258":1,"267":1,"269":1,"277":1,"285":1,"288":1,"296":1,"306":1,"313":1,"315":1,"323":1,"326":1,"329":1,"333":1,"344":1,"348":2,"354":1,"359":2,"361":1}}],["four",{"2":{"145":1,"189":1}}],["foundation",{"2":{"348":1}}],["foundations",{"2":{"267":1}}],["foundryup",{"2":{"283":1,"323":1}}],["foundry",{"0":{"217":1,"283":1,"322":1},"2":{"217":3,"227":3,"228":1,"283":2,"286":1,"322":1,"327":1,"348":1}}],["found",{"2":{"14":1,"85":2,"121":1,"157":1,"161":1,"305":1,"308":1,"337":3}}],["food",{"2":{"133":2,"137":1,"138":1}}],["folder",{"2":{"50":1,"221":1,"225":1}}],["follows",{"2":{"69":1,"161":1}}],["follow",{"2":{"13":1,"27":1,"29":1,"100":1,"111":1,"188":1,"190":1,"201":1,"202":1,"207":1,"242":1,"315":1,"325":1,"332":1,"340":1}}],["following",{"2":{"1":1,"9":1,"21":1,"22":1,"23":1,"25":1,"26":1,"29":2,"38":1,"39":1,"41":1,"50":1,"61":1,"65":1,"66":1,"67":1,"68":1,"70":1,"71":1,"72":1,"80":2,"83":1,"89":1,"97":1,"110":1,"112":1,"115":1,"119":1,"122":1,"131":1,"134":2,"137":1,"138":1,"151":2,"166":1,"167":1,"183":1,"184":1,"188":2,"190":2,"191":5,"200":1,"218":1,"220":1,"221":1,"224":1,"225":1,"228":4,"229":1,"231":1,"238":1,"244":3,"252":1,"255":1,"257":1,"258":1,"259":1,"263":1,"265":2,"266":1,"277":3,"278":1,"279":1,"280":2,"283":1,"295":1,"296":1,"306":3,"307":3,"308":2,"309":3,"313":1,"316":1,"319":1,"325":1,"336":1,"345":1,"347":1,"348":1,"351":1,"352":1,"353":2,"355":1,"358":1,"359":3,"360":3,"361":1,"363":1,"364":3}}],["foam",{"2":{"47":1}}],["focus",{"2":{"8":1,"85":3,"128":1,"207":3,"276":1,"286":1,"296":1,"297":4,"305":1,"324":3,"327":1}}],["forced",{"0":{"291":1},"2":{"342":1}}],["forgotten",{"2":{"252":3}}],["forget",{"2":{"161":1}}],["forge",{"2":{"137":3,"228":3,"229":1,"286":1,"327":1}}],["forth",{"2":{"240":1,"249":1}}],["formula",{"2":{"123":1}}],["formatting",{"2":{"134":1}}],["formatted",{"2":{"134":2,"135":1}}],["format",{"2":{"83":2,"124":2,"189":1,"252":1,"295":1,"307":3,"309":1,"359":1,"360":2}}],["form",{"2":{"11":1,"18":1,"106":1}}],["forward",{"2":{"8":1,"364":1}}],["forkchoice",{"2":{"206":3}}],["forking",{"0":{"182":1}}],["forks",{"2":{"8":1}}],["fork",{"2":{"2":3,"7":1,"10":1,"162":1,"173":3,"182":1,"230":1}}],["for",{"0":{"10":1,"27":1,"186":1,"220":1,"238":1,"247":1,"311":1},"1":{"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1},"2":{"0":1,"2":1,"3":1,"4":1,"6":1,"7":3,"8":2,"9":1,"10":2,"12":3,"13":2,"14":2,"15":3,"16":5,"17":1,"18":1,"19":1,"23":1,"24":1,"27":1,"28":1,"37":1,"39":3,"41":2,"45":3,"46":4,"49":3,"50":2,"52":1,"53":1,"59":1,"61":1,"62":1,"70":1,"73":3,"76":1,"81":1,"84":1,"85":3,"87":1,"89":2,"90":1,"91":1,"94":3,"99":1,"107":1,"112":1,"114":1,"117":2,"120":1,"121":1,"123":1,"124":1,"128":2,"132":2,"133":1,"134":3,"135":3,"137":2,"139":2,"141":3,"144":4,"145":4,"148":1,"149":3,"150":1,"156":1,"157":1,"160":1,"161":1,"162":1,"163":1,"166":4,"167":2,"171":2,"172":1,"173":3,"178":1,"182":1,"183":1,"184":2,"186":2,"189":1,"191":2,"193":1,"199":2,"201":1,"202":1,"206":5,"210":2,"212":1,"213":4,"216":1,"219":1,"222":1,"226":1,"227":1,"228":2,"232":1,"233":1,"235":1,"236":1,"238":4,"239":2,"242":2,"244":2,"247":5,"248":3,"250":5,"252":2,"254":1,"256":2,"257":2,"258":1,"259":1,"260":1,"262":1,"266":1,"268":2,"269":2,"271":3,"276":1,"277":1,"278":6,"284":1,"286":2,"293":2,"295":4,"296":2,"297":1,"301":1,"305":1,"306":1,"307":1,"308":2,"309":1,"313":1,"318":1,"327":1,"331":1,"334":1,"340":3,"341":1,"342":3,"343":2,"344":2,"345":5,"347":6,"348":1,"349":6,"352":3,"353":4,"354":2,"356":1,"357":1,"358":3,"359":6,"360":10,"361":2,"363":1,"364":5,"365":1}}],["rf",{"2":{"216":1,"225":1,"245":1}}],["rly",{"2":{"82":2,"84":1,"85":2,"124":8}}],["rt",{"2":{"47":2}}],["rs",{"2":{"45":4,"46":2,"50":4}}],["rpcuser",{"2":{"226":1}}],["rpcuser=rpcuser",{"2":{"219":1,"220":1,"221":4,"222":2}}],["rpcpass",{"2":{"226":1}}],["rpcpassword=rpcpass",{"2":{"219":1,"220":1,"221":4,"222":2}}],["rpcport=18332",{"2":{"219":1,"220":1,"221":4,"222":2}}],["rpc",{"0":{"167":1},"1":{"168":1},"2":{"37":1,"38":1,"61":2,"79":1,"83":2,"106":1,"123":1,"124":3,"137":4,"138":2,"167":6,"184":4,"205":1,"230":6,"231":3,"247":2,"252":1,"260":2,"282":1,"286":4,"287":2,"289":1,"295":1,"314":2,"315":1,"327":4,"328":2,"330":1,"331":2,"332":1,"333":1}}],["rpcs",{"2":{"9":1}}],["rm",{"2":{"37":1,"216":2,"245":1,"254":1,"255":1,"277":1}}],["r",{"2":{"36":2,"124":1,"125":1,"238":1,"245":1,"247":1,"256":1,"258":1,"260":1,"333":2,"359":2,"364":1}}],["rol",{"2":{"280":1}}],["rollupid",{"2":{"233":1,"341":3}}],["rollup=",{"2":{"124":1,"125":1}}],["rollup>d",{"2":{"114":3}}],["rollup",{"0":{"7":1,"27":1,"55":1,"76":1,"87":1,"88":1,"93":1,"94":1,"95":1,"98":1,"100":1,"102":1,"105":1,"113":1,"116":1,"121":1,"123":1,"127":1,"147":1,"148":1,"151":1,"198":1,"211":1,"226":1,"231":1,"239":1,"246":1,"248":1,"250":1,"252":1,"264":1,"265":1,"271":1,"282":1,"292":1,"295":1,"334":1,"337":1},"1":{"8":1,"9":1,"10":1,"11":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"94":1,"95":1,"96":2,"97":2,"98":2,"99":2,"100":2,"101":2,"103":1,"104":1,"105":1,"106":2,"107":1,"108":1,"114":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"152":1,"153":1,"154":1,"155":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":2,"228":2,"229":2,"230":2,"231":2,"251":1,"252":1,"253":1,"254":1,"255":1,"256":1,"257":1,"258":1,"259":1,"260":1,"283":1,"284":1,"285":1,"286":1,"287":1,"288":1,"289":1,"290":1,"293":1,"294":1,"295":1,"296":1,"297":1,"298":1,"299":1,"300":1},"2":{"6":1,"7":2,"8":1,"12":2,"13":1,"14":1,"17":1,"19":2,"24":1,"27":2,"29":3,"36":4,"37":4,"39":3,"53":1,"54":3,"59":2,"62":2,"71":2,"73":2,"76":2,"80":1,"89":2,"91":8,"93":1,"94":8,"95":1,"98":1,"100":1,"101":1,"102":1,"103":2,"104":1,"105":1,"106":2,"107":1,"108":2,"109":1,"111":1,"112":3,"113":1,"115":2,"117":6,"121":4,"123":1,"124":13,"125":3,"126":1,"128":2,"141":1,"145":4,"147":1,"148":2,"152":1,"153":1,"158":3,"160":1,"161":1,"162":2,"163":1,"166":2,"167":5,"169":3,"171":1,"172":2,"173":3,"175":3,"178":2,"182":5,"184":1,"186":1,"188":2,"191":3,"194":1,"195":1,"199":2,"208":1,"209":3,"212":1,"218":1,"226":1,"231":1,"232":2,"233":3,"235":2,"236":2,"239":3,"240":1,"242":4,"243":1,"244":1,"245":2,"246":2,"247":1,"248":4,"249":1,"251":1,"252":6,"256":1,"264":1,"265":3,"266":1,"267":1,"271":3,"277":1,"278":3,"282":2,"285":1,"290":2,"293":4,"295":7,"296":1,"298":3,"299":1,"300":2,"307":1,"318":1,"324":2,"326":1,"333":1,"334":1,"335":2,"337":1,"338":2,"340":1,"341":2,"342":4,"343":1,"363":1}}],["rollups",{"0":{"12":1},"1":{"13":1,"14":1,"15":1,"16":1,"17":1,"18":1},"2":{"3":1,"6":1,"7":6,"8":4,"9":2,"10":3,"12":5,"13":1,"14":1,"15":2,"18":3,"95":1,"141":4,"145":8,"146":1,"149":4,"151":1,"155":1,"171":1,"173":3,"175":2,"177":1,"199":1,"201":1,"212":2,"213":6,"242":1,"271":2}}],["rollkitheight=11",{"2":{"324":1}}],["rollkitlatesttag",{"2":{"110":1,"119":1,"277":1,"336":1,"344":1}}],["rollkitigniteappversion",{"2":{"21":1,"66":1,"351":1}}],["rollkit",{"0":{"0":1,"7":1,"12":1,"15":1,"16":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"29":1,"64":1,"66":1,"67":1,"70":1,"109":1,"110":1,"111":1,"112":1,"113":1,"119":1,"122":1,"130":1,"136":1,"140":1,"141":1,"142":1,"145":1,"146":1,"150":1,"158":1,"170":1,"186":1,"187":1,"198":1,"201":1,"253":1,"311":1,"314":1,"318":1,"323":1,"336":1,"340":1,"350":1,"351":1},"1":{"1":1,"2":1,"3":1,"4":1,"8":1,"9":1,"10":1,"11":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"110":1,"111":1,"112":2,"113":1,"114":2,"115":1,"137":1,"141":1,"142":1,"143":2,"144":2,"145":1,"146":1,"147":2,"148":2,"149":2,"150":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":2,"172":2,"173":2,"174":1,"175":1,"176":1,"177":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"209":1,"210":1,"254":1,"255":1,"256":1,"312":1,"313":1,"314":1,"315":1,"316":1,"317":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"331":1,"332":1,"333":1,"334":1,"341":1,"342":1,"351":1},"2":{"0":2,"3":3,"6":2,"7":5,"9":3,"10":5,"11":1,"12":5,"13":2,"15":3,"16":3,"17":2,"18":4,"19":7,"20":2,"21":2,"22":4,"23":3,"24":5,"25":3,"26":1,"29":3,"36":1,"37":4,"38":2,"39":3,"53":4,"54":5,"56":1,"57":2,"59":1,"61":3,"63":1,"64":1,"66":4,"67":2,"69":2,"70":5,"71":5,"72":2,"73":1,"76":5,"79":1,"89":7,"90":4,"91":6,"92":1,"93":1,"94":1,"95":1,"101":1,"102":1,"104":1,"106":2,"109":2,"110":3,"111":2,"112":6,"113":3,"114":4,"115":2,"117":1,"118":2,"119":3,"120":1,"121":1,"122":3,"123":3,"124":2,"125":3,"128":2,"129":1,"130":2,"134":4,"136":2,"137":3,"139":2,"140":2,"141":3,"145":8,"146":1,"147":2,"148":2,"150":2,"151":1,"155":3,"156":3,"157":5,"158":1,"160":1,"161":6,"162":1,"163":3,"166":3,"167":1,"169":2,"170":1,"172":1,"173":1,"175":1,"176":6,"177":1,"183":1,"184":8,"186":1,"187":3,"188":1,"195":2,"199":2,"201":2,"203":1,"204":4,"206":2,"208":2,"209":1,"210":1,"212":6,"213":5,"226":5,"232":1,"233":1,"235":2,"237":1,"238":6,"239":5,"242":1,"247":4,"248":3,"250":1,"252":7,"254":2,"260":1,"262":1,"263":1,"264":1,"265":4,"267":3,"269":1,"270":1,"271":1,"277":18,"278":8,"280":3,"281":1,"285":1,"286":1,"293":1,"295":12,"296":1,"298":1,"301":1,"307":10,"308":2,"309":4,"310":1,"311":1,"312":3,"313":1,"314":1,"317":2,"318":6,"319":1,"320":1,"321":2,"324":2,"327":1,"331":1,"332":2,"333":1,"335":2,"336":3,"337":4,"338":2,"340":4,"341":2,"342":3,"343":2,"344":2,"350":1,"351":4,"363":5,"364":4,"366":1}}],["routing",{"2":{"352":1}}],["routines",{"2":{"166":2}}],["round",{"2":{"184":1}}],["rosm",{"0":{"184":1,"185":1},"1":{"185":1},"2":{"184":9,"185":1}}],["roadmap",{"2":{"145":1}}],["root=0x9676648a3c292540562b082c20c4b6663986182f5d8733f84fb3f1445b66a4ce",{"2":{"206":1}}],["root=0x5f75afde5c6a596fa11c17e8c60ca291ffb31ae5c9a40392e0ceb4d45ab42037",{"2":{"206":4}}],["roots",{"2":{"176":1,"206":1}}],["rootcodespace",{"2":{"95":1}}],["root",{"2":{"29":2,"39":1,"59":4,"62":1,"83":2,"112":1,"122":1,"138":1,"173":1,"190":2,"206":3,"217":1,"221":2,"254":1,"256":1,"277":4,"278":1,"306":1,"337":4}}],["risk",{"2":{"144":1}}],["right",{"2":{"81":1,"106":1,"333":1,"345":1,"361":1}}],["rich",{"2":{"9":1}}],["rid",{"2":{"8":1}}],["rustpub",{"2":{"46":1}}],["rustuse",{"2":{"45":1,"47":1}}],["rust",{"2":{"41":1,"45":2,"46":1,"250":1,"255":2,"256":1,"257":1}}],["rustcounter",{"2":{"41":1}}],["rule",{"0":{"108":1},"2":{"10":1,"124":1,"173":3}}],["rules",{"2":{"8":1,"345":2}}],["runs",{"2":{"95":1,"96":1,"120":1,"203":1,"238":1,"301":1}}],["runtime",{"2":{"47":3,"186":2,"190":1,"192":1,"277":2,"306":1}}],["running",{"0":{"95":1,"113":1,"120":1,"219":1,"226":1,"236":1,"239":1,"243":1,"248":1,"331":1,"363":1},"1":{"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"114":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"227":1,"228":1,"229":1,"230":1,"231":1,"244":1,"332":1,"333":1,"334":1},"2":{"13":1,"54":1,"57":2,"63":1,"70":2,"71":1,"75":1,"79":2,"95":1,"97":1,"98":1,"101":1,"121":3,"123":1,"136":1,"155":1,"172":1,"188":1,"190":1,"194":1,"199":1,"202":1,"205":1,"206":1,"210":2,"218":2,"221":1,"226":1,"228":1,"230":1,"232":1,"235":1,"239":1,"244":1,"246":2,"248":1,"251":2,"252":8,"254":1,"256":1,"262":1,"265":1,"267":1,"271":2,"275":1,"277":3,"278":2,"279":1,"280":7,"288":1,"294":2,"295":10,"296":2,"304":2,"306":2,"308":4,"309":8,"313":2,"316":1,"318":1,"319":1,"324":1,"329":1,"331":1,"332":1,"338":1,"344":2,"351":1,"363":2,"365":1}}],["run",{"0":{"76":1,"77":1,"79":1,"188":1,"203":1,"206":1,"265":1,"279":1,"308":1,"320":1,"337":1,"362":1},"1":{"78":1,"79":1,"363":1,"364":1,"365":1},"2":{"1":2,"8":1,"12":1,"17":1,"18":1,"21":1,"22":1,"23":1,"29":3,"44":1,"56":1,"61":1,"65":1,"66":2,"72":1,"76":3,"79":1,"91":1,"92":1,"94":2,"97":1,"109":1,"112":1,"113":1,"115":1,"118":1,"119":1,"120":1,"134":1,"135":3,"137":2,"141":1,"155":1,"163":1,"166":3,"188":1,"206":1,"212":1,"216":1,"217":1,"220":1,"221":1,"224":1,"227":1,"228":1,"229":1,"231":1,"244":2,"248":1,"251":1,"252":4,"254":2,"255":2,"256":1,"263":2,"276":3,"277":14,"278":1,"279":2,"281":1,"283":1,"286":1,"294":1,"295":4,"299":1,"305":2,"306":3,"307":4,"308":6,"309":1,"310":1,"311":1,"313":1,"317":1,"318":1,"319":1,"320":1,"327":1,"332":3,"336":1,"342":1,"347":2,"348":1,"351":1,"355":1,"363":2,"364":1}}],["ram",{"2":{"214":1}}],["raw",{"2":{"167":1,"260":1,"364":2}}],["rabbit",{"2":{"150":1}}],["rather",{"2":{"145":2}}],["ratio",{"2":{"14":1}}],["rapid",{"2":{"141":1}}],["rand",{"2":{"226":1,"238":1,"332":1}}],["ran",{"2":{"94":1,"95":1,"137":1,"166":1,"286":1,"327":1,"348":1}}],["range",{"0":{"102":1},"1":{"103":1,"104":1,"105":1,"106":1,"107":1,"108":1},"2":{"5":1,"91":2,"102":1,"103":1,"105":1,"106":2,"107":1,"359":1}}],["raise",{"2":{"4":1}}],["reward",{"2":{"359":3,"360":4,"361":1}}],["revealed",{"2":{"365":1}}],["reverse",{"2":{"252":1,"295":1,"308":1,"309":1}}],["revisit",{"2":{"269":1}}],["review",{"2":{"2":1,"41":3,"48":1,"210":1}}],["reorganization",{"2":{"238":1,"247":1}}],["reentrancy",{"2":{"193":1}}],["remainder",{"2":{"256":1,"325":1}}],["remaining",{"2":{"176":1,"215":1}}],["remotely",{"2":{"252":2}}],["removeguess",{"2":{"360":1}}],["remove",{"2":{"7":1,"8":1,"29":1,"62":1,"277":1,"360":1}}],["remember",{"2":{"221":1,"359":1}}],["reuse",{"2":{"145":1,"169":1,"352":1}}],["registry",{"2":{"255":1}}],["register",{"2":{"95":1,"260":3}}],["regtest",{"2":{"218":1,"219":1,"220":1,"221":4,"222":2,"225":1}}],["regret",{"2":{"124":2,"318":1}}],["reiterate",{"2":{"99":1}}],["replay",{"2":{"175":1}}],["replacements",{"2":{"191":2}}],["replacement",{"2":{"160":1,"364":1}}],["replace",{"2":{"76":1,"83":1,"134":2,"161":2,"191":2,"224":1,"238":1,"247":1,"307":3,"359":1,"360":1}}],["repositories",{"2":{"365":1}}],["repository",{"0":{"187":1,"204":1,"312":1},"2":{"0":1,"1":1,"2":2,"4":1,"48":1,"121":1,"161":2,"187":1,"204":1,"210":1,"285":1,"307":1,"312":1,"321":1,"326":1}}],["repo",{"0":{"321":1},"2":{"52":1,"133":1,"191":1}}],["recipent=",{"2":{"206":1}}],["recipientmodule",{"2":{"361":1}}],["recipientaddr",{"2":{"361":1}}],["recipient",{"2":{"206":1}}],["record",{"2":{"176":1,"260":2}}],["recommend",{"2":{"101":1,"344":1}}],["recommended",{"2":{"73":1,"172":1,"301":1}}],["receipts",{"2":{"137":2,"286":2,"327":2}}],["receives",{"2":{"232":1}}],["receive",{"2":{"145":1,"158":1,"166":2}}],["receiver=",{"2":{"289":1,"330":1}}],["receiver",{"2":{"87":2,"88":1,"124":1,"289":1,"297":1,"330":1}}],["received",{"2":{"84":1,"166":2,"206":3,"232":1}}],["receiving",{"2":{"73":1}}],["recruit",{"2":{"7":1}}],["reducing",{"2":{"41":1}}],["reduce",{"0":{"101":1},"2":{"10":1,"145":1}}],["rebuild",{"2":{"29":1,"246":1,"277":1,"306":1}}],["retrieving",{"2":{"331":1}}],["retrieves",{"2":{"342":1}}],["retrieved",{"2":{"206":1}}],["retrieve",{"2":{"166":1,"189":1,"331":1}}],["retrieveloop",{"2":{"166":3}}],["retrieveblocks",{"2":{"16":1,"162":1}}],["retrieveblock",{"2":{"16":1}}],["returned",{"2":{"168":1,"252":1,"295":1,"308":1}}],["returning",{"2":{"165":1}}],["returns",{"2":{"45":1,"46":2,"228":1,"268":1,"341":4}}],["return",{"2":{"45":1,"54":1,"82":1,"85":1,"87":1,"88":1,"190":1,"228":1,"359":7,"360":7}}],["retain",{"2":{"7":1}}],["reach",{"2":{"360":1}}],["reached",{"2":{"360":1}}],["reasons",{"2":{"178":1}}],["real",{"2":{"105":1,"107":1,"173":2,"193":1,"269":1}}],["reality",{"2":{"13":1,"14":1}}],["readme",{"2":{"349":2}}],["ready",{"2":{"18":1,"19":1,"41":1,"71":1,"91":1,"150":1,"226":1,"271":1,"273":1,"302":1,"314":1}}],["reading",{"2":{"16":1,"139":1}}],["reader",{"2":{"16":2}}],["read",{"2":{"16":3,"65":1,"141":1,"182":1,"212":1,"230":1,"231":1,"347":1,"349":1,"364":1}}],["respective",{"2":{"276":1,"352":1}}],["responsible",{"2":{"166":1,"173":1,"340":1,"349":1,"352":1,"353":1}}],["response",{"2":{"46":2,"260":1,"364":3}}],["res=2",{"2":{"206":1}}],["res=0",{"2":{"94":2,"123":1,"188":1,"252":2,"295":1,"309":3,"324":1,"337":1}}],["resource",{"2":{"157":1,"172":1}}],["resources",{"2":{"8":1,"9":1,"133":3,"137":1,"138":1,"143":1,"144":1,"145":2}}],["resolve",{"2":{"149":1,"260":1}}],["resist",{"2":{"124":2}}],["resistance",{"2":{"12":1,"173":1}}],["restrict",{"2":{"147":1}}],["restricted",{"2":{"143":1}}],["rest",{"2":{"145":1}}],["restore",{"2":{"84":2,"124":3}}],["restarted",{"2":{"101":1}}],["restarting",{"0":{"100":1,"225":1},"2":{"94":1,"99":1,"101":1}}],["restart",{"0":{"37":1,"93":1,"94":1,"95":1,"101":1},"1":{"94":1,"95":1,"96":2,"97":2,"98":2,"99":2,"100":2,"101":2},"2":{"37":5,"91":1,"93":1,"94":3,"95":2,"96":1,"100":1,"152":1,"190":2,"207":1}}],["results",{"2":{"182":1,"184":1}}],["result",{"2":{"47":1,"182":1,"184":1,"228":1,"238":1,"247":1,"333":2}}],["reset",{"2":{"30":2,"46":3}}],["resetting",{"0":{"30":1}}],["research",{"2":{"12":1,"13":1,"15":1,"18":1}}],["rent",{"2":{"10":1}}],["refresh",{"2":{"347":1}}],["refreshed",{"2":{"206":1}}],["refactored",{"2":{"342":1,"360":1}}],["refused",{"2":{"182":1}}],["refers",{"2":{"173":1}}],["refer",{"2":{"49":1,"193":1,"242":1}}],["references",{"2":{"358":1}}],["reference",{"2":{"0":1,"3":1,"50":1,"137":1,"256":1}}],["refined",{"2":{"9":1}}],["reliable",{"2":{"242":1}}],["rely",{"2":{"128":1,"171":1}}],["relying",{"2":{"8":1}}],["relatively",{"2":{"305":1}}],["related",{"2":{"9":1}}],["relays",{"2":{"341":1,"342":1}}],["relayed",{"2":{"87":1,"88":1}}],["relayers",{"2":{"81":2}}],["relayer",{"0":{"81":1,"82":1,"83":1,"84":1},"1":{"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1},"2":{"73":1,"81":4,"82":2,"83":3,"124":14}}],["relaying",{"0":{"81":1,"86":1},"1":{"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1},"2":{"84":1,"86":1}}],["relay",{"2":{"79":1,"80":2,"88":1}}],["relevant",{"2":{"102":1}}],["relevantly",{"2":{"2":1}}],["release",{"2":{"9":1,"161":1,"244":1,"318":1}}],["requisites",{"0":{"74":1,"273":1,"302":1,"344":1},"1":{"75":1}}],["require",{"2":{"145":1,"176":1}}],["requirements",{"0":{"75":1}}],["required",{"2":{"10":1,"117":1,"268":1,"293":1}}],["requires",{"2":{"8":1,"144":2,"173":2,"218":1,"238":1,"247":1,"255":1,"313":1}}],["requesting",{"2":{"206":1}}],["requested",{"2":{"168":1}}],["request",{"2":{"2":2,"184":1,"260":1,"299":1}}],["re",{"0":{"97":1},"2":{"2":1,"7":1,"8":1,"11":1,"12":1,"16":1,"19":1,"29":1,"41":1,"45":1,"46":1,"79":1,"95":2,"131":2,"140":1,"143":1,"150":2,"155":1,"156":2,"172":1,"226":1,"247":1,"316":1,"333":1}}],["tsx",{"2":{"288":1,"329":1}}],["ttl",{"2":{"123":1,"295":1}}],["tmp",{"2":{"120":1,"124":2}}],["txindex=1",{"2":{"219":1}}],["txt",{"2":{"134":1,"135":1,"138":1}}],["txhash",{"2":{"125":1,"256":1,"260":1,"296":1,"364":6}}],["txs",{"2":{"94":2,"123":1,"184":2,"188":1,"206":1,"252":2,"295":1,"309":3,"324":1,"337":1}}],["txs=0",{"2":{"62":1,"324":1}}],["tx",{"2":{"85":4,"87":2,"88":1,"95":2,"108":1,"114":2,"124":6,"125":3,"256":1,"257":1,"258":1,"259":1,"260":2,"296":1,"361":1,"364":7}}],["two",{"2":{"85":1,"178":1,"247":1,"268":1,"278":1,"296":1,"357":1}}],["tweet",{"2":{"14":1}}],["title",{"2":{"360":2,"361":1}}],["timberio",{"2":{"252":1,"295":1,"309":1}}],["timezone",{"2":{"365":1}}],["timer",{"2":{"166":3}}],["time=1000",{"2":{"123":1,"295":1}}],["time=1m0s",{"2":{"89":1}}],["time=30s",{"2":{"53":1}}],["timeout",{"2":{"83":5,"124":5,"296":1,"364":2}}],["timestamp",{"2":{"184":1,"207":1,"260":1,"341":2,"364":1}}],["times",{"2":{"19":2,"360":2}}],["time",{"0":{"53":1,"144":1},"2":{"7":1,"10":1,"14":1,"19":5,"41":1,"44":1,"53":3,"89":4,"91":1,"105":1,"107":1,"108":1,"144":1,"145":2,"173":2,"184":3,"233":1,"236":1,"238":3,"244":1,"247":3,"252":1,"267":1,"276":1,"295":1,"305":1,"308":1,"349":1,"358":1,"359":2,"360":2,"361":1,"365":1}}],["ti",{"2":{"189":1}}],["tia",{"0":{"116":1},"1":{"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1},"2":{"91":1,"95":1,"101":2,"117":3,"123":1,"124":3,"125":1,"126":1,"236":2,"331":1}}],["tidy",{"2":{"76":1}}],["tip",{"2":{"62":1,"76":1,"79":1,"85":1,"87":1,"117":1,"121":1,"138":1,"140":1,"188":1,"191":2,"227":1,"238":2,"247":1,"250":1,"272":1,"288":1,"293":1,"296":1,"299":1,"301":1,"318":1,"329":1,"331":1,"332":1,"343":1,"364":1}}],["tcp",{"2":{"37":1,"38":1,"60":1,"61":2,"87":2,"88":3,"108":1,"123":2,"252":14,"280":2,"295":13,"307":1,"308":2,"309":9}}],["troubleshooting",{"0":{"210":1}}],["trigger",{"2":{"354":1}}],["triggering",{"2":{"206":1}}],["tries",{"2":{"345":2,"360":2}}],["triple",{"2":{"85":1}}],["trying",{"2":{"364":1}}],["try",{"2":{"191":1,"229":1,"260":1,"359":1,"360":2,"364":3}}],["true",{"2":{"83":2,"144":1,"226":2,"359":1}}],["trusted",{"2":{"8":1}}],["trust",{"2":{"8":2,"73":2,"80":2,"84":2,"145":1,"149":1,"158":1,"172":1,"176":1}}],["traefik",{"2":{"252":1,"295":1,"309":1}}],["tradeoffs",{"2":{"145":1}}],["trade",{"2":{"141":1,"144":1,"145":1}}],["tracked",{"2":{"318":1}}],["track",{"2":{"97":1}}],["tracking",{"2":{"73":1,"353":1}}],["transport",{"2":{"307":1}}],["transitions",{"2":{"354":1}}],["transition",{"2":{"176":2}}],["transient",{"2":{"54":1}}],["transfers",{"2":{"124":1,"149":1,"353":2}}],["transfer",{"0":{"87":1,"88":1},"2":{"85":11,"86":1,"87":5,"88":4,"123":2,"124":4,"259":2,"289":1,"330":1}}],["transact",{"2":{"85":4,"182":1}}],["transactionindex",{"2":{"138":1}}],["transactionhash",{"2":{"138":1}}],["transaction",{"0":{"34":1,"178":1,"179":1,"180":1},"1":{"179":1,"180":1,"181":1,"182":1},"2":{"14":2,"34":1,"54":2,"85":5,"87":1,"88":1,"95":2,"108":3,"125":2,"157":1,"167":1,"173":1,"178":1,"182":6,"186":1,"256":1,"258":1,"296":6,"297":1,"340":1,"342":1,"352":1,"364":8}}],["transactions",{"0":{"35":1,"125":1,"296":1},"2":{"14":1,"16":1,"35":1,"56":1,"62":1,"89":2,"102":1,"103":1,"105":1,"107":2,"108":1,"117":1,"145":2,"155":1,"158":1,"165":2,"167":2,"169":1,"173":2,"175":1,"176":2,"178":1,"182":2,"184":1,"230":1,"231":1,"232":2,"233":1,"293":1,"295":1,"314":1,"340":1,"341":2,"342":2,"353":1,"354":1,"363":1,"364":2}}],["traits",{"2":{"46":1}}],["tlht0okdlzs1o4gb1d1ku+xug+",{"2":{"296":1}}],["tls",{"2":{"226":1}}],["tl",{"0":{"13":1}}],["tech",{"2":{"252":1,"295":1,"308":1}}],["technology",{"2":{"191":1}}],["techniques",{"2":{"135":1}}],["technical",{"0":{"157":1},"2":{"3":1}}],["team",{"2":{"250":1,"255":1}}],["teach",{"2":{"93":1}}],["tether",{"2":{"175":1}}],["telegram",{"2":{"92":1,"155":1}}],["text",{"2":{"83":1}}],["termination",{"2":{"85":8}}],["terminal",{"2":{"21":1,"65":1,"66":1,"76":1,"79":1,"98":1,"119":1,"121":1,"206":1,"220":1,"280":1,"289":1,"320":1,"323":1,"330":1,"334":1,"336":1,"347":3,"365":1}}],["terms",{"2":{"81":1}}],["template",{"2":{"349":1}}],["temp",{"2":{"36":2}}],["tendermint",{"2":{"30":1,"85":8,"184":1}}],["testutil",{"2":{"349":1}}],["testapp",{"2":{"333":1}}],["testdecrement",{"2":{"228":2}}],["testincrement",{"2":{"228":2}}],["testing",{"2":{"41":1,"52":1,"189":4,"207":1,"266":1,"269":1,"349":1}}],["testgetcount",{"2":{"228":2}}],["testnetmainnet",{"2":{"238":1}}],["testnets",{"2":{"235":1,"249":1}}],["testnet",{"0":{"77":1,"79":1,"124":1,"151":1,"183":1,"184":1,"244":1},"1":{"78":1,"79":1,"152":1,"153":1,"154":1,"155":1,"184":1,"185":2},"2":{"73":1,"79":3,"83":2,"85":6,"86":1,"87":2,"88":1,"95":2,"123":1,"124":4,"151":1,"183":1,"185":1,"191":1,"212":1,"230":1,"236":2,"238":1,"239":2,"243":2,"244":2,"247":2,"248":1,"331":3,"332":1,"334":1}}],["tests",{"0":{"228":1},"2":{"47":2,"228":1}}],["test",{"0":{"189":1},"2":{"9":1,"17":2,"32":1,"33":1,"34":1,"41":3,"83":3,"87":1,"91":1,"97":1,"108":1,"124":5,"125":2,"160":1,"189":2,"195":1,"209":1,"216":1,"228":10,"229":1,"230":1,"231":2,"243":1,"256":2,"259":1,"260":1,"296":2,"308":1,"361":1,"364":6}}],["tested",{"2":{"9":1,"229":1,"231":1}}],["t",{"2":{"8":1,"76":1,"95":1,"97":1,"104":1,"123":1,"139":1,"161":1,"171":1,"185":1,"228":2,"277":1,"296":1,"306":1,"313":1,"320":1,"345":1,"360":2,"364":1}}],["tag",{"2":{"277":1,"306":1}}],["tar",{"2":{"215":1,"216":4}}],["targeted",{"2":{"344":1}}],["target=",{"2":{"255":2}}],["target",{"2":{"45":3,"255":1}}],["tasks",{"2":{"215":1}}],["taking",{"2":{"148":1}}],["takes",{"2":{"145":1,"355":1}}],["taken",{"2":{"112":1,"260":1}}],["take",{"0":{"8":1},"2":{"258":1,"295":1,"347":1,"361":1}}],["tailored",{"2":{"147":1}}],["tail",{"2":{"124":1,"277":1}}],["tab",{"2":{"106":1,"107":1,"108":1}}],["table",{"0":{"6":1}}],["talk",{"2":{"81":1}}],["talking",{"2":{"81":1}}],["taproot",{"0":{"14":1},"2":{"13":1,"14":5,"16":3,"213":1}}],["tap",{"2":{"7":1}}],["typical",{"2":{"178":1}}],["typically",{"2":{"173":1}}],["typing",{"2":{"7":1}}],["type=light",{"2":{"332":1}}],["type=hash",{"2":{"258":1,"364":1}}],["type=volume",{"2":{"255":2}}],["typed",{"2":{"95":1}}],["type",{"2":{"83":4,"85":4,"97":1,"124":4,"138":1,"149":1,"184":1,"268":1,"296":5,"349":1,"357":3,"359":1,"360":3,"364":2}}],["types",{"0":{"170":1,"356":1,"357":1},"1":{"171":1,"172":1,"173":1,"357":1},"2":{"50":1,"85":4,"347":1,"356":1,"359":8,"360":9,"361":1}}],["typos",{"2":{"2":1}}],["tue",{"2":{"295":1,"308":1}}],["turing",{"0":{"244":1},"2":{"243":2,"244":3,"247":3,"248":1}}],["turning",{"2":{"20":1}}],["turn",{"0":{"20":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1},"2":{"8":1,"89":1,"91":1}}],["tube",{"2":{"41":1}}],["tutorial",{"0":{"73":1,"127":1,"211":1},"1":{"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1,"230":1,"231":1},"2":{"19":1,"26":1,"37":1,"73":1,"94":1,"104":1,"112":2,"117":2,"132":1,"133":1,"183":1,"191":6,"199":1,"207":1,"212":2,"226":1,"227":1,"235":2,"237":1,"242":4,"245":1,"250":3,"256":1,"262":2,"272":1,"273":1,"276":1,"280":1,"282":2,"284":1,"293":2,"300":1,"301":2,"302":1,"305":1,"306":1,"307":1,"309":1,"315":1,"318":2,"325":1,"331":1,"334":1,"343":3,"344":1,"347":1,"349":1}}],["tutorials",{"2":{"0":1,"3":1,"91":1,"133":1,"137":1,"138":1,"140":1,"150":1,"151":2,"155":1,"269":2,"271":2}}],["tuned",{"2":{"6":1}}],["thu",{"2":{"252":1}}],["thus",{"2":{"138":1}}],["throttler",{"2":{"193":1}}],["throughout",{"2":{"43":1,"141":1,"186":1}}],["through",{"2":{"5":1,"8":1,"14":2,"19":1,"20":1,"27":1,"64":1,"81":1,"91":1,"109":1,"117":1,"145":1,"166":3,"182":1,"191":1,"199":1,"201":1,"213":1,"242":2,"293":1,"331":1,"344":1}}],["three",{"2":{"103":1,"238":1}}],["though",{"2":{"364":1}}],["thousands",{"2":{"14":1}}],["those",{"2":{"26":1,"49":1,"144":1,"151":1,"269":1,"345":1}}],["thanks",{"2":{"15":1,"160":1}}],["than",{"2":{"14":2,"16":1,"41":2,"54":1,"87":1,"102":1,"106":1,"145":2,"173":1,"186":1,"271":1,"289":1,"330":1,"364":1}}],["that",{"2":{"7":3,"8":4,"9":1,"10":1,"12":2,"14":4,"16":3,"18":2,"22":1,"29":2,"45":1,"46":1,"47":1,"48":1,"49":2,"50":1,"51":1,"53":1,"54":1,"62":1,"71":1,"81":1,"84":1,"91":1,"94":3,"95":5,"107":3,"108":1,"111":1,"112":1,"117":1,"121":1,"123":1,"124":1,"126":1,"128":2,"133":1,"134":1,"135":3,"137":1,"138":1,"141":2,"143":1,"145":2,"148":1,"149":1,"151":1,"161":1,"162":1,"166":2,"172":1,"175":2,"176":4,"182":1,"186":2,"191":2,"193":2,"205":2,"206":1,"210":2,"213":2,"215":1,"216":1,"225":1,"226":1,"229":1,"230":1,"231":1,"232":3,"235":1,"236":1,"238":1,"240":1,"242":2,"244":1,"249":1,"252":1,"256":1,"259":1,"260":2,"262":1,"265":1,"267":3,"269":4,"270":2,"271":3,"280":1,"282":1,"289":2,"293":1,"295":1,"296":1,"298":1,"299":1,"305":1,"307":1,"309":1,"314":1,"317":1,"318":2,"330":2,"337":1,"338":1,"342":2,"344":1,"345":2,"348":2,"349":2,"354":1,"355":1,"357":2,"358":1,"359":2,"360":6,"361":1,"363":1,"364":2,"365":2}}],["third",{"2":{"342":1}}],["things",{"2":{"271":2,"359":1,"360":1,"364":1}}],["think",{"2":{"149":1,"348":1}}],["thinking",{"2":{"11":1}}],["this",{"0":{"96":1},"2":{"1":1,"2":2,"4":1,"5":1,"7":3,"8":6,"9":2,"11":1,"15":1,"16":1,"18":1,"20":2,"24":3,"26":1,"27":1,"29":1,"39":1,"41":4,"43":1,"45":3,"46":1,"48":1,"50":1,"53":1,"54":2,"56":1,"61":2,"62":1,"64":1,"65":2,"66":1,"70":1,"71":1,"73":2,"79":4,"81":1,"83":1,"84":1,"85":3,"87":3,"88":2,"89":3,"90":1,"91":1,"93":1,"94":1,"95":7,"96":1,"102":1,"103":1,"109":1,"110":1,"111":1,"112":2,"115":1,"117":2,"120":1,"121":1,"123":1,"128":3,"130":2,"131":1,"132":2,"135":1,"136":2,"144":1,"145":1,"148":1,"158":1,"160":1,"162":1,"165":1,"169":1,"173":1,"176":2,"182":1,"186":1,"188":2,"189":1,"191":2,"194":1,"195":1,"199":1,"203":1,"206":1,"208":1,"212":2,"213":1,"217":1,"218":1,"221":2,"227":1,"228":1,"229":1,"235":1,"238":4,"242":3,"246":1,"247":2,"248":1,"250":3,"252":2,"255":1,"256":2,"258":2,"260":1,"262":1,"263":1,"266":1,"267":1,"269":1,"271":2,"272":1,"276":2,"277":4,"280":1,"282":2,"284":1,"288":1,"289":1,"293":2,"295":3,"296":2,"301":3,"305":2,"306":2,"307":2,"308":1,"309":1,"311":1,"313":2,"316":1,"317":1,"318":3,"324":1,"325":1,"329":1,"330":1,"331":1,"332":2,"343":3,"344":1,"345":3,"347":3,"348":2,"349":1,"353":1,"355":1,"357":2,"359":5,"360":4,"361":2,"363":2,"364":5,"365":1}}],["these",{"2":{"16":2,"39":1,"46":1,"72":1,"81":1,"85":1,"86":1,"91":1,"111":1,"115":1,"124":1,"134":1,"145":2,"166":1,"176":2,"186":1,"188":1,"190":1,"192":1,"193":1,"199":1,"215":1,"216":1,"266":1,"271":1,"331":1,"338":1,"354":1,"363":1}}],["therefore",{"2":{"155":1}}],["there",{"2":{"10":2,"14":1,"81":1,"89":1,"95":1,"162":1,"176":1,"182":1,"189":1,"235":1,"271":2,"305":1,"342":1,"345":2,"359":1,"364":1,"365":1}}],["they",{"2":{"7":3,"8":3,"145":1,"149":2,"156":1,"171":2,"172":1,"182":2,"186":1,"201":1,"232":1,"268":1,"277":1,"360":1}}],["then",{"2":{"7":1,"14":1,"19":1,"45":2,"85":1,"87":1,"88":1,"121":1,"135":1,"137":1,"138":1,"176":2,"182":1,"212":1,"230":2,"231":1,"254":1,"263":1,"277":3,"280":1,"306":3,"309":1,"323":1,"342":2,"359":2,"360":3,"364":1}}],["their",{"2":{"3":1,"7":3,"8":3,"15":1,"102":1,"140":2,"145":2,"147":1,"176":1,"182":2,"268":1,"276":1,"345":1}}],["themselves",{"2":{"176":1}}],["them",{"2":{"2":1,"7":1,"8":1,"18":1,"46":1,"49":1,"85":1,"158":1,"182":1,"193":1,"238":1,"247":1,"342":1,"354":1}}],["the",{"0":{"1":1,"7":1,"9":1,"31":1,"34":2,"36":1,"38":1,"47":1,"61":1,"90":1,"99":1,"130":1,"131":1,"138":1,"187":1,"190":1,"194":1,"204":1,"205":1,"206":1,"213":1,"220":1,"225":1,"226":1,"228":1,"229":1,"231":1,"254":1,"264":1,"280":1,"286":1,"287":1,"288":1,"289":1,"309":1,"312":1,"316":1,"321":1,"323":1,"327":1,"328":1,"329":1,"330":1,"334":1,"346":1,"348":1,"352":1,"362":1,"364":1,"365":1},"1":{"8":1,"9":1,"10":1,"11":1,"227":1,"228":1,"229":1,"230":1,"231":1,"347":1,"348":1,"349":1,"353":1,"363":1,"364":1,"365":1},"2":{"0":2,"1":2,"2":3,"3":3,"4":2,"6":1,"7":11,"8":8,"9":5,"10":10,"12":6,"13":2,"14":10,"16":13,"17":3,"18":5,"19":7,"20":1,"21":2,"22":1,"23":1,"24":5,"25":1,"27":3,"28":1,"29":10,"31":2,"32":1,"33":1,"34":2,"35":1,"36":1,"37":5,"38":2,"39":6,"41":8,"42":1,"43":2,"44":1,"45":7,"46":9,"47":2,"48":3,"49":6,"50":6,"51":1,"52":3,"53":4,"54":22,"56":2,"57":2,"59":7,"60":2,"61":5,"62":3,"64":1,"65":3,"66":4,"67":1,"68":1,"69":1,"70":5,"71":4,"72":1,"73":2,"76":6,"79":6,"80":2,"81":7,"83":3,"84":3,"85":2,"87":4,"88":6,"89":4,"90":2,"91":4,"92":1,"94":7,"95":13,"96":3,"97":2,"98":1,"99":3,"100":1,"101":4,"102":1,"103":3,"104":1,"106":5,"107":4,"108":4,"109":2,"110":2,"111":2,"112":10,"113":4,"114":2,"115":2,"117":8,"118":3,"119":4,"120":1,"121":5,"122":4,"123":6,"124":13,"125":2,"126":1,"128":5,"129":1,"130":1,"131":3,"133":7,"134":7,"135":8,"136":1,"137":7,"138":11,"140":2,"141":4,"143":2,"144":7,"145":18,"146":1,"147":2,"148":3,"149":1,"150":4,"151":2,"155":4,"156":3,"157":3,"158":4,"161":7,"162":5,"163":3,"165":4,"166":14,"167":8,"168":4,"169":3,"170":1,"172":1,"173":2,"175":2,"176":6,"178":2,"182":31,"183":4,"184":5,"185":1,"186":3,"187":1,"188":7,"189":6,"190":11,"191":18,"193":1,"194":2,"195":1,"199":2,"200":1,"201":3,"202":1,"204":2,"205":3,"206":2,"207":3,"208":1,"209":1,"210":4,"212":2,"213":3,"215":3,"216":1,"217":2,"218":2,"219":1,"220":1,"221":2,"222":2,"223":4,"224":7,"225":3,"226":5,"227":4,"228":11,"229":3,"230":8,"231":12,"232":11,"233":6,"235":3,"236":2,"237":1,"238":17,"239":3,"242":4,"243":1,"244":7,"245":3,"246":2,"247":9,"248":3,"250":6,"251":4,"252":12,"254":8,"255":5,"256":16,"257":2,"258":6,"259":2,"260":8,"262":3,"263":3,"264":3,"265":4,"267":5,"268":5,"269":5,"270":1,"271":8,"272":1,"273":1,"275":1,"276":2,"277":32,"278":27,"279":2,"280":16,"281":2,"283":1,"284":2,"285":1,"286":5,"287":1,"288":6,"289":5,"293":4,"294":3,"295":14,"296":8,"297":3,"298":4,"299":5,"300":2,"301":2,"302":1,"304":3,"305":6,"306":16,"307":18,"308":5,"309":23,"310":2,"312":2,"313":6,"314":4,"315":3,"316":3,"318":3,"319":1,"321":2,"323":1,"324":1,"325":2,"326":2,"327":4,"328":1,"329":6,"330":5,"331":7,"332":5,"333":3,"334":3,"335":2,"336":4,"337":2,"340":3,"341":6,"342":17,"343":6,"344":6,"345":19,"347":3,"348":8,"349":10,"351":2,"352":4,"353":9,"354":7,"355":4,"356":2,"357":6,"358":12,"359":24,"360":35,"361":8,"363":5,"364":39,"365":6}}],["tomorrow",{"2":{"360":1}}],["tomlentrypoint",{"2":{"112":1,"122":1}}],["tomlcounter",{"2":{"47":1}}],["toml",{"0":{"29":1,"44":1,"111":1,"112":1,"122":1},"1":{"112":1},"2":{"24":4,"29":4,"39":1,"42":1,"44":3,"50":3,"59":1,"70":3,"109":1,"111":1,"112":7,"113":2,"114":1,"115":1,"122":3,"190":2,"244":4,"277":7,"363":2,"364":1}}],["together",{"2":{"349":1}}],["touch",{"2":{"244":1}}],["touppercase",{"2":{"123":1}}],["toutf8",{"2":{"123":1}}],["tohex",{"2":{"123":1}}],["top",{"2":{"95":1,"106":1,"176":1}}],["topics",{"2":{"2":1,"5":1,"91":1}}],["total",{"2":{"87":1,"88":1,"124":1,"184":3,"258":1,"260":2,"287":1,"297":2,"328":1}}],["tokio",{"2":{"47":2}}],["token=$",{"2":{"238":3}}],["tokens",{"2":{"8":1,"84":1,"86":1,"95":1,"97":1,"144":1,"207":1,"244":1,"315":1,"345":1}}],["token",{"0":{"87":1,"88":1,"116":2},"1":{"117":2,"118":2,"119":2,"120":2,"121":2,"122":2,"123":2,"124":2,"125":2,"126":2},"2":{"7":1,"8":3,"10":3,"28":1,"33":1,"87":1,"88":1,"91":2,"117":5,"123":2,"125":1,"126":1,"149":1,"206":1,"233":3,"238":9,"239":2,"331":1,"333":2,"359":1,"360":1}}],["towards",{"2":{"18":1,"176":1}}],["today",{"2":{"12":1,"150":1,"359":1,"360":3,"364":1}}],["too",{"2":{"331":1}}],["tool",{"2":{"121":1,"191":2,"192":1,"255":1,"347":1}}],["tools",{"2":{"9":1,"160":1,"191":1,"199":1,"207":1,"315":1}}],["toolings",{"2":{"347":1}}],["tooling",{"2":{"7":1,"9":1,"148":1}}],["took",{"2":{"7":2,"16":1}}],["to",{"0":{"16":1,"19":1,"20":1,"22":1,"27":1,"32":1,"44":1,"53":1,"54":1,"60":1,"64":2,"87":1,"88":1,"89":1,"90":1,"91":1,"93":1,"102":1,"109":1,"112":1,"116":1,"124":1,"132":1,"136":1,"144":1,"185":1,"192":1,"231":1,"239":1,"248":1,"264":2,"340":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"92":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"133":1,"134":1,"135":1,"137":1,"341":1,"342":1},"2":{"0":2,"1":1,"2":4,"3":1,"5":2,"7":13,"8":13,"9":6,"10":8,"11":1,"12":6,"13":1,"14":7,"15":2,"16":9,"17":2,"18":7,"19":6,"21":1,"22":2,"23":3,"24":3,"25":1,"26":2,"27":1,"29":4,"32":1,"37":1,"41":9,"42":1,"43":2,"44":3,"45":8,"46":3,"47":2,"48":1,"49":5,"50":5,"52":1,"53":2,"54":5,"56":2,"57":1,"59":1,"60":1,"61":2,"62":3,"64":1,"65":2,"66":1,"69":1,"70":2,"71":4,"72":1,"73":3,"76":3,"79":5,"81":3,"84":1,"85":2,"87":3,"88":2,"89":5,"90":1,"91":7,"93":1,"94":10,"95":12,"96":1,"97":3,"99":4,"101":2,"102":1,"104":2,"106":1,"107":2,"108":1,"109":1,"110":1,"111":2,"112":5,"114":1,"117":2,"118":1,"119":1,"120":2,"121":4,"122":2,"123":4,"124":2,"126":1,"128":2,"131":1,"133":3,"134":8,"135":6,"136":1,"137":5,"138":5,"139":1,"140":7,"141":5,"143":2,"144":6,"145":13,"146":2,"147":4,"148":4,"149":3,"150":6,"151":2,"155":3,"156":3,"157":2,"158":1,"160":2,"161":4,"162":3,"163":2,"166":3,"168":1,"169":3,"173":4,"175":2,"176":7,"178":1,"182":10,"184":2,"185":2,"186":4,"188":2,"190":5,"191":4,"192":3,"193":6,"194":1,"195":1,"201":1,"202":1,"204":1,"205":2,"206":2,"207":3,"209":2,"210":1,"212":8,"213":7,"215":2,"216":2,"217":1,"220":1,"221":2,"222":1,"224":3,"225":1,"226":2,"228":4,"229":3,"230":2,"231":8,"233":4,"235":1,"236":3,"238":7,"239":1,"240":1,"242":4,"243":1,"244":3,"245":1,"246":3,"247":3,"248":1,"249":1,"250":3,"251":3,"252":3,"254":1,"255":3,"256":5,"257":1,"260":6,"263":2,"264":3,"265":2,"266":2,"267":7,"268":2,"270":2,"271":4,"272":2,"276":4,"277":8,"278":7,"280":2,"281":1,"282":1,"283":1,"284":2,"286":3,"287":1,"288":3,"289":5,"290":1,"293":2,"294":3,"295":3,"296":6,"298":4,"299":5,"300":3,"301":2,"304":1,"305":2,"306":5,"307":7,"308":3,"309":4,"310":1,"312":1,"313":4,"314":2,"315":4,"316":1,"317":1,"318":5,"319":1,"320":1,"321":2,"324":4,"325":3,"326":1,"327":3,"328":1,"329":3,"330":5,"331":8,"332":8,"333":3,"334":2,"335":2,"336":1,"337":1,"338":1,"340":4,"341":1,"342":5,"343":3,"344":3,"345":6,"347":3,"348":5,"349":3,"350":1,"351":3,"352":2,"353":1,"354":5,"355":1,"356":1,"357":2,"358":3,"359":9,"360":11,"361":7,"363":3,"364":13,"365":4,"366":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/@localSearchIndexroot.DT_e9HZG.js b/assets/chunks/@localSearchIndexroot.DT_e9HZG.js new file mode 100644 index 000000000..fc72e88d8 --- /dev/null +++ b/assets/chunks/@localSearchIndexroot.DT_e9HZG.js @@ -0,0 +1 @@ +const t='{"documentCount":378,"nextId":378,"documentIds":{"0":"/README#rollkit-documentation-site","1":"/README#building-the-site","2":"/README#contribution-guidelines","3":"/README#directory-structure","4":"/README#feedback-suggestions","5":"/blog/overview#blog","6":"/blog/overview#table-of-contents","7":"/blog/rollkit-the-first-sovereign-rollup-framework#rollkit-the-first-sovereign-rollup-framework","8":"/blog/rollkit-the-first-sovereign-rollup-framework#take-control","9":"/blog/rollkit-the-first-sovereign-rollup-framework#build-with-the-best","10":"/blog/rollkit-the-first-sovereign-rollup-framework#optimize-for-your-needs","11":"/blog/rollkit-the-first-sovereign-rollup-framework#break-free-be-sovereign","12":"/blog/sovereign-rollups-on-bitcoin#sovereign-rollups-on-bitcoin-with-rollkit","13":"/blog/sovereign-rollups-on-bitcoin#tl-dr","14":"/blog/sovereign-rollups-on-bitcoin#posting-data-on-bitcoin-with-taproot","15":"/blog/sovereign-rollups-on-bitcoin#integrating-bitcoin-as-a-data-availability-layer-into-rollkit","16":"/blog/sovereign-rollups-on-bitcoin#how-rollkit-posts-data-to-bitcoin","17":"/blog/sovereign-rollups-on-bitcoin#evm-on-bitcoin-demo","18":"/blog/sovereign-rollups-on-bitcoin#conclusion","19":"/guides/block-times#how-to-change-speed-of-block-production","20":"/guides/cometbft-to-rollkit#how-to-turn-your-cometbft-app-into-a-rollkit-app","21":"/guides/cometbft-to-rollkit#install-rollkit","22":"/guides/cometbft-to-rollkit#add-rollkit-features","23":"/guides/cometbft-to-rollkit#initialize-rollkit","24":"/guides/cometbft-to-rollkit#initialize-rollkit-cli-configuration","25":"/guides/cometbft-to-rollkit#start-rollkit-app","26":"/guides/cometbft-to-rollkit#summary","27":"/guides/create-genesis#how-to-create-a-genesis-for-your-rollup","28":"/guides/create-genesis#_1-setting-variables","29":"/guides/create-genesis#_2-ensuring-rollkit-toml-is-present-and-building-entrypoint","30":"/guides/create-genesis#_3-resetting-existing-genesis-chain-data","31":"/guides/create-genesis#_4-initializing-the-validator","32":"/guides/create-genesis#_5-adding-a-key-to-keyring-backend","33":"/guides/create-genesis#_6-adding-a-genesis-account","34":"/guides/create-genesis#_7-setting-the-staking-amount-in-the-genesis-transaction","35":"/guides/create-genesis#_8-collecting-genesis-transactions","36":"/guides/create-genesis#_9-configuring-the-genesis-file","37":"/guides/create-genesis#_10-creating-a-restart-script","38":"/guides/create-genesis#_11-starting-the-chain","39":"/guides/create-genesis#summary","40":"/guides/da-block-time#how-to-configure-da-chain-block-syncing-time","41":"/guides/cw-orch#speed-up-your-development-with-cw-orchestrator","42":"/guides/cw-orch#introduction","43":"/guides/cw-orch#summary","44":"/guides/cw-orch#single-contract-integration","45":"/guides/cw-orch#adding-cw-orch-to-your-cargo-toml-file","46":"/guides/cw-orch#creating-an-interface","47":"/guides/cw-orch#interaction-helpers","48":"/guides/cw-orch#using-the-integration","49":"/guides/cw-orch#integration-in-a-workspace","50":"/guides/cw-orch#handling-dependencies-and-features","51":"/guides/cw-orch#creating-an-interface-crate","52":"/guides/cw-orch#integrating-single-contracts","53":"/guides/cw-orch#more-examples-and-scripts","54":"/guides/full-node#rollup-full-node-setup-guide","55":"/guides/full-node#introduction","56":"/guides/full-node#prerequisites","57":"/guides/full-node#setting-up-your-full-node","58":"/guides/full-node#initialize-chain-config-and-copy-genesis-file","59":"/guides/full-node#set-up-p2p-connection-to-sequencer-node","60":"/guides/full-node#start-the-full-node","61":"/guides/full-node#verifying-full-node-operation","62":"/guides/full-node#conclusion","63":"/guides/ibc-connection#ibc-connection-tutorial","64":"/guides/ibc-connection#prerequisites","65":"/guides/ibc-connection#software-requirements","66":"/guides/ibc-connection#run-a-gm-rollup-chain","67":"/guides/ibc-connection#run-your-local-osmosis-testnet","68":"/guides/ibc-connection#install-osmosis-binary","69":"/guides/ibc-connection#run-local-osmosis-testnet","70":"/guides/ibc-connection#funds","71":"/guides/ibc-connection#setup-relayer-create-ibc-connection-and-start-relaying-packets","72":"/guides/ibc-connection#install-relayer","73":"/guides/ibc-connection#setup-relayer-config","74":"/guides/ibc-connection#create-relayer-account","75":"/guides/ibc-connection#create-ibc-channel","76":"/guides/ibc-connection#start-relaying-packets","77":"/guides/ibc-connection#transfer-token-from-rollup-chain-to-osmosis-local","78":"/guides/ibc-connection#transfer-token-back-from-osmosis-local-to-rollup-chain","79":"/guides/gas-price#how-to-configure-gas-price","80":"/guides/ignite-rollkit#how-to-use-ignite-to-create-a-rollkit-app","81":"/guides/ignite-rollkit#install-ignite","82":"/guides/ignite-rollkit#install-ignite-app-rollkit","83":"/guides/ignite-rollkit#add-rollkit-features","84":"/guides/ignite-rollkit#build-your-chain","85":"/guides/ignite-rollkit#initialize-your-blockchain","86":"/guides/ignite-rollkit#initialize-rollkit-cli-configuration","87":"/guides/ignite-rollkit#start-your-chain","88":"/guides/ignite-rollkit#summary","89":"/guides/lazy-sequencing#how-to-use-lazy-sequencing-aggregation","90":"/guides/overview#how-to-guides","91":"/guides/overview#support","92":"/guides/max-pending-blocks#how-to-configure-the-maximum-number-of-blocks-pending-da-submission","93":"/guides/restart-rollup#🔄-how-to-restart-your-rollup","94":"/guides/restart-rollup#restart-rollup","95":"/guides/restart-rollup#restart-rollup-after-running-out-of-funds","96":"/guides/restart-rollup#errors","97":"/guides/restart-rollup#refund-your-account","98":"/guides/restart-rollup#stopping-your-rollup","99":"/guides/restart-rollup#increase-gas-fee","100":"/guides/restart-rollup#restarting-your-rollup","101":"/guides/restart-rollup#reduce-gas-fee-restart-again","102":"/guides/rollkit-monitoring#how-to-integrate-range-with-your-rollup","103":"/guides/rollkit-monitoring#overview","104":"/guides/rollkit-monitoring#prerequisites","105":"/guides/rollkit-monitoring#_1-integrate-your-rollup","106":"/guides/rollkit-monitoring#steps","107":"/guides/rollkit-monitoring#_2-add-your-addresses-and-contracts","108":"/guides/rollkit-monitoring#_3-creating-your-first-alert-rule","109":"/guides/use-rollkit-cli#how-to-use-rollkit-cli","110":"/guides/use-rollkit-cli#_1-installing-rollkit-cli","111":"/guides/use-rollkit-cli#_2-initializing-rollkit-toml","112":"/guides/use-rollkit-cli#steps-to-generate-rollkit-toml","113":"/guides/use-rollkit-cli#_3-running-rollup-commands-using-rollkit-cli","114":"/guides/use-rollkit-cli#example","115":"/guides/use-rollkit-cli#summary","116":"/guides/use-tia-for-gas#how-to-use-ibc-token-tia-as-gas-token-in-your-rollup","117":"/guides/use-tia-for-gas#introduction","118":"/guides/use-tia-for-gas#dependencies","119":"/guides/use-tia-for-gas#install-rollkit","120":"/guides/use-tia-for-gas#running-local-da","121":"/guides/use-tia-for-gas#building-your-sovereign-rollup","122":"/guides/use-tia-for-gas#initialize-rollkit-configuration","123":"/guides/use-tia-for-gas#start-your-rollup","124":"/guides/use-tia-for-gas#ibc-to-celestia","125":"/guides/use-tia-for-gas#transactions","126":"/guides/use-tia-for-gas#🎉-next-steps","127":"/guides/zkml#zkml-rollup-tutorial-with-sindri","128":"/guides/zkml#introduction-code-once-verify-anywhere","129":"/guides/zkml#prerequisites","130":"/guides/zkml#setting-up-the-polaris-evm-using-rollkit","131":"/guides/zkml#installing-the-sindri-python-sdk","132":"/guides/zkml#deploying-and-proving-a-cool-zkml-circuit-to-sindri","133":"/guides/zkml#clone","134":"/guides/zkml#modify","135":"/guides/zkml#deploy-and-prove-your-zkml-circuit-on-sindri","136":"/guides/zkml#deploy-smart-contract-verifier-to-rollkit","137":"/guides/zkml#deploy","138":"/guides/zkml#interact-with-the-contract-verify-your-zkml-proof-on-chain","139":"/guides/zkml#congratulations","140":"/learn/about#about-rollkit","141":"/learn/about#what-is-rollkit","142":"/learn/about#what-problems-is-rollkit-solving","143":"/learn/about#_1-scalability-and-customizability","144":"/learn/about#_2-security-and-time-to-market","145":"/learn/about#why-rollkit","146":"/learn/about#how-can-you-use-rollkit","147":"/learn/about#rollup-with-any-execution-environment","148":"/learn/about#sovereign-rollup-with-cosmos-sdk","149":"/learn/about#build-a-settlement-layer","150":"/learn/about#when-can-you-use-rollkit","151":"/learn/building-and-deploying-a-rollup#🗞️-building-a-rollup-and-testnet-deployment","152":"/learn/building-and-deploying-a-rollup#beginner","153":"/learn/building-and-deploying-a-rollup#intermediate","154":"/learn/building-and-deploying-a-rollup#advanced","155":"/learn/building-and-deploying-a-rollup#support","156":"/learn/intro#introduction","157":"/learn/specifications#technical-specifications","158":"/learn/stack#rollkit-stack","159":"/learn/stack#application-structure","160":"/learn/stack#abci-interface","161":"/learn/stack#cosmos-sdk","162":"/learn/stack#data-availability","163":"/learn/stack#celestia","164":"/learn/stack#node-components","165":"/learn/stack#mempool","166":"/learn/stack#block-manager","167":"/learn/stack#rpc","168":"/learn/stack#parameters","169":"/learn/stack#p2p-layer","170":"/learn/stack#rollkit-node-types","171":"/learn/stack#full-node","172":"/learn/stack#light-node-work-in-progress","173":"/learn/stack#sequencer-node","174":"/learn/stack#state-validity-modes","175":"/learn/stack#pessimistic-full-nodes-only","176":"/learn/stack#optimistic-fraud-proofs-work-in-progress","177":"/learn/stack#validity-zk-proofs","178":"/learn/transaction-flow#transaction-flow","179":"/learn/transaction-flow#transaction-submission","180":"/learn/transaction-flow#transaction-validation-and-processing","181":"/learn/transaction-flow#block-processing","182":"/learn/transaction-flow#fraud-proof-gossip-and-forking","183":"/testnets/cosmwasm-testnet#cosmwasm-testnet","184":"/testnets/cosmwasm-testnet#details-of-rosm-testnet","185":"/testnets/cosmwasm-testnet#add-rosm-to-keplr","186":"/tutorials/artela-evm-plus-plus#quick-start-guide-for-artela-evm-with-rollkit","187":"/tutorials/artela-evm-plus-plus#📦-clone-the-artela-rollkit-repository","188":"/tutorials/artela-evm-plus-plus#🛥️-run-with-docker-compose","189":"/tutorials/artela-evm-plus-plus#🔑-get-prefunded-test-accounts","190":"/tutorials/artela-evm-plus-plus#⚙️-configuring-the-node","191":"/tutorials/artela-evm-plus-plus#🧪-build-on-evm","192":"/tutorials/artela-evm-plus-plus#📖-more-to-know","193":"/tutorials/artela-evm-plus-plus#💥-build-with-examples","194":"/tutorials/artela-evm-plus-plus#🛑-stopping-the-node","195":"/tutorials/artela-evm-plus-plus#🎉-conclusion","196":"/tutorials/beaconkit#building-a-sovereign-rollup-with-beaconkit-and-rollkit","197":"/tutorials/beaconkit#introduction","198":"/tutorials/beaconkit#prerequisites","199":"/tutorials/beaconkit#rollkit","200":"/tutorials/beaconkit#docker","201":"/tutorials/beaconkit#run-local-da-node","202":"/tutorials/beaconkit#clone-the-repo","203":"/tutorials/beaconkit#start-go-ethereum-client","204":"/tutorials/beaconkit#build-and-run-beaconkit-node","205":"/tutorials/beaconkit#smart-contract-deployment-and-interaction","206":"/tutorials/beaconkit#conclusion","207":"/tutorials/beaconkit#next-steps","208":"/tutorials/beaconkit#troubleshooting","209":"/tutorials/bitcoin#bitcoin-rollup-tutorial","210":"/tutorials/bitcoin#☀️introduction","211":"/tutorials/bitcoin#📖-the-stack","212":"/tutorials/bitcoin#💻-prerequisites","213":"/tutorials/bitcoin#🛠️-dependency-setup","214":"/tutorials/bitcoin#🏃-golang","215":"/tutorials/bitcoin#⚒️-foundry","216":"/tutorials/bitcoin#🪙-install-bitcoin","217":"/tutorials/bitcoin#🟢-running-a-local-bitcoin-network","218":"/tutorials/bitcoin#👛-create-a-wallet-for-the-chain","219":"/tutorials/bitcoin#🎬-start-generating-blocks","220":"/tutorials/bitcoin#🧊-block-height","221":"/tutorials/bitcoin#🧊-block-hash","222":"/tutorials/bitcoin#🧊-block-header","223":"/tutorials/bitcoin#🎬-restarting-the-local-network","224":"/tutorials/bitcoin#🏃‍♀️-running-the-ethermint-rollup","225":"/tutorials/bitcoin#⚡️-initialize-development-environment","226":"/tutorials/bitcoin#📒-updating-the-contract-and-tests","227":"/tutorials/bitcoin#📜-updating-the-deployment-script","228":"/tutorials/bitcoin#🏠-deploying-locally","229":"/tutorials/bitcoin#🧪-deploying-to-the-ethermint-sovereign-rollup","230":"/tutorials/cosmwasm#🗞️-cosmwasm-rollup","231":"/tutorials/cosmwasm#dependencies","232":"/tutorials/cosmwasm#start-your-rollup","233":"/tutorials/cosmwasm#contract-deployment-on-cosmwasm","234":"/tutorials/cosmwasm#compile-smart-contract","235":"/tutorials/cosmwasm#optimized-smart-contract","236":"/tutorials/cosmwasm#contract-deployment","237":"/tutorials/cosmwasm#contract-interaction-on-local-da","238":"/tutorials/cosmwasm#contract-querying","239":"/tutorials/cosmwasm#contract-instantiation","240":"/tutorials/cosmwasm#contract-interaction","241":"/tutorials/da/avail-da#using-avail-as-da","242":"/tutorials/da/avail-da#introduction","243":"/tutorials/da/avail-da#🪶-running-an-avail-light-node","244":"/tutorials/da/avail-da#🚀-using-turing-testnet","245":"/tutorials/da/avail-da#🧹-cleaning-previous-chain-history","246":"/tutorials/da/avail-da#🏗️-building-your-rollup","247":"/tutorials/da/avail-da#🛠️-configuring-flags-for-da","248":"/tutorials/da/avail-da#🔥-running-your-rollup-connected-to-an-avail-light-node","249":"/tutorials/da/avail-da#🎉-next-steps","250":"/tutorials/da/local-da#using-local-da","251":"/tutorials/da/local-da#introduction","252":"/tutorials/da/local-da#setting-up-a-local-da-network","253":"/tutorials/da/local-da#configuring-your-rollup-to-connect-to-the-local-da-network","254":"/tutorials/da/local-da#run-your-rollup","255":"/tutorials/da/local-da#summary","256":"/tutorials/da/celestia-da#using-celestia-as-da","257":"/tutorials/da/celestia-da#introduction","258":"/tutorials/da/celestia-da#🪶-running-a-celestia-light-node","259":"/tutorials/da/celestia-da#prerequisites","260":"/tutorials/da/celestia-da#🛠️-configuring-flags-for-da","261":"/tutorials/da/celestia-da#🔥-running-your-rollup-connected-to-celestia-light-node","262":"/tutorials/da/celestia-da#🎉-next-steps","263":"/tutorials/da/overview#da","264":"/tutorials/da/overview#go-da","265":"/tutorials/da/overview#mock-da","266":"/tutorials/da/overview#da-layers","267":"/tutorials/deploy-overview#deploying-your-rollup","268":"/tutorials/docker-compose#🐳-docker-compose","269":"/tutorials/docker-compose#prerequisites","270":"/tutorials/docker-compose#dependencies","271":"/tutorials/docker-compose#docker-compose","272":"/tutorials/docker-compose#setting-up-your-environment","273":"/tutorials/docker-compose#dockerfile","274":"/tutorials/docker-compose#docker-compose-file","275":"/tutorials/docker-compose#run-wordle-chain","276":"/tutorials/docker-compose#interacting-with-the-chain","277":"/tutorials/docker-compose#🎉-next-steps","278":"/tutorials/evm-contract-interaction#smart-contract-interaction-on-evm-rollup","279":"/tutorials/evm-contract-interaction#install-foundry","280":"/tutorials/evm-contract-interaction#funds","281":"/tutorials/evm-contract-interaction#frontend","282":"/tutorials/evm-contract-interaction#deploy-the-ooga-booga-portal-contract","283":"/tutorials/evm-contract-interaction#interact-with-the-contract","284":"/tutorials/evm-contract-interaction#start-and-update-the-frontend","285":"/tutorials/evm-contract-interaction#interact-with-the-frontend","286":"/tutorials/evm-contract-interaction#conclusion","287":"/tutorials/gm-world#gm-world-rollup","288":"/tutorials/gm-world#introduction","289":"/tutorials/gm-world#dependencies","290":"/tutorials/gm-world#start-your-rollup","291":"/tutorials/gm-world#transactions","292":"/tutorials/gm-world#balances","293":"/tutorials/gm-world#📦-gm-world-ui-app","294":"/tutorials/gm-world#🔗-connecting-your-wallet","295":"/tutorials/gm-world#🎉-next-steps","296":"/tutorials/octane-evm#quick-start-guide-for-omni-octane-with-rollkit","297":"/tutorials/octane-evm#📦-clone-the-omni-repository","298":"/tutorials/octane-evm#🏗️-build-docker-images","299":"/tutorials/octane-evm#🚀-deploy-omni-with-rollkit-and-local-da","300":"/tutorials/octane-evm#🧪-smart-contract-deployment-and-interaction","301":"/tutorials/octane-evm#🛑-stopping-the-node","302":"/tutorials/octane-evm#🎉-conclusion","303":"/tutorials/kurtosis#🟩-kurtosis","304":"/tutorials/kurtosis#prerequisites","305":"/tutorials/kurtosis#dependencies","306":"/tutorials/kurtosis#kurtosis-cli","307":"/tutorials/kurtosis#setting-up-your-environment","308":"/tutorials/kurtosis#dockerfile","309":"/tutorials/kurtosis#kurtosis-init","310":"/tutorials/kurtosis#run-wordle-chain","311":"/tutorials/kurtosis#interacting-with-the-chain","312":"/tutorials/kurtosis#🎉-next-steps","313":"/tutorials/sequencing/astria#astria-sequencing","314":"/tutorials/polaris-evm#polaris-evm-and-rollkit","315":"/tutorials/polaris-evm#prerequisites","316":"/tutorials/polaris-evm#run-a-local-celestia-devnet","317":"/tutorials/polaris-evm#clone-the-repo","318":"/tutorials/polaris-evm#install-foundry","319":"/tutorials/polaris-evm#start-the-polaris-evm-using-rollkit","320":"/tutorials/polaris-evm#congratulations","321":"/tutorials/polaris-evm#funds","322":"/tutorials/polaris-evm#frontend","323":"/tutorials/polaris-evm#deploy-the-ooga-booga-portal-contract","324":"/tutorials/polaris-evm#interact-with-the-contract","325":"/tutorials/polaris-evm#start-and-update-the-frontend","326":"/tutorials/polaris-evm#interact-with-the-frontend","327":"/tutorials/polaris-evm#running-polaris-evm-with-a-celestia-light-node","328":"/tutorials/polaris-evm#start-your-light-node","329":"/tutorials/polaris-evm#setup-polaris-script","330":"/tutorials/polaris-evm#start-the-evm-rollup","331":"/tutorials/quick-start#quick-start-guide","332":"/tutorials/quick-start#📦-install-rollkit-cli","333":"/tutorials/quick-start#🚀-run-your-sovereign-rollup-node","334":"/tutorials/quick-start#🎉-conclusion","335":"/tutorials/sequencing/based#based-sequencing","336":"/tutorials/sequencing/forced-inclusion#forced-inclusion","337":"/tutorials/sequencing/centralized#centralized-sequencer","338":"/tutorials/sequencing/centralized#prerequisites","339":"/tutorials/sequencing/centralized#installation-centralized-sequencer","340":"/tutorials/sequencing/centralized#run-the-centralized-sequencer","341":"/tutorials/sequencing/centralized#run-your-chain","342":"/tutorials/sequencing/centralized#summary","343":"/tutorials/sequencing/local#local-sequencer","344":"/tutorials/sequencing/local#introduction","345":"/tutorials/sequencing/local#setting-up-a-local-local-sequencer","346":"/tutorials/sequencing/local#configuring-your-chain-to-connect-to-the-local-sequencer","347":"/tutorials/sequencing/local#run-your-chain","348":"/tutorials/sequencing/local#summary","349":"/tutorials/sequencing/overview#sequencing","350":"/tutorials/sequencing/overview#rollkit-prior-to-sequencing","351":"/tutorials/sequencing/overview#sequencing-interface","352":"/tutorials/sequencing/overview#mock-sequencer","353":"/tutorials/sequencing/overview#sequencing-implementations","354":"/tutorials/wordle#🕹️-wordle-app","355":"/tutorials/wordle#prerequisites","356":"/tutorials/wordle#design-implementation","357":"/tutorials/wordle#ignite-scaffold-wordle-chain","358":"/tutorials/wordle#ignite","359":"/tutorials/wordle#scaffolding-wordle-chain","360":"/tutorials/wordle#wordle-directory","361":"/tutorials/wordle#setting-up-rollkit","362":"/tutorials/wordle#installing-rollkit","363":"/tutorials/wordle#creating-wordle-module","364":"/tutorials/wordle#scaffolding-a-module","365":"/tutorials/wordle#messages","366":"/tutorials/wordle#scaffolding-a-message","367":"/tutorials/wordle#wordle-types","368":"/tutorials/wordle#scaffolding-wordle-types","369":"/tutorials/wordle#keeper-functions","370":"/tutorials/wordle#submitwordle-function","371":"/tutorials/wordle#submitguess-function","372":"/tutorials/wordle#protobuf-file","373":"/tutorials/wordle#⛓️-run-the-wordle-chain","374":"/tutorials/wordle#build-and-run-wordle-chain","375":"/tutorials/wordle#interacting-with-the-chain","376":"/tutorials/wordle#extending-in-the-future","377":"/tutorials/wordle#🎉-next-steps"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[3,1,24],"1":[3,3,20],"2":[2,3,69],"3":[2,3,41],"4":[3,3,25],"5":[1,1,22],"6":[3,1,17],"7":[6,1,171],"8":[2,6,172],"9":[4,6,110],"10":[4,6,114],"11":[5,6,27],"12":[6,1,79],"13":[2,6,43],"14":[6,6,129],"15":[9,6,46],"16":[6,6,110],"17":[4,6,34],"18":[1,6,90],"19":[7,1,83],"20":[9,1,37],"21":[2,9,30],"22":[7,9,22],"23":[2,9,20],"24":[4,9,41],"25":[4,9,27],"26":[1,9,32],"27":[8,1,27],"28":[3,8,29],"29":[9,8,54],"30":[6,8,13],"31":[4,8,15],"32":[7,8,14],"33":[5,8,19],"34":[8,8,21],"35":[4,8,8],"36":[5,8,39],"37":[5,8,64],"38":[4,8,31],"39":[1,8,52],"40":[8,1,41],"41":[7,1,1],"42":[1,7,129],"43":[1,7,42],"44":[3,7,27],"45":[8,10,41],"46":[3,10,124],"47":[2,10,114],"48":[3,10,119],"49":[4,7,36],"50":[4,11,51],"51":[4,11,79],"52":[3,11,16],"53":[4,7,42],"54":[5,1,1],"55":[1,5,33],"56":[1,5,29],"57":[5,5,1],"58":[7,8,42],"59":[7,8,36],"60":[4,8,72],"61":[4,5,74],"62":[1,5,14],"63":[3,1,73],"64":[3,3,1],"65":[2,6,15],"66":[5,3,104],"67":[5,3,1],"68":[3,8,17],"69":[4,8,76],"70":[1,3,33],"71":[9,3,72],"72":[2,10,38],"73":[3,10,106],"74":[3,10,47],"75":[3,10,168],"76":[3,10,25],"77":[8,10,104],"78":[9,10,79],"79":[5,1,91],"80":[8,1,17],"81":[2,8,52],"82":[4,8,39],"83":[3,8,15],"84":[3,8,10],"85":[3,8,22],"86":[4,11,30],"87":[3,8,41],"88":[1,8,28],"89":[7,1,81],"90":[3,1,105],"91":[2,3,30],"92":[11,1,36],"93":[6,1,12],"94":[2,6,100],"95":[7,6,104],"96":[5,12,48],"97":[5,12,43],"98":[4,12,18],"99":[5,12,29],"100":[4,12,7],"101":[7,12,41],"102":[7,1,27],"103":[1,7,37],"104":[1,7,22],"105":[4,8,17],"106":[1,12,48],"107":[6,8,44],"108":[6,8,76],"109":[5,1,30],"110":[4,5,26],"111":[4,5,27],"112":[6,9,72],"113":[7,5,26],"114":[2,10,23],"115":[1,5,29],"116":[11,1,1],"117":[2,11,75],"118":[2,11,35],"119":[5,11,38],"120":[6,11,45],"121":[5,11,96],"122":[5,11,28],"123":[4,11,172],"124":[8,11,228],"125":[2,11,56],"126":[3,11,20],"127":[5,1,1],"128":[5,5,81],"129":[1,5,29],"130":[7,6,22],"131":[5,6,48],"132":[9,5,32],"133":[1,12,56],"134":[1,12,88],"135":[8,12,89],"136":[6,5,39],"137":[1,11,156],"138":[10,5,119],"139":[1,5,41],"140":[2,1,61],"141":[4,2,88],"142":[6,2,1],"143":[4,7,38],"144":[6,7,102],"145":[3,2,181],"146":[6,2,24],"147":[5,7,37],"148":[5,7,48],"149":[4,7,47],"150":[6,2,76],"151":[7,1,41],"152":[2,7,6],"153":[2,7,5],"154":[2,7,7],"155":[2,7,73],"156":[1,1,40],"157":[2,1,38],"158":[2,1,61],"159":[2,2,2],"160":[2,4,37],"161":[2,6,65],"162":[2,4,77],"163":[1,6,45],"164":[2,2,1],"165":[1,4,43],"166":[2,4,82],"167":[1,4,67],"168":[1,5,23],"169":[2,4,68],"170":[3,2,9],"171":[2,4,24],"172":[6,4,45],"173":[2,4,107],"174":[3,2,1],"175":[5,5,38],"176":[7,5,114],"177":[4,5,12],"178":[2,1,41],"179":[2,2,2],"180":[4,2,2],"181":[2,2,2],"182":[5,2,125],"183":[2,1,18],"184":[4,2,147],"185":[4,6,18],"186":[8,1,74],"187":[6,8,18],"188":[5,8,89],"189":[5,8,64],"190":[4,8,56],"191":[4,8,134],"192":[4,11,38],"193":[4,11,62],"194":[4,8,22],"195":[2,8,32],"196":[8,1,1],"197":[1,8,42],"198":[1,8,13],"199":[1,9,37],"200":[1,9,17],"201":[7,8,37],"202":[4,8,24],"203":[6,8,45],"204":[6,8,167],"205":[5,8,64],"206":[1,8,26],"207":[2,8,29],"208":[1,8,50],"209":[3,1,1],"210":[1,3,78],"211":[3,4,63],"212":[2,3,16],"213":[3,3,50],"214":[2,6,85],"215":[2,6,24],"216":[3,6,30],"217":[6,3,19],"218":[7,8,30],"219":[4,8,88],"220":[3,12,32],"221":[3,12,28],"222":[3,12,30],"223":[5,12,28],"224":[5,3,84],"225":[4,7,52],"226":[6,7,147],"227":[5,7,68],"228":[3,7,100],"229":[7,7,108],"230":[3,1,55],"231":[3,3,41],"232":[4,3,276],"233":[7,3,1],"234":[5,9,53],"235":[4,9,75],"236":[3,9,122],"237":[5,3,41],"238":[3,7,75],"239":[3,7,67],"240":[3,7,166],"241":[4,1,1],"242":[2,4,88],"243":[6,4,29],"244":[4,9,94],"245":[5,4,28],"246":[4,4,35],"247":[5,4,125],"248":[10,4,74],"249":[3,4,28],"250":[3,1,1],"251":[1,3,35],"252":[6,3,40],"253":[9,3,19],"254":[3,3,52],"255":[1,3,32],"256":[4,1,1],"257":[2,4,52],"258":[6,4,53],"259":[2,4,9],"260":[5,4,159],"261":[9,4,63],"262":[3,4,27],"263":[1,1,57],"264":[2,1,67],"265":[2,1,79],"266":[2,1,28],"267":[3,1,96],"268":[3,1,23],"269":[3,3,14],"270":[2,3,1],"271":[3,5,24],"272":[5,3,43],"273":[2,8,177],"274":[4,8,99],"275":[4,8,27],"276":[5,3,104],"277":[3,3,23],"278":[6,1,33],"279":[2,6,17],"280":[1,6,30],"281":[1,6,30],"282":[6,7,112],"283":[4,7,31],"284":[5,7,56],"285":[4,7,72],"286":[1,7,24],"287":[3,1,1],"288":[2,3,65],"289":[2,3,44],"290":[4,3,341],"291":[2,3,157],"292":[3,3,36],"293":[5,3,43],"294":[4,3,62],"295":[3,3,37],"296":[8,1,18],"297":[5,8,20],"298":[4,8,83],"299":[8,8,62],"300":[6,8,54],"301":[4,8,26],"302":[2,8,26],"303":[2,1,51],"304":[3,2,14],"305":[2,2,1],"306":[3,4,28],"307":[5,2,53],"308":[2,7,75],"309":[2,7,123],"310":[4,7,158],"311":[5,2,205],"312":[3,2,23],"313":[2,1,8],"314":[4,1,80],"315":[1,4,28],"316":[5,4,36],"317":[3,4,25],"318":[2,4,9],"319":[6,4,15],"320":[1,4,68],"321":[1,4,44],"322":[1,4,41],"323":[6,5,108],"324":[4,5,31],"325":[5,5,56],"326":[4,5,72],"327":[8,4,83],"328":[4,10,108],"329":[3,10,74],"330":[4,10,41],"331":[3,1,19],"332":[5,3,38],"333":[6,3,69],"334":[2,3,39],"335":[2,1,8],"336":[2,1,3],"337":[2,1,52],"338":[1,2,66],"339":[4,2,90],"340":[4,2,41],"341":[3,2,92],"342":[1,2,25],"343":[2,1,1],"344":[1,2,35],"345":[5,2,47],"346":[8,2,25],"347":[3,2,54],"348":[1,2,25],"349":[1,1,14],"350":[4,1,58],"351":[2,1,51],"352":[2,1,69],"353":[2,1,90],"354":[3,1,47],"355":[3,3,70],"356":[3,3,110],"357":[7,3,1],"358":[2,10,103],"359":[5,10,96],"360":[3,10,114],"361":[4,3,16],"362":[3,7,25],"363":[5,3,55],"364":[4,8,71],"365":[2,3,73],"366":[4,5,33],"367":[3,3,15],"368":[4,5,49],"369":[3,3,62],"370":[3,6,216],"371":[3,6,285],"372":[3,6,92],"373":[5,3,1],"374":[6,8,72],"375":[5,8,256],"376":[5,8,80],"377":[3,3,23]},"averageFieldLength":[3.8412698412698423,5.412698412698405,54.83068783068783],"storedFields":{"0":{"title":"Rollkit Documentation Site","titles":[]},"1":{"title":"Building the site","titles":["Rollkit Documentation Site"]},"2":{"title":"Contribution Guidelines","titles":["Rollkit Documentation Site"]},"3":{"title":"Directory Structure","titles":["Rollkit Documentation Site"]},"4":{"title":"Feedback & Suggestions","titles":["Rollkit Documentation Site"]},"5":{"title":"Blog","titles":[]},"6":{"title":"Table of contents","titles":["Blog"]},"7":{"title":"Rollkit: The First Sovereign Rollup Framework","titles":[]},"8":{"title":"Take Control","titles":["Rollkit: The First Sovereign Rollup Framework"]},"9":{"title":"Build with the Best","titles":["Rollkit: The First Sovereign Rollup Framework"]},"10":{"title":"Optimize for your needs","titles":["Rollkit: The First Sovereign Rollup Framework"]},"11":{"title":"Break Free. Be Sovereign.","titles":["Rollkit: The First Sovereign Rollup Framework"]},"12":{"title":"Sovereign rollups on Bitcoin with Rollkit","titles":[]},"13":{"title":"Tl;dr","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"14":{"title":"Posting data on Bitcoin with Taproot","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"15":{"title":"Integrating Bitcoin as a data availability layer into Rollkit","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"16":{"title":"How Rollkit posts data to Bitcoin","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"17":{"title":"EVM on Bitcoin demo","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"18":{"title":"Conclusion","titles":["Sovereign rollups on Bitcoin with Rollkit"]},"19":{"title":"How to change speed of block production","titles":[]},"20":{"title":"How to Turn Your CometBFT App into a Rollkit App","titles":[]},"21":{"title":"Install Rollkit","titles":["How to Turn Your CometBFT App into a Rollkit App"]},"22":{"title":"Add Rollkit Features to Your CometBFT App","titles":["How to Turn Your CometBFT App into a Rollkit App"]},"23":{"title":"Initialize Rollkit","titles":["How to Turn Your CometBFT App into a Rollkit App"]},"24":{"title":"Initialize Rollkit CLI Configuration","titles":["How to Turn Your CometBFT App into a Rollkit App"]},"25":{"title":"Start Your Rollkit App","titles":["How to Turn Your CometBFT App into a Rollkit App"]},"26":{"title":"Summary","titles":["How to Turn Your CometBFT App into a Rollkit App"]},"27":{"title":"How to create a genesis for your rollup","titles":[]},"28":{"title":"1. Setting variables","titles":["How to create a genesis for your rollup"]},"29":{"title":"2. Ensuring rollkit.toml is present and building entrypoint","titles":["How to create a genesis for your rollup"]},"30":{"title":"3. Resetting existing genesis/chain data","titles":["How to create a genesis for your rollup"]},"31":{"title":"4. Initializing the validator","titles":["How to create a genesis for your rollup"]},"32":{"title":"5. Adding a key to keyring backend","titles":["How to create a genesis for your rollup"]},"33":{"title":"6. Adding a genesis account","titles":["How to create a genesis for your rollup"]},"34":{"title":"7. Setting the staking amount in the genesis transaction","titles":["How to create a genesis for your rollup"]},"35":{"title":"8. Collecting genesis transactions","titles":["How to create a genesis for your rollup"]},"36":{"title":"9. Configuring the genesis file","titles":["How to create a genesis for your rollup"]},"37":{"title":"10. Creating a restart script","titles":["How to create a genesis for your rollup"]},"38":{"title":"11. Starting the chain","titles":["How to create a genesis for your rollup"]},"39":{"title":"Summary","titles":["How to create a genesis for your rollup"]},"40":{"title":"How to configure DA chain block syncing time","titles":[]},"41":{"title":"Speed up your development with cw-orchestrator","titles":[]},"42":{"title":"Introduction","titles":["Speed up your development with cw-orchestrator"]},"43":{"title":"Summary","titles":["Speed up your development with cw-orchestrator"]},"44":{"title":"Single Contract Integration","titles":["Speed up your development with cw-orchestrator"]},"45":{"title":"Adding cw-orch to your Cargo.toml file","titles":["Speed up your development with cw-orchestrator","Single Contract Integration"]},"46":{"title":"Creating an Interface","titles":["Speed up your development with cw-orchestrator","Single Contract Integration"]},"47":{"title":"Interaction helpers","titles":["Speed up your development with cw-orchestrator","Single Contract Integration"]},"48":{"title":"Using the integration","titles":["Speed up your development with cw-orchestrator","Single Contract Integration"]},"49":{"title":"Integration in a workspace","titles":["Speed up your development with cw-orchestrator"]},"50":{"title":"Handling dependencies and features","titles":["Speed up your development with cw-orchestrator","Integration in a workspace"]},"51":{"title":"Creating an interface crate","titles":["Speed up your development with cw-orchestrator","Integration in a workspace"]},"52":{"title":"Integrating single contracts","titles":["Speed up your development with cw-orchestrator","Integration in a workspace"]},"53":{"title":"More examples and scripts","titles":["Speed up your development with cw-orchestrator"]},"54":{"title":"Rollup Full Node Setup Guide","titles":[]},"55":{"title":"Introduction","titles":["Rollup Full Node Setup Guide"]},"56":{"title":"Prerequisites","titles":["Rollup Full Node Setup Guide"]},"57":{"title":"Setting Up Your Full Node","titles":["Rollup Full Node Setup Guide"]},"58":{"title":"Initialize Chain Config and Copy Genesis File","titles":["Rollup Full Node Setup Guide","Setting Up Your Full Node"]},"59":{"title":"Set Up P2P Connection to Sequencer Node","titles":["Rollup Full Node Setup Guide","Setting Up Your Full Node"]},"60":{"title":"Start the Full Node","titles":["Rollup Full Node Setup Guide","Setting Up Your Full Node"]},"61":{"title":"Verifying Full Node Operation","titles":["Rollup Full Node Setup Guide"]},"62":{"title":"Conclusion","titles":["Rollup Full Node Setup Guide"]},"63":{"title":"IBC connection tutorial","titles":[]},"64":{"title":"💻 Pre-requisites","titles":["IBC connection tutorial"]},"65":{"title":"Software requirements","titles":["IBC connection tutorial","💻 Pre-requisites"]},"66":{"title":"Run a GM rollup chain","titles":["IBC connection tutorial"]},"67":{"title":"Run your local-osmosis-testnet","titles":["IBC connection tutorial"]},"68":{"title":"Install Osmosis binary","titles":["IBC connection tutorial","Run your local-osmosis-testnet"]},"69":{"title":"Run local-osmosis-testnet","titles":["IBC connection tutorial","Run your local-osmosis-testnet"]},"70":{"title":"Funds","titles":["IBC connection tutorial"]},"71":{"title":"Setup relayer, create IBC connection and start relaying packets","titles":["IBC connection tutorial"]},"72":{"title":"Install relayer","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"73":{"title":"Setup relayer config","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"74":{"title":"Create relayer account","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"75":{"title":"Create IBC channel","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"76":{"title":"Start relaying packets","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"77":{"title":"Transfer token from rollup chain to osmosis-local","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"78":{"title":"Transfer token back from osmosis-local to rollup chain","titles":["IBC connection tutorial","Setup relayer, create IBC connection and start relaying packets"]},"79":{"title":"How to configure gas price","titles":[]},"80":{"title":"How to Use Ignite to Create a Rollkit App","titles":[]},"81":{"title":"Install Ignite","titles":["How to Use Ignite to Create a Rollkit App"]},"82":{"title":"Install Ignite App Rollkit","titles":["How to Use Ignite to Create a Rollkit App"]},"83":{"title":"Add Rollkit Features","titles":["How to Use Ignite to Create a Rollkit App"]},"84":{"title":"Build your chain","titles":["How to Use Ignite to Create a Rollkit App"]},"85":{"title":"Initialize Your Blockchain","titles":["How to Use Ignite to Create a Rollkit App"]},"86":{"title":"Initialize Rollkit CLI Configuration","titles":["How to Use Ignite to Create a Rollkit App","Initialize Your Blockchain"]},"87":{"title":"Start your chain","titles":["How to Use Ignite to Create a Rollkit App"]},"88":{"title":"Summary","titles":["How to Use Ignite to Create a Rollkit App"]},"89":{"title":"How to Use Lazy Sequencing (Aggregation)","titles":[]},"90":{"title":"How To Guides","titles":[]},"91":{"title":"💻 Support","titles":["How To Guides"]},"92":{"title":"How to configure the maximum number of blocks pending DA submission","titles":[]},"93":{"title":"🔄 How to restart your rollup","titles":[]},"94":{"title":"Restart rollup","titles":["🔄 How to restart your rollup"]},"95":{"title":"Restart rollup after running out of funds","titles":["🔄 How to restart your rollup"]},"96":{"title":"🟠 Errors in this example","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"97":{"title":"💰 Re-fund your account","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"98":{"title":"🛑 Stopping your rollup","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"99":{"title":"⛽ Increase the gas fee","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"100":{"title":"🔁 Restarting your rollup","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"101":{"title":"🛢️ Reduce gas fee & restart again","titles":["🔄 How to restart your rollup","Restart rollup after running out of funds"]},"102":{"title":"How to integrate Range with your rollup","titles":[]},"103":{"title":"Overview","titles":["How to integrate Range with your rollup"]},"104":{"title":"Prerequisites","titles":["How to integrate Range with your rollup"]},"105":{"title":"1. Integrate Your Rollup","titles":["How to integrate Range with your rollup","Prerequisites"]},"106":{"title":"Steps","titles":["How to integrate Range with your rollup","Prerequisites","1. Integrate Your Rollup"]},"107":{"title":"2. Add Your Addresses and Contracts","titles":["How to integrate Range with your rollup","Prerequisites"]},"108":{"title":"3. Creating Your First Alert Rule","titles":["How to integrate Range with your rollup","Prerequisites"]},"109":{"title":"How to Use Rollkit CLI","titles":[]},"110":{"title":"1. Installing Rollkit CLI","titles":["How to Use Rollkit CLI"]},"111":{"title":"2. Initializing rollkit.toml","titles":["How to Use Rollkit CLI"]},"112":{"title":"Steps to Generate rollkit.toml:","titles":["How to Use Rollkit CLI","2. Initializing rollkit.toml"]},"113":{"title":"3. Running Rollup Commands Using Rollkit CLI","titles":["How to Use Rollkit CLI"]},"114":{"title":"Example:","titles":["How to Use Rollkit CLI","3. Running Rollup Commands Using Rollkit CLI"]},"115":{"title":"Summary","titles":["How to Use Rollkit CLI"]},"116":{"title":"How to use IBC token (TIA) as gas token in your rollup","titles":[]},"117":{"title":"🌞 Introduction","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"118":{"title":"🛠️ Dependencies","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"119":{"title":"📦 Install Rollkit (CLI)","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"120":{"title":"🌐 Running a Local DA Network","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"121":{"title":"🏗️ Building Your Sovereign Rollup","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"122":{"title":"🛠️ Initialize Rollkit TOML Configuration","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"123":{"title":"🚀 Starting your rollup","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"124":{"title":"✨ Connecting to Celestia Mocha testnet using IBC","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"125":{"title":"💸 Transactions","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"126":{"title":"🎉 Next steps","titles":["How to use IBC token (TIA) as gas token in your rollup"]},"127":{"title":"zkML Rollup Tutorial with Sindri","titles":[]},"128":{"title":"Introduction - Code Once, Verify Anywhere","titles":["zkML Rollup Tutorial with Sindri"]},"129":{"title":"Prerequisites","titles":["zkML Rollup Tutorial with Sindri"]},"130":{"title":"Setting Up the Polaris EVM using Rollkit","titles":["zkML Rollup Tutorial with Sindri","Prerequisites"]},"131":{"title":"Installing the Sindri Python SDK","titles":["zkML Rollup Tutorial with Sindri","Prerequisites"]},"132":{"title":"Deploying and Proving a Cool zkML Circuit to Sindri","titles":["zkML Rollup Tutorial with Sindri"]},"133":{"title":"Clone","titles":["zkML Rollup Tutorial with Sindri","Deploying and Proving a Cool zkML Circuit to Sindri"]},"134":{"title":"Modify","titles":["zkML Rollup Tutorial with Sindri","Deploying and Proving a Cool zkML Circuit to Sindri"]},"135":{"title":"Deploy and Prove your zkML Circuit on Sindri","titles":["zkML Rollup Tutorial with Sindri","Deploying and Proving a Cool zkML Circuit to Sindri"]},"136":{"title":"Deploy Smart Contract Verifier to Rollkit","titles":["zkML Rollup Tutorial with Sindri"]},"137":{"title":"Deploy","titles":["zkML Rollup Tutorial with Sindri","Deploy Smart Contract Verifier to Rollkit"]},"138":{"title":"Interact with the Contract - Verify your zkML Proof On-Chain","titles":["zkML Rollup Tutorial with Sindri"]},"139":{"title":"Congratulations","titles":["zkML Rollup Tutorial with Sindri"]},"140":{"title":"About Rollkit","titles":[]},"141":{"title":"What is Rollkit?","titles":["About Rollkit"]},"142":{"title":"What problems is Rollkit solving?","titles":["About Rollkit"]},"143":{"title":"1. Scalability and customizability","titles":["About Rollkit","What problems is Rollkit solving?"]},"144":{"title":"2. Security and time to market","titles":["About Rollkit","What problems is Rollkit solving?"]},"145":{"title":"Why Rollkit?","titles":["About Rollkit"]},"146":{"title":"How can you use Rollkit?","titles":["About Rollkit"]},"147":{"title":"Rollup with any execution environment","titles":["About Rollkit","How can you use Rollkit?"]},"148":{"title":"Sovereign rollup with Cosmos SDK","titles":["About Rollkit","How can you use Rollkit?"]},"149":{"title":"Build a settlement layer","titles":["About Rollkit","How can you use Rollkit?"]},"150":{"title":"When can you use Rollkit?","titles":["About Rollkit"]},"151":{"title":"🗞️ Building a rollup and testnet deployment","titles":[]},"152":{"title":"1. Beginner","titles":["🗞️ Building a rollup and testnet deployment"]},"153":{"title":"2️. Intermediate","titles":["🗞️ Building a rollup and testnet deployment"]},"154":{"title":"3️. Advanced","titles":["🗞️ Building a rollup and testnet deployment"]},"155":{"title":"💻 Support","titles":["🗞️ Building a rollup and testnet deployment"]},"156":{"title":"Introduction","titles":[]},"157":{"title":"Technical specifications","titles":[]},"158":{"title":"Rollkit stack","titles":[]},"159":{"title":"Application structure","titles":["Rollkit stack"]},"160":{"title":"ABCI interface","titles":["Rollkit stack","Application structure"]},"161":{"title":"Cosmos SDK","titles":["Rollkit stack","Application structure","ABCI interface"]},"162":{"title":"Data availability","titles":["Rollkit stack","Application structure"]},"163":{"title":"Celestia","titles":["Rollkit stack","Application structure","Data availability"]},"164":{"title":"Node components","titles":["Rollkit stack"]},"165":{"title":"Mempool","titles":["Rollkit stack","Node components"]},"166":{"title":"Block manager","titles":["Rollkit stack","Node components"]},"167":{"title":"RPC","titles":["Rollkit stack","Node components"]},"168":{"title":"Parameters","titles":["Rollkit stack","Node components","RPC"]},"169":{"title":"P2P layer","titles":["Rollkit stack","Node components"]},"170":{"title":"Rollkit node types","titles":["Rollkit stack"]},"171":{"title":"Full node","titles":["Rollkit stack","Rollkit node types"]},"172":{"title":"Light node (work in progress)","titles":["Rollkit stack","Rollkit node types"]},"173":{"title":"Sequencer node","titles":["Rollkit stack","Rollkit node types"]},"174":{"title":"State validity modes","titles":["Rollkit stack"]},"175":{"title":"Pessimistic (full nodes only)","titles":["Rollkit stack","State validity modes"]},"176":{"title":"Optimistic (fraud proofs) (work in progress)","titles":["Rollkit stack","State validity modes"]},"177":{"title":"Validity (ZK proofs)","titles":["Rollkit stack","State validity modes"]},"178":{"title":"Transaction flow","titles":[]},"179":{"title":"Transaction submission","titles":["Transaction flow"]},"180":{"title":"Transaction validation and processing","titles":["Transaction flow"]},"181":{"title":"Block processing","titles":["Transaction flow"]},"182":{"title":"Fraud proof gossip and forking","titles":["Transaction flow"]},"183":{"title":"CosmWasm Testnet","titles":[]},"184":{"title":"Details of ROSM testnet","titles":["CosmWasm Testnet"]},"185":{"title":"Add Rosm to Keplr","titles":["CosmWasm Testnet","Details of ROSM testnet"]},"186":{"title":"Quick Start Guide for Artela EVM++ with Rollkit","titles":[]},"187":{"title":"📦 Clone the Artela Rollkit Repository","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"188":{"title":"🛥️ Run with Docker Compose","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"189":{"title":"🔑 Get prefunded test accounts","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"190":{"title":"⚙️ Configuring the Node","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"191":{"title":"🧪 Build on EVM++","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"192":{"title":"📖 More to know","titles":["Quick Start Guide for Artela EVM++ with Rollkit","🧪 Build on EVM++"]},"193":{"title":"💥 Build with examples","titles":["Quick Start Guide for Artela EVM++ with Rollkit","🧪 Build on EVM++"]},"194":{"title":"🛑 Stopping the Node","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"195":{"title":"🎉 Conclusion","titles":["Quick Start Guide for Artela EVM++ with Rollkit"]},"196":{"title":"Building a Sovereign Rollup with BeaconKit and Rollkit","titles":[]},"197":{"title":"Introduction","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"198":{"title":"Prerequisites","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"199":{"title":"Rollkit","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit","Prerequisites"]},"200":{"title":"Docker","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit","Prerequisites"]},"201":{"title":"Run a local Data Availability (DA) node","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"202":{"title":"Clone the BeaconKit repository","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"203":{"title":"Start the Go Ethereum (Geth) client","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"204":{"title":"Build and run the BeaconKit node","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"205":{"title":"Smart Contract Deployment and Interaction","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"206":{"title":"Conclusion","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"207":{"title":"Next Steps","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"208":{"title":"Troubleshooting","titles":["Building a Sovereign Rollup with BeaconKit and Rollkit"]},"209":{"title":"Bitcoin rollup tutorial","titles":[]},"210":{"title":"☀️Introduction","titles":["Bitcoin rollup tutorial"]},"211":{"title":"📖 The stack","titles":["Bitcoin rollup tutorial","☀️Introduction"]},"212":{"title":"💻 Prerequisites","titles":["Bitcoin rollup tutorial"]},"213":{"title":"🛠️ Dependency setup","titles":["Bitcoin rollup tutorial"]},"214":{"title":"🏃 Golang","titles":["Bitcoin rollup tutorial","🛠️ Dependency setup"]},"215":{"title":"⚒️ Foundry","titles":["Bitcoin rollup tutorial","🛠️ Dependency setup"]},"216":{"title":"🪙 Install Bitcoin","titles":["Bitcoin rollup tutorial","🛠️ Dependency setup"]},"217":{"title":"🟢 Running a local Bitcoin network","titles":["Bitcoin rollup tutorial"]},"218":{"title":"👛 Create a wallet for the chain","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network"]},"219":{"title":"🎬 Start generating blocks","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network"]},"220":{"title":"🧊 Block height","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network","🎬 Start generating blocks"]},"221":{"title":"🧊 Block hash","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network","🎬 Start generating blocks"]},"222":{"title":"🧊 Block header","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network","🎬 Start generating blocks"]},"223":{"title":"🎬 Restarting the local network","titles":["Bitcoin rollup tutorial","🟢 Running a local Bitcoin network","🎬 Start generating blocks"]},"224":{"title":"🏃‍♀️ Running the Ethermint rollup","titles":["Bitcoin rollup tutorial"]},"225":{"title":"⚡️ Initialize development environment","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"226":{"title":"📒 Updating the contract and tests","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"227":{"title":"📜 Updating the deployment script","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"228":{"title":"🏠 Deploying locally","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"229":{"title":"🧪 Deploying to the Ethermint sovereign rollup","titles":["Bitcoin rollup tutorial","🏃‍♀️ Running the Ethermint rollup"]},"230":{"title":"🗞️ CosmWasm rollup","titles":[]},"231":{"title":"💻 CosmWasm dependency","titles":["🗞️ CosmWasm rollup"]},"232":{"title":"🚀 Starting your rollup","titles":["🗞️ CosmWasm rollup"]},"233":{"title":"📒 Contract deployment on CosmWasm with Rollkit","titles":["🗞️ CosmWasm rollup"]},"234":{"title":"🤖 Compile the smart contract","titles":["🗞️ CosmWasm rollup","📒 Contract deployment on CosmWasm with Rollkit"]},"235":{"title":"🏎️ Optimized smart contract","titles":["🗞️ CosmWasm rollup","📒 Contract deployment on CosmWasm with Rollkit"]},"236":{"title":"🚀 Contract deployment","titles":["🗞️ CosmWasm rollup","📒 Contract deployment on CosmWasm with Rollkit"]},"237":{"title":"🌟 Contract interaction on CosmWasm","titles":["🗞️ CosmWasm rollup"]},"238":{"title":"🔎 Contract querying","titles":["🗞️ CosmWasm rollup","🌟 Contract interaction on CosmWasm"]},"239":{"title":"📃 Contract instantiation","titles":["🗞️ CosmWasm rollup","🌟 Contract interaction on CosmWasm"]},"240":{"title":"📄 Contract interaction","titles":["🗞️ CosmWasm rollup","🌟 Contract interaction on CosmWasm"]},"241":{"title":"Using Avail as DA","titles":[]},"242":{"title":"🌞 Introduction","titles":["Using Avail as DA"]},"243":{"title":"🪶 Running an Avail light node","titles":["Using Avail as DA"]},"244":{"title":"🚀 Using Turing Testnet","titles":["Using Avail as DA","🪶 Running an Avail light node"]},"245":{"title":"🧹 Cleaning previous chain history","titles":["Using Avail as DA"]},"246":{"title":"🏗️ Building your rollup","titles":["Using Avail as DA"]},"247":{"title":"🛠️ Configuring flags for DA","titles":["Using Avail as DA"]},"248":{"title":"🔥 Running your rollup connected to an avail light node","titles":["Using Avail as DA"]},"249":{"title":"🎉 Next steps","titles":["Using Avail as DA"]},"250":{"title":"Using Local DA","titles":[]},"251":{"title":"Introduction","titles":["Using Local DA"]},"252":{"title":"Setting Up a Local DA Network","titles":["Using Local DA"]},"253":{"title":"Configuring your rollup to connect to the local DA network","titles":["Using Local DA"]},"254":{"title":"Run your rollup","titles":["Using Local DA"]},"255":{"title":"Summary","titles":["Using Local DA"]},"256":{"title":"Using Celestia as DA","titles":[]},"257":{"title":"🌞 Introduction","titles":["Using Celestia as DA"]},"258":{"title":"🪶 Running a Celestia light node","titles":["Using Celestia as DA"]},"259":{"title":"🏗️ Prerequisites","titles":["Using Celestia as DA"]},"260":{"title":"🛠️ Configuring flags for DA","titles":["Using Celestia as DA"]},"261":{"title":"🔥 Running your rollup connected to Celestia light node","titles":["Using Celestia as DA"]},"262":{"title":"🎉 Next steps","titles":["Using Celestia as DA"]},"263":{"title":"DA","titles":[]},"264":{"title":"Go DA","titles":["DA"]},"265":{"title":"Mock DA","titles":["DA"]},"266":{"title":"DA Layers","titles":["DA"]},"267":{"title":"Deploying Your Rollup","titles":[]},"268":{"title":"🐳 Docker Compose","titles":[]},"269":{"title":"💻 Pre-requisites","titles":["🐳 Docker Compose"]},"270":{"title":"🛠️ Dependencies","titles":["🐳 Docker Compose"]},"271":{"title":"💻 Docker Compose","titles":["🐳 Docker Compose","🛠️ Dependencies"]},"272":{"title":"🛠️ Setting up your environment","titles":["🐳 Docker Compose"]},"273":{"title":"🐳 Dockerfile","titles":["🐳 Docker Compose","🛠️ Setting up your environment"]},"274":{"title":"🐳 Docker Compose file","titles":["🐳 Docker Compose","🛠️ Setting up your environment"]},"275":{"title":"🚀 Run Wordle chain","titles":["🐳 Docker Compose","🛠️ Setting up your environment"]},"276":{"title":"🚀 Interacting with the chain","titles":["🐳 Docker Compose"]},"277":{"title":"🎉 Next steps","titles":["🐳 Docker Compose"]},"278":{"title":"Smart Contract Interaction on EVM Rollup","titles":[]},"279":{"title":"Install Foundry","titles":["Smart Contract Interaction on EVM Rollup"]},"280":{"title":"Funds","titles":["Smart Contract Interaction on EVM Rollup"]},"281":{"title":"Frontend","titles":["Smart Contract Interaction on EVM Rollup"]},"282":{"title":"Deploy the ooga booga portal contract","titles":["Smart Contract Interaction on EVM Rollup","Frontend"]},"283":{"title":"Interact with the contract","titles":["Smart Contract Interaction on EVM Rollup","Frontend"]},"284":{"title":"Start and update the frontend","titles":["Smart Contract Interaction on EVM Rollup","Frontend"]},"285":{"title":"Interact with the frontend","titles":["Smart Contract Interaction on EVM Rollup","Frontend"]},"286":{"title":"Conclusion","titles":["Smart Contract Interaction on EVM Rollup","Frontend"]},"287":{"title":"GM world rollup","titles":[]},"288":{"title":"🌞 Introduction","titles":["GM world rollup"]},"289":{"title":"🛠️ Dependencies","titles":["GM world rollup"]},"290":{"title":"🚀 Starting your rollup","titles":["GM world rollup"]},"291":{"title":"💸 Transactions","titles":["GM world rollup"]},"292":{"title":"⚖️ Checking Balances","titles":["GM world rollup"]},"293":{"title":"📦 GM world UI app","titles":["GM world rollup"]},"294":{"title":"🔗 Connecting your wallet","titles":["GM world rollup"]},"295":{"title":"🎉 Next steps","titles":["GM world rollup"]},"296":{"title":"Quick start guide for Omni Octane with Rollkit","titles":[]},"297":{"title":"📦 Clone the Omni repository","titles":["Quick start guide for Omni Octane with Rollkit"]},"298":{"title":"🏗️ Build Docker images","titles":["Quick start guide for Omni Octane with Rollkit"]},"299":{"title":"🚀 Deploy Omni with Rollkit and local-DA","titles":["Quick start guide for Omni Octane with Rollkit"]},"300":{"title":"🧪 Smart Contract Deployment and Interaction","titles":["Quick start guide for Omni Octane with Rollkit"]},"301":{"title":"🛑 Stopping the node","titles":["Quick start guide for Omni Octane with Rollkit"]},"302":{"title":"🎉 Conclusion","titles":["Quick start guide for Omni Octane with Rollkit"]},"303":{"title":"🟩 Kurtosis","titles":[]},"304":{"title":"💻 Pre-requisites","titles":["🟩 Kurtosis"]},"305":{"title":"🛠️ Dependencies","titles":["🟩 Kurtosis"]},"306":{"title":"💻 Kurtosis CLI","titles":["🟩 Kurtosis","🛠️ Dependencies"]},"307":{"title":"🛠️ Setting up your environment","titles":["🟩 Kurtosis"]},"308":{"title":"🐳 Dockerfile","titles":["🟩 Kurtosis","🛠️ Setting up your environment"]},"309":{"title":"🟢 Kurtosis","titles":["🟩 Kurtosis","🛠️ Setting up your environment"]},"310":{"title":"🚀 Run Wordle chain","titles":["🟩 Kurtosis","🛠️ Setting up your environment"]},"311":{"title":"🚀 Interacting with the chain","titles":["🟩 Kurtosis"]},"312":{"title":"🎉 Next steps","titles":["🟩 Kurtosis"]},"313":{"title":"Astria Sequencing","titles":[]},"314":{"title":"Polaris EVM and Rollkit","titles":[]},"315":{"title":"Prerequisites","titles":["Polaris EVM and Rollkit"]},"316":{"title":"Run a local-celestia-devnet","titles":["Polaris EVM and Rollkit"]},"317":{"title":"Clone the repo","titles":["Polaris EVM and Rollkit"]},"318":{"title":"Install Foundry","titles":["Polaris EVM and Rollkit"]},"319":{"title":"Start the Polaris EVM using Rollkit","titles":["Polaris EVM and Rollkit"]},"320":{"title":"Congratulations","titles":["Polaris EVM and Rollkit"]},"321":{"title":"Funds","titles":["Polaris EVM and Rollkit"]},"322":{"title":"Frontend","titles":["Polaris EVM and Rollkit"]},"323":{"title":"Deploy the ooga booga portal contract","titles":["Polaris EVM and Rollkit","Frontend"]},"324":{"title":"Interact with the contract","titles":["Polaris EVM and Rollkit","Frontend"]},"325":{"title":"Start and update the frontend","titles":["Polaris EVM and Rollkit","Frontend"]},"326":{"title":"Interact with the frontend","titles":["Polaris EVM and Rollkit","Frontend"]},"327":{"title":"Running Polaris EVM with a Celestia light node","titles":["Polaris EVM and Rollkit"]},"328":{"title":"Start your light node","titles":["Polaris EVM and Rollkit","Running Polaris EVM with a Celestia light node"]},"329":{"title":"Setup Polaris script","titles":["Polaris EVM and Rollkit","Running Polaris EVM with a Celestia light node"]},"330":{"title":"Start the EVM rollup","titles":["Polaris EVM and Rollkit","Running Polaris EVM with a Celestia light node"]},"331":{"title":"Quick start guide","titles":[]},"332":{"title":"📦 Install Rollkit (CLI)","titles":["Quick start guide"]},"333":{"title":"🚀 Run your sovereign rollup node","titles":["Quick start guide"]},"334":{"title":"🎉 Conclusion","titles":["Quick start guide"]},"335":{"title":"Based Sequencing","titles":[]},"336":{"title":"Forced Inclusion","titles":[]},"337":{"title":"Centralized Sequencer","titles":[]},"338":{"title":"Prerequisites","titles":["Centralized Sequencer"]},"339":{"title":"Installation the Centralized Sequencer","titles":["Centralized Sequencer"]},"340":{"title":"Run the centralized sequencer","titles":["Centralized Sequencer"]},"341":{"title":"Run your chain","titles":["Centralized Sequencer"]},"342":{"title":"Summary","titles":["Centralized Sequencer"]},"343":{"title":"Local Sequencer","titles":[]},"344":{"title":"Introduction","titles":["Local Sequencer"]},"345":{"title":"Setting Up a Local Local Sequencer","titles":["Local Sequencer"]},"346":{"title":"Configuring your chain to connect to the local sequencer","titles":["Local Sequencer"]},"347":{"title":"Run your chain","titles":["Local Sequencer"]},"348":{"title":"Summary","titles":["Local Sequencer"]},"349":{"title":"Sequencing","titles":[]},"350":{"title":"Rollkit prior to Sequencing","titles":["Sequencing"]},"351":{"title":"Sequencing Interface","titles":["Sequencing"]},"352":{"title":"Mock Sequencer","titles":["Sequencing"]},"353":{"title":"Sequencing Implementations","titles":["Sequencing"]},"354":{"title":"🕹️ Wordle app","titles":[]},"355":{"title":"💻 Pre-requisites","titles":["🕹️ Wordle app"]},"356":{"title":"📖 Design implementation","titles":["🕹️ Wordle app"]},"357":{"title":"⛓️ Ignite and scaffolding the wordle chain","titles":["🕹️ Wordle app"]},"358":{"title":"🔥 Ignite","titles":["🕹️ Wordle app","⛓️ Ignite and scaffolding the wordle chain"]},"359":{"title":"⛓️ Scaffolding the wordle chain","titles":["🕹️ Wordle app","⛓️ Ignite and scaffolding the wordle chain"]},"360":{"title":"🗂️ Wordle directory","titles":["🕹️ Wordle app","⛓️ Ignite and scaffolding the wordle chain"]},"361":{"title":"🛠️ Setting up Rollkit","titles":["🕹️ Wordle app"]},"362":{"title":"🗞️ Installing Rollkit","titles":["🕹️ Wordle app","🛠️ Setting up Rollkit"]},"363":{"title":"✨ Creating the wordle module","titles":["🕹️ Wordle app"]},"364":{"title":"🔖 Scaffolding a module","titles":["🕹️ Wordle app","✨ Creating the wordle module"]},"365":{"title":"✉️ Messages","titles":["🕹️ Wordle app"]},"366":{"title":"💬 Scaffolding a message","titles":["🕹️ Wordle app","✉️ Messages"]},"367":{"title":"🎨 Wordle types","titles":["🕹️ Wordle app"]},"368":{"title":"🏗️ Scaffolding wordle types","titles":["🕹️ Wordle app","🎨 Wordle types"]},"369":{"title":"🔐 Keeper functions","titles":["🕹️ Wordle app"]},"370":{"title":"📤 SubmitWordle function","titles":["🕹️ Wordle app","🔐 Keeper functions"]},"371":{"title":"⌛ SubmitGuess function","titles":["🕹️ Wordle app","🔐 Keeper functions"]},"372":{"title":"📦 Protobuf file","titles":["🕹️ Wordle app","🔐 Keeper functions"]},"373":{"title":"⛓️ Run the wordle chain","titles":["🕹️ Wordle app"]},"374":{"title":"🟢 Building and running wordle chain","titles":["🕹️ Wordle app","⛓️ Run the wordle chain"]},"375":{"title":"🚀 Interacting with the chain","titles":["🕹️ Wordle app","⛓️ Run the wordle chain"]},"376":{"title":"🔮 Extending in the future","titles":["🕹️ Wordle app","⛓️ Run the wordle chain"]},"377":{"title":"🎉 Next steps","titles":["🕹️ Wordle app"]}},"dirtCount":0,"index":[["✔",{"2":{"374":2}}],["⌛",{"0":{"371":1}}],["✉️",{"0":{"365":1},"1":{"366":1}}],["⛓️",{"0":{"357":1,"359":1,"373":1},"1":{"358":1,"359":1,"360":1,"374":1,"375":1,"376":1}}],["ã���������$�i��",{"2":{"320":1}}],["�aru��5�",{"2":{"320":1}}],["���",{"2":{"320":1}}],["⚖️",{"0":{"292":1}}],["⠘",{"2":{"282":1,"323":1}}],["\\tpath",{"2":{"339":1}}],["\\tauth",{"2":{"339":1}}],["\\tapt",{"2":{"273":2}}],["\\tda",{"2":{"339":2}}],["\\ttime",{"2":{"339":1}}],["\\trollup",{"2":{"339":1}}],["\\tlisten",{"2":{"339":1}}],["\\tjq",{"2":{"273":1}}],["\\tcentralized",{"2":{"339":2}}],["\\tcurl",{"2":{"273":1}}],["\\tca",{"2":{"273":1}}],["\\tbuild",{"2":{"273":1}}],["\\tsubmit",{"2":{"264":1}}],["\\tget",{"2":{"264":1}}],["\\t",{"2":{"264":2}}],["⭐",{"2":{"232":1,"290":1,"310":1}}],["⠑",{"2":{"226":1,"282":1,"323":1}}],["⠊",{"2":{"226":1}}],["⚒️",{"0":{"215":1}}],["☀️introduction",{"0":{"210":1},"1":{"211":1}}],["🧹",{"0":{"245":1}}],["🪶",{"0":{"243":1,"258":1},"1":{"244":1}}],["🤖",{"0":{"234":1}}],["🧊",{"0":{"220":1,"221":1,"222":1}}],["🪙",{"0":{"216":1}}],["🧢",{"2":{"204":2}}],["🧪",{"0":{"191":1,"229":1,"300":1},"1":{"192":1,"193":1}}],["⚙️",{"0":{"190":1}}],["⚡️",{"0":{"225":1},"2":{"173":2}}],["⏳",{"2":{"173":2}}],["❌",{"2":{"173":4}}],["✅",{"2":{"137":1,"173":9,"282":1,"323":1}}],["⠉",{"2":{"137":1,"282":1,"323":1}}],["⠰",{"2":{"137":1,"226":1}}],["⠆",{"2":{"137":1,"226":1}}],["⠒",{"2":{"137":1,"226":1,"282":1,"323":1}}],["^0",{"2":{"137":1,"226":2,"227":1}}],["zero",{"2":{"128":1,"242":1,"299":1,"301":1}}],["zkml",{"0":{"127":1,"132":1,"135":1,"138":1},"1":{"128":1,"129":1,"130":1,"131":1,"132":1,"133":2,"134":2,"135":2,"136":1,"137":1,"138":1,"139":1},"2":{"90":1,"132":1,"135":1,"136":1,"138":1,"139":1}}],["zk",{"0":{"177":1},"2":{"7":1,"10":2,"128":1,"145":2,"158":1,"177":1}}],["q",{"2":{"124":4,"125":1,"329":1,"375":1}}],["quality",{"2":{"135":1}}],["quot",{"2":{"133":2,"155":2,"168":2,"173":4,"248":2,"283":2,"288":2,"294":2,"298":2,"324":2}}],["queried",{"2":{"221":1}}],["queries",{"2":{"47":1,"158":1,"172":1}}],["query=",{"2":{"240":1}}],["querying",{"0":{"238":1},"2":{"167":1,"375":1}}],["queryresponses",{"2":{"47":1}}],["queryfns",{"2":{"47":2,"50":1}}],["query",{"2":{"46":1,"47":3,"77":2,"78":3,"167":1,"184":3,"222":1,"238":3,"240":7,"247":1,"260":1,"292":3,"375":6}}],["querymsgfns",{"2":{"47":1}}],["querymsg",{"2":{"46":2,"47":3,"50":2}}],["quickly",{"2":{"141":1,"186":1,"296":1}}],["quickstart",{"2":{"131":1}}],["quicker",{"2":{"42":2}}],["quick",{"0":{"186":1,"296":1,"331":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"297":1,"298":1,"299":1,"300":1,"301":1,"302":1,"332":1,"333":1,"334":1},"2":{"19":1,"42":2,"94":1,"95":1,"117":1,"191":1,"199":1,"251":1,"254":1,"257":1,"259":1,"265":1,"288":1,"338":1,"340":1,"341":1,"344":1,"345":1,"347":1,"352":1,"355":1}}],["✨",{"0":{"124":1,"363":1},"1":{"364":1}}],["🎨",{"0":{"367":1},"1":{"368":1}}],["🌟",{"0":{"237":1},"1":{"238":1,"239":1,"240":1}}],["🏠",{"0":{"228":1}}],["🎬",{"0":{"219":1,"223":1},"1":{"220":1,"221":1,"222":1,"223":1}}],["🏃‍♀️",{"0":{"224":1},"1":{"225":1,"226":1,"227":1,"228":1,"229":1}}],["🏃",{"0":{"214":1}}],["🏎️",{"0":{"235":1},"2":{"204":1}}],["🌲",{"2":{"204":1}}],["🎉",{"0":{"126":1,"195":1,"249":1,"262":1,"277":1,"295":1,"302":1,"312":1,"334":1,"377":1}}],["🏗️",{"0":{"121":1,"246":1,"259":1,"298":1,"368":1},"2":{"204":1}}],["🌐",{"0":{"120":1}}],["🌞",{"0":{"117":1,"242":1,"257":1,"288":1}}],["🎊",{"2":{"101":1,"108":1}}],["⛽",{"0":{"99":1}}],["+x",{"2":{"273":1}}],["+=",{"2":{"226":1,"371":1}}],["+calldata",{"2":{"134":1}}],["+",{"2":{"98":1,"101":1,"123":1,"139":1,"219":1,"371":1}}],["++",{"2":{"19":1,"40":1,"58":1,"89":1,"92":1,"329":1}}],["🔮",{"0":{"376":1}}],["📤",{"0":{"370":1}}],["🔐",{"0":{"369":1},"1":{"370":1,"371":1,"372":1}}],["💬",{"0":{"366":1}}],["🔖",{"0":{"364":1}}],["🗂️",{"0":{"360":1}}],["🕹️",{"0":{"354":1},"1":{"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1}}],["🟩",{"0":{"303":1},"1":{"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1}}],["🔗",{"0":{"294":1}}],["🐳",{"0":{"268":1,"273":1,"274":1,"308":1},"1":{"269":1,"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1}}],["😎",{"2":{"260":1,"328":1}}],["🔥",{"0":{"248":1,"261":1,"358":1}}],["📄",{"0":{"240":1}}],["📃",{"0":{"239":1}}],["🔎",{"0":{"238":1}}],["📜",{"0":{"227":1}}],["📒",{"0":{"226":1,"233":1},"1":{"234":1,"235":1,"236":1}}],["👛",{"0":{"218":1}}],["🟢",{"0":{"217":1,"309":1,"374":1},"1":{"218":1,"219":1,"220":1,"221":1,"222":1,"223":1}}],["🚧",{"2":{"204":1}}],["🔆",{"2":{"204":1}}],["🛩️",{"2":{"204":1}}],["📫",{"2":{"204":1}}],["🙈",{"2":{"204":1}}],["💥",{"0":{"193":1}}],["📖",{"0":{"192":1,"211":1,"356":1}}],["👉",{"2":{"191":2}}],["👇",{"2":{"189":1}}],["🔑",{"0":{"189":1}}],["🛥️",{"0":{"188":1}}],["🟡",{"2":{"173":2}}],["🗞️",{"0":{"151":1,"230":1,"362":1},"1":{"152":1,"153":1,"154":1,"155":1,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1}}],["💸",{"0":{"125":1,"291":1}}],["🚀",{"0":{"123":1,"232":1,"236":1,"244":1,"275":1,"276":1,"290":1,"299":1,"310":1,"311":1,"333":1,"375":1},"2":{"214":1}}],["📦",{"0":{"119":1,"187":1,"293":1,"297":1,"332":1,"372":1}}],["🛠️",{"0":{"118":1,"122":1,"213":1,"247":1,"260":1,"270":1,"272":1,"289":1,"305":1,"307":1,"361":1},"1":{"214":1,"215":1,"216":1,"271":1,"273":1,"274":1,"275":1,"306":1,"308":1,"309":1,"310":1,"362":1},"2":{"204":1}}],["🛢️",{"0":{"101":1}}],["🔁",{"0":{"100":1}}],["🛑",{"0":{"98":1,"194":1,"301":1}}],["💰",{"0":{"97":1}}],["🟠",{"0":{"96":1}}],["🔄",{"0":{"93":1},"1":{"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1}}],["💻",{"0":{"64":1,"91":1,"155":1,"212":1,"231":1,"269":1,"271":1,"304":1,"306":1,"355":1},"1":{"65":1},"2":{"204":1}}],["|jq",{"2":{"329":1}}],["||",{"2":{"232":2,"290":2,"310":2}}],["|",{"2":{"66":1,"81":1,"110":1,"118":1,"119":1,"120":1,"121":1,"124":2,"125":2,"201":1,"215":1,"222":1,"232":1,"236":1,"238":1,"240":1,"247":1,"252":1,"260":1,"273":2,"279":1,"290":1,"309":1,"311":1,"318":1,"329":1,"332":1,"345":2,"355":1,"358":1,"375":1}}],["≥",{"2":{"65":2}}],["└──",{"2":{"51":2}}],["├──",{"2":{"51":5}}],["`date",{"2":{"219":1}}],["`nodejs",{"2":{"214":1}}],["```bash",{"2":{"214":4}}],["```",{"2":{"214":5}}],["`",{"2":{"48":1,"219":1}}],["01",{"2":{"370":1,"371":2}}],["01|09",{"2":{"333":6}}],["05",{"2":{"333":6}}],["05bd40e",{"2":{"290":3}}],["082",{"2":{"333":1}}],["081",{"2":{"333":1}}],["080",{"2":{"333":1}}],["080998z",{"2":{"75":1}}],["080992z",{"2":{"75":1}}],["080924z",{"2":{"75":1}}],["089b9be758464668857fa46c2187bfe3",{"2":{"311":2}}],["03",{"2":{"299":1}}],["036da1ab230a4ce8654358f77cb426ba2f8ef9b81ea06faca32085b0b0d25c2a",{"2":{"184":2}}],["0`",{"2":{"214":1}}],["09bdf1e94862",{"2":{"311":1}}],["09",{"2":{"265":1}}],["09am",{"2":{"188":4}}],["09t15",{"2":{"184":2}}],["0xa174e9389633972458e6dce431d84736e0709e9406c1c3b14b5fa9ae0cdd6860",{"2":{"282":1,"323":1}}],["0xa06a4585af436e2271fc9f697488ce49771c6480e72caac76739e286564c0fc3",{"2":{"137":1}}],["0xfffdbb37105441e14b0ee6330d855d8504ff39e705c3afa8f859ac9865f99306",{"2":{"280":1,"321":1}}],["0x123450000000000000000",{"2":{"205":1}}],["0x12345000000000000000000",{"2":{"205":1}}],["0x18df82c7e422a42d47345ed86b0e935e9718ebda",{"2":{"282":1,"323":1}}],["0x18d",{"2":{"191":1}}],["0x0",{"2":{"205":1}}],["0x0000000000000000",{"2":{"205":1}}],["0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",{"2":{"138":1}}],["0x000000",{"2":{"204":1}}],["0x9fcebd70654d360b41ccd123dadaaad6ce13c788",{"2":{"191":1}}],["0x58096aabd3cb58bdef28501bda01b6cf4a37ed0ba482f81462bc1043bb91f996",{"2":{"138":1}}],["0x5c59c83c099f72fce832208f96a23a1e43737a14",{"2":{"137":2,"138":1}}],["0x20f33ce90a13a4b5e7697e3544c3083b8f8a51d4",{"2":{"138":1,"205":1,"280":1,"321":1}}],["0xbbd872d0c37fe889c2456daf80505c20f262b001842d919d06e48c163319af3d",{"2":{"138":1}}],["002",{"2":{"333":2}}],["002924172006823068",{"2":{"137":1}}],["001",{"2":{"333":1}}],["001528707003566983",{"2":{"282":1,"323":1}}],["000001",{"2":{"217":1}}],["000000506f6c61726973",{"2":{"328":1}}],["000000",{"2":{"204":1}}],["00000000000000000000000000000000000000000008e5f679bf7116cb",{"2":{"260":2}}],["0000000000000000000000000000000000000000000000000000000000000000",{"2":{"184":1}}],["000000000000000000000000000000000000b7b24d9321578eb83626",{"2":{"184":1}}],["000000007",{"2":{"137":1,"282":1,"323":1}}],["00",{"2":{"137":3,"232":6,"282":3,"290":8,"310":13,"323":3}}],["069040z",{"2":{"75":1}}],["062667z",{"2":{"75":1}}],["062649z",{"2":{"75":1}}],["078583z",{"2":{"75":1}}],["070389z",{"2":{"75":1}}],["070364z",{"2":{"75":1}}],["07",{"2":{"75":8,"232":5,"290":8,"299":1,"310":13,"341":1}}],["04",{"2":{"75":5,"184":2,"232":5,"290":8,"310":13,"341":1}}],["025uwasm",{"2":{"236":1,"239":1,"240":1}}],["025stake",{"2":{"37":1,"38":1,"123":1,"124":1,"248":1}}],["02t11",{"2":{"232":1,"290":8}}],["02ibc",{"2":{"123":1,"125":1}}],["02",{"2":{"75":13,"290":1,"370":1,"371":2}}],["0s",{"2":{"73":2,"124":2,"137":1,"282":1,"323":1}}],["0",{"2":{"37":9,"38":9,"42":1,"45":1,"48":1,"59":2,"60":14,"65":2,"66":2,"68":1,"73":2,"75":12,"77":2,"79":1,"89":1,"92":1,"108":2,"123":9,"124":7,"125":2,"137":4,"138":1,"167":4,"184":6,"214":3,"224":2,"226":5,"228":2,"229":6,"231":1,"232":49,"234":2,"235":1,"236":3,"238":5,"239":3,"240":21,"244":2,"248":2,"271":1,"274":8,"276":8,"282":4,"289":1,"290":42,"291":1,"292":2,"299":2,"300":2,"303":1,"309":4,"310":5,"311":32,"315":1,"323":4,"328":3,"339":4,"350":1,"353":1,"371":1,"375":5}}],["xyz",{"2":{"215":1,"279":1,"318":1}}],["xzf",{"2":{"214":1}}],["x",{"2":{"137":1,"139":1,"240":1,"282":1,"323":1,"327":1,"360":2,"370":2,"371":2,"372":1}}],["x26",{"2":{"36":2,"37":2,"42":1,"46":3,"48":2,"97":2,"120":2,"122":2,"201":2,"202":2,"213":2,"236":2,"245":2,"246":2,"273":6,"284":2,"317":2,"319":2,"322":2,"325":2,"329":2,"370":1,"371":2,"374":2}}],["x3c",{"2":{"25":1,"46":4,"48":1,"89":1,"97":1,"114":5,"135":1,"205":1,"228":2,"229":1,"244":1,"285":1,"300":1,"326":1}}],[">26657",{"2":{"290":1,"311":1}}],[">50051",{"2":{"276":1}}],[">9730",{"2":{"232":1,"290":1,"311":1}}],[">9779",{"2":{"232":1,"290":1,"311":1}}],[">9710",{"2":{"232":1,"290":1,"311":1}}],[">9290",{"2":{"232":1}}],[">8081",{"2":{"232":1,"290":1,"311":1}}],[">7443",{"2":{"232":1,"290":1,"311":1}}],[">7980",{"2":{"232":1,"276":1,"290":1,"311":1}}],[">36656",{"2":{"232":1}}],[">>",{"2":{"37":1,"214":2}}],[">",{"2":{"36":1,"46":2,"48":2,"124":1,"214":2,"232":6,"290":4,"310":4}}],["=nil",{"2":{"371":1}}],["=====================================================",{"2":{"310":2}}],["======================================================",{"2":{"232":2,"290":2}}],["==========================================",{"2":{"232":2,"290":2,"310":2}}],["=========================================",{"2":{"232":2,"290":2,"310":2}}],["==",{"2":{"137":2,"282":2,"323":2,"371":2}}],["=>",{"2":{"124":5,"125":1}}],["=",{"2":{"36":1,"42":1,"45":2,"46":4,"48":8,"51":1,"58":2,"95":1,"112":2,"122":2,"134":8,"226":6,"240":4,"244":5,"309":5,"315":1,"370":15,"371":21,"372":2}}],["~",{"2":{"36":4,"112":1,"137":2,"189":1,"214":4,"225":1,"235":1,"374":1,"375":1}}],["jcstein",{"2":{"322":1}}],["jit",{"2":{"193":1}}],["join",{"2":{"134":1,"192":1,"309":1}}],["journey",{"2":{"42":1}}],["js",{"2":{"123":1,"214":1,"376":1}}],["jsonrpc",{"2":{"184":1,"232":1,"290":2,"309":2,"310":2}}],["json",{"2":{"36":7,"47":1,"58":2,"60":1,"73":2,"124":2,"125":2,"133":1,"134":3,"167":2,"184":2,"191":1,"205":1,"236":1,"238":3,"240":4,"284":3,"325":3,"333":4,"375":3}}],["jump",{"2":{"236":1}}],["jul",{"2":{"232":1,"290":1,"310":1}}],["juno",{"2":{"48":1}}],["just",{"2":{"7":1,"10":1,"71":1,"117":1,"135":1,"139":1,"145":1,"186":1,"235":1,"244":1,"274":1,"288":1,"291":1,"307":1,"309":1,"321":1,"327":1,"339":1}}],["jq",{"2":{"36":3,"121":3,"124":1,"125":2,"199":1,"213":1,"222":1,"236":1,"238":1,"240":1,"247":1,"260":1,"273":1,"329":1,"375":1}}],["9db601efd92b",{"2":{"290":1}}],["9d5c710cd64d031752a7db86e09c8ea8ce4cae4e30878c6d0487c57806060a47",{"2":{"184":2}}],["9731",{"2":{"232":2,"290":2,"311":2}}],["9730",{"2":{"232":1,"290":1,"311":1}}],["9779",{"2":{"232":1,"290":1,"311":1}}],["9711",{"2":{"232":2,"290":2,"311":2}}],["9710",{"2":{"232":1,"290":1,"311":1}}],["974724",{"2":{"137":1}}],["96d04bc472c9",{"2":{"232":1}}],["96d04bc472c9455d88d046128fbdefa6",{"2":{"232":3}}],["90",{"2":{"231":1,"232":2,"289":1,"290":2,"311":2}}],["9090",{"2":{"66":2,"316":2}}],["9545",{"2":{"228":2}}],["93036ms",{"2":{"204":1}}],["9390",{"2":{"60":1}}],["990942dc84ab",{"2":{"290":1}}],["990942dc84ab4b3ab2c8d64002a5bafa",{"2":{"290":3}}],["99957931",{"2":{"292":1}}],["999",{"2":{"239":1}}],["999uwasm",{"2":{"239":1}}],["9999999999999999989995000",{"2":{"124":1}}],["9999999999999999999897679",{"2":{"78":1}}],["99ms",{"2":{"137":1}}],["991rcctqc5l4px95k6tdg4pjrms70m2a9t35rl50t",{"2":{"108":1}}],["991hesf7xgmjwttag2n2wzk43rvxh47nn4ckh3e6s",{"2":{"108":1}}],["9290",{"2":{"37":1,"38":1,"123":1,"232":3,"290":1}}],["9",{"0":{"36":1},"2":{"214":1,"226":2,"232":1,"290":1,"311":1}}],["86f9bfa5b6d2",{"2":{"276":1}}],["8kyecn9mzv8ghjspkrde",{"2":{"260":1}}],["80",{"2":{"232":1,"290":1,"311":1}}],["8081",{"2":{"232":1,"290":1,"311":1}}],["80085",{"2":{"137":1}}],["8000",{"2":{"101":1,"244":1,"247":2,"282":1,"299":1,"300":1}}],["8bfee95b49ee",{"2":{"232":1}}],["8cd936e91ada45beab50f0d19be8c57f",{"2":{"232":2}}],["8cd936e91ada",{"2":{"232":1}}],["8510",{"2":{"226":1}}],["8545",{"2":{"137":1,"191":1,"203":1,"229":3,"282":1,"323":1}}],["8547",{"2":{"60":1}}],["8gb",{"2":{"212":1}}],["843",{"2":{"352":1}}],["842",{"2":{"254":1}}],["846",{"2":{"94":1}}],["845",{"2":{"94":7}}],["8",{"0":{"35":1},"2":{"137":3,"224":1,"226":6,"227":1,"273":1,"282":2,"308":1,"323":2}}],["636",{"2":{"341":2,"347":2}}],["655",{"2":{"299":1}}],["6510stake",{"2":{"75":1}}],["677caf6c80b85acef6f9ec7906fb3cb021322aac78b015fa07d5112f2f824bff",{"2":{"291":1}}],["67a2c3058e01",{"2":{"276":1}}],["682",{"2":{"282":1,"323":1}}],["62da89015918",{"2":{"232":1}}],["6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d",{"2":{"184":1}}],["64ba6e31fe887d66c6f8f31c7b1a80c7ca179239677b4088bb55f5ea07dbe273",{"2":{"77":1,"78":1}}],["698",{"2":{"341":1}}],["69",{"2":{"75":1}}],["61",{"2":{"75":1}}],["6",{"0":{"33":1},"2":{"66":1,"214":1,"232":2,"235":1,"290":1,"311":14,"316":1,"356":3,"371":5}}],["$wordle",{"2":{"311":3}}],["$da",{"2":{"247":1,"248":1,"260":1,"261":3}}],["$name",{"2":{"240":1}}],["$namespace",{"2":{"224":1}}],["$receiver",{"2":{"285":1,"326":1}}],["$register",{"2":{"240":1}}],["$rpc",{"2":{"137":2,"138":2,"228":3,"282":2,"283":2,"285":1,"323":2,"324":2,"326":1}}],["$init",{"2":{"239":1}}],["$hash",{"2":{"222":2}}],["$home",{"2":{"66":1,"68":1,"72":1,"73":1,"97":1,"121":1,"124":4,"133":1,"136":1,"137":1,"138":1,"201":1,"202":1,"203":1,"204":1,"205":1,"214":5,"245":2,"246":2,"273":1,"281":1,"284":2,"317":1,"319":1,"322":1,"325":2,"328":1,"329":2,"330":1}}],["$flags",{"2":{"221":1,"222":2}}],["$cw",{"2":{"232":2,"236":2}}],["$code",{"2":{"238":2,"239":1,"240":2}}],["$coinbase",{"2":{"219":1}}],["$contract",{"2":{"138":2,"228":2,"229":2,"240":5,"283":2,"324":2}}],["$calldata",{"2":{"138":2}}],["$channel",{"2":{"77":1,"78":1,"124":1}}],["$chain",{"2":{"31":1,"34":1}}],["$tx",{"2":{"125":1,"236":1,"238":1,"375":1}}],["$token",{"2":{"33":1}}],["$auth",{"2":{"260":3,"261":1,"329":1}}],["$anvil",{"2":{"228":2}}],["$account",{"2":{"124":1,"125":2}}],["$address",{"2":{"36":1,"219":1}}],["$gm",{"2":{"78":3,"290":2,"291":1}}],["$osmo",{"2":{"77":2}}],["$private",{"2":{"137":2,"138":2,"229":2,"282":2,"283":1,"285":1,"323":2,"324":1,"326":1}}],["$p2p",{"2":{"60":1}}],["$pubkey",{"2":{"36":1}}],["$pub",{"2":{"36":1}}],["$staking",{"2":{"34":1}}],["$key1",{"2":{"291":1,"292":1}}],["$key2",{"2":{"291":1,"292":1}}],["$key",{"2":{"32":1,"33":1,"34":1}}],["$validator",{"2":{"31":1}}],["$",{"2":{"28":1,"124":3,"125":1,"223":1,"235":3,"245":1,"329":1}}],["33",{"2":{"341":2,"347":2}}],["33pm",{"2":{"61":2}}],["35",{"2":{"247":1}}],["322264",{"2":{"244":1}}],["38000",{"2":{"244":1}}],["364",{"2":{"240":1}}],["36656",{"2":{"37":1,"38":1,"59":1,"232":3}}],["36657",{"2":{"37":1,"38":1,"73":1,"77":1,"78":2,"108":1,"232":5,"236":1,"238":2,"239":1,"240":6}}],["31",{"2":{"232":1,"290":1,"311":1}}],["310493z",{"2":{"75":1}}],["39eb05e1c693",{"2":{"290":1}}],["39",{"2":{"232":6,"310":3}}],["390kb",{"2":{"14":1}}],["3b5a25b",{"2":{"232":1}}],["3️",{"0":{"154":1}}],["3",{"0":{"30":1,"108":1,"113":1},"1":{"114":1},"2":{"66":2,"129":1,"137":1,"193":1,"226":3,"232":7,"236":1,"239":1,"240":1,"276":3,"282":1,"290":1,"306":1,"309":1,"323":1,"360":1}}],["3000",{"2":{"248":1,"294":1}}],["3000000007",{"2":{"138":1}}],["300397z",{"2":{"75":1}}],["30s",{"2":{"19":1}}],["30",{"2":{"19":1}}],["kv",{"2":{"370":2}}],["k",{"2":{"370":4,"371":6}}],["kzg",{"2":{"242":1}}],["kurtos",{"2":{"232":1,"290":1,"311":1}}],["kurtosistech",{"2":{"232":2,"290":2,"311":2}}],["kurtosis",{"0":{"303":1,"306":1,"309":1},"1":{"304":1,"305":1,"306":1,"307":1,"308":1,"309":1,"310":1,"311":1,"312":1},"2":{"231":3,"232":9,"289":3,"290":9,"294":1,"303":3,"306":2,"307":3,"309":6,"310":5,"311":7,"312":1}}],["knowledge",{"2":{"128":1,"195":1,"210":1,"242":1}}],["know",{"0":{"192":1},"2":{"91":1,"155":1,"277":1,"278":1,"312":1}}],["keplr",{"0":{"185":1},"2":{"185":3,"293":1,"294":3}}],["keyfile=",{"2":{"333":1}}],["key2=gm1r2udsh4za7r7sxvzy496qfazvjp04j4zgytve3",{"2":{"291":1}}],["key1=gm17rpwv7lnk96ka00v93rphhvcqqztpn896q0dxx",{"2":{"291":1}}],["keyinfo",{"2":{"189":1}}],["key>",{"2":{"135":1,"228":1}}],["key=0xfffdbb37105441e14b0ee6330d855d8504ff39e705c3afa8f859ac9865f99306",{"2":{"137":1,"282":1,"323":1}}],["key=",{"2":{"135":1,"228":1}}],["key=gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy",{"2":{"77":1}}],["key=osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll",{"2":{"77":1}}],["key=$",{"2":{"36":1,"229":1}}],["keys",{"2":{"32":1,"73":2,"74":3,"77":1,"124":8,"125":1,"193":1,"228":3,"229":1,"291":3}}],["keyring",{"0":{"32":1},"2":{"32":2,"33":1,"34":1,"73":2,"77":1,"97":1,"108":1,"124":5,"125":2,"189":1,"229":1,"236":1,"239":1,"240":1,"291":2,"375":5}}],["key",{"0":{"32":1},"2":{"28":2,"32":1,"36":5,"60":1,"69":2,"70":2,"73":4,"77":5,"78":3,"97":2,"124":7,"125":1,"129":1,"135":1,"137":5,"138":4,"184":1,"189":5,"191":2,"193":1,"228":5,"229":8,"236":1,"238":1,"239":1,"240":3,"280":1,"282":5,"283":2,"285":4,"291":2,"292":2,"321":1,"323":5,"324":2,"326":4,"333":3,"351":1,"356":1,"369":1,"370":1,"375":1}}],["keepers",{"2":{"369":1,"372":1}}],["keeper",{"0":{"369":1},"1":{"370":1,"371":1,"372":1},"2":{"240":2,"369":5,"370":3,"371":3,"372":1}}],["keep",{"2":{"18":1,"71":1,"79":1,"97":1,"138":1,"162":1,"273":1,"363":1}}],["kit",{"2":{"202":2,"203":1,"204":1,"205":1}}],["kickstarted",{"2":{"374":1}}],["kicking",{"2":{"191":1}}],["kicked",{"2":{"14":1}}],["kinds",{"2":{"364":1}}],["kind",{"2":{"10":1}}],["40",{"2":{"310":1}}],["4039stake",{"2":{"108":1}}],["45",{"2":{"290":1}}],["45am",{"2":{"204":25}}],["49dd471ac3bb413d96932d4020c20b21",{"2":{"290":2}}],["49dd471ac3bb",{"2":{"290":1}}],["4980",{"2":{"221":1}}],["41",{"2":{"265":1}}],["43",{"2":{"232":1,"290":2,"310":3}}],["46",{"2":{"290":7,"310":3,"333":6}}],["464427035z",{"2":{"184":2}}],["46656",{"2":{"60":1}}],["46657",{"2":{"60":1,"69":1,"73":1,"77":1,"78":1}}],["48",{"2":{"184":2,"310":1}}],["443mb",{"2":{"273":1,"308":1}}],["443",{"2":{"124":1}}],["42069$ibc",{"2":{"78":1}}],["42069",{"2":{"77":1,"291":1,"292":1}}],["42069stake",{"2":{"77":1,"291":1}}],["4762stake",{"2":{"75":1}}],["47",{"2":{"72":1}}],["4mb",{"2":{"14":1}}],["4",{"0":{"31":1},"2":{"14":1,"72":3,"96":3,"124":11,"212":1,"311":1,"328":3}}],["58",{"2":{"333":6}}],["58pm",{"2":{"320":10}}],["5a969765174a",{"2":{"310":1}}],["5a969765174a47ada0727bd68e087f36",{"2":{"310":1,"311":2}}],["56pm",{"2":{"311":6}}],["56",{"2":{"310":14}}],["5699",{"2":{"137":1}}],["59855",{"2":{"290":1}}],["59s",{"2":{"226":1}}],["5d3533c1ea1c",{"2":{"273":1,"308":1}}],["54",{"2":{"254":1,"310":3,"352":1}}],["57pm",{"2":{"311":6}}],["57050",{"2":{"311":1}}],["57",{"2":{"242":1}}],["55500",{"2":{"232":1}}],["55pm",{"2":{"59":1,"232":7}}],["5bfeda0a871f",{"2":{"232":1}}],["53",{"2":{"232":5}}],["52s",{"2":{"282":1,"323":1}}],["52",{"2":{"94":8}}],["51",{"2":{"290":2}}],["51pm",{"2":{"96":4}}],["5183",{"2":{"73":1,"124":1}}],["5112",{"2":{"63":1}}],["509569",{"2":{"282":1,"323":1}}],["50051",{"2":{"274":3,"276":1,"339":1,"341":3,"345":1,"347":3,"352":1}}],["500uosmo",{"2":{"78":1}}],["5000stake",{"2":{"77":1,"108":1,"124":1,"291":1}}],["50",{"2":{"66":1,"184":2,"290":5}}],["5",{"0":{"32":1},"2":{"12":1,"72":1,"73":2,"102":1,"124":3,"232":1,"310":1,"311":2,"370":4,"371":4,"375":1}}],["uwasm",{"2":{"239":2}}],["uuid",{"2":{"232":5,"290":5,"310":5}}],["ui",{"0":{"293":1},"2":{"293":1,"294":1,"376":1}}],["uiiny",{"2":{"184":1}}],["uint256",{"2":{"138":8}}],["uint",{"2":{"92":1}}],["uri",{"2":{"167":1,"244":1}}],["url=http",{"2":{"137":1,"228":1,"282":1,"299":1,"323":1}}],["url",{"2":{"137":5,"138":4,"191":1,"228":7,"229":3,"247":1,"278":1,"282":5,"283":4,"285":2,"300":1,"323":5,"324":4,"326":2}}],["ubuntu",{"2":{"121":1,"212":2}}],["utia",{"2":{"101":1,"123":1}}],["utilizing",{"2":{"140":1}}],["utilization",{"2":{"14":1}}],["utilized",{"2":{"148":1}}],["utilizes",{"2":{"117":1,"288":1}}],["utilize",{"2":{"9":1,"10":1,"148":1,"173":1}}],["utest",{"2":{"77":1}}],["uosmo",{"2":{"77":1}}],["updating",{"0":{"226":1,"227":1}}],["updates",{"2":{"208":1}}],["updates=0",{"2":{"94":2,"123":1,"188":1,"204":1,"232":2,"290":1,"311":3,"320":1,"333":1}}],["updated",{"2":{"166":1,"182":1,"294":1,"353":1,"371":2}}],["update",{"0":{"284":1,"325":1},"2":{"58":1,"176":1,"204":3,"213":2,"214":1,"226":2,"227":1,"273":2,"284":1,"309":1,"314":1,"325":1}}],["upon",{"2":{"124":2,"299":1,"333":1}}],["uploading",{"2":{"290":1,"310":1}}],["uploadable",{"2":{"46":1}}],["upload",{"2":{"42":1,"48":1,"133":2,"135":1,"290":1,"310":1}}],["up",{"0":{"41":1,"57":1,"59":1,"130":1,"252":1,"272":1,"307":1,"345":1,"361":1},"1":{"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"58":1,"59":1,"60":1,"273":1,"274":1,"275":1,"308":1,"309":1,"310":1,"362":1},"2":{"14":1,"19":1,"20":1,"24":1,"27":1,"29":1,"39":1,"43":1,"55":1,"62":1,"71":1,"86":1,"87":1,"95":1,"108":1,"113":1,"120":1,"137":1,"140":1,"166":1,"173":2,"186":1,"188":2,"195":1,"201":1,"206":1,"208":1,"210":2,"211":1,"216":1,"217":1,"218":1,"232":7,"239":1,"242":1,"252":1,"255":1,"260":1,"273":3,"274":1,"275":1,"276":3,"278":1,"290":8,"294":1,"296":1,"299":1,"301":1,"302":1,"308":2,"309":2,"311":7,"314":1,"334":1,"342":1,"345":1,"348":1,"356":1,"359":1,"361":1,"370":2,"371":2}}],["upstream",{"2":{"9":1,"161":1}}],["upgrade",{"2":{"13":1,"14":1,"211":1,"213":2}}],["upgradeable",{"2":{"8":1}}],["upgrades",{"2":{"8":1}}],["unicode",{"2":{"370":2}}],["unified",{"2":{"141":1}}],["undelegating",{"2":{"364":1}}],["underpins",{"2":{"242":1}}],["under",{"2":{"112":2,"172":1,"207":1,"337":1}}],["understanding",{"2":{"117":1,"191":1,"192":1,"210":1,"266":1,"288":2}}],["understand",{"2":{"24":1,"90":1,"111":1,"157":1,"191":1,"267":1,"363":1}}],["unknown",{"2":{"240":3}}],["unpacked",{"2":{"219":1}}],["unstoppable",{"2":{"156":2}}],["unsafe",{"2":{"30":1,"229":1}}],["unlikely",{"2":{"144":1}}],["unlike",{"2":{"117":1,"288":1}}],["unable",{"2":{"95":1}}],["until",{"2":{"79":1}}],["unordered",{"2":{"75":1}}],["unwrapsdkcontext",{"2":{"370":1,"371":1}}],["unwrap",{"2":{"46":1}}],["unwind",{"2":{"8":1}}],["unconstrained",{"2":{"7":1}}],["usr",{"2":{"214":3,"235":1,"273":1}}],["us",{"2":{"91":1,"108":1,"134":1,"155":1,"232":1,"234":1,"238":1,"240":1,"272":1,"290":1,"307":1,"310":1,"358":1,"365":1,"368":1,"369":2,"370":1,"371":2}}],["usage",{"2":{"13":1,"14":1,"46":1,"47":1,"124":1,"211":1}}],["using",{"0":{"48":1,"113":1,"124":1,"130":1,"241":1,"244":1,"250":1,"256":1,"319":1},"1":{"114":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"251":1,"252":1,"253":1,"254":1,"255":1,"257":1,"258":1,"259":1,"260":1,"261":1,"262":1},"2":{"7":2,"13":1,"17":1,"39":1,"42":1,"43":1,"44":1,"46":1,"50":1,"51":1,"52":1,"69":1,"73":1,"75":1,"80":1,"84":1,"87":1,"95":2,"98":1,"109":1,"113":1,"117":2,"121":1,"123":2,"125":1,"128":2,"129":1,"130":1,"138":1,"139":1,"161":1,"162":1,"163":2,"167":1,"169":1,"186":1,"189":1,"195":1,"197":2,"206":1,"210":2,"226":2,"227":1,"230":1,"237":2,"240":1,"244":2,"247":1,"251":1,"258":1,"260":3,"261":1,"267":1,"268":1,"276":2,"277":1,"288":1,"290":1,"295":1,"296":1,"298":1,"303":1,"311":1,"312":1,"314":1,"315":1,"327":4,"328":1,"331":1,"334":1,"338":1,"339":1,"344":1,"358":1,"364":1,"370":1,"375":1,"376":2,"377":1}}],["user",{"2":{"182":2,"224":1,"232":1,"290":1,"293":1,"295":1,"310":1,"364":1}}],["users",{"2":{"3":1,"139":1,"145":1,"158":1,"172":2,"178":1,"182":1,"290":1,"310":1,"358":1}}],["useful",{"2":{"46":1,"47":1,"255":1,"334":1}}],["uses",{"2":{"16":1,"61":1,"111":1,"117":1,"118":1,"126":1,"141":1,"143":1,"169":1,"175":1,"184":1,"226":1,"263":1,"314":1,"358":1,"370":1,"371":1}}],["use",{"0":{"80":1,"89":1,"109":1,"116":1,"146":1,"150":1},"1":{"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"147":1,"148":1,"149":1},"2":{"5":1,"9":3,"10":1,"12":1,"14":1,"16":1,"24":1,"25":1,"39":1,"45":1,"46":2,"47":1,"48":4,"49":1,"51":2,"53":1,"60":1,"63":2,"66":1,"79":1,"83":1,"86":1,"89":2,"90":5,"140":1,"141":1,"147":2,"160":1,"169":1,"176":1,"178":1,"188":1,"189":1,"191":3,"193":5,"194":1,"205":1,"210":1,"211":1,"214":1,"223":1,"227":1,"228":2,"229":1,"230":2,"231":1,"234":1,"236":3,"237":2,"242":1,"263":1,"265":1,"266":1,"267":1,"272":2,"274":7,"282":1,"285":1,"289":2,"300":2,"301":1,"303":1,"307":2,"309":1,"314":1,"323":1,"326":1,"328":2,"338":2,"350":1,"352":1,"354":1,"359":1,"370":1,"371":1,"374":1}}],["used",{"2":{"3":1,"7":1,"9":2,"14":1,"16":1,"17":1,"29":1,"40":1,"48":2,"50":1,"61":1,"75":5,"79":2,"89":1,"92":1,"94":2,"131":1,"138":1,"141":1,"145":1,"146":1,"160":1,"168":1,"169":1,"173":1,"184":2,"191":1,"220":1,"232":1,"240":2,"248":1,"260":1,"263":1,"265":1,"267":1,"274":2,"276":1,"280":1,"290":1,"310":1,"311":2,"314":1,"327":1,"350":1,"352":1,"367":1,"371":1,"375":1}}],["2s",{"2":{"339":1}}],["2e8da9bdf81f",{"2":{"311":1}}],["2b50989f65cd",{"2":{"311":1}}],["27",{"2":{"232":3}}],["2️",{"0":{"153":1}}],["2x",{"2":{"79":1}}],["24ms",{"2":{"226":1}}],["24",{"2":{"75":3,"137":2,"184":1,"356":1}}],["24023uosmo",{"2":{"75":1}}],["29",{"2":{"299":1}}],["296353z",{"2":{"75":1}}],["293348z",{"2":{"75":1}}],["231649",{"2":{"138":2}}],["23",{"2":{"75":1,"271":1}}],["22",{"2":{"75":13,"212":1,"299":1,"341":2,"347":2}}],["2006",{"2":{"370":1,"371":2}}],["200000",{"2":{"291":1,"375":1}}],["2061",{"2":{"282":1,"323":1}}],["20b",{"2":{"204":1}}],["2020",{"2":{"232":1,"290":1,"311":1}}],["2024",{"2":{"75":12,"94":8,"184":2,"232":6,"254":1,"265":1,"290":9,"310":14,"333":6,"341":3,"347":2,"352":1}}],["2023",{"2":{"12":1,"14":1}}],["20s",{"2":{"73":2,"124":2}}],["20",{"2":{"73":1,"123":1,"124":1,"137":1,"260":1,"282":2,"299":1,"323":2}}],["259b1278264180a2aefc2085f1b55753849c4815",{"2":{"72":1}}],["26650",{"2":{"316":2,"328":3}}],["26659",{"2":{"66":2,"316":2,"328":2}}],["26658",{"2":{"66":2,"260":2,"265":1,"316":2,"328":2,"339":1}}],["26657",{"2":{"66":2,"123":1,"124":1,"167":2,"290":5,"310":2,"311":1,"316":2}}],["26656",{"2":{"60":1,"123":2,"290":2}}],["2127672",{"2":{"260":1}}],["21pm",{"2":{"123":24,"290":24}}],["21",{"2":{"45":1,"65":1,"72":1,"315":1}}],["2",{"0":{"29":1,"107":1,"111":1,"144":1},"1":{"112":1},"2":{"7":1,"45":1,"50":1,"61":2,"65":1,"66":1,"72":3,"79":1,"87":1,"124":5,"125":1,"138":9,"184":2,"193":1,"226":1,"232":5,"234":2,"273":1,"276":1,"290":10,"307":1,"310":2,"311":2,"365":1,"372":1,"374":1}}],["1ether",{"2":{"285":1,"326":1}}],["1eb6366a5e16",{"2":{"232":1}}],["17",{"2":{"226":4,"311":1}}],["172",{"2":{"123":1,"232":2,"290":1,"310":1}}],["17|14",{"2":{"94":8}}],["171590",{"2":{"75":1}}],["1utia",{"2":{"79":1}}],["1uosmo",{"2":{"73":1}}],["198f7873bbec",{"2":{"290":1}}],["19",{"2":{"75":1,"95":3,"96":3,"99":1,"214":1,"254":1,"311":2,"352":1}}],["14",{"2":{"75":1,"303":1,"310":1,"311":2,"350":1,"353":1}}],["18332",{"2":{"224":1}}],["18177uosmo",{"2":{"75":1}}],["18",{"2":{"75":1,"226":1,"282":1,"311":3,"323":1}}],["15|16",{"2":{"341":1}}],["15|15",{"2":{"341":2,"347":2}}],["15|14",{"2":{"254":1,"265":1,"352":1}}],["1594",{"2":{"314":1}}],["15s",{"2":{"184":1}}],["15utia",{"2":{"124":1}}],["150",{"2":{"124":1}}],["15",{"2":{"75":1,"106":1,"232":1,"247":1,"260":1,"290":9}}],["15t09",{"2":{"75":13}}],["16t14",{"2":{"310":13}}],["1657ab3f1c3942658a3993a0e3b54327",{"2":{"290":2}}],["165662",{"2":{"75":1}}],["167533",{"2":{"240":1}}],["16",{"2":{"214":6,"232":2,"310":2}}],["160",{"2":{"212":1}}],["162",{"2":{"123":1,"290":1}}],["163",{"2":{"123":1,"290":1}}],["1632",{"2":{"63":1}}],["13285",{"2":{"226":1}}],["1317",{"2":{"184":1}}],["1318",{"2":{"60":1}}],["13",{"2":{"66":2,"89":1,"94":4,"137":1,"184":1,"226":2,"227":1,"232":1,"311":2}}],["12345",{"2":{"375":1}}],["123809",{"2":{"240":1}}],["12350",{"2":{"226":1}}],["12d3koowsicdpmmtlf9fjbsshzc9uvp1cbnqkppbyvbgxhvbhauy",{"2":{"123":2,"290":2}}],["12d3koowjbd9tqomsssuyfhhmmgvy3lqcjxyfz8wq92qa6daqtmh",{"2":{"59":2}}],["124972",{"2":{"75":1}}],["126689",{"2":{"75":1}}],["12",{"2":{"75":1,"94":4,"123":23,"226":2,"235":1,"290":24,"316":1,"328":1}}],["127",{"2":{"37":2,"38":2,"59":1,"60":5,"108":1,"123":1,"167":2,"224":1,"228":1,"229":3,"232":4,"236":1,"238":2,"239":1,"240":6,"244":1,"290":3,"299":1,"300":1,"310":2}}],["11t11",{"2":{"232":4}}],["11544",{"2":{"138":1}}],["118",{"2":{"73":2,"124":2}}],["11",{"0":{"38":1},"2":{"184":1,"204":25,"232":2,"254":1,"265":1,"276":1,"290":1,"341":3,"347":2,"352":1}}],["101",{"2":{"137":1,"219":2}}],["10+",{"2":{"129":1}}],["109",{"2":{"123":1,"290":1}}],["10s",{"2":{"73":1,"124":1,"184":1}}],["10",{"0":{"37":1},"2":{"75":1,"94":8,"212":1,"226":3,"227":1,"232":1,"260":3,"290":1,"311":1,"328":2}}],["100uwasm",{"2":{"239":1,"240":1}}],["1000000urosm",{"2":{"184":1}}],["1000000utia",{"2":{"124":1}}],["10000000utia",{"2":{"124":1}}],["10000000stake",{"2":{"124":2}}],["100000000999876914",{"2":{"77":1}}],["100000000000000",{"2":{"77":1}}],["10000000000000000000000000stake",{"2":{"28":1}}],["1000000000stake",{"2":{"28":1}}],["1000000stake",{"2":{"77":1}}],["1000000",{"2":{"73":2,"124":1}}],["100000",{"2":{"73":2}}],["1000",{"2":{"36":1}}],["100ms",{"2":{"19":1}}],["100",{"2":{"19":1,"239":1,"356":1,"370":1,"371":1}}],["1stake",{"2":{"73":1,"125":1,"248":1}}],["1s",{"2":{"19":3}}],["1",{"0":{"28":1,"105":1,"110":1,"143":1,"152":1},"1":{"106":1},"2":{"7":2,"14":1,"18":2,"37":2,"38":2,"42":1,"48":1,"51":2,"59":2,"60":5,"65":1,"66":1,"68":1,"73":4,"75":7,"76":1,"77":1,"78":2,"79":3,"89":1,"108":1,"123":3,"124":5,"137":2,"138":3,"144":2,"145":2,"148":2,"167":2,"184":5,"193":1,"214":2,"219":2,"224":2,"226":2,"228":1,"229":3,"231":1,"232":12,"236":2,"238":5,"239":2,"240":9,"244":2,"271":1,"273":1,"282":3,"289":1,"290":12,"299":1,"300":1,"306":2,"310":4,"311":4,"315":1,"323":3,"339":1,"341":1,"356":1,"371":1,"372":1}}],["yml",{"2":{"309":2,"360":1}}],["ymlservices",{"2":{"274":1}}],["yarn",{"2":{"284":2,"325":2}}],["yamlname",{"2":{"309":1}}],["yamlglobal",{"2":{"73":1}}],["yaml",{"2":{"73":1,"124":1,"244":1,"274":2}}],["y",{"2":{"124":1,"125":1,"213":2,"219":1,"236":1,"239":1,"240":1,"273":2,"291":1,"364":1,"366":2,"368":2,"375":6}}],["yearning",{"2":{"310":3}}],["years",{"2":{"7":2,"9":1,"145":1}}],["yes",{"2":{"173":8,"204":1}}],["yellow",{"2":{"124":2,"356":1}}],["yet",{"2":{"18":1,"155":1,"371":1,"375":2}}],["yourself",{"2":{"359":1}}],["yours",{"2":{"222":1}}],["yourrollup",{"2":{"61":1}}],["yourrollupd",{"2":{"58":4}}],["your",{"0":{"10":1,"20":1,"22":1,"25":1,"27":1,"41":1,"45":1,"57":1,"67":1,"84":1,"85":1,"87":1,"93":1,"97":1,"98":1,"100":1,"102":1,"105":1,"107":1,"108":1,"116":1,"121":1,"123":1,"135":1,"138":1,"232":1,"246":1,"248":1,"253":1,"254":1,"261":1,"267":1,"272":1,"290":1,"294":1,"307":1,"328":1,"333":1,"341":1,"346":1,"347":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"58":1,"59":1,"60":1,"68":1,"69":1,"86":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"103":1,"104":1,"105":1,"106":2,"107":1,"108":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"273":1,"274":1,"275":1,"308":1,"309":1,"310":1},"2":{"2":5,"10":1,"11":1,"19":3,"20":2,"21":2,"22":1,"23":1,"24":1,"25":3,"26":2,"27":2,"28":1,"29":2,"39":3,"42":1,"43":2,"45":3,"46":4,"47":1,"48":2,"50":1,"51":5,"53":1,"56":1,"58":1,"60":2,"61":3,"62":1,"65":1,"69":2,"70":2,"72":1,"75":1,"77":4,"78":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":3,"88":2,"89":1,"90":8,"93":1,"94":9,"95":4,"96":1,"97":3,"98":2,"101":2,"103":3,"106":3,"107":2,"108":2,"111":1,"112":2,"115":1,"119":1,"120":1,"121":2,"128":1,"133":1,"135":3,"136":2,"137":9,"138":3,"143":2,"152":1,"160":1,"161":1,"185":1,"188":1,"191":2,"192":1,"197":1,"198":1,"199":1,"200":1,"203":1,"204":1,"205":3,"206":1,"207":3,"208":1,"218":1,"219":2,"220":1,"221":1,"223":1,"224":1,"225":1,"229":1,"236":1,"240":2,"242":1,"243":1,"244":6,"247":2,"248":2,"251":3,"252":1,"253":1,"254":2,"255":1,"257":1,"258":3,"260":10,"261":2,"263":2,"267":5,"269":2,"273":1,"275":2,"276":4,"277":1,"278":1,"282":2,"284":2,"285":4,"286":2,"291":1,"293":3,"294":7,"295":1,"298":4,"299":3,"300":2,"304":2,"309":2,"310":1,"311":3,"312":1,"315":2,"319":1,"321":2,"323":2,"325":2,"326":4,"327":5,"328":4,"329":1,"330":4,"331":1,"332":1,"334":1,"338":5,"340":2,"341":7,"342":2,"344":3,"345":2,"346":2,"347":4,"348":2,"349":2,"358":3,"359":2,"360":2,"362":1,"371":1,"377":1}}],["you",{"0":{"146":1,"150":1},"1":{"147":1,"148":1,"149":1},"2":{"0":2,"2":1,"4":1,"5":1,"10":1,"11":2,"18":1,"19":4,"20":3,"21":1,"22":1,"23":1,"24":2,"25":1,"26":1,"27":1,"29":2,"31":1,"39":1,"42":7,"45":2,"46":3,"48":2,"49":3,"50":2,"51":2,"52":2,"53":1,"56":1,"61":3,"62":1,"66":4,"69":2,"73":1,"74":1,"75":4,"76":1,"80":1,"81":2,"82":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":4,"91":1,"93":1,"94":12,"95":6,"96":1,"97":3,"98":1,"99":1,"101":1,"104":3,"106":1,"107":4,"108":2,"109":2,"112":1,"113":3,"114":1,"115":2,"117":1,"121":4,"123":1,"126":1,"128":1,"130":1,"131":1,"133":3,"135":2,"136":1,"138":1,"139":1,"140":3,"143":1,"150":3,"151":2,"155":2,"156":1,"160":1,"161":2,"163":1,"176":1,"182":1,"184":1,"186":1,"188":2,"189":1,"190":2,"191":8,"192":1,"193":1,"195":2,"197":1,"198":2,"203":1,"204":1,"205":2,"206":1,"208":1,"210":2,"214":1,"216":1,"219":2,"221":1,"223":2,"224":2,"225":1,"226":1,"228":2,"229":1,"230":1,"231":2,"232":3,"234":1,"235":1,"236":4,"237":2,"240":3,"242":3,"243":2,"244":2,"245":1,"247":2,"248":1,"249":1,"251":1,"253":1,"254":1,"255":1,"257":1,"258":3,"260":3,"261":1,"262":1,"263":2,"265":3,"266":2,"267":6,"268":2,"269":1,"271":2,"273":3,"275":2,"276":8,"277":1,"278":2,"280":1,"282":1,"284":4,"285":6,"286":2,"288":1,"289":2,"290":3,"291":3,"293":2,"294":1,"295":2,"296":1,"298":6,"299":1,"300":3,"301":1,"302":2,"303":2,"304":1,"306":2,"308":3,"309":2,"310":2,"311":10,"312":1,"315":2,"316":2,"320":1,"321":2,"323":1,"325":4,"326":6,"327":4,"328":4,"329":2,"334":1,"338":3,"340":1,"341":3,"342":2,"344":1,"346":1,"347":1,"348":2,"352":3,"355":3,"356":3,"358":4,"359":4,"360":2,"371":2,"375":13,"376":7,"377":1}}],["74b6708de48e",{"2":{"311":1}}],["7fec3d659452",{"2":{"290":1}}],["735",{"2":{"265":1}}],["775883b14f7f",{"2":{"310":1}}],["775883b14f7f4db393addcebe3afe34d",{"2":{"310":1,"311":2}}],["7700c0b72195",{"2":{"232":1}}],["774628",{"2":{"14":1}}],["782dec73fcf8",{"2":{"232":1}}],["7980",{"2":{"37":1,"38":1,"56":1,"60":1,"120":1,"123":1,"201":1,"208":1,"232":4,"252":1,"254":3,"274":3,"276":1,"290":4,"310":3,"311":1,"340":3,"341":2}}],["7x",{"2":{"14":1}}],["7",{"0":{"34":1},"2":{"7":1,"89":2,"184":1,"188":4,"232":1,"276":1,"290":1,"311":1,"320":9}}],["h",{"2":{"219":1,"298":1,"339":1}}],["hub",{"2":{"149":1}}],["hundred",{"2":{"10":1}}],["home",{"2":{"328":1}}],["homebrew",{"2":{"298":1}}],["hold",{"2":{"232":1,"290":1,"311":1}}],["hole",{"2":{"150":1}}],["hours",{"2":{"184":1,"276":1,"290":6,"356":1}}],["honest",{"2":{"176":1}}],["hosted",{"2":{"337":1}}],["host",{"2":{"135":1,"188":1,"190":1,"224":1,"244":1,"274":1,"339":2,"358":1}}],["hopefully",{"2":{"90":1}}],["hood",{"2":{"70":2,"74":2,"337":1}}],["however",{"2":{"123":1,"156":1,"182":2}}],["how",{"0":{"16":1,"19":1,"20":1,"27":1,"40":1,"79":1,"80":1,"89":1,"90":1,"92":1,"93":1,"102":1,"109":1,"116":1,"146":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"91":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"147":1,"148":1,"149":1},"2":{"7":1,"16":3,"18":1,"26":1,"50":1,"53":1,"55":1,"63":2,"89":1,"93":1,"99":1,"102":1,"109":1,"117":1,"118":1,"128":1,"139":1,"148":1,"175":1,"191":1,"192":1,"193":2,"210":5,"230":2,"237":1,"258":1,"267":1,"268":1,"272":1,"277":1,"293":1,"295":1,"303":1,"307":1,"312":1,"321":1,"334":1,"354":1,"355":1,"359":1,"365":1,"368":1,"375":1}}],["https",{"2":{"66":2,"68":1,"69":1,"72":1,"81":1,"110":1,"118":1,"119":1,"120":1,"121":1,"124":2,"133":1,"184":7,"187":1,"191":1,"201":1,"202":1,"214":1,"215":1,"224":1,"232":1,"247":3,"252":1,"273":2,"279":1,"281":1,"290":1,"297":1,"310":1,"314":1,"317":1,"318":1,"322":1,"329":1,"332":1,"339":1,"345":2,"355":1,"358":1}}],["http",{"2":{"37":1,"38":1,"60":1,"73":2,"123":2,"124":1,"167":4,"191":1,"224":1,"229":3,"232":6,"236":1,"238":2,"239":1,"240":6,"244":1,"254":2,"274":1,"290":3,"294":1,"300":1,"309":1,"310":3,"339":1,"340":3,"341":2}}],["hints",{"2":{"356":1}}],["hire",{"2":{"48":1}}],["history",{"0":{"245":1},"2":{"223":1}}],["his",{"2":{"14":1}}],["highlight",{"2":{"356":3}}],["high",{"2":{"8":1,"18":1,"63":1,"79":1,"131":1,"145":2,"156":1,"291":1}}],["happen",{"2":{"360":1}}],["happy",{"2":{"156":1}}],["halts",{"2":{"194":1}}],["halt",{"2":{"182":1}}],["hands",{"2":{"191":1,"205":1,"300":1}}],["handshake",{"2":{"75":5}}],["handful",{"2":{"133":1,"228":1}}],["handles",{"2":{"369":1}}],["handled",{"2":{"165":1}}],["handle",{"2":{"48":2,"121":1,"247":1,"260":1,"365":1}}],["handler",{"2":{"9":1}}],["handling",{"0":{"50":1},"2":{"43":1,"364":1}}],["had",{"2":{"16":1}}],["hasn",{"2":{"371":2}}],["hashing",{"2":{"376":1}}],["hash=f159e11116ec9505fc2c0d97e605357fec0f3dae06b57bfb17ea6a548905043e",{"2":{"375":1}}],["hash=ac959f089c21dc617275e0ab35e77dc3839c9597ecfdecdad6c924ec49b1eb07",{"2":{"320":1}}],["hash=c93d26aee9b611952c8122deb67dbad95b3604f5c9c5dfba95a3e7a4cf0af641",{"2":{"311":1}}],["hash=8c751ba9edcfad7f92e0e940995b0155bdc856070b876373299e7820c32f0b8b",{"2":{"311":2}}],["hash=826541369149f3f8de5a53f5b4174c51975bcc665f0e73b1db69d9206e4f5563",{"2":{"311":2}}],["hash=313f7c52e30b3dee3511d66b3e2c1b2a56df4cde54a90b02ac79678d822b644a",{"2":{"311":1}}],["hash=e09f4a71e216d85f4ccb9fcbcee53d82bca597451c1d4b4fce0e4081b5fa40e3",{"2":{"232":2}}],["hash=e71622a57b08d28613a34e3d7ad36bf294cf5a88f4cdd5dd18e6fb65c76f7209",{"2":{"232":2}}],["hash=e483920a1e1e7e492e47036300003769420813bb13bb3f25cfafdb0df19c144a",{"2":{"188":2}}],["hash=1d7e98aec3085b615c7c71659768fa42e774a87ab5981597e99794d240fb3db5",{"2":{"221":1}}],["hash=004216246ae7750d578035ea1c6cd13330bd91a0c3fdd628f96d514acf691be5",{"2":{"204":2}}],["hash=0x5207a1ff35540dafe70565d3a95ed07f6c9b1ed9114f93c6c47ee0a1c0d4cc2e",{"2":{"320":1}}],["hash=0x314b131b1d4117445091b25240eaf420cdbdcf9f653eabd1d95aa0dab3cd1359",{"2":{"320":1}}],["hash=0x2ff9329ffecc7f395cb72acb9fd81a6085e5d75101ab14b508f6418fbcd7d0b4",{"2":{"204":6}}],["hash=0x88081d5e4c48de2f82464f2c8b4b46df8892fe921e5e9b13113ed2a62081d843",{"2":{"204":7}}],["hash=$",{"2":{"125":1,"236":1}}],["hash=235d3710d61f347dbbbdd6fd63aa7687842d1ef9cb475c712856d7da32f82f09",{"2":{"123":2,"290":2}}],["hash=",{"2":{"94":4,"320":1,"333":1}}],["hash",{"0":{"221":1},"2":{"75":4,"77":1,"78":1,"119":1,"125":1,"137":1,"184":14,"221":3,"222":2,"236":2,"237":1,"238":2,"282":1,"291":1,"323":1,"332":1,"370":3,"371":5,"375":3,"376":1}}],["has",{"2":{"14":2,"16":1,"63":1,"70":2,"74":1,"77":1,"78":1,"79":1,"143":2,"148":1,"161":1,"182":1,"193":1,"204":2,"225":1,"228":1,"229":1,"232":1,"234":1,"240":1,"273":1,"290":1,"314":1,"321":1,"369":1,"370":2,"375":2}}],["having",{"2":{"7":1,"141":1}}],["haven",{"2":{"104":1,"123":1}}],["have",{"2":{"4":1,"7":1,"8":2,"9":1,"12":1,"19":1,"20":1,"56":1,"61":1,"94":1,"104":1,"106":1,"113":1,"131":1,"135":1,"136":1,"139":1,"140":1,"145":1,"163":1,"185":1,"191":3,"195":2,"198":1,"210":2,"224":1,"225":1,"226":1,"232":2,"234":1,"237":1,"240":1,"242":1,"245":1,"251":1,"257":1,"263":1,"265":1,"266":1,"267":1,"269":1,"274":1,"275":1,"278":1,"285":1,"286":1,"290":2,"293":2,"298":2,"304":1,"309":1,"310":1,"315":1,"320":1,"326":1,"338":3,"340":1,"342":1,"344":1,"348":1,"352":1,"355":3,"356":3,"370":1,"371":1,"374":1}}],["hacks",{"2":{"7":1,"8":1}}],["hardhat",{"2":{"359":1}}],["hardcoded",{"2":{"124":1}}],["hard",{"2":{"7":1,"8":1}}],["hello",{"2":{"191":1}}],["helper",{"2":{"267":1,"360":1,"370":1}}],["helpers",{"0":{"47":1},"2":{"43":1,"47":1,"50":1}}],["helps",{"2":{"2":1,"55":1,"115":1,"370":1,"371":1}}],["help",{"2":{"0":1,"3":1,"12":1,"42":1,"90":1,"151":1,"231":1,"289":1,"296":1,"339":1,"358":3,"369":1}}],["hex",{"2":{"189":1,"224":1,"260":1,"283":1,"324":1,"328":1,"370":3,"371":4}}],["height=6",{"2":{"311":4}}],["height=5",{"2":{"311":2}}],["height=$",{"2":{"247":1,"260":1,"329":2}}],["height=41",{"2":{"204":1}}],["height=40",{"2":{"204":4}}],["height=4",{"2":{"188":1}}],["height=39",{"2":{"204":1}}],["height=3",{"2":{"188":3}}],["height=included",{"2":{"167":1}}],["height=223",{"2":{"333":2}}],["height=22",{"2":{"123":4,"290":4}}],["height=28126",{"2":{"96":1}}],["height=8",{"2":{"94":4,"311":2}}],["height=7",{"2":{"94":4,"311":4}}],["height=12",{"2":{"320":3}}],["height=11",{"2":{"320":4}}],["height=138",{"2":{"232":3}}],["height=137",{"2":{"232":4}}],["height=1",{"2":{"61":1,"167":1,"184":1}}],["height",{"0":{"220":1},"2":{"75":4,"94":1,"162":2,"166":1,"167":1,"168":4,"184":2,"220":1,"221":1,"222":2,"224":1,"240":1,"247":6,"248":2,"260":6,"261":2,"291":1,"329":4,"375":2}}],["health",{"2":{"167":1}}],["healthy",{"2":{"12":1}}],["headercount=14",{"2":{"341":1}}],["header",{"0":{"222":1},"2":{"184":1,"222":2,"247":1,"260":2,"329":3,"353":1}}],["headerinch",{"2":{"166":1}}],["headers",{"2":{"158":1,"166":2,"167":1,"169":1,"172":1,"176":2,"178":1,"341":1}}],["head",{"2":{"107":1,"150":1,"204":3,"260":1,"329":1}}],["hear",{"2":{"11":1}}],["here>",{"2":{"244":1}}],["here",{"2":{"0":1,"5":1,"18":1,"19":1,"28":1,"37":1,"51":1,"69":1,"81":1,"90":1,"118":1,"129":1,"132":1,"133":1,"156":1,"178":1,"182":1,"185":1,"188":1,"226":2,"229":1,"230":1,"231":1,"239":1,"244":1,"247":1,"261":1,"268":1,"271":1,"280":1,"289":1,"303":1,"306":1,"307":1,"358":1,"360":1,"366":1,"368":1,"369":1,"370":1,"371":1,"372":2,"375":1,"376":3}}],["vue",{"2":{"360":2,"376":1}}],["v",{"2":{"235":1,"328":1}}],["vv",{"2":{"226":1}}],["v1beta1",{"2":{"184":2,"291":1}}],["v1",{"2":{"75":8,"247":2,"314":1}}],["v2",{"2":{"72":1,"124":1,"271":1,"314":1}}],["v21",{"2":{"68":1}}],["v28",{"2":{"65":1,"66":2}}],["v0",{"2":{"66":3,"72":1,"89":2,"184":1,"232":6,"234":2,"290":4,"303":1,"309":1,"310":2,"311":1,"316":1,"328":1,"350":1,"353":1}}],["vesting",{"2":{"364":1}}],["vector",{"2":{"232":1,"290":1,"311":1}}],["venue",{"2":{"48":1}}],["verified",{"2":{"138":1,"139":1}}],["verifierscript",{"2":{"137":3}}],["verifier",{"0":{"136":1},"1":{"137":1},"2":{"128":1,"134":10,"135":3,"137":12,"138":1,"204":2}}],["verification",{"2":{"128":1,"204":1}}],["verifiable",{"2":{"128":2,"139":1}}],["verifybatch",{"2":{"351":2}}],["verifyfraudproof",{"2":{"176":1}}],["verifyproof",{"2":{"138":2}}],["verifying",{"0":{"61":1},"2":{"135":1}}],["verify",{"0":{"128":1,"138":1},"2":{"8":2,"63":1,"70":2,"72":1,"74":2,"119":1,"124":2,"125":1,"128":1,"136":1,"138":1,"145":2,"149":1,"158":2,"166":2,"171":2,"176":1,"204":2,"208":1,"231":1,"232":1,"271":1,"289":1,"290":1,"306":1,"311":1,"332":1,"375":1}}],["very",{"2":{"47":1,"134":1,"264":1}}],["version",{"2":{"45":2,"63":1,"65":2,"72":3,"75":1,"110":1,"119":3,"124":1,"161":1,"184":2,"214":1,"216":2,"226":1,"231":3,"271":2,"289":3,"306":3,"314":2,"315":1,"332":3,"359":1}}],["ve",{"2":{"19":1,"26":1,"62":1,"88":1,"90":1,"101":1,"107":1,"108":1,"124":1,"126":1,"139":1,"206":1,"227":1,"229":1,"249":1,"262":1,"267":1,"295":1,"302":1,"377":1}}],["visit",{"2":{"208":1}}],["visiting",{"2":{"140":1,"327":1}}],["view",{"2":{"138":1,"184":1,"226":2,"248":1,"261":1,"330":1}}],["vital",{"2":{"124":2}}],["vitepress",{"2":{"1":1}}],["virtual",{"2":{"10":1,"147":1,"197":1,"314":1}}],["viable",{"2":{"14":1}}],["via",{"2":{"8":2,"9":2,"151":1,"163":1,"165":1,"175":1,"232":1,"276":1,"291":1,"309":1,"310":1,"311":1,"339":1,"350":1,"353":1,"376":1}}],["vm",{"2":{"7":2,"137":2,"186":2,"227":2}}],["varying",{"2":{"364":1}}],["var",{"2":{"48":1,"370":6,"371":10}}],["various",{"2":{"207":1,"267":2,"353":1}}],["variable",{"2":{"59":1,"60":1,"135":1,"138":1,"220":1,"221":1,"228":2,"229":1,"237":1}}],["variables",{"0":{"28":1},"2":{"28":1,"77":1,"224":1,"236":3}}],["variant",{"2":{"47":1}}],["variety",{"2":{"5":1}}],["valuable",{"2":{"144":1}}],["values",{"2":{"260":1,"368":1}}],["value",{"2":{"4":1,"47":1,"73":2,"124":2,"133":1,"226":9,"238":2,"247":1,"260":1,"285":1,"326":1,"369":1,"371":1,"375":1}}],["val",{"2":{"94":2,"123":1,"188":1,"204":1,"232":2,"290":1,"311":3,"320":1,"333":1}}],["valid",{"2":{"182":2}}],["validating",{"2":{"363":1}}],["validation",{"0":{"180":1}}],["validates",{"2":{"351":1}}],["validate",{"2":{"55":1,"182":1}}],["validators",{"2":{"8":2,"36":1,"144":2,"184":2}}],["validator",{"0":{"31":1},"2":{"7":1,"8":1,"10":1,"31":1,"36":2,"39":1,"144":1,"145":1,"184":1,"333":3}}],["validity",{"0":{"174":1,"177":1},"1":{"175":1,"176":1,"177":1},"2":{"10":1,"155":1,"171":1,"172":1,"175":1,"177":1,"182":1}}],["e2e",{"2":{"329":1}}],["eyjbbgxvdyi6wyjwdwjsawmilcjyzwfkiiwid3jpdguixx0",{"2":{"260":1}}],["eyjhbgcioijiuzi1niisinr5cci6ikpxvcj9",{"2":{"260":1}}],["eye",{"2":{"71":1}}],["emit",{"2":{"226":3}}],["empty",{"2":{"46":1,"73":1,"89":1,"370":2,"372":1}}],["empty>>",{"2":{"46":1}}],["empower",{"2":{"8":1,"141":1}}],["ephemeral",{"2":{"203":1,"204":1}}],["eoa",{"2":{"193":1}}],["e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"2":{"184":4}}],["etc",{"2":{"158":1}}],["eth1",{"2":{"204":7}}],["eth",{"2":{"137":1,"205":1,"229":1,"280":1,"282":1,"285":1,"323":1,"326":1}}],["ethermintd",{"2":{"229":1}}],["ethermint",{"0":{"224":1,"229":1},"1":{"225":1,"226":1,"227":1,"228":1,"229":1},"2":{"17":1,"224":5,"225":3,"229":4}}],["ethereum",{"0":{"203":1},"2":{"7":2,"8":1,"14":1,"197":1,"203":1,"285":1,"314":1,"326":1}}],["escrow",{"2":{"370":1}}],["estimate",{"2":{"240":1}}],["establish",{"2":{"124":1,"247":1}}],["essentially",{"2":{"334":1}}],["essentials",{"2":{"191":1}}],["essential",{"2":{"157":1,"162":1,"192":1,"200":1,"213":2,"273":1}}],["e",{"2":{"155":1,"173":1,"184":1,"247":1,"260":4,"328":2,"350":1}}],["either",{"2":{"124":2,"227":1,"328":1}}],["ed0233f8291d",{"2":{"290":1}}],["ed0233f8291d4a42bdd0e173393af809",{"2":{"290":3}}],["edge",{"2":{"242":1}}],["edt",{"2":{"232":1,"290":1,"310":1}}],["educational",{"2":{"120":1,"267":1}}],["editor",{"2":{"73":1}}],["edit",{"2":{"66":1,"122":1}}],["efficient",{"2":{"210":1}}],["efficiently",{"2":{"115":1}}],["effect",{"2":{"144":1}}],["effectivegasprice",{"2":{"138":1}}],["effectively",{"2":{"90":1,"193":1}}],["errinvalidrequest",{"2":{"370":3,"371":4}}],["err",{"2":{"96":3,"370":3,"371":6}}],["errtxinmempoolcache",{"2":{"95":2}}],["error=",{"2":{"96":3}}],["errors",{"0":{"96":1},"2":{"96":1,"121":1,"236":1,"370":5,"371":6,"375":2}}],["error",{"2":{"61":1,"95":6,"99":1,"208":1,"240":3,"264":3,"351":1,"370":1,"371":1,"372":2,"375":3}}],["eric",{"2":{"14":1}}],["else",{"2":{"42":1,"370":1,"371":2}}],["eliminates",{"2":{"145":1}}],["eliminate",{"2":{"10":1}}],["equality",{"2":{"226":1}}],["eq",{"2":{"42":1,"48":1}}],["economic",{"2":{"145":1}}],["ecosystem",{"2":{"7":1,"14":1,"230":1,"242":1}}],["echo",{"2":{"37":1,"124":1,"214":2,"219":2,"232":1,"236":1,"238":1,"240":1,"247":1,"260":4,"290":1,"311":1}}],["evidence",{"2":{"184":3}}],["evm++",{"0":{"186":1,"191":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":2,"193":2,"194":1,"195":1},"2":{"186":2,"191":3,"195":3}}],["evm",{"0":{"17":1,"130":1,"278":1,"314":1,"319":1,"327":1,"330":1},"1":{"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":2,"329":2,"330":2},"2":{"12":1,"13":1,"17":2,"61":2,"90":1,"129":1,"130":2,"136":1,"137":3,"138":1,"151":1,"186":1,"189":1,"197":2,"203":1,"205":1,"210":1,"224":1,"278":2,"281":1,"282":3,"286":2,"299":4,"300":1,"314":4,"315":1,"316":1,"320":3,"322":1,"323":2,"359":1}}],["ever",{"2":{"10":1,"14":1}}],["everyone",{"2":{"370":1}}],["everyday",{"2":{"145":1}}],["everybody",{"2":{"42":1}}],["everything",{"2":{"25":1,"60":1,"359":1}}],["every",{"2":{"2":1,"108":1,"143":1,"184":1,"219":3,"350":1,"356":2,"371":1,"376":1}}],["eventual",{"2":{"173":2}}],["eventually",{"2":{"79":1}}],["eventbus",{"2":{"123":1,"290":1}}],["events",{"2":{"94":2,"108":2,"123":1,"188":1,"204":2,"232":1,"238":1,"240":1,"290":1,"311":3,"320":1,"375":2}}],["event",{"2":{"75":1}}],["even",{"2":{"10":1,"19":1,"89":1,"145":1,"146":1,"353":1,"375":1}}],["early",{"2":{"12":1,"13":1,"15":1,"18":1,"124":2}}],["each",{"2":{"7":1,"47":1,"71":2,"74":2,"162":1,"247":1,"260":1,"264":1,"360":1,"363":2,"365":1,"368":1,"369":2,"371":1}}],["easiest",{"2":{"331":1}}],["easier",{"2":{"90":1,"145":1,"267":1}}],["easily",{"2":{"14":1,"140":1,"156":1}}],["ease",{"2":{"7":1,"274":3}}],["easy",{"2":{"7":1,"18":1,"42":1,"141":1,"145":1,"211":2,"359":1,"363":1}}],["exit",{"2":{"276":1,"311":1}}],["exist",{"2":{"273":1,"363":1}}],["exists",{"2":{"95":2,"371":1}}],["existing",{"0":{"30":1},"2":{"8":1,"19":2,"20":1,"22":1,"30":1,"40":2,"79":1,"89":2,"92":2,"147":1,"148":1,"246":1}}],["exercise",{"2":{"222":1}}],["exec",{"2":{"189":1,"190":1,"236":1,"276":1,"291":1,"311":1,"329":1}}],["executable",{"2":{"273":2}}],["executing",{"2":{"108":1,"113":1,"117":1,"173":1,"288":1,"290":2,"310":2}}],["execution",{"0":{"147":1},"2":{"7":1,"8":1,"12":1,"15":2,"17":1,"18":1,"26":1,"61":1,"138":1,"143":1,"145":1,"149":1,"150":1,"186":2,"203":1,"210":2,"211":2,"267":1,"299":1,"333":1}}],["executed",{"2":{"94":2,"123":1,"145":1,"188":1,"204":1,"232":2,"290":1,"311":3,"320":1}}],["executefns",{"2":{"47":2,"50":1}}],["execute",{"2":{"46":1,"47":1,"50":1,"110":1,"118":1,"155":1,"158":1,"176":1,"213":1,"240":3,"299":1,"333":1,"353":1}}],["executemsgfns",{"2":{"47":1}}],["executemsg",{"2":{"46":2,"47":3,"50":2}}],["extended",{"2":{"376":1}}],["extending",{"0":{"376":1}}],["extend",{"2":{"193":1,"354":1,"356":1,"375":1}}],["extensions",{"2":{"186":2}}],["extension",{"2":{"73":2,"124":2,"185":1,"186":1,"240":1,"291":2,"293":1,"375":2}}],["external",{"2":{"8":1,"285":1,"326":1}}],["extra",{"2":{"73":2,"124":2}}],["exotic",{"2":{"70":2,"74":2}}],["examples",{"0":{"53":1,"193":1},"2":{"43":1,"53":2,"193":1,"267":2,"376":1}}],["example",{"0":{"96":1,"114":1},"2":{"19":2,"28":1,"40":1,"42":1,"44":1,"47":1,"49":1,"53":2,"89":1,"92":1,"94":2,"95":2,"108":1,"112":1,"137":2,"163":1,"184":3,"193":3,"225":1,"226":1,"244":1,"247":1,"261":1,"276":1,"310":4,"311":1,"338":1,"353":1,"355":1,"375":1,"376":1}}],["exposes",{"2":{"141":1,"364":1}}],["export",{"2":{"46":1,"47":1,"121":1,"135":1,"137":2,"214":2,"229":2,"282":3,"291":2,"323":3}}],["explain",{"2":{"371":1}}],["explaining",{"2":{"139":1}}],["exploring",{"2":{"230":1,"295":1}}],["exploration",{"2":{"117":1}}],["explorer",{"2":{"107":1,"138":1,"184":2,"330":1}}],["explorers",{"2":{"9":1,"261":2}}],["explore",{"2":{"53":1,"91":1,"102":1,"103":1,"155":1,"210":1,"266":1,"334":1,"377":1}}],["expects",{"2":{"338":1}}],["expecting",{"2":{"314":1,"341":1,"346":1}}],["expected",{"2":{"240":1,"372":1}}],["experienced",{"2":{"295":1}}],["experience",{"2":{"191":1,"205":1,"236":1,"300":1,"355":1}}],["experimentation",{"2":{"141":1,"148":1}}],["experiment",{"2":{"19":1,"147":1,"207":1,"302":1}}],["expertise",{"2":{"144":1}}],["expensive",{"2":{"8":1,"139":1}}],["expanded",{"2":{"186":1}}],["expand",{"2":{"12":1}}],["excessively",{"2":{"8":1}}],["exciting",{"2":{"6":1,"150":1}}],["enough",{"2":{"244":1}}],["enclave",{"2":{"232":3,"290":3,"307":1,"310":3}}],["encodetostring",{"2":{"370":2,"371":3}}],["encoded",{"2":{"47":1,"283":1,"324":1}}],["encoding",{"2":{"370":1,"371":1}}],["encourage",{"2":{"360":1}}],["encountered",{"2":{"145":1}}],["encounter",{"2":{"95":1,"208":1,"298":1}}],["engine",{"2":{"204":5,"231":2,"232":2,"289":2,"290":2,"306":2,"310":2,"311":2}}],["entries",{"2":{"333":1}}],["entry",{"2":{"111":1,"144":1,"371":5}}],["entrypoint",{"0":{"29":1},"2":{"29":2,"112":3,"189":1,"273":9,"329":1}}],["enter",{"2":{"276":1,"291":1,"311":1,"360":1}}],["entering",{"2":{"189":1,"276":1,"311":1}}],["enjoy",{"2":{"145":1}}],["enhance",{"2":{"83":1,"192":1}}],["enhanced",{"2":{"20":1,"161":1,"186":1}}],["env`",{"2":{"48":1}}],["env",{"2":{"48":2}}],["environments",{"2":{"12":1,"18":1,"138":1,"145":1,"210":1,"211":2}}],["environment",{"0":{"147":1,"225":1,"272":1,"307":1},"1":{"273":1,"274":1,"275":1,"308":1,"309":1,"310":1},"2":{"7":1,"42":1,"59":1,"60":1,"66":1,"135":1,"137":1,"138":1,"143":1,"194":1,"210":1,"225":1,"228":2,"237":1,"255":1,"267":2,"273":3,"276":1,"294":1,"301":1,"308":2,"356":1}}],["enum",{"2":{"47":2}}],["endpoint",{"2":{"106":1,"184":1,"228":1,"247":1}}],["end",{"2":{"42":1,"75":1,"117":1,"139":1,"210":1,"288":1,"320":1,"356":1,"376":1}}],["ensuring",{"0":{"29":1},"2":{"128":1,"254":1,"341":1,"347":1,"376":1}}],["ensures",{"2":{"79":1,"242":1,"274":1,"371":1}}],["ensure",{"2":{"2":1,"29":2,"56":1,"74":1,"94":1,"113":1,"121":1,"188":1,"198":1,"208":1,"242":1,"251":1,"257":1,"273":1,"329":1,"338":1,"341":1,"344":1,"346":1,"370":2,"371":1,"375":1}}],["enshrine",{"2":{"9":1}}],["enshrined",{"2":{"7":2,"8":2}}],["enable",{"2":{"124":1,"128":1,"162":1,"176":1}}],["enabled",{"2":{"14":1,"25":1,"117":1,"161":1,"176":1}}],["enables",{"2":{"7":1,"9":1,"145":1,"169":1,"186":1,"195":1}}],["enabling",{"2":{"7":1,"12":1,"47":1,"188":1,"211":1,"242":1}}],["enforce",{"2":{"7":1}}],["pwd",{"2":{"235":2}}],["pseudo",{"2":{"364":1}}],["psprovider",{"2":{"298":1}}],["psdrive",{"2":{"298":1}}],["ps",{"2":{"232":2,"276":1,"290":2,"311":2,"329":1}}],["pkg",{"2":{"213":1}}],["py",{"2":{"134":1,"135":2}}],["python",{"0":{"131":1},"2":{"129":2,"131":3,"134":1,"309":1}}],["peers",{"2":{"169":1}}],["peer",{"2":{"169":1}}],["person",{"2":{"368":1,"371":1}}],["persist",{"2":{"339":1}}],["persistence",{"2":{"303":1}}],["perspective",{"2":{"257":1,"291":1}}],["perform",{"2":{"228":1,"229":1}}],["performance",{"2":{"207":2}}],["perfect",{"2":{"144":1}}],["per",{"2":{"166":2,"356":1,"370":2,"371":1}}],["periods",{"2":{"79":1}}],["pending",{"0":{"92":1},"2":{"90":1,"92":4}}],["pessimistic",{"0":{"175":1},"2":{"10":1,"155":1,"175":3}}],["p",{"2":{"66":4,"124":1,"316":5,"328":3}}],["pip",{"2":{"131":1}}],["pipe",{"2":{"48":1}}],["piece",{"2":{"14":1,"369":1}}],["p2p",{"0":{"59":1,"169":1},"2":{"37":1,"38":1,"59":4,"60":3,"97":1,"123":3,"169":2,"176":2,"178":1,"182":1,"232":1,"260":2,"290":3,"327":1,"328":2}}],["plaintext",{"2":{"376":1}}],["plain",{"2":{"189":1}}],["plan",{"2":{"309":4}}],["planned",{"2":{"173":3,"177":1}}],["plans",{"2":{"173":1}}],["placed",{"2":{"145":1,"219":2}}],["place",{"2":{"71":1,"182":1,"235":1,"358":1}}],["platform",{"2":{"66":1,"102":1,"149":1,"230":1,"316":1}}],["played",{"2":{"191":1}}],["play",{"2":{"18":1}}],["plus",{"2":{"49":1,"51":1,"143":1}}],["plugin",{"2":{"214":1}}],["pluggable",{"2":{"173":1}}],["plugged",{"2":{"162":1}}],["plug",{"2":{"15":1}}],["please",{"2":{"2":1,"4":1,"26":1,"91":1,"112":1,"132":1,"155":1,"191":1}}],["panic",{"2":{"371":1}}],["particular",{"2":{"364":1}}],["part",{"2":{"356":1,"359":1}}],["party",{"2":{"353":1}}],["parts",{"2":{"184":3}}],["parent",{"2":{"204":4}}],["paradigm",{"2":{"215":1,"279":1,"318":1}}],["parameter",{"2":{"167":1,"366":1}}],["parameters",{"0":{"168":1},"2":{"24":1,"190":1}}],["paragraph",{"2":{"49":1}}],["paid",{"2":{"137":1,"282":1,"323":1}}],["pagination",{"2":{"77":1,"78":1,"124":1,"238":1,"240":2,"292":2}}],["page",{"2":{"42":1,"140":1,"158":1,"294":1}}],["packets",{"0":{"71":1,"76":1},"1":{"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1}}],["packages",{"2":{"51":2,"213":1}}],["package",{"2":{"16":3,"50":1,"51":2,"131":1,"163":1,"170":1,"290":3,"307":1,"309":6,"310":5,"360":1}}],["passes",{"2":{"365":2}}],["passed",{"2":{"226":1,"290":1,"310":1,"359":1,"370":1}}],["pass",{"2":{"224":1,"226":3,"253":1,"341":1,"346":1}}],["passwd",{"2":{"189":1}}],["passing",{"2":{"14":2,"71":1,"366":1}}],["paste",{"2":{"244":2}}],["past",{"2":{"8":1,"9":1}}],["paying",{"2":{"144":1}}],["payer",{"2":{"75":4,"291":1,"375":1}}],["payload",{"2":{"14":1,"204":10}}],["pay",{"2":{"10":1}}],["paves",{"2":{"8":1}}],["path=",{"2":{"333":2}}],["path=$path",{"2":{"121":1,"214":2}}],["paths",{"2":{"71":2,"73":1,"75":1,"124":1}}],["path",{"2":{"7":1,"8":1,"46":2,"48":1,"51":2,"75":6,"121":1,"124":1,"214":1,"215":1,"298":1,"339":1}}],["pops",{"2":{"328":1,"329":1}}],["popular",{"2":{"9":1,"354":1}}],["polynomial",{"2":{"242":1}}],["polaris",{"0":{"130":1,"314":1,"319":1,"327":1,"329":1},"1":{"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":2,"329":2,"330":2},"2":{"130":2,"136":1,"137":3,"314":5,"315":1,"316":1,"317":3,"319":1,"320":1,"321":1,"322":3,"323":1,"327":1,"329":3,"330":2}}],["point",{"2":{"69":1,"111":1,"192":1,"329":1}}],["points",{"2":{"60":1,"356":1}}],["portion",{"2":{"225":1,"327":1}}],["portal",{"0":{"282":1,"323":1},"2":{"136":1,"137":4,"191":2,"281":3,"284":6,"285":1,"321":2,"322":4,"325":6,"326":1}}],["ports=wordle",{"2":{"309":2}}],["portspec",{"2":{"309":1}}],["ports",{"2":{"60":1,"232":2,"274":4,"276":1,"290":2,"309":4,"310":1,"311":1}}],["port",{"2":{"56":1,"69":3,"75":10,"120":1,"124":2,"184":1,"201":1,"203":2,"208":1,"228":1,"240":1,"244":2,"252":1,"260":1,"282":1,"290":2,"339":2,"345":1}}],["powershell",{"2":{"298":1}}],["power",{"2":{"36":1,"358":1}}],["powerful",{"2":{"7":1}}],["pool",{"2":{"14":1}}],["potential",{"2":{"12":1,"144":1}}],["position",{"2":{"356":3}}],["posted",{"2":{"145":1,"176":1}}],["post",{"2":{"14":1,"95":2,"139":1,"158":1,"210":1,"224":1,"255":1,"285":1,"326":1,"327":2}}],["posting",{"0":{"14":1},"2":{"14":1,"56":1,"95":1,"117":1,"123":1,"145":1,"244":1,"248":1,"257":1,"258":1,"260":2,"261":1,"288":1,"330":1}}],["posts",{"0":{"16":1},"2":{"3":1,"126":1,"176":1,"249":1,"262":1}}],["possibly",{"2":{"243":1}}],["possible",{"2":{"12":1,"13":1,"18":1,"76":1,"165":2,"211":3,"235":1,"350":2}}],["possibility",{"2":{"148":1,"182":1}}],["possibilities",{"2":{"12":1,"141":1,"210":1,"211":1}}],["purpose",{"2":{"360":1}}],["purposes",{"2":{"120":1,"267":1}}],["purchase",{"2":{"239":2}}],["purchasing",{"2":{"230":1}}],["pure",{"2":{"173":2}}],["putting",{"2":{"144":1,"219":1}}],["put",{"2":{"112":1,"219":1}}],["pubsub",{"2":{"123":1,"290":1}}],["pubkey",{"2":{"36":1,"291":4}}],["pub",{"2":{"36":3,"46":3,"47":4,"48":1,"184":1}}],["publish",{"2":{"94":1,"274":2}}],["publishing",{"2":{"13":1,"14":1,"94":2,"123":1,"188":1,"204":3,"211":1,"232":2,"290":1,"311":3,"320":1,"333":1}}],["published",{"2":{"12":1,"274":2}}],["publicnode",{"2":{"124":1,"247":1}}],["public",{"2":{"3":1,"14":1,"106":1,"137":2,"226":7,"227":2,"309":1}}],["pull",{"2":{"2":2,"234":1,"371":1}}],["push",{"2":{"2":2,"176":1}}],["prune",{"2":{"320":2}}],["practical",{"2":{"288":1}}],["pragma",{"2":{"137":1,"226":2,"227":1}}],["prhw8rohdq==",{"2":{"184":1}}],["primary",{"2":{"178":1}}],["printf",{"2":{"232":1,"290":1,"311":1}}],["printing",{"2":{"232":3,"290":3,"310":1}}],["print",{"2":{"134":2,"309":1}}],["priority",{"2":{"165":1}}],["prior",{"0":{"350":1},"2":{"117":1,"288":1,"353":1,"376":1}}],["price=0",{"2":{"79":2}}],["prices",{"2":{"73":2,"124":2,"125":1,"236":1,"239":1,"240":1,"248":1}}],["prices=",{"2":{"37":1,"38":1,"123":1,"248":2}}],["price",{"0":{"79":1},"2":{"70":2,"74":2,"79":11,"90":1,"99":1,"239":4,"248":1}}],["privileged",{"2":{"173":1}}],["privatekey",{"2":{"321":1}}],["private",{"2":{"70":2,"137":4,"138":2,"189":4,"191":2,"226":1,"228":6,"229":3,"280":1,"282":4,"283":1,"285":3,"321":1,"323":4,"324":1,"326":3,"333":1}}],["priv",{"2":{"36":2,"333":2}}],["prerequisities",{"2":{"340":1}}],["prerequisites",{"0":{"56":1,"104":1,"129":1,"198":1,"212":1,"259":1,"315":1,"338":1},"1":{"105":1,"106":1,"107":1,"108":1,"130":1,"131":1,"199":1,"200":1},"2":{"188":1,"208":1}}],["press",{"2":{"219":1}}],["presents",{"2":{"144":1}}],["present",{"0":{"29":1},"2":{"29":1,"39":1,"199":1}}],["preserve",{"2":{"10":1}}],["preparing",{"2":{"320":1}}],["prepared",{"2":{"247":1}}],["prepareproposal",{"2":{"165":1}}],["prepare",{"2":{"23":1,"121":1}}],["prepend",{"2":{"135":1}}],["prevents",{"2":{"89":1}}],["previous",{"0":{"245":1},"2":{"79":1,"191":2,"236":1,"237":1}}],["prefunded",{"0":{"189":1}}],["prefer",{"2":{"73":1}}],["prefix",{"2":{"66":1,"73":2,"81":1,"124":2,"184":1}}],["pre",{"0":{"64":1,"269":1,"304":1,"355":1},"1":{"65":1},"2":{"132":1,"147":1,"169":1,"234":1}}],["pretty",{"2":{"48":1,"359":1}}],["prelude",{"2":{"46":1,"48":1}}],["premature",{"2":{"8":1}}],["prematurely",{"2":{"7":1,"8":1}}],["prompt",{"2":{"294":1}}],["prompted",{"2":{"291":2}}],["prominent",{"2":{"163":1}}],["probably",{"2":{"264":1}}],["problem",{"2":{"161":1}}],["problems",{"0":{"142":1},"1":{"143":1,"144":1},"2":{"144":1}}],["proxy",{"2":{"232":1,"290":1,"310":1,"311":1}}],["proposal",{"2":{"204":4}}],["proposer",{"2":{"184":1}}],["properly",{"2":{"188":1,"208":1}}],["property",{"2":{"173":1}}],["propagate",{"2":{"158":1}}],["progress",{"0":{"172":1,"176":1},"2":{"173":1,"176":1,"178":1,"184":1,"299":1,"313":1,"335":1,"353":1}}],["programmatically",{"2":{"162":1}}],["programming",{"2":{"118":1}}],["prohibitively",{"2":{"139":1}}],["proved",{"2":{"135":1}}],["prove",{"0":{"135":1},"2":{"134":1,"135":2}}],["proving",{"0":{"132":1},"1":{"133":1,"134":1,"135":1},"2":{"135":1}}],["providing",{"2":{"117":1,"186":1}}],["provided",{"2":{"118":1,"200":1,"230":1,"231":1,"247":1,"289":1,"306":1,"358":1}}],["provider",{"2":{"75":4}}],["provide",{"2":{"14":1,"148":1,"149":1,"203":1,"226":1,"247":1,"260":1,"265":1,"333":1}}],["provides",{"2":{"7":2,"16":1,"39":1,"47":1,"150":1,"167":1,"235":1,"263":1,"288":1,"314":1,"337":1,"358":1}}],["proof+public",{"2":{"134":2,"135":1}}],["proof",{"0":{"138":1,"182":1},"2":{"128":2,"134":7,"135":2,"136":1,"138":3,"145":1,"176":2}}],["proofs",{"0":{"176":1,"177":1},"2":{"7":1,"8":1,"63":2,"66":1,"128":1,"135":1,"145":2,"149":1,"150":1,"155":1,"158":2,"161":1,"169":1,"171":2,"172":2,"176":5,"178":1,"182":1}}],["proceeding",{"2":{"121":1,"242":1,"251":1,"257":1,"338":1,"344":1,"375":1}}],["processed",{"2":{"182":1}}],["processor",{"2":{"75":1,"363":1}}],["processing",{"0":{"180":1,"181":1},"2":{"61":1,"157":1}}],["process",{"2":{"7":1,"20":1,"27":1,"61":1,"80":1,"117":1,"123":2,"128":1,"186":1,"197":1,"199":1,"246":1,"288":1,"290":2,"298":1,"359":1,"365":1}}],["profile",{"2":{"106":1,"214":2}}],["projects",{"2":{"193":3}}],["project",{"2":{"14":1,"16":1,"112":1,"115":1,"191":2,"192":1,"225":1,"359":1,"360":2,"362":1,"364":1}}],["proud",{"2":{"12":1}}],["producers",{"2":{"173":1}}],["producer",{"2":{"87":1,"353":1}}],["produce",{"2":{"10":1,"171":1,"173":1,"353":1}}],["products",{"2":{"144":1,"145":1}}],["production",{"0":{"19":1},"2":{"9":1,"18":1,"63":1,"89":1,"90":1,"135":1,"166":1,"265":1,"267":2,"303":1,"352":1,"375":2}}],["product",{"2":{"8":1}}],["protobuf",{"0":{"372":1}}],["proto",{"2":{"81":1,"360":1,"372":2}}],["protocol=",{"2":{"309":2}}],["protocols",{"2":{"167":1}}],["protocol",{"2":{"7":1,"9":1,"63":1,"71":1,"360":1}}],["protect",{"2":{"7":1,"8":1}}],["pr",{"2":{"2":1}}],["nice",{"2":{"376":1}}],["nil",{"2":{"370":6,"371":8}}],["ncdu",{"2":{"213":1}}],["npc",{"2":{"193":1}}],["npm",{"2":{"191":2,"213":1,"214":3}}],["n",{"2":{"134":2,"247":2,"260":8,"291":1,"375":1}}],["null",{"2":{"73":2,"77":1,"124":2,"184":2,"238":1,"240":5,"273":1,"291":1,"292":2,"375":2}}],["numerous",{"2":{"191":1}}],["num",{"2":{"61":1,"94":4,"123":2,"188":2,"204":3,"232":4,"290":2,"311":6,"320":3,"333":2}}],["number=26657",{"2":{"309":1}}],["numbers",{"2":{"193":1}}],["number",{"0":{"92":1},"2":{"47":1,"119":1,"162":1,"184":1,"244":1,"332":1}}],["nfts",{"2":{"14":2}}],["nft",{"2":{"14":2}}],["nodejs",{"2":{"214":3}}],["node",{"0":{"54":1,"57":1,"59":1,"60":1,"61":1,"164":1,"170":1,"171":1,"172":1,"173":1,"190":1,"194":1,"201":1,"204":1,"243":1,"248":1,"258":1,"261":1,"301":1,"327":1,"328":1,"333":1},"1":{"55":1,"56":1,"57":1,"58":2,"59":2,"60":2,"61":1,"62":1,"165":1,"166":1,"167":1,"168":1,"169":1,"171":1,"172":1,"173":1,"244":1,"328":1,"329":1,"330":1},"2":{"19":1,"37":1,"55":3,"56":2,"58":2,"59":1,"60":4,"61":2,"62":1,"63":1,"74":1,"77":2,"78":3,"79":2,"87":1,"90":1,"95":3,"96":1,"97":3,"98":1,"108":1,"120":2,"123":4,"141":1,"155":1,"163":2,"166":1,"167":2,"169":1,"170":1,"176":1,"178":1,"182":4,"184":1,"186":1,"188":4,"189":1,"190":2,"191":4,"194":1,"201":2,"204":3,"206":1,"208":1,"210":1,"214":1,"216":1,"232":2,"236":1,"238":2,"239":1,"240":6,"242":1,"243":2,"244":4,"246":1,"247":1,"248":1,"252":3,"253":1,"254":1,"255":1,"258":3,"260":3,"261":1,"264":1,"272":1,"273":1,"274":1,"276":1,"290":5,"296":1,"299":4,"301":1,"302":1,"307":2,"308":1,"309":5,"311":1,"327":3,"328":8,"330":1,"331":1,"333":5,"334":1,"337":1,"350":1,"353":3}}],["nodes",{"0":{"175":1},"2":{"8":1,"123":1,"145":3,"150":1,"155":1,"158":2,"162":1,"166":5,"169":3,"170":1,"171":1,"172":4,"173":2,"175":1,"176":10,"178":1,"182":4,"213":1,"290":1,"307":1}}],["nonce",{"2":{"205":1}}],["none",{"2":{"42":2,"48":2}}],["non",{"2":{"14":1,"291":1,"375":1}}],["nor",{"2":{"10":1}}],["no",{"2":{"10":1,"44":1,"66":1,"89":1,"92":1,"117":1,"123":1,"161":1,"162":1,"168":1,"173":4,"204":2,"232":1,"239":1,"257":1,"288":1,"290":2,"310":2,"359":2,"368":2,"370":1,"371":1}}],["notably",{"2":{"364":1}}],["notifying",{"2":{"204":2}}],["notifies",{"2":{"108":1}}],["noticed",{"2":{"265":1,"352":1}}],["notice",{"2":{"37":1,"75":1,"203":1,"299":1,"359":1}}],["note",{"2":{"42":2,"46":1,"47":1,"69":1,"123":1,"124":1,"137":1,"138":1,"161":1,"166":1,"176":1,"191":1,"229":1,"242":1,"290":1,"338":1,"375":2}}],["not",{"2":{"8":2,"12":1,"18":3,"29":1,"46":3,"60":2,"77":1,"78":1,"112":1,"121":1,"128":1,"147":1,"155":1,"176":1,"177":1,"182":1,"188":1,"192":1,"199":1,"204":1,"224":1,"247":2,"260":2,"265":3,"303":3,"314":1,"328":1,"350":1,"352":2,"370":2,"375":2,"376":1}}],["now",{"2":{"7":1,"12":1,"13":1,"14":1,"15":1,"19":1,"22":1,"48":2,"52":1,"62":1,"66":1,"76":1,"82":1,"87":2,"107":1,"108":1,"114":1,"120":1,"123":1,"135":1,"138":1,"191":1,"204":1,"213":1,"219":1,"222":2,"224":1,"227":2,"228":1,"229":2,"232":2,"234":2,"236":2,"238":2,"240":2,"246":1,"247":1,"248":2,"249":1,"260":2,"261":1,"262":1,"263":1,"266":1,"267":1,"274":1,"276":1,"277":1,"281":1,"284":2,"285":1,"286":1,"290":2,"291":3,"293":1,"295":1,"309":1,"311":1,"312":1,"320":1,"322":1,"325":2,"326":1,"330":1,"334":1,"342":1,"348":1,"356":1,"358":1,"359":1,"360":1,"366":1,"369":1,"370":1,"371":1,"374":1,"375":3,"377":1}}],["neural",{"2":{"128":1}}],["neck",{"2":{"48":1}}],["necessary",{"2":{"28":1,"42":1,"60":1,"190":1,"213":1,"298":1,"374":1}}],["next",{"0":{"126":1,"207":1,"249":1,"262":1,"277":1,"295":1,"312":1,"377":1},"2":{"24":1,"69":1,"75":1,"77":1,"124":1,"129":1,"135":1,"136":1,"137":1,"150":1,"184":1,"191":1,"204":2,"219":1,"225":1,"226":2,"228":2,"238":1,"240":3,"246":1,"260":1,"274":1,"282":1,"292":2,"323":1,"349":1,"351":1,"362":1,"367":1,"370":1,"371":2,"372":1,"375":2}}],["network=mocha",{"2":{"328":2}}],["networking",{"2":{"274":1}}],["network>",{"2":{"97":1}}],["networks",{"2":{"42":1,"48":1,"141":1,"169":1,"214":1,"258":1,"353":1,"377":1}}],["network",{"0":{"120":1,"217":1,"223":1,"252":1,"253":1},"1":{"218":1,"219":1,"220":1,"221":1,"222":1,"223":1},"2":{"10":1,"17":1,"39":1,"48":2,"55":2,"56":2,"61":1,"79":1,"97":1,"106":2,"117":1,"120":2,"121":1,"123":1,"126":1,"128":1,"140":1,"144":5,"145":2,"167":1,"169":1,"176":2,"178":1,"182":2,"187":1,"188":1,"191":1,"201":1,"217":1,"223":1,"227":1,"232":3,"238":1,"240":1,"242":1,"243":1,"244":1,"248":3,"252":1,"253":1,"254":1,"255":1,"257":2,"260":3,"274":1,"276":1,"288":1,"290":4,"307":1,"311":1,"314":2,"327":2,"328":1,"337":1,"339":2,"350":2,"351":2,"353":1,"374":2,"375":2}}],["needing",{"2":{"314":1}}],["needs",{"0":{"10":1},"2":{"147":1,"263":2,"300":1}}],["needed",{"2":{"7":1,"8":1,"10":2,"24":1,"158":1,"161":1,"176":1,"210":1,"247":1}}],["need",{"2":{"7":1,"8":3,"10":1,"16":1,"19":1,"21":1,"23":1,"24":1,"42":1,"45":1,"46":2,"50":2,"66":2,"69":1,"75":1,"85":1,"87":1,"94":4,"95":3,"97":1,"99":1,"104":2,"121":1,"138":1,"145":1,"155":1,"161":1,"162":1,"190":1,"191":2,"203":1,"214":1,"229":1,"231":1,"232":1,"236":1,"243":1,"246":2,"253":1,"258":1,"263":1,"267":1,"272":1,"273":1,"274":2,"284":2,"285":2,"289":1,"290":1,"298":2,"308":1,"309":1,"311":1,"315":1,"316":1,"325":2,"326":2,"327":4,"328":1,"338":1,"341":1,"346":1,"355":1,"359":1,"361":1,"372":2,"375":1}}],["newguess",{"2":{"371":2}}],["newint64coin",{"2":{"370":1,"371":1}}],["newly",{"2":{"169":1,"260":1,"370":2}}],["new",{"2":{"2":2,"8":1,"12":1,"13":1,"16":1,"29":1,"46":2,"48":2,"51":2,"71":2,"75":5,"81":1,"82":1,"95":1,"121":1,"137":5,"141":3,"144":3,"145":2,"150":1,"162":1,"163":1,"176":1,"182":1,"190":1,"191":1,"204":3,"210":1,"211":1,"218":1,"219":3,"225":1,"226":1,"227":1,"229":1,"232":1,"246":2,"273":2,"274":1,"290":1,"303":1,"308":2,"310":1,"339":1,"356":1,"358":1,"359":3,"371":7}}],["names",{"2":{"232":2,"276":1,"290":2,"311":2}}],["nameservice",{"2":{"230":2,"234":4,"235":2,"236":3,"239":1,"240":1}}],["namespaces",{"2":{"260":1,"328":1}}],["namespace=000000506f6c61726973",{"2":{"328":1}}],["namespace=00000000000000000000000000000000000000000008e5f679bf7116cb",{"2":{"260":1}}],["namespace=$",{"2":{"224":1}}],["namespace",{"2":{"94":2,"169":1,"184":1,"224":1,"260":3,"261":3,"264":4,"328":1,"330":2,"339":3}}],["name",{"2":{"31":1,"32":1,"33":1,"34":1,"36":1,"69":2,"75":8,"133":1,"218":1,"229":2,"232":6,"234":1,"239":2,"240":8,"274":6,"290":6,"291":2,"309":1,"310":5,"311":1}}],["name=",{"2":{"309":1}}],["name=omni",{"2":{"299":1}}],["name=rollup",{"2":{"28":1}}],["name=validator1",{"2":{"28":1}}],["naming",{"2":{"2":1}}],["native",{"2":{"10":1,"77":1,"117":1,"186":3}}],["navigate",{"2":{"5":1,"81":1,"114":1,"133":1}}],["award",{"2":{"356":1}}],["away",{"2":{"8":1}}],["a736683c",{"2":{"352":1}}],["a+jox",{"2":{"291":1}}],["a5wpm5wzfniprgyha",{"2":{"291":1}}],["af16c1a5e68c",{"2":{"290":1}}],["afterward",{"2":{"73":1}}],["after",{"0":{"95":1},"1":{"96":1,"97":1,"98":1,"99":1,"100":1,"101":1},"2":{"16":1,"42":1,"47":1,"61":1,"76":1,"101":1,"108":1,"182":1,"188":1,"190":1,"244":1,"258":1,"273":1,"292":1,"298":1,"328":1,"341":1,"349":1,"359":1,"375":4}}],["auto",{"2":{"236":1,"239":1,"240":1}}],["automatic",{"2":{"193":1}}],["automatically",{"2":{"128":1}}],["authorized",{"2":{"294":1}}],["authentication",{"2":{"260":1}}],["authenticate",{"2":{"158":1,"172":1}}],["auth",{"2":{"184":2,"204":1,"260":8,"261":1,"327":1,"339":2,"363":1}}],["avail",{"0":{"241":1,"243":1,"248":1},"1":{"242":1,"243":1,"244":2,"245":1,"246":1,"247":1,"248":1,"249":1},"2":{"242":4,"243":1,"244":4,"246":1,"247":3,"248":1,"249":1,"264":1,"266":1}}],["available",{"2":{"9":1,"182":1,"188":1,"189":1,"226":1,"232":1,"266":1,"298":1,"299":2,"337":1}}],["availability",{"0":{"15":1,"162":1,"201":1},"1":{"163":1},"2":{"8":1,"10":2,"12":2,"13":1,"14":1,"15":4,"16":5,"18":3,"20":1,"37":1,"39":1,"56":1,"117":1,"128":1,"140":1,"141":1,"145":4,"150":1,"151":1,"158":1,"162":3,"163":1,"166":1,"173":1,"175":1,"182":1,"201":1,"210":2,"211":5,"242":2,"257":1,"263":2,"264":2,"265":1,"288":1,"307":1,"314":2,"328":1,"329":1,"375":1}}],["average",{"2":{"172":1}}],["avoid",{"2":{"60":1,"69":1,"79":1,"99":1,"149":1,"273":1,"356":1,"375":1}}],["ago",{"2":{"232":7,"273":1,"276":3,"290":7,"308":1,"311":7}}],["aggregating",{"2":{"173":1}}],["aggregationloop",{"2":{"166":2}}],["aggregation",{"0":{"89":1},"2":{"90":1}}],["aggregated",{"2":{"248":1,"261":1}}],["aggregate",{"2":{"158":1}}],["aggregator=false",{"2":{"60":2}}],["aggregator",{"2":{"25":1,"37":1,"38":1,"60":1,"87":2,"89":2,"123":2,"224":1,"232":1,"248":1,"254":1,"261":1,"273":1,"274":1,"290":2,"309":1,"311":1,"337":1,"341":1,"347":1,"350":2,"353":2,"374":1,"375":1}}],["again",{"0":{"101":1},"2":{"47":1,"94":1,"121":1,"223":1,"240":1,"277":1,"285":1,"312":1,"326":1,"371":3}}],["against",{"2":{"7":1,"8":1,"79":1,"88":1,"257":1}}],["atoi",{"2":{"371":1}}],["atomic",{"2":{"173":1}}],["attributes",{"2":{"238":1,"375":1}}],["attributes=false",{"2":{"204":1}}],["attributes=true",{"2":{"204":1}}],["attract",{"2":{"144":1}}],["attempts",{"2":{"365":1}}],["attempting",{"2":{"310":1}}],["attempt",{"2":{"166":2}}],["attempt=3",{"2":{"96":1}}],["attempt=2",{"2":{"96":1}}],["attempt=1",{"2":{"96":1}}],["at",{"2":{"14":1,"16":1,"42":2,"45":1,"73":1,"75":1,"107":1,"144":1,"161":1,"176":1,"186":1,"210":1,"219":1,"225":1,"227":1,"232":1,"235":1,"238":1,"260":1,"290":2,"291":1,"293":1,"310":2,"356":1,"376":1}}],["admin",{"2":{"239":1,"240":1}}],["adr",{"2":{"176":1}}],["adoption",{"2":{"144":1}}],["adjusting",{"2":{"190":1}}],["adjust",{"2":{"112":1}}],["adjustment",{"2":{"73":2,"124":2,"236":1,"239":1,"240":1}}],["adjusted",{"2":{"19":1}}],["advertises",{"2":{"169":1}}],["advice",{"2":{"53":1}}],["advise",{"2":{"46":1,"51":2}}],["advanced",{"0":{"154":1},"2":{"42":1,"289":1}}],["advantages",{"2":{"10":1}}],["addr",{"2":{"69":1,"73":3,"124":3,"232":1}}],["address>",{"2":{"205":1,"228":1,"229":1,"285":1,"300":1,"326":1}}],["addresses",{"0":{"107":1},"2":{"60":1,"102":1,"103":1,"107":2}}],["address=localhost",{"2":{"341":1,"347":1,"352":1}}],["address=0x18df82c7e422a42d47345ed86b0e935e9718ebda",{"2":{"282":1,"323":1}}],["address=0x5c59c83c099f72fce832208f96a23a1e43737a14",{"2":{"137":1}}],["address=http",{"2":{"254":1,"260":1,"265":1}}],["address=`bitcoin",{"2":{"219":1}}],["address=127",{"2":{"123":2,"290":2}}],["address=",{"2":{"59":1,"123":2,"228":1,"229":1,"248":1,"290":2,"300":1}}],["address",{"2":{"36":3,"37":4,"38":2,"59":2,"60":4,"66":1,"70":2,"77":2,"78":1,"81":1,"97":1,"107":1,"108":1,"123":1,"124":4,"137":4,"138":2,"184":4,"189":4,"191":1,"205":1,"219":1,"228":4,"229":4,"240":5,"244":1,"247":1,"253":2,"254":3,"258":1,"260":1,"261":2,"274":2,"280":2,"282":2,"283":2,"284":2,"291":4,"294":1,"309":6,"323":2,"324":2,"325":2,"327":1,"339":3,"340":2,"341":6,"346":2,"347":2,"356":1,"368":3,"371":2,"375":1}}],["added",{"2":{"49":1,"107":1,"163":1,"232":2,"290":2,"310":2,"314":1,"374":2}}],["addition",{"2":{"272":1}}],["additionally",{"2":{"89":1,"145":1,"149":1,"338":1,"355":1}}],["additional",{"2":{"47":1,"94":1,"157":1,"167":1,"182":1}}],["additions",{"2":{"42":1,"134":1}}],["adding",{"0":{"32":1,"33":1,"45":1},"2":{"2":1,"16":1,"43":1,"83":1,"107":1,"112":1,"182":1,"232":3,"290":4,"310":2,"358":1}}],["add",{"0":{"22":1,"83":1,"107":1,"185":1},"2":{"16":2,"19":1,"22":2,"27":1,"32":2,"33":2,"39":1,"45":3,"46":1,"47":1,"50":1,"51":4,"74":1,"83":1,"89":1,"90":2,"103":1,"106":1,"121":1,"182":1,"185":2,"193":1,"205":1,"214":1,"219":1,"226":1,"244":1,"273":1,"274":1,"285":1,"295":1,"308":1,"309":1,"326":1,"362":2,"363":1,"371":2,"372":1}}],["apt",{"2":{"121":1,"213":3,"273":2}}],["apart",{"2":{"71":1}}],["append",{"2":{"134":2}}],["appear",{"2":{"108":1}}],["approve",{"2":{"294":1}}],["approach",{"2":{"128":1,"288":1}}],["appropriate",{"2":{"112":1}}],["approximately",{"2":{"14":1}}],["apply",{"2":{"44":1,"173":1,"190":1}}],["applications",{"2":{"18":1,"117":1,"145":1,"147":1,"151":1,"200":1,"210":1,"286":1,"288":1,"334":1}}],["application",{"0":{"159":1},"1":{"160":1,"161":1,"162":1,"163":1},"2":{"7":3,"9":2,"82":1,"117":1,"141":1,"143":2,"160":2,"161":1,"165":2,"167":1,"288":1,"293":1,"294":1,"295":1,"309":1,"360":1,"363":1}}],["apps",{"2":{"21":1,"82":1,"358":1,"362":1}}],["app",{"0":{"20":2,"22":1,"25":1,"80":1,"82":1,"293":1,"354":1},"1":{"21":2,"22":2,"23":2,"24":2,"25":2,"26":2,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"355":1,"356":1,"357":1,"358":1,"359":1,"360":1,"361":1,"362":1,"363":1,"364":1,"365":1,"366":1,"367":1,"368":1,"369":1,"370":1,"371":1,"372":1,"373":1,"374":1,"375":1,"376":1,"377":1},"2":{"20":3,"21":3,"22":1,"23":1,"25":2,"26":2,"80":1,"82":3,"90":3,"94":4,"123":2,"184":1,"188":2,"190":1,"204":2,"225":3,"232":4,"244":1,"273":3,"284":1,"290":2,"294":1,"295":1,"311":6,"320":2,"325":1,"333":1,"354":1,"360":3,"361":1,"362":2,"377":1}}],["apis",{"2":{"167":1}}],["api",{"2":{"10":1,"60":1,"73":1,"124":1,"129":1,"135":3,"163":1,"184":3,"232":2,"290":2,"303":1,"311":2}}],["achieve",{"2":{"144":1,"356":1}}],["action",{"2":{"375":1}}],["activities",{"2":{"204":1}}],["activity",{"2":{"102":1}}],["active",{"2":{"169":1}}],["acts",{"2":{"353":1}}],["actual",{"2":{"247":1,"260":1}}],["act",{"2":{"149":1}}],["actor",{"2":{"48":1}}],["accaddress",{"2":{"372":2}}],["accaddressfrombech32",{"2":{"370":1,"371":1}}],["access",{"2":{"186":1,"189":1,"190":1}}],["accessed",{"2":{"162":1}}],["accelerated",{"2":{"135":1}}],["accepting",{"2":{"204":1}}],["accepted",{"2":{"79":2}}],["accept",{"2":{"8":1,"291":1,"299":1}}],["accordingly",{"2":{"182":1}}],["according",{"2":{"112":1}}],["accounts",{"0":{"189":1},"2":{"124":2,"184":2,"189":3,"228":1,"364":3,"374":3}}],["account",{"0":{"33":1,"74":1,"97":1},"2":{"27":1,"33":2,"39":1,"73":2,"95":1,"97":1,"106":2,"124":3,"184":3,"191":1,"205":2,"248":1,"261":1,"278":1,"280":1,"285":2,"291":1,"300":1,"326":2,"327":1,"374":2,"375":1}}],["across",{"2":{"9":1,"138":2,"303":1}}],["artroll",{"2":{"188":1,"189":3,"190":4}}],["artela",{"0":{"186":1,"187":1},"1":{"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1},"2":{"186":1,"187":4,"188":2,"190":1,"191":10,"194":1,"195":2}}],["artifacts",{"2":{"46":1,"232":1,"235":1,"236":1,"290":1,"310":1}}],["articles",{"2":{"5":1}}],["arabica",{"2":{"151":1,"258":1,"260":2,"261":2,"327":1}}],["arm64",{"2":{"72":1}}],["architecture",{"2":{"128":1,"176":1,"356":1,"360":1}}],["arch",{"2":{"46":2}}],["argjson",{"2":{"36":1}}],["argument",{"2":{"19":1,"290":1,"310":1}}],["args",{"2":{"19":1,"94":1}}],["around",{"2":{"14":1,"18":2,"95":2,"376":1}}],["arbitrary",{"2":{"12":1,"13":1,"14":3,"162":1,"211":2}}],["are",{"2":{"12":1,"13":1,"14":1,"16":1,"50":2,"60":1,"71":2,"74":1,"87":1,"89":1,"90":1,"95":2,"113":1,"137":1,"144":1,"145":4,"149":1,"165":1,"166":3,"167":1,"170":1,"172":2,"173":1,"175":1,"176":2,"177":1,"178":1,"182":2,"189":1,"191":2,"199":1,"205":1,"208":1,"211":1,"213":2,"223":1,"226":1,"235":1,"239":1,"260":1,"266":1,"267":4,"276":3,"285":1,"300":1,"307":1,"311":2,"314":2,"326":1,"337":3,"339":1,"351":1,"353":2,"356":3,"359":2,"365":3,"366":1,"368":1,"370":2,"371":3,"375":2,"376":2}}],["array",{"2":{"9":1}}],["amt",{"2":{"372":2}}],["amazing",{"2":{"358":1}}],["amd",{"2":{"212":1,"214":1}}],["amd64",{"2":{"66":1,"214":3,"316":1}}],["among",{"2":{"182":1}}],["amount=",{"2":{"28":2}}],["amount",{"0":{"34":1},"2":{"8":1,"33":2,"34":2,"73":4,"77":3,"78":1,"124":6,"239":2,"240":1,"291":3,"292":2,"371":1,"375":1}}],["am",{"2":{"137":1,"219":1,"282":1,"323":1}}],["amp",{"0":{"4":1,"101":1},"2":{"2":2}}],["abcdefg",{"2":{"375":1}}],["abci",{"0":{"160":1},"1":{"161":1},"2":{"9":3,"95":1,"123":1,"141":2,"147":1,"150":1,"160":3,"161":2,"167":1,"176":1,"290":1}}],["abci++",{"2":{"7":2,"9":1,"10":1,"165":1}}],["abi",{"2":{"284":1,"325":1}}],["ability",{"2":{"7":2,"145":1,"156":1}}],["able",{"2":{"42":1,"144":1}}],["abstraction",{"2":{"369":1}}],["abstract",{"2":{"9":1}}],["about",{"0":{"140":1},"1":{"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"3":1,"26":1,"46":1,"47":1,"60":1,"63":1,"81":1,"141":1,"150":1,"158":1,"167":2,"172":1,"182":1,"204":1,"232":8,"260":1,"268":1,"291":1,"303":1,"328":1,"358":1,"360":1}}],["above",{"2":{"2":1,"19":1,"50":1,"52":1,"100":1,"144":1,"146":1,"260":2,"284":1,"285":1,"325":1,"326":1,"353":1,"371":1,"375":4}}],["alice",{"2":{"291":1,"374":2,"375":2}}],["align",{"2":{"8":1}}],["alignment",{"2":{"8":1}}],["alerting",{"2":{"108":1}}],["alerts",{"2":{"108":1}}],["alert",{"0":{"108":1},"2":{"103":1,"108":2,"150":1}}],["algorithm",{"2":{"73":2,"124":2}}],["alphabet",{"2":{"370":2,"371":3}}],["alphabets",{"2":{"370":2}}],["alpha",{"2":{"42":1,"91":1,"150":1,"155":1}}],["already",{"2":{"19":1,"61":1,"95":3,"123":1,"188":1,"191":1,"199":1,"205":1,"245":1,"254":1,"294":1,"300":1,"341":1,"347":1,"370":2,"375":2}}],["alongside",{"2":{"55":1,"62":1,"294":1}}],["along",{"2":{"9":1,"13":1,"228":1,"232":1,"290":1,"314":1,"351":1}}],["also",{"2":{"8":1,"12":1,"69":1,"71":1,"79":1,"101":1,"128":1,"144":1,"145":1,"163":1,"165":1,"166":1,"210":1,"247":1,"260":1,"327":1,"355":1,"365":1,"368":1,"370":1,"374":1}}],["alloc",{"2":{"205":1}}],["allow",{"2":{"42":1,"134":1,"140":1,"186":1,"272":1,"307":1,"365":1,"372":1}}],["allowing",{"2":{"8":1,"86":1,"145":1,"147":1}}],["allows",{"2":{"7":1,"8":2,"9":1,"10":2,"12":1,"89":1,"155":1,"156":1,"162":1,"211":2,"240":1,"273":1,"302":1,"308":1,"368":1,"369":1,"370":1,"371":1}}],["alley",{"2":{"70":2,"74":2}}],["all",{"2":{"7":2,"29":1,"30":1,"39":1,"44":1,"48":1,"49":1,"50":1,"51":1,"61":1,"75":1,"76":1,"121":1,"144":1,"166":2,"171":2,"175":1,"194":1,"208":1,"226":1,"231":1,"232":1,"248":1,"261":1,"267":1,"273":2,"274":3,"276":1,"289":1,"290":1,"291":1,"298":1,"301":1,"309":1,"311":1,"339":2,"372":1,"374":1,"375":1}}],["alter",{"2":{"364":1}}],["alternatively",{"2":{"19":1,"45":1,"75":1,"189":1}}],["alternative",{"2":{"9":1}}],["although",{"2":{"356":1}}],["alt",{"2":{"7":1}}],["always",{"2":{"2":1,"79":1,"124":1}}],["answer",{"2":{"371":1}}],["anvil",{"2":{"228":6}}],["announce",{"2":{"12":1}}],["another",{"2":{"8":1,"18":1,"61":1,"148":1,"161":1,"182":1,"291":1,"375":2}}],["an",{"0":{"46":1,"51":1,"243":1,"248":1},"1":{"244":1},"2":{"4":1,"7":3,"8":6,"9":1,"12":1,"14":1,"15":3,"18":1,"19":1,"28":1,"29":2,"40":1,"43":2,"46":1,"49":1,"59":1,"60":1,"61":2,"63":3,"66":1,"71":1,"73":1,"77":1,"78":1,"89":1,"90":1,"92":1,"95":1,"104":1,"106":1,"108":2,"112":1,"117":1,"121":2,"123":2,"124":1,"129":1,"135":1,"136":1,"141":2,"145":1,"148":1,"150":1,"156":1,"157":1,"158":1,"161":1,"162":1,"167":1,"182":1,"186":1,"195":1,"204":1,"212":1,"225":1,"228":2,"232":1,"237":1,"240":1,"244":1,"247":2,"264":1,"278":2,"283":1,"285":2,"290":1,"291":1,"292":1,"293":1,"296":1,"302":1,"310":1,"321":1,"324":1,"326":2,"330":1,"338":1,"353":1,"355":1,"356":1,"358":2,"360":1,"369":1,"371":3,"375":4}}],["anyone",{"2":{"140":1,"156":1}}],["anywhere",{"0":{"128":1}}],["anyhow",{"2":{"48":2}}],["any",{"0":{"147":1},"2":{"4":1,"7":3,"9":1,"10":3,"16":1,"30":1,"44":1,"48":1,"73":1,"94":1,"113":1,"114":1,"138":1,"141":1,"147":1,"160":1,"162":1,"173":1,"182":1,"184":1,"208":1,"263":1,"265":1,"273":1,"293":1,"294":1,"298":1,"308":1,"337":1,"350":1,"351":1,"370":1,"375":2}}],["and",{"0":{"29":1,"50":1,"53":1,"58":1,"71":1,"107":1,"132":1,"135":1,"143":1,"144":1,"151":1,"180":1,"182":1,"196":1,"204":1,"205":1,"226":1,"284":1,"299":1,"300":1,"314":1,"325":1,"357":1,"374":1},"1":{"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"133":1,"134":1,"135":1,"152":1,"153":1,"154":1,"155":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"358":1,"359":1,"360":1},"2":{"0":1,"1":1,"2":4,"3":2,"7":6,"8":10,"9":5,"10":3,"12":1,"13":1,"14":2,"15":4,"16":7,"18":6,"19":3,"20":2,"21":1,"26":1,"27":1,"29":2,"39":3,"42":5,"43":2,"47":5,"48":1,"50":3,"53":1,"55":2,"56":1,"58":1,"60":1,"61":3,"63":3,"66":1,"69":3,"71":1,"75":3,"76":1,"77":2,"78":1,"82":1,"86":1,"87":1,"88":2,"89":1,"90":3,"94":2,"95":8,"101":1,"102":2,"103":3,"105":2,"106":1,"107":1,"108":1,"109":2,"110":1,"111":1,"112":2,"115":2,"117":1,"118":1,"119":1,"120":1,"121":2,"122":1,"123":1,"126":1,"128":3,"130":2,"131":1,"132":2,"134":4,"135":6,"136":2,"137":3,"138":2,"141":4,"144":5,"145":5,"146":1,"147":1,"148":3,"149":2,"150":3,"151":1,"155":1,"156":1,"157":2,"158":5,"160":1,"161":1,"162":1,"165":2,"166":3,"167":4,"169":2,"171":1,"172":1,"173":2,"176":8,"178":1,"182":8,"186":1,"188":3,"189":2,"190":1,"191":4,"192":1,"193":2,"194":2,"195":2,"197":2,"199":1,"201":1,"202":1,"203":1,"204":6,"205":4,"207":1,"208":4,"210":6,"211":4,"213":2,"214":1,"218":1,"219":2,"222":1,"224":1,"225":1,"226":3,"228":2,"229":1,"232":6,"234":1,"236":2,"237":1,"239":1,"240":3,"242":4,"243":1,"245":1,"246":1,"247":2,"248":1,"249":1,"251":1,"252":2,"255":2,"257":1,"258":1,"261":1,"262":1,"263":2,"264":1,"265":2,"267":4,"272":3,"273":6,"274":4,"276":3,"277":1,"278":2,"280":1,"282":1,"284":1,"285":1,"286":1,"288":1,"290":7,"291":2,"294":3,"295":1,"296":2,"299":3,"300":1,"301":2,"302":2,"303":1,"307":2,"308":3,"309":4,"310":3,"311":7,"312":1,"314":3,"317":1,"320":1,"322":1,"323":1,"325":1,"326":1,"327":5,"328":4,"332":1,"333":2,"334":2,"337":2,"338":2,"339":1,"341":1,"342":1,"344":1,"345":2,"346":1,"348":1,"350":2,"351":1,"352":1,"353":2,"354":2,"358":2,"359":1,"360":4,"363":2,"364":1,"365":4,"368":1,"369":2,"370":1,"371":6,"372":1,"374":1,"375":7,"376":1,"377":1}}],["ask",{"2":{"375":1}}],["asking",{"2":{"18":1}}],["async",{"2":{"375":5}}],["asynchronously",{"2":{"375":1}}],["asynchronous",{"2":{"8":1}}],["astria",{"0":{"313":1},"2":{"350":1,"353":1}}],["asdf",{"2":{"214":7}}],["aspect",{"2":{"191":6,"192":5,"193":11,"293":1}}],["asset",{"2":{"364":1}}],["assembly",{"2":{"204":1}}],["assertion",{"2":{"226":2}}],["asserteq",{"2":{"226":4}}],["assert",{"2":{"42":1,"48":1,"226":1}}],["assist",{"2":{"186":1}}],["associated",{"2":{"119":1,"189":1,"332":1}}],["assume",{"2":{"123":1,"191":1,"340":1}}],["assumes",{"2":{"20":1,"130":1,"136":1,"278":1,"293":1}}],["assumptions",{"2":{"63":1,"145":1}}],["as",{"0":{"15":1,"116":1,"241":1,"256":1},"1":{"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"257":1,"258":1,"259":1,"260":1,"261":1,"262":1},"2":{"3":1,"7":3,"8":1,"9":2,"10":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":2,"24":1,"42":1,"45":1,"47":3,"49":1,"50":2,"61":2,"77":1,"85":1,"90":1,"95":1,"108":1,"117":3,"125":1,"126":1,"129":2,"130":1,"134":4,"135":1,"140":2,"141":4,"143":1,"144":1,"145":3,"146":1,"148":1,"149":2,"150":2,"156":2,"158":1,"160":1,"161":1,"162":2,"166":2,"167":2,"169":1,"175":1,"176":2,"182":3,"204":1,"210":1,"211":1,"221":1,"228":4,"229":1,"231":1,"232":2,"235":2,"236":1,"242":1,"247":1,"249":2,"251":1,"257":1,"260":1,"263":1,"265":1,"267":1,"273":2,"289":1,"290":3,"291":1,"293":2,"295":1,"307":1,"308":1,"310":1,"311":1,"314":1,"321":1,"337":1,"338":2,"339":1,"340":1,"344":1,"351":1,"353":2,"354":2,"359":1,"363":1,"364":1,"365":1,"366":2,"369":1,"370":1,"371":2,"375":4}}],["a",{"0":{"15":1,"20":1,"27":1,"32":1,"33":1,"37":1,"49":1,"66":1,"80":1,"120":1,"132":1,"149":1,"151":1,"196":1,"201":1,"217":1,"218":1,"252":1,"258":1,"316":1,"327":1,"345":1,"364":1,"366":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"50":1,"51":1,"52":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"133":1,"134":1,"135":1,"152":1,"153":1,"154":1,"155":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"328":1,"329":1,"330":1},"2":{"2":4,"5":2,"7":11,"8":6,"9":2,"10":6,"11":1,"12":3,"13":3,"14":9,"15":2,"16":7,"17":3,"18":3,"19":1,"20":2,"21":1,"26":1,"27":2,"29":2,"32":1,"33":1,"37":2,"39":3,"40":1,"42":2,"43":1,"44":1,"46":2,"47":2,"51":2,"55":5,"56":2,"61":1,"62":1,"63":2,"66":2,"69":1,"71":4,"75":4,"79":3,"80":1,"81":1,"82":1,"88":1,"89":1,"90":5,"91":1,"95":3,"99":1,"106":1,"108":2,"109":1,"111":1,"117":5,"119":1,"120":2,"121":4,"124":10,"125":2,"126":2,"128":5,"129":1,"130":1,"131":1,"132":2,"133":1,"134":3,"135":2,"137":3,"138":2,"139":1,"140":2,"141":6,"143":2,"144":10,"145":8,"147":1,"148":4,"149":3,"150":4,"155":3,"156":1,"158":1,"160":2,"161":2,"162":1,"163":4,"165":2,"166":6,"169":1,"173":4,"175":3,"176":6,"178":2,"182":9,"186":3,"188":1,"191":2,"192":1,"193":1,"197":3,"199":1,"201":2,"204":2,"205":2,"206":1,"210":6,"211":2,"216":1,"218":2,"219":5,"220":1,"221":1,"225":1,"226":3,"227":1,"228":2,"230":1,"232":13,"235":1,"236":2,"237":1,"238":1,"239":1,"240":2,"242":3,"243":1,"244":2,"246":2,"247":1,"249":1,"251":2,"252":1,"255":2,"257":3,"258":2,"260":2,"262":1,"263":3,"264":2,"265":4,"266":2,"267":3,"272":1,"273":2,"274":2,"276":1,"278":2,"281":2,"282":2,"285":2,"286":2,"288":4,"290":7,"291":3,"293":2,"294":1,"295":1,"300":1,"307":2,"308":2,"309":7,"310":3,"311":2,"314":5,"316":2,"320":2,"321":1,"322":2,"323":2,"326":2,"327":2,"328":2,"329":1,"331":1,"332":1,"333":1,"334":2,"337":4,"338":3,"339":3,"340":1,"341":1,"344":2,"345":2,"350":4,"351":2,"352":4,"353":1,"354":1,"355":1,"356":10,"358":3,"359":4,"360":4,"363":2,"365":3,"366":3,"368":2,"369":3,"370":8,"371":11,"372":2,"374":4,"375":12,"376":6,"377":1}}],["ics",{"2":{"123":1}}],["ics20",{"2":{"51":1,"75":1,"124":2}}],["illustrates",{"2":{"102":1}}],["ip",{"2":{"69":1,"328":1}}],["ip4",{"2":{"59":1,"123":2,"290":2}}],["io",{"2":{"66":1,"232":6,"234":2,"274":2,"290":6,"310":2,"311":1,"316":1,"328":1,"370":1,"371":1}}],["i",{"2":{"66":1,"94":6,"134":2,"137":1,"155":1,"219":1,"282":1,"316":1,"323":1,"333":5,"341":1,"347":1}}],["i32",{"2":{"47":2}}],["ids",{"2":{"264":1}}],["identity",{"2":{"244":5}}],["identifier",{"2":{"137":1,"226":2,"227":1}}],["identify",{"2":{"59":1}}],["idea",{"2":{"293":1}}],["ideas",{"2":{"191":1,"354":1}}],["ideal",{"2":{"149":1}}],["id=1651",{"2":{"299":1}}],["id=wordle",{"2":{"274":1}}],["id=$",{"2":{"238":1}}],["id=0x03bc2b46dc4bef55",{"2":{"204":1}}],["id=channel",{"2":{"77":1}}],["id=",{"2":{"59":1}}],["id=your",{"2":{"58":1}}],["id=rollup",{"2":{"28":1}}],["id",{"2":{"28":2,"31":3,"34":2,"46":3,"58":3,"60":2,"73":2,"75":35,"77":4,"78":2,"87":3,"108":1,"124":8,"125":1,"134":2,"169":1,"184":7,"224":1,"232":1,"236":1,"238":5,"239":2,"240":5,"244":1,"254":1,"264":3,"273":2,"274":2,"276":1,"290":1,"291":1,"308":1,"309":1,"311":1,"339":3,"340":2,"341":4,"345":1,"346":2,"347":2,"374":1,"375":5}}],["igniteversiontag",{"2":{"81":1,"273":1,"358":1}}],["ignite",{"0":{"80":1,"81":1,"82":1,"357":1,"358":1},"1":{"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"358":1,"359":1,"360":1},"2":{"20":1,"21":1,"65":1,"66":3,"80":1,"81":4,"82":2,"88":1,"90":1,"273":5,"354":1,"358":7,"359":5,"362":2,"365":1,"374":1,"375":1,"376":1}}],["ibc",{"0":{"63":1,"71":1,"75":1,"116":1,"124":1},"1":{"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":2,"73":2,"74":2,"75":2,"76":2,"77":2,"78":2,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1},"2":{"7":1,"9":1,"63":5,"66":2,"69":2,"71":1,"75":9,"76":1,"77":5,"78":2,"90":2,"117":1,"123":3,"124":7,"125":1,"240":1}}],["if",{"2":{"4":1,"11":1,"19":1,"29":2,"42":2,"48":1,"49":1,"61":1,"77":1,"78":1,"79":1,"89":2,"91":1,"94":3,"95":1,"96":1,"97":1,"104":1,"121":1,"123":1,"131":1,"138":1,"140":1,"150":1,"155":1,"168":2,"182":2,"188":2,"192":1,"199":1,"208":1,"236":1,"240":1,"242":1,"244":1,"247":1,"265":1,"273":1,"284":1,"285":1,"294":1,"298":2,"321":1,"325":1,"326":1,"352":1,"358":1,"359":1,"370":8,"371":14,"375":1}}],["inner",{"2":{"157":1}}],["innovative",{"2":{"147":1,"191":1}}],["innovation",{"2":{"141":1}}],["innovate",{"2":{"141":1}}],["invalid",{"2":{"182":4,"375":2}}],["involved",{"2":{"108":1,"307":1}}],["involves",{"2":{"71":1}}],["invite",{"2":{"18":1}}],["indicators",{"2":{"356":1}}],["indicating",{"2":{"203":1,"204":1,"254":1,"299":1,"341":1,"347":1}}],["indicates",{"2":{"60":1,"61":1,"112":1,"299":1}}],["index",{"2":{"240":1,"370":4,"371":4,"375":1}}],["indexing",{"2":{"103":1,"105":1}}],["indexed",{"2":{"61":1,"94":2,"123":1,"188":1,"204":2,"232":1,"290":1,"311":3,"320":1}}],["indexerservice",{"2":{"123":1,"290":1}}],["indexers",{"2":{"9":1}}],["independently",{"2":{"8":1}}],["independent",{"2":{"7":1}}],["initiate",{"2":{"243":1,"247":1,"258":1,"261":1}}],["initial",{"2":{"48":1,"63":1,"365":2,"371":1}}],["initialization",{"2":{"333":1}}],["initializing",{"0":{"31":1,"111":1},"1":{"112":1},"2":{"74":1}}],["initialized",{"2":{"112":1,"208":1}}],["initialize",{"0":{"23":1,"24":1,"58":1,"85":1,"86":1,"122":1,"225":1},"1":{"86":1},"2":{"23":2,"24":1,"27":1,"31":1,"39":1,"58":1,"85":2,"86":1,"109":1,"111":1,"115":1,"122":1,"224":1,"273":2,"309":1,"360":1,"371":1,"374":3}}],["initially",{"2":{"15":1}}],["init",{"2":{"23":1,"24":1,"29":1,"31":1,"48":1,"58":1,"66":2,"69":3,"73":1,"85":1,"86":1,"112":1,"121":2,"122":1,"124":1,"162":1,"224":1,"225":1,"229":3,"236":1,"239":1,"246":2,"273":2,"309":1,"374":2}}],["insights",{"2":{"333":1}}],["inside",{"2":{"46":2,"51":2,"190":1,"232":1,"290":1,"310":1,"360":2,"370":1,"372":1}}],["inspired",{"2":{"165":1}}],["insert",{"2":{"25":1}}],["inscriptions",{"2":{"14":2}}],["inscribe",{"2":{"14":2}}],["instantaneous",{"2":{"242":1}}],["instantiating",{"2":{"239":1}}],["instantiation",{"0":{"239":1}}],["instantiated",{"2":{"238":1,"240":2}}],["instantiatemsg",{"2":{"42":1,"46":2,"48":2}}],["instantiate",{"2":{"42":1,"46":1,"48":1,"239":1}}],["instance",{"2":{"50":1,"66":1,"136":1,"316":1}}],["installation",{"0":{"339":1},"2":{"119":2,"131":1,"199":2,"215":1,"231":1,"271":1,"289":1,"298":1,"306":1,"332":2,"358":1}}],["installer",{"2":{"118":1}}],["installed",{"2":{"20":1,"22":1,"56":1,"81":1,"88":1,"121":1,"129":1,"131":1,"188":2,"191":1,"198":1,"208":1,"214":1,"225":1,"226":1,"231":1,"232":1,"259":1,"271":1,"289":1,"290":1,"293":1,"298":3,"300":1,"306":1,"315":1,"355":1,"358":1}}],["installing",{"0":{"110":1,"131":1,"362":1},"2":{"109":1,"188":1,"226":1,"251":1,"257":1,"338":1,"344":1}}],["installs",{"2":{"82":1,"110":1,"358":1}}],["install",{"0":{"21":1,"68":1,"72":1,"81":1,"82":1,"119":1,"216":1,"279":1,"318":1,"332":1},"2":{"21":2,"66":2,"68":1,"72":1,"81":1,"82":3,"109":1,"110":2,"115":1,"118":2,"119":2,"120":1,"121":4,"124":2,"131":1,"191":2,"199":1,"200":1,"201":1,"210":2,"213":2,"214":4,"215":1,"216":2,"224":1,"231":1,"252":2,"271":1,"273":8,"279":1,"289":1,"298":3,"300":2,"306":1,"328":2,"332":2,"345":3,"355":2,"358":1,"362":2}}],["instead",{"2":{"7":1,"8":2,"71":1,"114":2,"137":1,"161":1,"191":4,"236":1,"260":1,"339":1}}],["instructions",{"2":{"3":1,"18":1,"124":1,"131":1,"188":1,"314":1,"328":2}}],["inherits",{"2":{"18":1}}],["inherit",{"2":{"12":1,"145":1,"211":1}}],["inflationary",{"2":{"144":1}}],["inflating",{"2":{"8":1}}],["inference",{"2":{"128":3}}],["inform",{"2":{"314":1}}],["information",{"2":{"99":1,"129":1,"167":5,"208":1,"242":1,"355":1,"365":1}}],["infos",{"2":{"291":1,"375":1}}],["info",{"2":{"75":13,"124":1,"167":1,"189":4,"232":4,"240":2,"248":1,"290":7,"291":1,"299":1,"310":12,"375":2}}],["inf",{"2":{"59":1,"61":1,"96":1,"123":24,"188":4,"204":24,"232":7,"290":24,"311":12,"320":10}}],["infrastructure",{"2":{"9":1,"135":1}}],["inclusion",{"0":{"336":1},"2":{"353":1}}],["includes",{"2":{"63":1,"121":1,"145":1,"161":1,"162":1}}],["included",{"2":{"14":1,"61":1,"167":1,"168":2,"182":2,"226":1,"350":1,"356":1,"375":3}}],["include",{"2":{"14":2,"50":1,"87":1,"94":2,"122":1,"134":1,"226":1,"254":1,"341":1,"347":1}}],["including",{"2":{"7":1,"17":1,"144":1,"145":1,"157":1,"350":1}}],["incoming",{"2":{"204":2}}],["incorporates",{"2":{"128":1}}],["incredibly",{"2":{"334":1}}],["increase",{"0":{"99":1},"2":{"95":3,"99":1,"292":1}}],["increasing",{"2":{"79":1}}],["incrementcounter",{"2":{"226":3,"228":1,"229":1}}],["increment",{"2":{"42":1,"47":2,"48":1,"371":2,"375":1}}],["incurring",{"2":{"144":1}}],["incur",{"2":{"18":1,"145":1}}],["incentive",{"2":{"8":1}}],["int",{"2":{"226":9,"228":1,"229":1,"371":1}}],["introduction",{"0":{"42":1,"55":1,"117":1,"128":1,"156":1,"197":1,"242":1,"251":1,"257":1,"288":1,"344":1},"2":{"43":1}}],["introduced",{"2":{"89":1,"303":1}}],["introduce",{"2":{"8":1}}],["integrity",{"2":{"242":1}}],["integrated",{"2":{"82":1,"88":1,"106":1,"107":1,"195":1,"302":1}}],["integrate",{"0":{"102":1,"105":1},"1":{"103":1,"104":1,"105":1,"106":2,"107":1,"108":1},"2":{"22":1,"42":2,"51":1,"52":1,"90":1,"103":1,"105":1,"117":1,"211":1,"230":1,"264":1}}],["integrating",{"0":{"15":1,"52":1},"2":{"14":1,"20":1,"43":1}}],["integrations",{"2":{"90":1,"163":1}}],["integration",{"0":{"44":1,"48":1,"49":1},"1":{"45":1,"46":1,"47":1,"48":1,"50":1,"51":1,"52":1},"2":{"12":1,"13":1,"17":1,"18":1,"42":2,"43":3,"48":1,"49":2,"51":1,"103":1,"162":1,"163":1,"186":1,"211":2,"314":2}}],["integers",{"2":{"370":1,"375":1}}],["integer",{"2":{"168":1}}],["intermediate",{"0":{"153":1},"2":{"176":1}}],["intermediaries",{"2":{"8":1}}],["interpreted",{"2":{"130":1}}],["interval",{"2":{"89":1}}],["inter",{"2":{"63":1}}],["interacted",{"2":{"240":1,"286":1}}],["interactive",{"2":{"121":1}}],["interacting",{"0":{"276":1,"311":1,"375":1},"2":{"53":1,"166":1,"189":1,"191":1,"276":1,"311":1}}],["interactions",{"2":{"48":1,"53":1,"369":2}}],["interaction",{"0":{"47":1,"205":1,"237":1,"240":1,"278":1,"300":1},"1":{"238":1,"239":1,"240":1,"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1},"2":{"43":1,"47":1,"50":1,"191":3,"205":1,"264":1,"300":1,"364":1}}],["interact",{"0":{"138":1,"283":1,"285":1,"324":1,"326":1},"2":{"9":1,"42":2,"44":1,"115":1,"137":1,"138":1,"203":1,"205":1,"237":1,"240":1,"264":1,"276":3,"277":1,"278":1,"284":2,"285":1,"291":1,"293":1,"300":1,"311":3,"312":1,"325":2,"326":1,"369":1}}],["interchain",{"2":{"9":1}}],["interoperability",{"2":{"8":1}}],["interoperate",{"2":{"7":2}}],["internal",{"2":{"8":1}}],["interfaces",{"2":{"16":2,"51":1,"162":1,"167":1,"339":1,"364":1}}],["interface",{"0":{"46":1,"51":1,"160":1,"351":1},"1":{"161":1},"2":{"7":1,"9":1,"10":1,"16":6,"43":2,"46":9,"47":1,"51":7,"141":2,"150":1,"160":1,"161":1,"162":2,"163":1,"263":2,"264":4,"293":1,"337":1,"351":2,"353":2,"372":2,"376":1}}],["into",{"0":{"15":1,"20":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1},"2":{"7":1,"20":2,"26":1,"36":1,"42":1,"66":1,"82":1,"88":1,"90":2,"91":1,"103":1,"105":1,"107":1,"128":1,"155":1,"158":1,"173":1,"191":1,"211":1,"225":1,"236":2,"264":1,"265":1,"284":1,"285":1,"289":1,"294":1,"325":1,"326":1,"330":1,"333":1,"352":1}}],["in",{"0":{"34":1,"49":1,"96":1,"116":1,"172":1,"176":1,"376":1},"1":{"50":1,"51":1,"52":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1},"2":{"3":1,"4":2,"8":4,"9":1,"14":1,"15":2,"16":3,"18":1,"19":2,"21":2,"29":3,"34":1,"37":1,"39":1,"40":1,"42":3,"43":1,"45":2,"46":4,"47":5,"48":2,"49":1,"50":1,"51":3,"53":1,"55":1,"58":1,"63":4,"66":2,"69":2,"71":2,"75":5,"77":3,"79":1,"81":1,"82":1,"89":3,"90":2,"91":2,"94":1,"95":7,"98":1,"99":1,"101":2,"102":1,"103":1,"105":1,"106":5,"107":1,"108":4,"112":2,"113":1,"119":1,"121":1,"123":3,"124":1,"128":1,"131":1,"132":1,"134":1,"135":2,"136":1,"137":2,"138":3,"140":1,"141":1,"144":2,"145":2,"146":2,"150":1,"155":3,"157":1,"158":1,"162":2,"165":1,"166":3,"169":1,"170":1,"173":2,"175":2,"176":4,"178":1,"182":9,"184":2,"188":1,"189":2,"191":4,"210":2,"219":1,"223":1,"225":1,"226":4,"229":1,"230":1,"232":4,"234":1,"235":2,"236":5,"237":2,"238":1,"240":1,"242":1,"244":2,"248":1,"255":1,"257":1,"258":1,"260":1,"261":1,"265":1,"267":4,"272":1,"273":1,"274":1,"276":6,"277":1,"278":1,"280":1,"282":1,"284":1,"285":4,"290":7,"291":1,"293":1,"294":1,"295":1,"298":1,"303":1,"307":3,"308":1,"309":1,"310":2,"311":6,"312":1,"314":1,"316":1,"319":1,"323":1,"325":1,"326":4,"327":3,"329":1,"330":2,"332":1,"337":2,"339":1,"340":1,"350":3,"352":1,"353":1,"354":1,"355":1,"356":5,"358":2,"359":1,"360":1,"363":2,"365":2,"366":1,"370":5,"371":3,"372":2,"374":1,"375":5,"376":1}}],["image=",{"2":{"309":1}}],["image",{"2":{"14":1,"232":3,"234":2,"273":4,"274":6,"276":1,"290":3,"308":4,"309":1,"310":2,"311":2}}],["images",{"0":{"298":1},"2":{"3":1,"232":1,"273":1,"276":1,"290":1,"298":3,"308":1,"310":1}}],["impact",{"2":{"191":1}}],["impl=node",{"2":{"123":1,"290":1}}],["impl=rpc",{"2":{"123":1,"290":1}}],["impl=indexerservice",{"2":{"123":1,"290":1}}],["impl=pubsub",{"2":{"123":1,"290":1}}],["impl=eventbus",{"2":{"123":1,"290":1}}],["impl=localclient",{"2":{"123":4,"290":4}}],["impl=multiappconn",{"2":{"123":1,"290":1}}],["impl",{"2":{"46":1}}],["implementing",{"2":{"16":1,"150":1,"207":1}}],["implementers",{"2":{"16":1}}],["implemented",{"2":{"16":1,"141":1,"163":1,"165":1,"169":1,"170":1,"173":1,"363":1,"372":1,"375":1}}],["implements",{"2":{"14":1,"47":1,"167":1,"263":1,"337":1,"353":1}}],["implementations",{"0":{"353":1},"2":{"162":1,"353":1,"354":1}}],["implementation",{"0":{"356":1},"2":{"12":1,"13":1,"15":1,"18":1,"145":1,"173":2,"353":1,"354":1}}],["implement",{"2":{"10":1,"16":2,"356":2,"369":1}}],["imported",{"2":{"372":1}}],["import",{"2":{"134":1,"137":2,"226":2,"227":2,"309":2,"370":1,"371":1}}],["importing",{"2":{"48":1,"51":1}}],["important",{"2":{"16":1,"94":1,"140":1,"162":1,"264":1,"338":1,"360":1}}],["imposed",{"2":{"10":1}}],["improves",{"2":{"375":1}}],["improve",{"2":{"193":1,"376":3}}],["improvements",{"2":{"4":1}}],["improving",{"2":{"2":1,"55":1}}],["itoa",{"2":{"371":2}}],["its",{"2":{"7":2,"9":1,"16":1,"59":1,"119":1,"132":1,"169":1,"175":1,"182":1,"189":1,"190":1,"191":1,"238":1,"247":1,"260":1,"332":1,"363":2,"371":1}}],["it",{"2":{"2":2,"8":1,"9":2,"12":1,"14":2,"16":3,"18":3,"19":2,"23":1,"29":2,"37":1,"42":3,"45":1,"46":2,"47":1,"58":1,"59":1,"61":1,"63":1,"72":1,"75":3,"85":1,"94":2,"117":1,"118":1,"121":2,"128":1,"133":1,"134":2,"135":5,"137":2,"138":2,"140":1,"141":1,"144":2,"145":4,"148":1,"150":1,"155":1,"156":1,"157":1,"160":1,"162":1,"163":1,"165":1,"166":1,"169":1,"176":1,"182":1,"184":1,"186":1,"190":1,"192":1,"204":1,"211":3,"214":2,"219":2,"226":1,"227":1,"228":1,"229":1,"231":1,"232":1,"234":1,"235":1,"236":1,"238":1,"240":1,"242":1,"244":1,"247":1,"255":1,"258":1,"263":3,"265":2,"272":1,"273":2,"276":2,"277":1,"278":3,"280":1,"285":1,"286":1,"288":1,"289":1,"290":1,"291":2,"293":1,"298":1,"302":1,"303":1,"306":1,"307":1,"308":1,"309":3,"311":3,"312":1,"326":1,"334":2,"338":2,"350":1,"351":1,"352":1,"353":1,"354":1,"355":1,"356":2,"358":2,"360":3,"364":1,"365":3,"368":1,"369":2,"370":1,"371":2,"372":1,"374":1,"375":3,"376":3}}],["isfound",{"2":{"370":2,"371":4}}],["isletter",{"2":{"370":3,"371":1}}],["isn",{"2":{"356":1}}],["isrs",{"2":{"176":1}}],["issues",{"2":{"208":1,"273":1,"294":1,"298":1,"314":2}}],["issue",{"2":{"4":1,"63":3,"91":1,"155":1,"242":1}}],["is",{"0":{"29":1,"141":1,"142":1},"1":{"143":1,"144":1},"2":{"1":1,"7":1,"8":2,"9":1,"10":1,"12":3,"15":2,"18":4,"19":2,"21":1,"22":1,"24":1,"25":1,"28":1,"29":3,"37":1,"39":1,"40":1,"42":1,"47":1,"48":1,"51":1,"52":1,"60":1,"61":1,"69":2,"71":1,"75":3,"76":1,"77":1,"78":1,"79":2,"81":1,"87":2,"91":1,"92":1,"94":1,"95":4,"96":1,"98":1,"103":1,"107":2,"108":1,"111":1,"112":2,"117":1,"121":1,"124":2,"131":1,"133":1,"134":1,"135":1,"136":1,"137":1,"140":1,"141":3,"143":2,"145":3,"148":1,"150":1,"155":2,"156":1,"157":1,"160":1,"162":1,"163":1,"165":3,"166":2,"168":2,"169":2,"173":1,"175":1,"176":1,"182":6,"183":1,"184":1,"186":1,"188":2,"197":2,"199":1,"200":1,"203":2,"204":4,"208":2,"211":1,"224":1,"226":1,"227":1,"229":1,"230":3,"231":1,"232":2,"234":1,"236":1,"238":1,"239":2,"242":1,"243":1,"244":1,"247":4,"248":3,"254":2,"255":1,"260":8,"261":1,"263":3,"265":5,"266":1,"267":2,"268":1,"273":2,"274":3,"276":1,"280":1,"282":1,"284":1,"288":1,"289":1,"290":3,"291":1,"293":1,"294":2,"298":2,"299":1,"303":3,"306":1,"307":1,"309":2,"311":2,"314":4,"325":1,"328":1,"330":1,"331":1,"334":3,"337":4,"338":1,"339":1,"340":1,"341":3,"346":1,"347":1,"349":1,"352":5,"353":2,"355":1,"356":1,"358":1,"359":2,"360":3,"363":3,"364":2,"365":2,"368":3,"369":3,"370":5,"371":3,"372":2,"375":3,"376":1}}],["luck",{"2":{"249":1,"262":1,"334":1}}],["luxor",{"2":{"14":1}}],["l",{"2":{"215":1,"279":1,"318":1}}],["l3s",{"2":{"146":1}}],["lt",{"2":{"94":1}}],["l2",{"2":{"8":2}}],["len",{"2":{"370":1,"371":1}}],["level",{"2":{"124":1,"131":1,"165":1,"186":1,"291":1}}],["leverages",{"2":{"128":1,"145":1}}],["leverage",{"2":{"20":1,"102":1,"148":1,"157":1,"186":1}}],["left",{"2":{"79":1,"94":1}}],["less",{"2":{"16":1,"102":1,"106":1}}],["letters",{"2":{"370":3,"371":2}}],["letter",{"2":{"356":6,"370":1,"371":1,"375":1}}],["lets",{"2":{"58":1}}],["let",{"2":{"8":1,"42":1,"48":5,"91":1,"121":1,"137":1,"155":1,"191":1,"226":2,"227":1,"232":1,"234":1,"236":3,"238":1,"240":1,"247":2,"248":1,"260":4,"261":1,"290":1,"291":1,"293":1,"311":1,"374":1,"375":3}}],["leader",{"2":{"375":1}}],["leading",{"2":{"7":1}}],["least",{"2":{"176":1,"375":1}}],["leaf",{"2":{"124":2}}],["learnt",{"2":{"195":1}}],["learning",{"2":{"128":2}}],["learn",{"2":{"3":1,"26":1,"46":1,"53":1,"63":2,"109":1,"120":1,"141":1,"148":1,"150":1,"193":1,"260":1,"268":1,"303":1,"321":1,"328":1}}],["li",{"2":{"276":1}}],["lies",{"2":{"258":1}}],["license",{"2":{"137":1,"226":2,"227":1}}],["listed",{"2":{"144":1}}],["listen=0",{"2":{"328":1}}],["listen",{"2":{"73":1,"123":1,"124":1,"201":1,"232":1,"252":1,"274":2,"276":1,"290":2,"311":1,"339":1,"345":1}}],["listening",{"2":{"59":1,"120":1,"123":3,"203":1,"290":3}}],["list",{"2":{"97":1,"124":1,"193":1,"238":1,"240":2,"291":2,"365":1,"375":2}}],["limited",{"2":{"143":2}}],["limitations",{"2":{"143":1,"192":1}}],["limit",{"2":{"92":2,"124":1,"291":1,"375":1}}],["lifecycle",{"2":{"162":1,"186":1,"192":1}}],["life",{"2":{"90":1,"147":1}}],["lines",{"2":{"134":1,"265":1,"352":1}}],["line",{"2":{"121":1,"236":2}}],["link",{"2":{"75":1,"200":1}}],["linux",{"2":{"66":1,"118":1,"214":3,"298":2,"316":1}}],["libraries",{"2":{"358":1}}],["library",{"2":{"53":1,"226":1}}],["libssl",{"2":{"213":1}}],["libs",{"2":{"192":1}}],["libp2p",{"2":{"169":1}}],["lib",{"2":{"46":2,"47":1,"51":1}}],["live",{"2":{"16":1,"42":1,"53":1,"79":1,"227":1}}],["liquidity",{"2":{"8":1,"149":1}}],["light",{"0":{"172":1,"243":1,"248":1,"258":1,"261":1,"327":1,"328":1},"1":{"244":1,"328":1,"329":1,"330":1},"2":{"7":2,"8":1,"73":1,"95":1,"97":1,"124":1,"145":2,"150":1,"158":1,"163":1,"172":4,"173":1,"176":4,"178":2,"182":2,"243":1,"244":4,"246":1,"247":1,"258":2,"260":6,"327":2,"328":7,"330":1}}],["like",{"2":{"7":2,"8":1,"9":1,"40":1,"46":1,"47":1,"61":1,"71":2,"75":1,"77":1,"78":2,"92":1,"96":1,"112":1,"133":1,"138":1,"144":1,"145":1,"160":1,"161":1,"178":1,"213":1,"218":1,"232":1,"247":1,"264":2,"267":1,"276":1,"290":2,"291":2,"309":1,"310":2,"321":1,"375":1,"377":1}}],["larger",{"2":{"375":1}}],["largest",{"2":{"14":1}}],["label",{"2":{"239":1,"240":1}}],["labs",{"2":{"68":1,"133":1,"247":1}}],["lazy",{"0":{"89":1},"2":{"89":6,"90":1}}],["lastbatchhash",{"2":{"351":1}}],["lastly",{"2":{"210":1,"260":1}}],["last",{"2":{"78":1,"166":1,"184":4,"260":1}}],["layar",{"2":{"61":1}}],["layers",{"0":{"266":1},"2":{"10":1,"15":2,"17":1,"18":1,"37":1,"141":1,"145":2,"146":1,"149":2,"210":1,"211":2,"263":1,"264":2,"266":1}}],["layer",{"0":{"15":1,"149":1,"169":1},"2":{"7":5,"8":3,"10":1,"14":1,"16":2,"18":2,"95":1,"96":4,"144":2,"145":5,"148":2,"149":2,"150":1,"151":1,"158":1,"162":4,"163":1,"166":2,"169":2,"173":1,"175":1,"176":2,"182":4,"186":2,"203":1,"210":1,"211":1,"224":1,"230":1,"232":1,"247":2,"260":2,"262":1,"263":3,"264":2,"265":5,"266":1,"267":1,"309":1,"310":1,"314":1,"320":2,"328":1,"329":1,"338":5,"340":1,"341":2,"349":1,"353":1}}],["language",{"2":{"118":1}}],["land",{"2":{"46":1}}],["lanes",{"2":{"9":1}}],["latest",{"2":{"45":1,"168":2,"221":1,"247":2,"273":1,"298":1,"308":1,"311":1,"368":1,"371":1}}],["later",{"2":{"37":1,"89":1,"232":1,"237":1,"290":1,"311":1,"375":1}}],["laddr",{"2":{"37":2,"38":2,"60":2,"232":2}}],["launched",{"2":{"232":1,"290":1}}],["launches",{"2":{"188":1}}],["launching",{"2":{"7":1,"8":1,"11":1,"274":1}}],["launch",{"2":{"7":2,"8":1,"10":1,"140":1,"156":1,"232":1,"290":1,"331":1,"338":1}}],["l1",{"2":{"7":2,"8":1,"173":1}}],["l1s",{"2":{"7":1}}],["lots",{"2":{"358":1}}],["long",{"2":{"176":1,"370":1,"371":1,"375":1}}],["low",{"2":{"172":1}}],["loop",{"2":{"73":2,"124":2}}],["looks",{"2":{"112":1,"166":1,"178":1,"290":1,"310":1}}],["looking",{"2":{"42":1,"107":1,"144":1,"157":1}}],["look",{"2":{"40":1,"59":1,"92":1,"96":1,"137":1,"138":1,"210":1,"218":1,"220":1,"238":1,"240":2,"260":2,"282":1,"293":1,"320":1,"323":1,"370":1}}],["login",{"2":{"285":1,"326":1}}],["logic",{"2":{"186":1,"247":1,"260":1,"295":1,"363":1,"369":1,"375":1}}],["logging",{"2":{"226":1}}],["logger",{"2":{"48":1}}],["logsbloom",{"2":{"138":1}}],["logs",{"2":{"59":1,"123":1,"137":1,"138":1,"188":2,"203":1,"208":1,"226":3,"232":4,"240":1,"265":1,"275":1,"282":1,"290":4,"310":2,"311":4,"320":1,"323":1,"352":1,"375":1}}],["log",{"2":{"48":1,"124":1,"204":1,"226":3,"228":1,"240":1,"254":1,"333":1,"341":1,"347":1,"375":2}}],["loading",{"2":{"159":1,"179":1,"180":1,"181":1,"182":1}}],["loads",{"2":{"134":1}}],["loaded",{"2":{"124":1}}],["load",{"2":{"48":1}}],["lock",{"2":{"48":1}}],["location",{"2":{"223":1}}],["located",{"2":{"21":1,"136":1,"225":1,"375":1}}],["localwasm",{"2":{"236":2,"239":2,"240":2}}],["locally",{"0":{"228":1},"2":{"227":1,"228":2,"229":1,"249":1,"290":2,"310":2}}],["localclient",{"2":{"123":4,"290":4}}],["localdalatesttag",{"2":{"120":1,"201":1,"252":1,"274":1}}],["localhost",{"2":{"37":1,"38":1,"60":1,"73":2,"77":2,"78":3,"123":1,"124":1,"137":1,"191":1,"247":2,"248":1,"254":3,"260":1,"265":1,"282":1,"294":1,"323":1,"339":3,"340":3,"341":4,"347":2}}],["local",{"0":{"67":1,"69":1,"77":1,"78":1,"120":1,"201":1,"217":1,"223":1,"250":1,"252":1,"253":1,"299":1,"316":1,"343":1,"345":2,"346":1},"1":{"68":1,"69":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"251":1,"252":1,"253":1,"254":1,"255":1,"344":1,"345":1,"346":1,"347":1,"348":1},"2":{"2":1,"17":1,"39":1,"48":4,"56":1,"63":1,"66":4,"69":5,"73":2,"74":3,"75":6,"77":1,"85":1,"90":1,"120":3,"121":1,"123":1,"126":2,"128":1,"186":1,"188":3,"189":1,"191":1,"195":1,"201":2,"203":1,"204":1,"208":1,"210":1,"214":4,"216":1,"217":1,"225":1,"228":3,"230":1,"232":12,"235":1,"238":1,"240":1,"242":2,"243":1,"247":2,"249":1,"251":1,"252":3,"253":2,"254":1,"255":1,"257":1,"260":1,"262":1,"266":1,"272":4,"274":11,"276":9,"290":14,"291":2,"294":1,"296":1,"299":1,"302":1,"307":2,"309":3,"310":5,"311":6,"314":1,"316":2,"329":2,"337":1,"338":1,"340":1,"341":2,"344":1,"345":4,"346":1,"347":1,"348":1,"353":1,"358":1,"359":1,"370":1,"371":1,"374":1,"376":1}}],["love",{"2":{"2":1,"11":1}}],["ll",{"2":{"0":1,"5":1,"23":1,"24":1,"63":1,"69":1,"82":1,"89":1,"90":2,"95":1,"97":1,"103":1,"104":1,"105":1,"109":1,"132":1,"210":1,"219":1,"240":2,"267":1,"275":1,"284":1,"285":1,"291":1,"298":1,"310":1,"325":1,"326":1,"327":2,"329":1}}],["w1",{"2":{"218":2}}],["wget",{"2":{"213":1,"214":1}}],["w",{"2":{"134":2}}],["ws",{"2":{"60":1}}],["wrap",{"2":{"370":3,"371":4}}],["wrapper",{"2":{"46":2}}],["wrong",{"2":{"356":1,"371":2}}],["wrn",{"2":{"204":1}}],["written",{"2":{"134":2}}],["writing",{"2":{"16":1,"42":1,"45":1,"239":1}}],["writer",{"2":{"16":2}}],["write",{"2":{"16":3,"42":2,"91":1,"134":2,"155":1,"230":1,"260":3,"359":1,"370":1}}],["worry",{"2":{"291":1}}],["word",{"2":{"356":7,"365":1,"366":4,"368":3,"370":6,"371":8,"375":4,"376":2}}],["wordle",{"0":{"275":1,"310":1,"354":1,"357":1,"359":1,"360":1,"363":1,"367":1,"368":1,"373":1,"374":1},"1":{"355":1,"356":1,"357":1,"358":2,"359":2,"360":2,"361":1,"362":1,"363":1,"364":2,"365":1,"366":1,"367":1,"368":2,"369":1,"370":1,"371":1,"372":1,"373":1,"374":2,"375":2,"376":2,"377":1},"2":{"153":1,"254":1,"268":1,"269":1,"272":1,"273":9,"274":8,"275":2,"276":7,"295":1,"303":1,"304":1,"307":2,"308":5,"309":17,"310":8,"311":7,"340":1,"341":1,"345":1,"347":1,"354":1,"356":7,"359":3,"360":1,"361":1,"363":1,"364":3,"365":3,"366":2,"368":3,"370":24,"371":17,"372":3,"374":4,"375":22,"376":2,"377":1}}],["words",{"2":{"74":1}}],["workdir",{"2":{"273":2}}],["working",{"2":{"123":1,"131":1,"132":1,"150":1,"273":2,"290":1}}],["work",{"0":{"172":1,"176":1},"2":{"63":1,"176":2,"178":1,"184":1,"210":1,"232":1,"242":1,"290":1,"353":1,"355":1,"358":1,"360":1,"364":1,"372":1}}],["workspace",{"0":{"49":1},"1":{"50":1,"51":1,"52":1},"2":{"43":1,"46":1,"51":4,"52":1,"107":1}}],["workspaces",{"2":{"42":1,"50":1}}],["works",{"2":{"16":1,"134":1,"210":1}}],["worldle",{"2":{"374":1}}],["world",{"0":{"287":1,"293":1},"1":{"288":1,"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1},"2":{"63":1,"66":1,"104":1,"112":2,"117":1,"121":2,"152":1,"191":1,"193":1,"242":5,"245":1,"288":1,"311":1,"359":1}}],["would",{"2":{"40":1,"92":1,"94":1,"155":1,"161":1,"247":1,"265":1}}],["warning",{"2":{"66":1,"121":1,"178":1,"184":1,"218":1}}],["wanted",{"2":{"240":2,"375":1}}],["want",{"2":{"42":1,"49":1,"89":1,"107":1,"140":1,"149":1,"192":1,"235":1,"242":1,"244":1,"276":1,"291":2,"301":1,"311":1,"329":1}}],["wants",{"2":{"16":1,"371":1}}],["ways",{"2":{"146":1,"267":1,"356":1,"376":1}}],["way",{"2":{"42":1,"267":1,"331":1,"371":1,"375":4}}],["waiting",{"2":{"137":1,"282":1,"323":1}}],["wait",{"2":{"40":1,"63":1,"89":1,"339":1,"375":1}}],["walkthrough",{"2":{"130":1,"131":1}}],["walk",{"2":{"20":1,"27":1,"80":1,"109":1,"199":1}}],["wall",{"2":{"14":1}}],["wallet",{"0":{"218":1,"294":1},"2":{"9":1,"74":1,"185":2,"218":1,"240":1,"244":1,"258":1,"285":3,"293":3,"294":5,"326":3}}],["waste",{"2":{"48":1}}],["wasm1y9ceqvnsnm9xtcdmhrjvv4rslgwfzmrzky2c5z",{"2":{"240":2}}],["wasm14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d",{"2":{"240":3}}],["wasm1lysztpn74kl40w6ghfhy7xr0v44r658szuysl5",{"2":{"184":4}}],["wasmvm",{"2":{"186":1}}],["wasmd",{"2":{"183":1,"184":1,"232":1,"235":1,"236":1,"238":1,"239":1,"240":6}}],["wasmpath",{"2":{"46":1}}],["wasm32",{"2":{"46":2}}],["wasm",{"2":{"46":4,"184":2,"230":1,"232":6,"235":2,"236":4,"238":1,"239":1,"240":7}}],["was",{"2":{"13":1,"14":2,"16":1,"89":1,"138":1,"214":1,"232":1,"290":1,"310":2,"350":2,"358":1,"370":1,"371":1,"375":3}}],["wire",{"2":{"360":1}}],["wip",{"2":{"303":1}}],["win",{"2":{"124":2}}],["windows",{"2":{"118":1,"298":2,"358":3}}],["window",{"2":{"82":1,"375":1}}],["widespread",{"2":{"144":1}}],["widely",{"2":{"131":1}}],["wide",{"2":{"90":1}}],["witnesses",{"2":{"14":2}}],["without",{"2":{"7":1,"8":1,"14":1,"96":1,"162":1,"173":1,"314":1,"337":1,"350":1}}],["within",{"2":{"7":1,"117":1,"133":1,"203":1,"371":1}}],["with",{"0":{"9":1,"12":1,"14":1,"41":1,"102":1,"127":1,"138":1,"147":1,"148":1,"186":1,"188":1,"193":1,"196":1,"233":1,"276":1,"283":1,"285":1,"296":1,"299":1,"311":1,"324":1,"326":1,"327":1,"375":1},"1":{"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"234":1,"235":1,"236":1,"297":1,"298":1,"299":1,"300":1,"301":1,"302":1,"328":1,"329":1,"330":1},"2":{"1":1,"2":1,"3":1,"6":1,"7":5,"8":4,"9":4,"11":2,"12":2,"13":2,"14":2,"16":1,"18":3,"19":1,"31":1,"33":1,"38":1,"42":2,"43":1,"44":1,"46":2,"49":1,"52":1,"53":1,"59":1,"60":1,"66":2,"69":1,"72":1,"73":2,"74":1,"75":1,"76":1,"79":1,"81":1,"85":2,"87":1,"89":2,"90":2,"91":1,"94":1,"101":1,"103":1,"115":1,"117":1,"121":3,"123":2,"124":2,"131":2,"132":1,"134":4,"135":1,"137":2,"138":1,"140":2,"141":2,"143":1,"144":2,"145":4,"148":1,"151":1,"154":1,"155":1,"161":3,"162":1,"166":5,"167":1,"173":1,"178":1,"182":1,"186":2,"188":1,"189":2,"191":8,"193":3,"195":1,"203":1,"204":3,"205":3,"206":1,"207":1,"210":2,"211":2,"212":1,"214":1,"222":1,"226":3,"227":1,"228":4,"229":1,"230":1,"231":2,"232":5,"236":2,"237":1,"240":4,"244":2,"247":1,"248":1,"251":1,"253":1,"254":1,"260":1,"261":1,"263":2,"264":2,"266":1,"267":4,"272":2,"274":1,"275":1,"276":6,"277":2,"278":1,"280":1,"281":1,"282":1,"284":3,"285":2,"286":1,"289":1,"290":7,"291":1,"293":2,"297":1,"298":4,"299":1,"300":3,"302":3,"309":2,"310":4,"311":6,"312":2,"314":1,"322":1,"323":1,"325":3,"326":2,"327":1,"338":2,"340":1,"341":2,"344":1,"345":1,"346":1,"347":1,"351":1,"354":1,"358":1,"359":2,"361":1,"364":5,"365":2,"366":1,"368":1,"369":2,"370":2,"371":5,"372":2,"374":3,"375":8,"376":1}}],["wizards",{"2":{"14":1}}],["will",{"2":{"10":1,"18":1,"19":1,"20":1,"27":1,"37":1,"39":1,"40":1,"42":3,"44":1,"49":1,"59":1,"66":1,"69":1,"70":2,"74":2,"77":2,"79":2,"80":1,"81":1,"82":1,"86":1,"90":2,"91":1,"93":1,"94":3,"95":3,"96":1,"99":1,"108":1,"109":1,"117":2,"119":1,"121":1,"123":1,"124":1,"128":4,"131":1,"133":2,"134":1,"135":5,"136":1,"137":2,"138":3,"144":1,"151":1,"155":1,"158":2,"168":2,"176":3,"182":5,"186":1,"189":1,"190":1,"191":1,"199":1,"201":1,"203":1,"210":5,"213":1,"214":1,"218":1,"220":1,"221":1,"225":1,"226":1,"228":2,"229":1,"230":2,"232":1,"235":1,"236":2,"237":1,"238":1,"240":2,"247":1,"252":2,"255":1,"260":2,"265":1,"272":2,"278":1,"281":1,"282":2,"284":2,"288":2,"290":1,"294":1,"296":1,"298":1,"299":1,"301":1,"307":2,"309":1,"311":1,"314":1,"320":1,"322":1,"323":2,"325":2,"327":3,"332":1,"333":1,"338":1,"342":1,"345":2,"348":1,"352":1,"354":3,"355":1,"356":5,"359":2,"360":2,"364":2,"365":1,"367":1,"369":1,"370":2,"371":2,"374":3,"375":6}}],["whoever",{"2":{"356":1}}],["who",{"2":{"149":1,"355":1}}],["why",{"0":{"145":1}}],["whatever",{"2":{"133":1}}],["what",{"0":{"141":1,"142":1},"1":{"143":1,"144":1},"2":{"96":1,"150":1,"178":1,"247":1,"266":1,"334":1,"341":1,"346":1}}],["whammy",{"2":{"75":1}}],["whitelist",{"2":{"51":1}}],["while",{"2":{"9":1,"14":1,"15":1,"144":1,"155":1,"182":1,"197":1,"219":1,"267":2,"363":1}}],["whichever",{"2":{"150":1}}],["which",{"2":{"7":1,"8":1,"16":2,"29":1,"37":1,"63":1,"66":1,"69":1,"71":1,"78":1,"79":1,"82":1,"91":1,"103":1,"117":1,"129":1,"141":2,"144":1,"145":2,"155":1,"161":2,"166":3,"182":2,"201":1,"235":1,"242":1,"243":1,"245":1,"248":1,"251":1,"252":1,"257":1,"260":2,"263":1,"299":1,"300":1,"327":1,"334":1,"338":1,"344":1,"345":1,"353":2,"356":1,"359":1,"364":2,"370":2,"371":2}}],["where",{"2":{"8":1,"15":1,"18":1,"19":1,"21":1,"24":1,"50":2,"63":1,"94":2,"95":1,"98":1,"112":1,"135":1,"145":1,"155":1,"219":2,"309":2,"339":1,"350":1,"375":1}}],["when",{"0":{"150":1},"2":{"7":1,"10":1,"46":1,"50":1,"51":2,"71":1,"74":1,"75":1,"79":2,"90":1,"94":2,"113":1,"134":1,"158":1,"166":1,"176":1,"182":1,"191":2,"301":1,"328":1,"338":1,"371":1,"376":2}}],["whether",{"2":{"2":1,"176":1,"375":1}}],["web",{"2":{"360":1}}],["webassembly",{"2":{"230":1}}],["websockets",{"2":{"167":1}}],["weight",{"2":{"172":1}}],["well",{"2":{"50":1,"129":1,"162":1,"169":1,"228":1,"232":1,"249":2,"262":1,"290":1,"354":1}}],["welcome",{"2":{"0":1,"5":1,"90":1,"156":1,"331":1}}],["we",{"2":{"2":1,"4":1,"11":1,"12":1,"16":3,"17":1,"18":2,"19":1,"42":3,"44":1,"46":1,"49":1,"51":2,"60":1,"63":1,"69":2,"87":1,"89":1,"95":2,"101":1,"103":1,"105":1,"108":1,"117":1,"121":1,"123":4,"124":2,"128":2,"131":2,"132":1,"133":1,"134":1,"136":1,"138":2,"150":1,"151":1,"156":2,"165":1,"191":1,"204":2,"210":4,"213":1,"214":1,"219":1,"225":1,"226":2,"227":2,"228":3,"229":6,"230":2,"231":2,"232":6,"234":1,"235":2,"236":1,"237":1,"238":2,"239":2,"240":3,"246":2,"247":1,"260":1,"265":2,"272":4,"273":1,"274":4,"276":5,"281":1,"284":1,"288":1,"289":3,"290":6,"291":4,"307":3,"308":1,"309":4,"311":6,"314":2,"322":1,"325":1,"327":1,"352":2,"355":2,"356":5,"359":4,"360":1,"361":2,"363":1,"364":2,"365":2,"366":3,"367":2,"368":1,"369":1,"370":9,"371":12,"372":2,"374":2,"375":4}}],["db",{"2":{"339":1}}],["dbg",{"2":{"61":1}}],["dc4026b38a604b82af88a0cd9bedb245",{"2":{"311":2}}],["dc4026b38a60",{"2":{"310":1}}],["df",{"2":{"298":1}}],["d532fc82579f",{"2":{"232":1}}],["dl",{"2":{"214":1}}],["d7d4c5a2ac271061512789bee3718305beaa519b",{"2":{"184":2}}],["d7e7e6ec0299c120c0e32167c11f0b60921ef88cc6524345bceb3b266ef727aa",{"2":{"75":1}}],["dht",{"2":{"169":3}}],["dst",{"2":{"75":3,"124":2}}],["dynamic",{"2":{"186":1}}],["dyn",{"2":{"46":1}}],["dual",{"2":{"186":2}}],["dumps",{"2":{"134":1}}],["duplicate",{"2":{"95":1}}],["duplication",{"2":{"42":1}}],["during",{"2":{"79":1,"145":1,"265":1,"352":1}}],["duration=46",{"2":{"204":1}}],["duration>",{"2":{"89":1}}],["duration",{"2":{"40":1,"73":2,"124":2,"339":1}}],["due",{"2":{"13":1,"95":1}}],["dramatically",{"2":{"375":1}}],["drive",{"2":{"372":1}}],["dr",{"0":{"13":1}}],["d",{"2":{"11":1,"94":1,"188":1,"219":1,"234":1,"321":1,"328":1}}],["das",{"2":{"327":1}}],["dastartheight",{"2":{"166":1}}],["dae3359665f8",{"2":{"276":1}}],["daemon",{"2":{"217":1}}],["daemonbuilder",{"2":{"48":1}}],["danger",{"2":{"224":1,"236":1,"314":1}}],["date",{"2":{"208":1,"370":1,"375":1,"376":1}}],["database",{"2":{"339":1}}],["datadir",{"2":{"61":1}}],["dataavailabilitylayerclient",{"2":{"16":1,"162":1}}],["data",{"0":{"14":1,"15":1,"16":1,"30":1,"162":1,"201":1},"1":{"163":1},"2":{"8":1,"10":2,"12":2,"13":2,"14":8,"15":4,"16":7,"18":3,"20":1,"30":1,"37":1,"39":1,"56":1,"61":3,"117":2,"128":1,"140":1,"141":1,"145":4,"150":1,"151":1,"157":1,"158":1,"162":3,"163":1,"166":3,"173":1,"175":1,"182":1,"184":2,"201":1,"210":2,"211":6,"240":2,"242":3,"244":1,"245":1,"255":1,"257":1,"258":1,"260":1,"262":1,"263":2,"264":2,"265":1,"288":2,"303":1,"307":1,"314":2,"327":2,"328":1,"329":1,"330":1,"333":1,"351":1,"360":1,"375":2}}],["daheight=1",{"2":{"341":1}}],["daheight=30",{"2":{"320":1}}],["daheight",{"2":{"166":1}}],["dablocktime",{"2":{"166":2}}],["dapp",{"2":{"154":1}}],["dappsys",{"2":{"226":1}}],["dapps",{"2":{"14":1,"191":1}}],["darwin",{"2":{"72":1}}],["days",{"2":{"334":1}}],["day",{"2":{"9":1,"16":1,"356":2,"365":1,"370":9,"371":15,"375":1,"376":1}}],["da",{"0":{"40":1,"92":1,"120":1,"201":1,"241":1,"247":1,"250":1,"252":1,"253":1,"256":1,"260":1,"263":1,"264":1,"265":1,"266":1,"299":1},"1":{"242":1,"243":1,"244":1,"245":1,"246":1,"247":1,"248":1,"249":1,"251":1,"252":1,"253":1,"254":1,"255":1,"257":1,"258":1,"259":1,"260":1,"261":1,"262":1,"264":1,"265":1,"266":1},"2":{"7":1,"8":2,"10":2,"16":4,"26":1,"37":3,"38":1,"39":1,"40":4,"56":2,"60":1,"61":1,"79":5,"85":1,"88":1,"90":2,"92":1,"94":1,"95":3,"96":5,"117":1,"120":3,"121":1,"123":2,"126":1,"141":2,"145":1,"151":1,"158":1,"162":4,"163":3,"166":1,"167":1,"168":1,"176":2,"182":4,"184":1,"186":1,"188":1,"195":1,"201":2,"208":1,"224":4,"230":1,"232":14,"240":1,"242":4,"247":8,"248":5,"251":1,"252":3,"253":3,"254":5,"255":1,"257":2,"260":16,"261":4,"262":1,"263":5,"264":6,"265":6,"266":5,"267":1,"272":3,"274":8,"276":6,"288":1,"290":15,"296":1,"299":1,"302":1,"307":3,"309":12,"310":6,"311":6,"320":2,"328":7,"329":3,"337":1,"338":5,"339":8,"340":4,"341":4,"349":1,"353":1,"374":1,"375":1,"377":1}}],["doing",{"2":{"370":1,"371":2}}],["do",{"2":{"50":1,"51":1,"114":1,"121":1,"219":1,"227":1,"229":1,"236":1,"276":1,"291":1,"311":1}}],["dotenv",{"2":{"48":2}}],["doubt",{"2":{"29":1}}],["door",{"2":{"12":1}}],["done",{"2":{"48":1,"104":1,"219":1,"249":1,"262":1,"276":1,"284":1,"301":1,"311":1,"325":1}}],["don",{"2":{"8":1,"95":1,"161":1,"171":1,"185":1,"291":1,"298":1}}],["doesn",{"2":{"139":1}}],["does",{"2":{"8":1,"147":1,"155":1,"247":1,"260":1,"265":1,"303":2,"328":1,"375":1}}],["downloaded",{"2":{"232":2}}],["downloads",{"2":{"110":1}}],["downloading",{"2":{"69":1,"213":1}}],["download",{"2":{"66":2,"118":1,"121":2,"145":1,"182":1,"188":1,"234":1,"273":1}}],["down",{"2":{"7":1,"19":1,"150":1,"194":1,"276":1,"311":1}}],["dockerfile",{"0":{"273":1,"308":1},"2":{"272":2,"273":4,"308":3}}],["dockerfiles",{"2":{"272":1}}],["docker",{"0":{"188":1,"200":1,"268":1,"271":1,"274":1,"298":1},"1":{"269":1,"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1},"2":{"65":1,"188":3,"189":1,"190":2,"200":2,"232":2,"234":1,"235":2,"236":1,"267":1,"268":2,"271":1,"272":1,"273":2,"274":5,"275":1,"276":7,"277":2,"290":2,"291":2,"298":4,"308":3,"309":1,"311":8,"312":1,"315":1,"329":2}}],["docs",{"2":{"1":1,"156":1,"242":1,"355":1,"358":1,"360":1,"363":1,"364":1,"365":1,"369":1}}],["documentation",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1},"2":{"0":1,"1":1,"3":1,"4":1,"42":1,"46":1,"47":1,"53":1,"140":1,"148":1,"157":2,"208":1,"360":1}}],["did",{"2":{"265":1,"352":1,"371":1,"375":4}}],["didn",{"2":{"97":1,"375":1}}],["disk",{"2":{"298":1}}],["disable",{"2":{"224":1}}],["distinct",{"2":{"191":1}}],["disputes",{"2":{"149":1}}],["displayed",{"2":{"294":1}}],["display",{"2":{"119":1,"189":1,"284":1,"325":1,"332":1,"375":1}}],["discover",{"2":{"334":1}}],["discovery",{"2":{"169":1}}],["disclaimer",{"2":{"63":1,"242":1,"267":1,"303":1}}],["discrepancies",{"2":{"4":1}}],["divided",{"2":{"103":1}}],["dive",{"2":{"90":1,"191":1}}],["dir",{"2":{"46":1,"58":3,"112":4,"122":1}}],["directories",{"2":{"360":1}}],["directory",{"0":{"3":1,"360":1},"2":{"21":1,"29":3,"39":1,"45":1,"46":1,"61":2,"66":1,"73":2,"81":1,"112":2,"113":1,"114":1,"121":1,"122":1,"124":2,"133":2,"135":1,"136":2,"137":1,"219":1,"225":2,"226":1,"234":1,"235":1,"245":1,"246":1,"273":6,"274":1,"284":1,"290":1,"308":1,"310":1,"325":1,"330":1,"359":2,"360":4,"374":2,"375":1}}],["direct",{"2":{"73":2,"124":2,"130":1,"162":1,"169":1}}],["directly",{"2":{"7":1,"8":1,"14":1,"53":1,"71":1,"145":1,"264":1}}],["difference",{"2":{"257":1,"258":1}}],["differently",{"2":{"364":1}}],["different",{"2":{"10":1,"18":2,"37":1,"60":1,"61":1,"71":1,"77":1,"137":1,"141":1,"146":1,"173":1,"207":1,"210":1,"211":1,"266":1,"285":1,"326":1,"350":1,"353":1}}],["diff",{"2":{"49":1}}],["difficult",{"2":{"8":1}}],["diagrams",{"2":{"3":1}}],["debian",{"2":{"232":1,"273":1,"290":1,"311":1}}],["debug",{"2":{"9":1,"73":2,"124":2,"160":1}}],["delegating",{"2":{"364":1}}],["delegate",{"2":{"10":2}}],["deloyment",{"2":{"227":1}}],["dedicated",{"2":{"145":1,"169":1}}],["desktop",{"2":{"271":1}}],["desired",{"2":{"244":1}}],["designs",{"2":{"365":1}}],["design",{"0":{"356":1},"2":{"132":1,"162":1,"176":2,"211":1,"354":1,"356":2,"365":1}}],["designed",{"2":{"90":1,"120":1,"314":1,"359":2}}],["designate",{"2":{"10":1}}],["desc",{"2":{"240":2}}],["describing",{"2":{"360":1}}],["described",{"2":{"236":1,"353":1}}],["description",{"2":{"132":1,"309":1}}],["deep",{"2":{"128":1}}],["deeper",{"2":{"90":1,"117":1,"192":1}}],["deterministic",{"2":{"351":1}}],["determine",{"2":{"247":1,"260":1}}],["detect",{"2":{"176":1}}],["detected",{"2":{"108":1}}],["detail",{"2":{"90":1}}],["details",{"0":{"184":1},"1":{"185":1},"2":{"3":1,"16":1,"18":1,"50":1,"240":1,"248":1}}],["detailed",{"2":{"2":1,"176":1,"208":1}}],["decrementcounter",{"2":{"226":2}}],["decreasing",{"2":{"79":1}}],["decision",{"2":{"176":1}}],["decide",{"2":{"169":1,"182":1}}],["decoded",{"2":{"138":1}}],["decentralized",{"2":{"128":1,"143":1,"144":1,"173":2,"182":1}}],["decentralization",{"2":{"55":1}}],["denom",{"2":{"77":5,"78":3,"123":1,"124":2,"239":2,"291":1,"292":2}}],["de5f15d2ceb85278fa916185a01fba5da604563462893288ec7a8745fb597b96",{"2":{"75":1}}],["def",{"2":{"309":1}}],["defer",{"2":{"173":1}}],["defaults",{"2":{"79":1}}],["default",{"2":{"48":1,"73":2,"74":2,"79":1,"101":1,"123":1,"165":1,"175":1,"184":1,"247":1,"260":3,"290":1,"328":1,"330":1,"339":5,"360":1}}],["definition",{"2":{"360":1}}],["definitions",{"2":{"47":1}}],["defining",{"2":{"51":1}}],["defined",{"2":{"50":2,"95":1,"351":1,"363":1,"364":1,"369":1,"372":1}}],["defines",{"2":{"16":2,"95":1,"264":2,"351":1,"365":1}}],["define",{"2":{"7":2,"8":1,"46":1,"264":1,"265":1,"274":3,"309":4,"352":1}}],["derived",{"2":{"280":1}}],["derive",{"2":{"47":4,"50":1}}],["dep",{"2":{"364":1}}],["depends",{"2":{"274":1}}],["dependency",{"0":{"213":1,"231":1},"1":{"214":1,"215":1,"216":1},"2":{"161":2,"364":2}}],["dependencies",{"0":{"50":1,"118":1,"270":1,"289":1,"305":1},"1":{"271":1,"306":1},"2":{"43":1,"45":1,"48":2,"213":1,"273":2,"363":1}}],["depth",{"2":{"42":1,"124":1,"132":1,"339":1}}],["deployed",{"2":{"134":1,"135":1,"145":1,"183":1,"228":1,"229":2,"238":2,"267":1,"286":1}}],["deployment",{"0":{"151":1,"205":1,"227":1,"233":1,"236":1,"300":1},"1":{"152":1,"153":1,"154":1,"155":1,"234":1,"235":1,"236":1},"2":{"42":1,"137":2,"145":1,"232":1,"236":1,"267":1,"282":2,"323":2}}],["deploy",{"0":{"135":1,"136":1,"137":1,"282":1,"299":1,"323":1},"1":{"137":1},"2":{"7":1,"18":1,"90":1,"128":2,"136":1,"137":1,"141":1,"145":2,"163":1,"173":1,"203":1,"205":1,"210":1,"211":1,"224":1,"227":1,"228":1,"229":1,"236":3,"237":1,"267":3,"268":1,"278":1,"282":2,"299":1,"300":1,"303":1,"314":1,"321":2,"323":2}}],["deploying",{"0":{"132":1,"228":1,"229":1,"267":1},"1":{"133":1,"134":1,"135":1},"2":{"7":2,"10":1,"18":1,"141":2,"143":1,"144":3,"145":2,"148":1,"149":1,"191":1,"227":1,"229":1,"235":1,"242":1,"257":1,"267":2}}],["demonstrated",{"2":{"295":1}}],["demonstrates",{"2":{"117":1,"206":1}}],["demo",{"0":{"17":1},"2":{"13":1,"17":1}}],["demand",{"2":{"10":1}}],["degree",{"2":{"8":1}}],["devices",{"2":{"172":1}}],["devnetmocha",{"2":{"260":1}}],["devnet",{"0":{"316":1},"2":{"66":2,"128":1,"151":1,"258":1,"299":1,"300":1,"301":1,"314":1,"316":2,"327":1,"329":1}}],["developing",{"2":{"90":1,"91":1,"155":1}}],["development",{"0":{"41":1,"225":1},"1":{"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1},"2":{"8":1,"43":1,"117":1,"131":1,"172":1,"188":2,"189":1,"190":2,"191":1,"225":1,"243":1,"247":1,"255":1,"265":1,"288":1,"352":1,"356":1,"359":1,"360":1}}],["developers",{"2":{"7":2,"8":3,"9":3,"10":1,"12":1,"15":1,"16":1,"102":1,"141":2,"144":3,"145":3,"147":2,"148":2,"149":1,"156":1,"157":1,"186":1,"197":1,"211":2,"355":1}}],["developer",{"2":{"7":1,"9":1,"143":1,"267":1,"273":1,"308":1}}],["dev",{"2":{"1":1,"48":1,"66":1,"69":1,"110":1,"118":1,"119":1,"120":1,"121":1,"184":6,"201":1,"213":1,"252":1,"273":2,"284":1,"325":1,"332":1,"345":2,"355":1}}],["b�",{"2":{"320":1}}],["b",{"2":{"202":1,"297":1,"375":5}}],["b917289ec7566b57b2d0ec759f2e703dbd652f9044362e78c05c4f6df8fd7ac7",{"2":{"75":1}}],["black",{"2":{"193":1}}],["blank",{"2":{"75":1}}],["blob",{"2":{"79":2,"204":4,"264":3}}],["blobs=0",{"2":{"204":1}}],["blobs",{"2":{"14":1,"94":1,"264":2}}],["block=true",{"2":{"204":2}}],["blockinch",{"2":{"166":1}}],["blockmanager",{"2":{"166":3}}],["blocktime",{"2":{"166":1}}],["blocknumber",{"2":{"138":1}}],["blockhash",{"2":{"138":1}}],["blockhash=7897885b959f52bf0d772e35f8da638cf8bbc361c819c3fd3e61dcef5034d1cc",{"2":{"61":1}}],["blockheight=5532",{"2":{"61":1}}],["blockretriever",{"2":{"16":1,"162":1}}],["blocks=100",{"2":{"92":1}}],["blockspace",{"2":{"12":1,"14":1}}],["blocks",{"0":{"92":1,"219":1},"1":{"220":1,"221":1,"222":1,"223":1},"2":{"10":1,"16":2,"19":1,"56":1,"61":1,"89":2,"90":1,"92":3,"95":2,"105":1,"145":3,"158":3,"162":1,"167":2,"169":1,"171":2,"173":1,"176":3,"204":1,"219":2,"244":1,"248":1,"257":1,"258":1,"261":1,"341":1,"350":1}}],["blocksdk",{"2":{"7":1,"9":1}}],["block",{"0":{"19":1,"40":1,"166":1,"181":1,"220":1,"221":1,"222":1},"2":{"9":2,"10":1,"14":1,"19":7,"40":4,"61":1,"73":2,"87":1,"89":4,"90":2,"94":11,"95":1,"96":1,"123":6,"124":2,"137":1,"138":1,"162":2,"166":10,"167":3,"168":3,"172":1,"173":1,"176":3,"182":7,"184":10,"188":5,"204":19,"219":4,"220":1,"221":3,"222":2,"232":9,"244":2,"247":9,"248":1,"260":6,"261":2,"282":1,"290":6,"311":15,"320":10,"323":1,"329":5,"333":3,"350":1,"375":7}}],["blockchain",{"0":{"85":1},"1":{"86":1},"2":{"8":3,"9":1,"10":1,"14":1,"18":1,"20":1,"22":1,"25":1,"55":2,"63":1,"71":1,"81":3,"82":1,"83":1,"85":2,"86":1,"88":1,"117":2,"121":1,"140":1,"141":1,"143":2,"144":1,"145":1,"156":1,"160":1,"167":2,"186":2,"210":1,"263":1,"288":2,"293":1,"334":1,"359":5,"360":4,"363":1,"369":1,"372":1}}],["blockchains",{"2":{"7":2,"9":1,"71":6,"156":1,"358":1,"359":1}}],["blog",{"0":{"5":1},"1":{"6":1},"2":{"3":3,"5":1,"139":1,"141":1,"210":1}}],["bit",{"2":{"232":2,"290":2,"311":2,"370":1,"371":1}}],["bitcoin",{"0":{"12":1,"14":1,"15":1,"16":1,"17":1,"209":1,"216":1,"217":1},"1":{"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"210":1,"211":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":2,"219":2,"220":2,"221":2,"222":2,"223":2,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1},"2":{"6":1,"7":1,"12":6,"13":4,"14":9,"15":3,"16":7,"17":1,"18":3,"175":1,"210":5,"211":7,"216":3,"219":3,"223":1,"224":3,"225":3}}],["bid",{"2":{"124":2}}],["bin",{"2":{"121":2,"189":1,"190":1,"214":3,"219":1,"232":6,"273":2,"290":6,"309":1,"311":6}}],["binary",{"0":{"68":1},"2":{"29":2,"94":1,"245":1,"246":1,"273":1,"360":1}}],["big",{"2":{"14":1}}],["bog",{"2":{"310":3}}],["body",{"2":{"291":1,"371":2,"372":1,"375":1}}],["bodies",{"2":{"166":1}}],["bool",{"2":{"370":1}}],["boogas",{"2":{"283":1,"324":1}}],["booga",{"0":{"282":1,"323":1},"2":{"283":2,"285":2,"321":1,"322":1,"324":2,"326":2}}],["bookworm",{"2":{"273":1}}],["bootstrapping",{"2":{"8":1}}],["bootstrap",{"2":{"7":1,"12":1,"144":1,"145":1,"169":2}}],["bob",{"2":{"204":2,"291":1,"374":2,"375":5}}],["bonus",{"2":{"161":1}}],["bot",{"2":{"376":1}}],["bottom",{"2":{"134":1}}],["both",{"2":{"10":1,"19":1,"108":1}}],["box",{"2":{"46":2}}],["bar",{"2":{"156":1}}],["barrier",{"2":{"144":1}}],["back",{"0":{"78":1},"2":{"101":1,"238":1}}],["backend",{"0":{"32":1},"2":{"32":2,"33":1,"34":1,"73":2,"77":1,"97":1,"108":1,"124":5,"125":2,"229":1,"236":1,"239":1,"240":1,"291":2,"375":5}}],["bankkeeper",{"2":{"370":1,"371":1,"372":2}}],["bank",{"2":{"77":1,"78":2,"108":1,"124":2,"125":1,"240":2,"291":2,"292":2,"364":5,"372":1}}],["balances",{"0":{"292":1},"2":{"77":2,"78":5,"124":2,"240":3,"292":3,"364":1}}],["balance",{"2":{"77":1,"78":1,"95":1,"124":4,"205":3,"292":2}}],["batched",{"2":{"353":1}}],["batches",{"2":{"244":1,"248":1,"258":1,"261":1,"337":1,"339":1,"341":1}}],["batchhash",{"2":{"351":1}}],["batch",{"2":{"73":2,"124":2,"339":2,"351":3}}],["battle",{"2":{"9":1}}],["basename",{"2":{"235":1}}],["baseaccount",{"2":{"184":1}}],["base",{"2":{"50":2,"51":3,"273":1,"375":1}}],["based",{"0":{"335":1},"2":{"10":1,"20":1,"55":1,"169":1,"197":1,"353":1}}],["basics",{"2":{"109":1}}],["basic",{"2":{"39":1,"191":1,"193":1,"195":1,"206":1,"226":2,"333":1,"375":1}}],["bash7",{"2":{"320":1}}],["bash24",{"2":{"299":1}}],["bash2024",{"2":{"75":1}}],["bashmake",{"2":{"298":1,"299":1,"300":1,"301":1}}],["bashopenssl",{"2":{"260":1,"328":1}}],["bashosmosisd",{"2":{"77":1,"78":1}}],["bashosmo",{"2":{"77":1}}],["bashda",{"2":{"247":1,"260":3}}],["bashdocker",{"2":{"66":1,"188":2,"189":1,"190":2,"194":1,"232":2,"234":3,"236":2,"271":2,"273":2,"275":1,"276":2,"290":2,"291":1,"308":2,"311":3,"316":1,"328":1}}],["bashhttp",{"2":{"244":1}}],["bashname",{"2":{"240":1}}],["bashwordle=$",{"2":{"311":1}}],["bashwasmd",{"2":{"238":1,"240":1}}],["bashwget",{"2":{"66":1,"69":1}}],["bashtx",{"2":{"236":1,"375":1}}],["bashkurtosis",{"2":{"231":1,"232":1,"289":1,"290":1,"306":1,"309":1,"310":1,"311":1}}],["bashkeyname",{"2":{"70":2}}],["bashaddress",{"2":{"321":1}}],["bashauth",{"2":{"260":3,"291":1,"375":1}}],["bashavail",{"2":{"244":1}}],["bashanvil",{"2":{"228":1}}],["bashaccount",{"2":{"124":1,"125":1}}],["bashforge",{"2":{"225":1,"226":1,"228":1,"229":1,"282":1,"323":1}}],["bashfoundryup",{"2":{"215":1}}],["bashfound",{"2":{"112":1}}],["bashexit",{"2":{"276":1,"311":1}}],["bashexport",{"2":{"59":1,"135":1,"137":2,"219":1,"220":1,"221":1,"224":1,"228":3,"229":1,"282":2,"285":1,"291":1,"323":2,"326":1}}],["basherror",{"2":{"240":1}}],["bashethermintd",{"2":{"224":1}}],["bash1d7e98aec3085b615c7c71659768fa42e774a87ab5981597e99794d240fb3db5",{"2":{"221":1}}],["bash12",{"2":{"123":1}}],["bashbrew",{"2":{"298":1}}],["bashbitcoin",{"2":{"216":1,"217":1,"218":1,"220":1,"221":1,"222":2}}],["bashbalances",{"2":{"77":1,"292":2}}],["bashbash",{"2":{"66":1,"69":1,"219":1,"224":1}}],["bashsource",{"2":{"215":1}}],["bashsudo",{"2":{"213":2,"216":1,"235":1}}],["bashver=",{"2":{"214":1}}],["bashversion",{"2":{"72":1}}],["bashprivatekey",{"2":{"280":1}}],["bashprivate",{"2":{"189":1,"229":1}}],["bashpython3",{"2":{"135":1}}],["bashpip",{"2":{"131":1}}],["bashgo",{"2":{"298":1}}],["bashgm=$",{"2":{"290":1}}],["bashgmd",{"2":{"77":1,"78":2,"108":1}}],["bashgas",{"2":{"240":1}}],["bashgit",{"2":{"124":1,"187":1,"224":1,"297":1}}],["bash4980",{"2":{"220":1}}],["bash4",{"2":{"96":1}}],["bashrepository",{"2":{"273":1,"308":1}}],["bashregister=",{"2":{"240":1}}],["bashrm",{"2":{"223":1,"245":1}}],["bashrc",{"2":{"214":3,"215":1}}],["bashrly",{"2":{"72":1,"73":1,"74":1,"75":3,"76":1,"124":7}}],["bashrollkit",{"2":{"24":1,"25":1,"40":1,"58":1,"60":1,"79":2,"86":1,"87":1,"92":1,"94":2,"112":1,"119":1,"123":1,"124":2,"261":1,"291":2,"292":2,"332":1,"333":1,"374":2,"375":7}}],["bashcode",{"2":{"238":1,"375":1}}],["bashcontainer",{"2":{"232":1,"276":1,"290":1,"311":1}}],["bashcw=$",{"2":{"232":1}}],["bashcli",{"2":{"231":1,"289":1,"306":1}}],["bashcargo",{"2":{"244":1}}],["bashcast",{"2":{"138":2,"228":2,"229":2,"283":2,"324":2}}],["bashcalldata=$",{"2":{"138":1}}],["bashcd",{"2":{"66":2,"68":1,"72":1,"81":1,"97":1,"122":1,"133":2,"137":3,"201":1,"202":1,"203":1,"204":1,"246":1,"281":1,"282":1,"284":2,"317":1,"319":1,"322":1,"323":1,"325":2,"329":1,"330":1,"360":1}}],["bashcurl",{"2":{"66":1,"81":1,"110":1,"118":1,"119":1,"121":1,"215":1,"252":1,"279":1,"318":1,"332":1,"345":2,"355":1,"358":1}}],["bashcp",{"2":{"58":1}}],["bashinitializing",{"2":{"374":1}}],["bashinit=",{"2":{"239":1}}],["bashinfo",{"2":{"232":1,"290":1,"310":1}}],["bashinterface",{"2":{"51":1}}],["bashi",{"2":{"94":2,"333":1}}],["bashibc",{"2":{"78":1}}],["bashignite",{"2":{"21":1,"22":1,"23":1,"81":1,"82":1,"83":1,"84":1,"85":1,"358":1,"359":1,"362":2,"364":1,"366":2,"368":2,"374":1}}],["bash",{"2":{"19":4,"40":1,"58":1,"66":1,"81":1,"89":3,"92":1,"114":1,"118":1,"120":2,"188":1,"189":2,"190":1,"204":1,"205":1,"214":3,"215":1,"219":1,"226":1,"232":1,"240":2,"246":1,"247":1,"248":1,"252":1,"260":2,"267":1,"273":1,"279":1,"290":1,"291":2,"311":1,"318":1,"329":1,"345":2,"358":1}}],["bashyarn",{"2":{"1":1}}],["berachain",{"2":{"314":1,"317":1}}],["being",{"2":{"220":1,"264":1,"265":1,"275":1,"352":1,"375":1}}],["beacond",{"2":{"204":1}}],["beacon",{"2":{"202":2,"203":1,"204":7,"205":1}}],["beaconkit",{"0":{"196":1,"202":1,"204":1},"1":{"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1},"2":{"197":2,"202":1,"203":1,"205":1,"206":2,"208":2}}],["begin",{"2":{"198":1,"320":1}}],["beginner",{"0":{"152":1}}],["benefits",{"2":{"267":1}}],["benefit",{"2":{"145":1}}],["below",{"2":{"17":1,"27":1,"44":1,"45":2,"47":1,"129":1,"190":1,"220":1,"236":1,"240":2,"328":1,"351":1}}],["behavior",{"2":{"16":1,"132":1}}],["because",{"2":{"95":1,"124":1,"131":2,"169":1,"235":1,"265":1,"303":1,"352":1,"359":1,"375":2}}],["became",{"2":{"14":1}}],["become",{"2":{"14":2}}],["becoming",{"2":{"8":1}}],["beta",{"2":{"257":1,"258":2,"260":1,"261":1,"327":1}}],["better",{"2":{"14":1,"236":1,"266":1,"267":1}}],["between",{"2":{"8":1,"10":3,"63":1,"69":1,"71":3,"75":1,"76":1,"149":1,"162":1,"169":1,"176":2,"274":1,"351":1,"364":1}}],["best",{"0":{"9":1}}],["been",{"2":{"8":1,"77":1,"78":1,"79":1,"182":1,"228":1,"229":1,"240":1,"273":1,"314":1,"370":1,"371":1,"375":2}}],["be",{"0":{"11":1},"2":{"7":1,"9":2,"10":1,"16":2,"18":1,"19":1,"37":1,"40":1,"42":1,"44":1,"46":1,"47":1,"60":1,"75":1,"77":1,"79":4,"82":1,"106":1,"123":2,"124":1,"129":1,"130":1,"132":1,"137":1,"138":1,"139":1,"141":2,"144":4,"146":1,"148":1,"150":1,"157":1,"158":1,"160":1,"161":1,"162":2,"163":1,"165":1,"168":2,"172":1,"176":1,"182":3,"184":2,"191":1,"221":1,"222":1,"225":1,"230":1,"235":1,"247":2,"260":2,"263":1,"267":1,"280":1,"284":1,"291":1,"294":1,"298":1,"300":1,"314":1,"325":1,"327":3,"328":1,"338":1,"353":1,"356":2,"359":1,"364":1,"367":2,"370":3,"371":3,"372":2,"376":1}}],["before",{"2":{"2":1,"42":1,"56":1,"66":1,"85":1,"89":1,"99":1,"121":1,"182":1,"188":1,"198":1,"242":1,"243":1,"251":1,"257":1,"258":1,"267":1,"274":1,"284":1,"291":1,"298":1,"315":1,"316":1,"325":1,"327":1,"329":1,"338":2,"339":1,"344":1,"356":1,"361":1,"375":2}}],["business",{"2":{"144":1}}],["buffer",{"2":{"89":1,"360":1}}],["budget",{"2":{"12":1,"48":1}}],["button",{"2":{"106":1,"294":1}}],["but",{"2":{"10":1,"12":1,"69":1,"128":1,"131":1,"144":1,"161":1,"169":1,"177":1,"229":1,"355":1,"356":1,"358":1,"359":1,"360":1}}],["bugs",{"2":{"7":1,"8":1,"91":1,"155":1}}],["builder=false",{"2":{"204":1}}],["builder",{"2":{"204":5}}],["builds",{"2":{"120":1,"201":1,"204":1}}],["build",{"0":{"9":1,"84":1,"149":1,"191":1,"193":1,"204":1,"298":1},"1":{"192":1,"193":1},"2":{"3":1,"7":1,"18":2,"48":1,"84":2,"117":1,"121":1,"128":1,"131":1,"144":1,"148":1,"155":1,"186":1,"193":1,"204":1,"211":2,"213":1,"214":1,"230":1,"249":1,"251":1,"252":1,"262":1,"265":1,"269":1,"273":8,"286":1,"288":1,"298":5,"304":1,"308":3,"334":1,"338":1,"339":2,"340":2,"344":1,"345":1,"352":1,"354":1,"355":1,"359":3,"364":1,"374":1}}],["building",{"0":{"1":1,"29":1,"121":1,"151":1,"196":1,"246":1,"374":1},"1":{"152":1,"153":1,"154":1,"155":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1},"2":{"7":1,"8":1,"11":1,"89":2,"117":2,"150":1,"151":1,"191":1,"197":3,"251":1,"263":1,"267":1,"288":2,"338":1,"344":1,"354":1,"358":1,"361":1}}],["built",{"2":{"1":1,"16":1,"126":1,"132":2,"135":1,"145":1,"148":1,"193":1,"204":1,"230":1,"234":1,"249":1,"262":1,"265":1,"273":1,"274":1,"308":1,"309":1,"352":1,"353":1,"377":1}}],["briefly",{"2":{"146":1}}],["bring",{"2":{"145":1,"147":1}}],["bridge",{"2":{"8":1}}],["bridging",{"2":{"8":1}}],["brew",{"2":{"121":1}}],["break",{"0":{"11":1}}],["broken",{"2":{"242":1}}],["broadcasting",{"2":{"167":1,"291":1,"375":1}}],["broadcast",{"2":{"73":2,"124":2,"137":2,"228":1,"229":1,"282":2,"323":2}}],["broccoli",{"2":{"48":1}}],["browser",{"2":{"185":1,"293":1,"294":1}}],["browse",{"2":{"42":1}}],["brought",{"2":{"7":1}}],["branches",{"2":{"9":1,"161":1}}],["branch",{"2":{"2":3,"124":1,"202":1,"297":1,"317":1,"322":1,"329":1,"339":1}}],["byte",{"2":{"370":2,"371":3}}],["bytes",{"2":{"260":2}}],["bytecode",{"2":{"235":1}}],["by",{"2":{"3":1,"7":5,"8":1,"9":1,"12":1,"14":3,"16":1,"18":1,"20":1,"24":1,"26":1,"39":1,"47":1,"48":1,"51":1,"61":1,"69":1,"75":1,"79":4,"83":1,"86":1,"88":1,"95":1,"98":1,"115":1,"119":1,"121":1,"128":1,"132":1,"134":1,"135":1,"140":2,"141":1,"145":5,"163":1,"165":3,"166":1,"172":1,"173":1,"175":1,"176":2,"177":1,"183":1,"187":1,"189":1,"190":2,"191":2,"197":1,"210":1,"216":1,"219":1,"228":1,"229":1,"230":2,"231":1,"232":2,"238":2,"239":1,"240":2,"244":1,"246":1,"247":1,"248":1,"255":1,"260":2,"261":1,"269":1,"271":1,"273":2,"275":1,"276":4,"289":1,"290":2,"291":1,"304":1,"306":1,"308":2,"310":1,"311":5,"314":1,"327":2,"328":1,"331":1,"332":1,"337":2,"339":1,"342":1,"348":1,"353":1,"355":1,"359":1,"360":1,"362":1,"363":1,"367":1,"371":1,"374":1,"375":1,"376":1}}],["cbf66a881cb2",{"2":{"311":1}}],["cb1fa1d3309513fc6c8599606defe75164f4cae2abd101d78133b287862a5aca",{"2":{"75":1}}],["c5363b77b543",{"2":{"290":1}}],["ctx",{"2":{"264":2,"370":4,"371":6,"372":2}}],["ctrl+c",{"2":{"219":1}}],["csrjjpfudtnftzgho69v0d",{"2":{"260":1}}],["c147257485b72e7ffa5fdb943c94ce951a37817554339586ffd645ad2aa397c3",{"2":{"240":1}}],["c71b0308616d",{"2":{"232":1}}],["c71b0308616d40ad919ad24c3d14f35b",{"2":{"232":3}}],["cpu",{"2":{"212":1}}],["cp",{"2":{"137":2,"234":1,"236":1,"284":1,"325":1}}],["circom",{"2":{"133":1,"137":1,"138":1}}],["circuit",{"0":{"132":1,"135":1},"1":{"133":1,"134":1,"135":1},"2":{"128":3,"132":2,"133":6,"134":6,"135":6,"137":1,"138":2,"139":1}}],["c3e53d20bc7a4cc993b17c7971f8ecd06a433c10b6a96f4c4c3714f0624c56da",{"2":{"123":1,"124":1,"125":1}}],["cmd=",{"2":{"309":1}}],["cmd",{"2":{"112":3,"122":1,"273":2,"309":2,"360":1}}],["c",{"2":{"98":1,"101":1,"214":1,"232":5,"290":5,"309":1,"311":5}}],["c053d637cca2a2ba030e2c5ee1b28a16f71ccb0e45e8be52766dc1b241b77878",{"2":{"77":1}}],["cd",{"2":{"68":1,"72":1,"97":1,"120":1,"124":1,"187":1,"202":1,"214":1,"224":1,"225":1,"281":1,"297":1,"317":1,"322":1,"339":1}}],["cutting",{"2":{"145":1,"242":1}}],["cumulativegasused",{"2":{"138":1}}],["curl",{"2":{"120":1,"167":1,"201":1,"213":1,"247":1,"273":2,"329":1}}],["currentcount",{"2":{"371":2}}],["currenttimeguesserhashstring",{"2":{"371":4}}],["currenttimeguesserhash",{"2":{"371":2}}],["currenttimeguesserbytes",{"2":{"371":2}}],["currenttimehashstring",{"2":{"370":3,"371":2}}],["currenttimehash",{"2":{"370":2,"371":2}}],["currenttimebytes",{"2":{"370":2,"371":2}}],["currenttime",{"2":{"370":2,"371":3}}],["currently",{"2":{"150":2,"155":2,"165":1,"167":1,"172":1,"177":1,"224":1,"242":1,"303":2,"353":1,"370":1,"375":1}}],["current",{"2":{"47":2,"112":1,"176":2,"220":1,"273":1,"314":1,"356":1,"370":4,"371":7,"375":1,"376":1}}],["customizing",{"2":{"263":1,"360":1}}],["customization",{"2":{"186":2}}],["customizability",{"0":{"143":1},"2":{"145":1}}],["customizable",{"2":{"140":1,"145":1,"197":1}}],["customize",{"2":{"10":1,"18":2,"24":1,"107":1,"145":1,"156":1,"207":1,"210":1,"211":2}}],["custom",{"2":{"9":1,"15":1,"17":1,"47":1,"69":1,"89":2,"106":1,"135":1,"147":1,"186":1,"207":1,"210":1,"360":1}}],["cfg",{"2":{"46":2}}],["cwinfer2ikqgxgo0da9j7ubq+e1ljwztmdjwdt",{"2":{"291":1}}],["cw1",{"2":{"51":2}}],["cw20",{"2":{"50":3,"51":6}}],["cwenv>",{"2":{"46":1}}],["cw",{"0":{"41":1,"45":1},"1":{"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1},"2":{"42":6,"43":2,"44":1,"45":4,"46":2,"47":7,"48":1,"49":2,"50":1,"51":2,"53":2,"234":3,"235":1,"236":4,"237":1}}],["certain",{"2":{"356":1}}],["certificates",{"2":{"273":1}}],["ce2291909a3d",{"2":{"311":1}}],["cee974a1c2b141478c9eb2a9b1e4f87f",{"2":{"232":2}}],["cease",{"2":{"194":1}}],["censorship",{"2":{"173":1,"337":1,"350":1}}],["centralizedsequencerlatesttag",{"2":{"339":1}}],["centralized",{"0":{"337":1,"339":1,"340":1},"1":{"338":1,"339":1,"340":1,"341":1,"342":1},"2":{"36":1,"150":1,"173":1,"310":2,"337":2,"338":4,"339":4,"340":3,"341":1,"342":1,"346":1,"353":5}}],["celenium",{"2":{"184":1,"261":1,"330":1}}],["celestiaorg",{"2":{"224":1}}],["celestia1jqevcsld0dqpjp3csfg7alkv3lehvn8u04ymsu",{"2":{"124":2}}],["celestia",{"0":{"124":1,"163":1,"256":1,"258":1,"261":1,"316":1,"327":1},"1":{"257":1,"258":1,"259":1,"260":1,"261":1,"262":1,"328":1,"329":1,"330":1},"2":{"15":1,"37":1,"66":2,"95":4,"97":2,"123":2,"124":4,"128":2,"139":1,"141":2,"145":1,"151":2,"154":1,"155":1,"158":1,"163":5,"257":2,"258":2,"260":6,"261":2,"262":1,"264":1,"266":1,"314":2,"316":2,"327":2,"328":10,"329":2,"330":1,"337":1,"353":1,"377":1}}],["cel",{"2":{"97":1}}],["cast",{"2":{"228":2,"229":2,"285":1,"326":1}}],["cases",{"2":{"79":1,"145":1,"182":1,"193":1,"289":1}}],["case",{"2":{"15":1,"37":1,"94":1,"95":1,"101":1,"145":1,"158":1,"182":2,"223":1,"238":1,"364":1}}],["capabilities",{"2":{"157":1,"167":1,"186":1,"192":1,"195":1,"302":1,"337":1,"364":1}}],["capital",{"2":{"144":1}}],["calculate",{"2":{"123":1}}],["calling",{"2":{"204":2}}],["calldata=true",{"2":{"134":1}}],["calldata",{"2":{"134":15,"135":3,"138":3}}],["calls",{"2":{"47":1}}],["call",{"2":{"16":1,"58":1,"138":2,"151":1,"228":2,"229":2,"283":1,"324":1}}],["called",{"2":{"16":1,"235":1,"273":1,"274":1,"308":1,"359":1,"368":1,"369":1}}],["cached",{"2":{"290":2,"310":2}}],["cache",{"2":{"73":1,"124":1,"235":2,"273":1}}],["cat",{"2":{"138":1}}],["catalog",{"2":{"48":1}}],["catch",{"2":{"42":1}}],["cargo",{"0":{"45":1},"2":{"43":1,"45":1,"51":4,"235":1}}],["canary",{"2":{"184":1}}],["candidate",{"2":{"75":2}}],["canonical",{"2":{"7":1}}],["can",{"0":{"146":1,"150":1},"1":{"147":1,"148":1,"149":1},"2":{"7":2,"8":1,"9":2,"14":2,"15":1,"16":3,"19":1,"20":1,"22":1,"24":1,"25":1,"29":1,"45":1,"46":2,"47":1,"48":2,"49":1,"51":1,"52":1,"53":1,"66":2,"69":1,"71":2,"75":1,"76":1,"79":2,"81":2,"94":1,"97":1,"98":1,"102":1,"107":2,"108":2,"113":1,"115":1,"121":1,"123":1,"129":1,"133":1,"138":2,"140":1,"141":3,"144":2,"145":4,"148":2,"150":1,"151":1,"157":1,"160":2,"161":1,"162":2,"163":1,"165":1,"172":2,"173":1,"176":4,"182":2,"184":3,"189":1,"190":1,"192":1,"193":1,"197":1,"204":2,"205":1,"216":1,"223":1,"226":2,"227":1,"228":4,"229":5,"230":1,"231":2,"232":5,"234":1,"236":2,"237":1,"238":1,"240":1,"242":1,"243":1,"244":1,"248":1,"258":1,"260":1,"261":1,"263":1,"264":2,"266":1,"267":1,"268":1,"271":2,"272":2,"273":1,"276":7,"284":2,"286":1,"289":2,"290":6,"291":1,"298":1,"300":2,"303":1,"306":2,"307":2,"308":1,"311":8,"315":1,"316":1,"321":1,"325":2,"327":3,"328":2,"334":1,"342":1,"348":1,"353":1,"355":1,"356":1,"358":2,"363":1,"365":1,"370":2,"371":3,"375":2,"376":7}}],["chmod",{"2":{"273":1}}],["checked",{"2":{"371":1}}],["checks",{"2":{"166":1,"182":1,"371":1}}],["checktx",{"2":{"165":1}}],["checking",{"0":{"292":1},"2":{"119":1,"232":1,"290":1,"311":1,"332":1}}],["checkout",{"2":{"68":1,"72":1,"202":1,"224":1,"317":1,"322":1,"329":1}}],["check",{"2":{"26":1,"37":1,"77":1,"78":1,"138":1,"139":1,"155":1,"175":1,"208":1,"214":1,"216":1,"220":1,"221":1,"230":1,"298":1,"322":1,"327":1,"355":1,"358":1,"370":4,"371":5,"375":1}}],["cheaper",{"2":{"14":1}}],["choosing",{"2":{"19":1,"349":1}}],["choose",{"2":{"10":3,"48":1,"106":1,"150":1,"267":1,"349":1}}],["choice",{"2":{"10":2,"173":3,"263":1,"267":1}}],["characters",{"2":{"260":1,"370":1,"371":3,"375":1}}],["challenge",{"2":{"267":1}}],["challenges",{"2":{"144":1,"145":1}}],["challenging",{"2":{"144":1}}],["changing",{"2":{"96":1,"101":1}}],["changed",{"2":{"19":1,"71":1,"284":1,"325":1}}],["change",{"0":{"19":1},"2":{"42":1,"66":1,"69":1,"90":1,"122":1,"161":1,"225":1,"229":1,"284":2,"325":2,"327":1,"329":1,"330":1,"358":1,"369":1}}],["changes",{"2":{"2":4,"190":2}}],["channel",{"0":{"75":1},"2":{"75":17,"77":3,"78":1,"123":3,"124":6,"166":2}}],["channels",{"2":{"71":2,"124":1,"166":1}}],["chain=regtest",{"2":{"217":1}}],["chain>",{"2":{"46":1}}],["chainflag=",{"2":{"28":1}}],["chains",{"2":{"8":1,"53":1,"63":1,"69":1,"73":1,"75":1,"124":1,"144":2,"145":1,"151":1}}],["chain",{"0":{"30":1,"38":1,"40":1,"58":1,"66":1,"77":1,"78":1,"84":1,"87":1,"138":1,"218":1,"245":1,"275":1,"276":1,"310":1,"311":1,"341":1,"346":1,"347":1,"357":1,"359":1,"373":1,"374":1,"375":1},"1":{"358":1,"359":1,"360":1,"374":1,"375":1,"376":1},"2":{"7":3,"10":1,"11":2,"14":1,"18":2,"19":1,"27":2,"28":5,"29":2,"30":1,"31":2,"34":1,"37":1,"38":1,"39":1,"40":1,"46":1,"48":4,"58":6,"66":3,"69":1,"70":2,"73":2,"74":1,"75":20,"77":4,"78":1,"81":1,"84":2,"87":4,"88":1,"89":1,"90":1,"95":1,"96":1,"99":1,"101":2,"108":1,"112":4,"122":1,"124":5,"125":1,"128":1,"135":1,"136":1,"138":1,"141":1,"144":2,"145":1,"148":2,"155":1,"182":3,"184":2,"189":1,"193":2,"197":1,"207":1,"223":1,"224":3,"229":2,"236":1,"239":1,"240":1,"251":4,"254":1,"263":1,"265":1,"268":1,"269":2,"272":3,"273":7,"274":4,"275":3,"276":7,"277":1,"291":1,"299":4,"303":1,"304":2,"307":5,"308":4,"309":5,"310":2,"311":10,"312":1,"319":1,"321":1,"338":4,"340":1,"341":4,"342":2,"344":4,"345":2,"346":1,"347":3,"348":2,"352":1,"355":2,"359":2,"360":1,"364":1,"374":4,"375":5,"376":2,"377":1}}],["crtl+c",{"2":{"276":1}}],["critical",{"2":{"144":1,"263":1,"291":1,"375":1}}],["crates",{"2":{"50":1,"51":1}}],["crater",{"2":{"48":1}}],["crate",{"0":{"51":1},"2":{"42":1,"43":1,"46":6,"47":1,"48":1,"51":2}}],["cross",{"2":{"42":1,"236":1,"273":1,"369":1}}],["creator",{"2":{"240":1,"370":2,"371":3,"375":1}}],["creative",{"2":{"260":1,"328":1}}],["creation",{"2":{"46":1,"186":1,"232":1,"290":1,"310":1}}],["creating",{"0":{"37":1,"46":1,"51":1,"108":1,"363":1},"1":{"364":1},"2":{"43":2,"46":1,"71":1,"94":2,"123":1,"188":1,"191":1,"204":3,"206":1,"210":1,"232":3,"244":1,"290":2,"310":1,"311":3,"320":1,"333":1,"359":3,"365":1,"367":1}}],["createwallet",{"2":{"218":1}}],["created",{"2":{"75":2,"169":1,"182":1,"225":1,"232":3,"240":1,"273":1,"276":1,"290":3,"308":1,"310":2,"311":1,"367":1,"371":1}}],["creates",{"2":{"29":1,"75":1,"246":1,"366":1}}],["create",{"0":{"27":1,"71":1,"74":1,"75":1,"80":1,"218":1},"1":{"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1},"2":{"2":3,"12":1,"24":1,"37":1,"51":1,"59":1,"63":1,"66":1,"69":1,"75":3,"80":1,"81":1,"90":2,"103":1,"106":1,"108":1,"124":3,"128":1,"141":1,"147":1,"148":1,"197":1,"210":3,"211":1,"218":1,"225":1,"226":1,"273":2,"274":2,"308":2,"309":1,"360":1,"366":2,"369":1,"370":2,"371":2,"374":1,"376":2}}],["crucial",{"2":{"24":1}}],["crypto",{"2":{"7":1,"291":2,"370":1,"371":1}}],["clang",{"2":{"213":1}}],["classes",{"2":{"141":1}}],["clay",{"2":{"70":2,"74":2}}],["clarity",{"2":{"2":1}}],["cleaning",{"0":{"245":1}}],["clean",{"2":{"42":1,"244":1,"301":2,"311":1}}],["clears",{"2":{"194":1}}],["clear",{"2":{"2":1,"14":1,"223":1,"245":1}}],["cloning",{"2":{"187":1}}],["clone",{"0":{"133":1,"187":1,"202":1,"297":1,"317":1},"2":{"1":1,"2":2,"68":1,"72":1,"124":1,"133":2,"187":1,"202":2,"224":2,"281":2,"297":2,"317":2,"322":2,"339":1}}],["cloud",{"2":{"184":2}}],["close",{"2":{"14":1,"78":1}}],["clip",{"2":{"48":1}}],["cli",{"0":{"24":1,"86":1,"109":1,"110":1,"113":1,"119":1,"306":1,"332":1},"1":{"110":1,"111":1,"112":1,"113":1,"114":2,"115":1},"2":{"9":1,"20":1,"24":1,"39":1,"56":1,"66":1,"81":1,"86":2,"88":1,"90":1,"109":2,"110":2,"113":1,"115":1,"160":1,"184":1,"199":1,"216":1,"218":1,"219":4,"220":1,"221":1,"222":2,"237":1,"251":1,"257":1,"259":1,"273":2,"276":2,"277":1,"291":1,"293":1,"300":3,"306":1,"311":2,"312":1,"327":2,"331":1,"333":1,"338":1,"344":1,"354":1,"355":1,"358":3,"359":2,"360":1,"371":1}}],["clients",{"2":{"7":1,"8":1,"63":2,"71":1,"75":1,"124":1,"145":1,"158":1,"173":1,"197":1}}],["client",{"0":{"203":1},"2":{"7":1,"9":1,"16":1,"48":1,"61":1,"75":14,"123":5,"124":2,"141":2,"160":1,"161":1,"203":2,"204":2,"205":1,"208":1,"290":5}}],["click",{"2":{"7":1,"106":1,"173":1,"185":1,"294":1}}],["copied",{"2":{"235":1}}],["copy",{"0":{"58":1},"2":{"36":1,"55":1,"58":1,"137":2,"234":1,"273":11}}],["co",{"2":{"186":1,"232":1,"290":1,"311":1}}],["cool",{"0":{"132":1},"1":{"133":1,"134":1,"135":1}}],["cover",{"2":{"117":1,"158":1,"288":1}}],["covers",{"2":{"55":1,"94":1,"95":1,"242":1,"251":1,"257":1,"338":1,"344":1}}],["coins",{"2":{"291":1,"370":1,"371":1,"372":2}}],["coinbase=$",{"2":{"219":1}}],["coin",{"2":{"73":2,"124":2,"364":1}}],["coyote",{"2":{"48":1}}],["collector",{"2":{"232":1,"290":1,"311":1}}],["collection",{"2":{"51":1}}],["collecting",{"0":{"35":1}}],["collect",{"2":{"35":2,"158":1,"184":1}}],["corner",{"2":{"106":1}}],["correct",{"2":{"329":1,"356":2,"371":2,"375":1,"376":1}}],["correctly",{"2":{"29":1,"208":2,"356":1,"371":2}}],["correlation",{"2":{"162":1}}],["corresponding",{"2":{"46":1,"77":1,"132":1,"166":1}}],["core",{"2":{"8":1,"16":1,"75":8,"79":2,"210":1,"212":1,"216":3,"217":1,"218":1,"219":4,"220":1,"221":1,"222":2,"232":1,"264":1,"290":1,"311":1,"328":1,"369":2}}],["codebase",{"2":{"354":1,"356":1,"361":1,"376":1}}],["codespace",{"2":{"96":3,"240":1,"375":1}}],["codecs",{"2":{"73":2,"124":2}}],["code",{"0":{"128":1},"2":{"19":2,"29":1,"40":2,"42":3,"46":1,"49":1,"58":2,"75":3,"89":2,"92":2,"95":2,"96":3,"99":1,"125":1,"133":1,"134":7,"135":2,"183":1,"191":1,"205":3,"226":2,"227":1,"232":1,"235":2,"236":1,"238":4,"240":6,"273":1,"274":1,"282":1,"290":2,"291":1,"292":4,"308":1,"309":1,"310":2,"320":3,"323":1,"329":2,"359":1,"363":1,"370":2,"371":2,"372":1,"375":1}}],["counts",{"2":{"371":1}}],["count",{"2":{"42":5,"47":8,"48":5,"226":7,"368":3,"371":12,"375":1}}],["counterscript",{"2":{"227":1,"228":1,"229":1}}],["countertest",{"2":{"226":1}}],["counterparty",{"2":{"75":4}}],["counterquerymsgfns",{"2":{"47":1,"48":1}}],["counterexecutemsgfns",{"2":{"47":1,"48":1}}],["countercontract",{"2":{"46":3,"48":2}}],["counter",{"2":{"42":3,"44":1,"46":2,"47":2,"48":7,"53":1,"225":1,"226":16,"227":4,"228":1,"229":1}}],["council",{"2":{"8":1}}],["could",{"2":{"14":1,"19":1,"112":1,"114":1,"146":1,"148":1,"247":1,"260":2,"328":1}}],["couple",{"2":{"10":1}}],["cost",{"2":{"18":1,"138":1}}],["costs",{"2":{"8":1,"145":1}}],["cosmwasm",{"0":{"183":1,"230":1,"231":1,"233":1,"237":1},"1":{"184":1,"185":1,"231":1,"232":1,"233":1,"234":2,"235":2,"236":2,"237":1,"238":2,"239":2,"240":2},"2":{"9":1,"17":1,"42":1,"46":1,"90":1,"153":1,"183":2,"184":1,"230":3,"232":10,"235":2,"236":1,"240":2}}],["cosmos1mr9p6wql4mmtp9xvsuklpw7fxx6g0qte7qd5q9",{"2":{"375":1}}],["cosmossdk",{"2":{"370":1,"371":1}}],["cosmos",{"0":{"148":1,"161":1},"2":{"7":4,"9":4,"10":1,"17":1,"66":3,"72":2,"73":2,"75":4,"95":1,"117":2,"124":3,"140":2,"148":4,"150":1,"151":1,"161":5,"184":2,"230":2,"288":2,"291":3,"295":1,"354":1,"355":3,"358":2,"359":2,"360":2,"363":4,"364":1,"365":3,"369":3,"370":4,"371":4,"375":1,"377":1}}],["congratulations",{"0":{"139":1,"320":1},"2":{"126":1,"135":1,"139":1,"195":1,"206":1,"224":1,"249":1,"262":1,"275":1,"277":1,"295":1,"310":1,"312":1,"330":1,"377":1}}],["congrats",{"2":{"101":1,"106":1,"108":1}}],["congestion",{"2":{"79":1}}],["connected",{"0":{"248":1,"261":1},"2":{"254":1,"294":1,"341":1,"342":1,"347":1,"348":1}}],["connects",{"2":{"169":1,"309":1,"353":1}}],["connect",{"0":{"253":1,"346":1},"2":{"90":1,"151":1,"191":1,"246":1,"253":1,"274":3,"294":3,"309":1,"328":1,"341":1,"346":1,"350":1}}],["connecting",{"0":{"124":1,"294":1},"2":{"61":1,"232":1,"242":1,"293":3,"295":1,"309":1,"310":1,"350":1,"353":1,"377":1}}],["connection=consensus",{"2":{"123":1,"290":1}}],["connection=mempool",{"2":{"123":1,"290":1}}],["connection=snapshot",{"2":{"123":1,"290":1}}],["connection=query",{"2":{"123":1,"290":1}}],["connections",{"2":{"71":1,"123":1,"290":1}}],["connection",{"0":{"59":1,"63":1,"71":1},"1":{"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":2,"73":2,"74":2,"75":2,"76":2,"77":2,"78":2},"2":{"63":1,"66":1,"69":1,"75":9,"90":1,"123":1,"124":3,"150":1,"247":1,"294":1}}],["conditions",{"2":{"207":1}}],["condition",{"2":{"75":2}}],["conditional",{"2":{"63":2}}],["confirming",{"2":{"294":1,"341":1,"375":4}}],["confirm",{"2":{"291":2,"375":3}}],["confirmations",{"2":{"173":1}}],["config=serviceconfig",{"2":{"309":1}}],["config=",{"2":{"224":1}}],["config",{"0":{"58":1,"73":1},"2":{"26":1,"36":4,"58":6,"73":4,"112":5,"122":1,"124":3,"190":3,"191":1,"213":1,"217":1,"244":2,"273":1,"274":1,"333":3,"360":1}}],["configurable",{"2":{"166":1}}],["configuration",{"0":{"24":1,"86":1,"122":1},"2":{"3":1,"24":3,"29":1,"73":1,"86":2,"90":1,"109":1,"111":1,"112":1,"115":1,"122":2,"190":3,"247":1,"260":1,"360":1,"374":1}}],["configuring",{"0":{"36":1,"190":1,"247":1,"253":1,"260":1,"346":1},"2":{"39":1,"117":1,"248":1,"288":1}}],["configures",{"2":{"79":2,"204":1}}],["configured",{"2":{"25":1,"79":2,"88":1,"169":1,"204":1,"339":1}}],["configure",{"0":{"40":1,"79":1,"92":1},"2":{"10":1,"40":1,"90":3,"92":1,"99":1,"124":1,"190":1,"255":1}}],["conflicts",{"2":{"60":1,"69":1}}],["convert",{"2":{"371":1}}],["converted",{"2":{"26":1}}],["convenience",{"2":{"291":1}}],["convincing",{"2":{"8":1}}],["console",{"2":{"218":1}}],["consist",{"2":{"370":1,"371":1}}],["consists",{"2":{"176":1,"351":1}}],["consider",{"2":{"182":1,"207":1,"295":1,"356":1}}],["constructor",{"2":{"226":1}}],["constrain",{"2":{"192":1}}],["const",{"2":{"46":1,"48":1}}],["constants",{"2":{"21":1,"81":1,"82":1,"110":1,"118":1,"119":1,"120":1,"201":1,"252":1,"273":2,"274":2,"332":1,"339":1,"345":2,"355":1,"358":1,"362":1}}],["consensus",{"2":{"7":1,"8":1,"15":2,"18":1,"36":1,"95":1,"128":1,"144":1,"145":1,"182":1,"184":1,"197":1,"314":1}}],["conclude",{"2":{"354":1}}],["conclusion",{"0":{"18":1,"62":1,"195":1,"206":1,"286":1,"302":1,"334":1}}],["concepts",{"2":{"192":1}}],["concept",{"2":{"141":1}}],["concise",{"2":{"2":1}}],["context",{"2":{"186":1,"264":4,"370":3,"371":3,"372":4}}],["contents",{"0":{"6":1},"2":{"138":1,"309":1,"371":1}}],["content",{"2":{"2":1,"5":1,"6":1,"46":1,"73":1}}],["contained",{"2":{"365":1}}],["containerized",{"2":{"200":1}}],["containers",{"2":{"194":1,"276":1,"301":1,"311":1}}],["container",{"2":{"189":1,"190":3,"232":4,"234":3,"236":3,"273":2,"274":7,"276":7,"277":1,"290":4,"291":2,"309":1,"310":1,"311":8,"312":1}}],["contain",{"2":{"162":1}}],["contains",{"2":{"131":1,"133":1,"166":1,"176":1,"183":1,"273":1,"360":1,"363":1,"369":1,"370":1,"371":1}}],["containing",{"2":{"113":1,"114":1}}],["continuation",{"2":{"130":1}}],["continues",{"2":{"94":1}}],["continue",{"2":{"94":1,"361":1,"371":1}}],["contribute",{"2":{"157":1}}],["contributions",{"2":{"2":1}}],["contribution",{"0":{"2":1},"2":{"2":2}}],["contract=$",{"2":{"240":1}}],["contracting",{"2":{"230":1}}],["contracttest",{"2":{"226":1}}],["contractaddress",{"2":{"138":1}}],["contractwrapper",{"2":{"46":1}}],["contracts",{"0":{"52":1,"107":1},"2":{"9":1,"42":4,"43":1,"46":1,"50":1,"51":3,"52":1,"53":1,"90":1,"103":1,"107":1,"137":4,"191":1,"203":1,"205":1,"207":1,"224":1,"226":1,"230":1,"234":2,"236":1,"238":2,"240":2,"282":1,"284":2,"300":1,"323":1,"325":2}}],["contract",{"0":{"44":1,"136":1,"138":1,"205":1,"226":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"278":1,"282":1,"283":1,"300":1,"323":1,"324":1},"1":{"45":1,"46":1,"47":1,"48":1,"137":1,"234":1,"235":1,"236":1,"238":1,"239":1,"240":1,"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1},"2":{"8":1,"42":2,"43":1,"44":2,"45":2,"46":13,"47":2,"48":5,"50":2,"51":1,"53":1,"128":1,"134":10,"135":3,"136":1,"137":10,"138":4,"140":1,"141":1,"143":2,"145":2,"156":1,"191":4,"205":1,"225":1,"226":4,"227":3,"228":5,"229":6,"230":3,"232":1,"234":5,"235":1,"236":4,"237":2,"238":3,"239":2,"240":11,"278":1,"281":1,"282":7,"283":1,"284":5,"285":1,"286":1,"300":1,"321":1,"322":1,"323":7,"324":1,"325":5,"326":1}}],["controlled",{"2":{"255":1}}],["controls",{"2":{"166":1}}],["control",{"0":{"8":1},"2":{"98":1,"101":1,"173":1}}],["coming",{"2":{"150":1,"313":1,"335":1,"336":1,"359":1}}],["com",{"2":{"21":1,"66":3,"68":1,"72":1,"81":1,"82":1,"124":2,"133":1,"187":1,"191":1,"202":1,"224":1,"232":2,"247":1,"273":1,"281":1,"290":4,"297":1,"298":1,"309":4,"310":3,"314":1,"317":1,"322":1,"339":1,"358":1,"362":1,"370":2,"371":2}}],["combining",{"2":{"197":1,"206":1}}],["combination",{"2":{"10":1}}],["combine",{"2":{"7":1}}],["come",{"2":{"8":1,"70":2,"74":2,"145":1,"165":1,"173":1}}],["comes",{"2":{"7":1,"8":1,"9":1,"267":1,"359":2}}],["cometbft",{"0":{"20":1,"22":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1},"2":{"7":1,"9":2,"20":3,"21":1,"25":1,"26":1,"90":1,"123":1,"141":1,"160":1,"161":3,"165":1,"167":1,"290":1,"354":1,"375":1}}],["compressing",{"2":{"290":1,"310":1}}],["comprehensive",{"2":{"0":1,"157":1,"242":1,"251":1,"257":1,"338":1,"344":1}}],["computed",{"2":{"204":1}}],["computing",{"2":{"204":2}}],["computational",{"2":{"143":1,"145":2}}],["compiling",{"2":{"137":2,"213":1,"226":2,"282":2,"323":2}}],["compiled",{"2":{"235":1,"236":1,"360":1}}],["compiler",{"2":{"137":1,"226":1,"282":1,"323":1}}],["compile",{"0":{"234":1},"2":{"134":1,"135":3,"234":1,"235":1,"372":1}}],["comparing",{"2":{"176":1}}],["compare",{"2":{"138":1}}],["compact",{"2":{"128":1}}],["compatibility",{"2":{"9":1,"66":1,"160":1}}],["compatible",{"2":{"7":1,"10":1,"42":1,"138":1,"141":2,"147":1,"148":1}}],["complex",{"2":{"144":1,"193":1,"286":1}}],["complexity",{"2":{"44":1}}],["completions",{"2":{"214":1}}],["completion",{"2":{"176":1}}],["completing",{"2":{"76":1,"269":1,"304":1}}],["completed",{"2":{"242":1,"251":1,"257":1,"338":2,"344":1}}],["complete",{"2":{"49":1,"55":1,"104":1}}],["component",{"2":{"263":1}}],["components",{"0":{"164":1},"1":{"165":1,"166":1,"167":1,"168":1,"169":1},"2":{"10":1,"145":3,"157":1,"158":1,"310":2,"355":1}}],["compose",{"0":{"188":1,"268":1,"271":1,"274":1},"1":{"269":1,"270":1,"271":1,"272":1,"273":1,"274":1,"275":1,"276":1,"277":1},"2":{"188":1,"190":1,"194":1,"267":1,"268":2,"271":3,"272":1,"274":3,"275":2,"277":1,"308":1}}],["composability",{"2":{"8":1,"173":1}}],["compelled",{"2":{"8":1}}],["common",{"2":{"220":1}}],["communicating",{"2":{"351":1}}],["communication",{"2":{"63":1,"71":1,"169":1}}],["communicate",{"2":{"71":1,"166":1,"178":1,"263":1,"350":1}}],["communities",{"2":{"18":1,"145":1}}],["community",{"2":{"2":1,"4":1,"7":1,"8":1,"144":1,"193":1}}],["command>",{"2":{"114":2}}],["commands",{"0":{"113":1},"1":{"114":1},"2":{"75":1,"109":1,"113":1,"115":1,"214":1,"216":1,"225":1,"236":1,"276":1,"279":1,"311":1,"358":1,"359":1,"371":1}}],["command",{"2":{"19":1,"21":1,"22":1,"23":1,"24":2,"25":1,"29":2,"38":1,"39":1,"40":1,"45":1,"51":1,"60":2,"73":1,"74":1,"75":2,"77":1,"78":1,"81":2,"82":1,"83":1,"84":1,"86":1,"87":1,"89":2,"92":1,"94":2,"110":2,"112":1,"113":1,"119":1,"121":1,"135":1,"184":1,"188":3,"190":1,"194":1,"204":1,"222":1,"223":1,"226":1,"232":2,"235":1,"236":4,"244":2,"247":1,"254":1,"260":5,"273":2,"274":3,"275":1,"276":2,"285":1,"290":2,"298":4,"299":1,"301":1,"308":1,"309":3,"310":1,"311":2,"326":1,"328":2,"332":1,"339":1,"340":1,"341":1,"347":1,"358":1,"359":3,"362":1,"364":1,"366":1,"374":2,"375":1}}],["commitments",{"2":{"242":1}}],["commit",{"2":{"2":3,"72":1,"119":1,"184":2,"332":1}}],["snap",{"2":{"216":1}}],["snapd",{"2":{"213":1}}],["ssd",{"2":{"212":1}}],["ssl",{"2":{"110":1,"118":1,"119":1,"120":1,"121":1,"201":1,"252":1,"273":1,"332":1,"345":2,"355":1}}],["skills",{"2":{"210":1}}],["skipping",{"2":{"204":2}}],["skip",{"2":{"7":1,"9":1,"81":1,"140":1,"150":1}}],["switch",{"2":{"202":1,"317":1}}],["sweet",{"2":{"48":1}}],["small",{"2":{"235":1}}],["smart",{"0":{"136":1,"205":1,"234":1,"235":1,"278":1,"300":1},"1":{"137":1,"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1},"2":{"9":1,"42":2,"44":1,"46":1,"90":1,"128":1,"134":10,"135":3,"136":1,"137":2,"138":1,"140":1,"141":1,"143":2,"145":2,"156":1,"191":1,"203":1,"205":1,"207":1,"224":1,"225":1,"227":1,"229":1,"230":4,"234":1,"235":1,"236":2,"240":2,"278":1,"281":1,"282":2,"284":1,"286":1,"300":1,"321":1,"322":1,"323":2,"325":1}}],["smoothly",{"2":{"71":1}}],["symbol",{"2":{"124":2}}],["systems",{"2":{"145":1}}],["system",{"2":{"56":1,"176":1,"188":1,"200":1,"298":1}}],["syncloop",{"2":{"166":3}}],["sync",{"2":{"75":2,"90":1,"243":1,"244":2,"258":1,"328":1,"375":1}}],["syncing",{"0":{"40":1},"2":{"162":1}}],["synced",{"2":{"16":1,"40":1,"327":1,"328":1}}],["src",{"2":{"51":1,"75":3,"124":3,"137":3,"225":1,"226":2,"227":1,"284":1,"325":1}}],["sleep",{"2":{"219":1}}],["slot",{"2":{"204":1}}],["slot=41",{"2":{"204":2}}],["slot=40",{"2":{"204":5}}],["slot=0x28",{"2":{"204":2}}],["slow",{"2":{"19":1}}],["slashing",{"2":{"182":1,"363":1}}],["slim",{"2":{"273":1}}],["slightly",{"2":{"14":1}}],["slinky",{"2":{"7":1,"9":1}}],["safe",{"2":{"204":2}}],["save",{"2":{"101":1,"134":3,"135":2,"138":1,"272":1,"307":1}}],["satisfy",{"2":{"16":1}}],["sample",{"2":{"103":1,"108":1}}],["samplingstats",{"2":{"327":1}}],["sampling",{"2":{"8":1}}],["same",{"2":{"7":1,"8":1,"79":1,"94":2,"95":1,"124":1,"149":1,"169":1,"183":1,"240":1,"307":1,"337":1,"375":4}}],["side",{"2":{"295":1}}],["sidecars",{"2":{"204":2}}],["sidecars=true",{"2":{"204":2}}],["size",{"2":{"73":1,"124":2,"273":1,"308":1}}],["signer",{"2":{"291":1,"375":1}}],["signaled",{"2":{"166":1}}],["signal",{"2":{"87":1,"166":1}}],["signatures",{"2":{"184":1,"291":1,"375":1}}],["signature",{"2":{"63":1,"184":1}}],["significant",{"2":{"144":1}}],["significantly",{"2":{"42":1}}],["signing",{"2":{"73":2,"124":2,"291":1,"375":1}}],["sign",{"2":{"73":2,"124":2,"291":1}}],["similarly",{"2":{"148":1,"353":1}}],["similar",{"2":{"59":1,"61":1,"94":1,"112":1,"137":1,"175":1,"220":1,"226":1,"240":2,"260":3,"282":1,"320":1,"323":1,"328":1}}],["simplicity",{"2":{"356":1}}],["simplify",{"2":{"42":1,"46":1,"47":2}}],["simpler",{"2":{"71":1}}],["simple",{"2":{"42":1,"44":1,"121":1,"193":1,"265":1,"295":1,"307":1,"309":1,"334":1,"352":1,"354":1,"356":1}}],["simply",{"2":{"16":1,"25":1,"94":1,"246":1,"273":1,"294":1,"308":1}}],["sister",{"2":{"48":1}}],["sindri",{"0":{"127":1,"131":1,"132":1,"135":1},"1":{"128":1,"129":1,"130":1,"131":1,"132":1,"133":2,"134":2,"135":2,"136":1,"137":1,"138":1,"139":1},"2":{"128":4,"129":2,"131":3,"132":1,"133":7,"134":3,"135":7,"137":1,"138":1,"139":2}}],["single",{"0":{"44":1,"52":1},"1":{"45":1,"46":1,"47":1,"48":1},"2":{"43":2,"46":1,"52":1,"63":1,"135":1,"155":1,"176":1,"375":1}}],["since",{"2":{"14":1,"171":1,"238":1,"276":2,"291":1,"311":2}}],["site",{"0":{"0":1,"1":1},"1":{"1":1,"2":1,"3":1,"4":1},"2":{"1":1}}],["shi",{"2":{"341":2,"347":1}}],["shusage",{"2":{"339":1}}],["shut",{"2":{"276":1,"311":1}}],["shutdown",{"2":{"194":1}}],["shgit",{"2":{"339":1}}],["shelli",{"2":{"254":1,"265":1,"352":1}}],["shell",{"2":{"219":1}}],["shellcargo",{"2":{"45":1,"51":2}}],["shcurl",{"2":{"167":1}}],["should",{"2":{"61":1,"72":1,"75":1,"77":1,"78":1,"106":1,"112":1,"123":1,"124":1,"130":1,"191":1,"204":1,"232":1,"245":1,"247":1,"254":1,"260":1,"267":1,"273":1,"276":1,"290":1,"291":1,"292":1,"299":1,"308":1,"309":1,"311":2,"338":1,"340":1,"341":2,"347":1,"358":2,"372":1,"375":1}}],["show",{"2":{"53":1,"124":2,"125":1,"128":1,"193":1,"237":1,"268":1,"292":1,"303":1,"356":1}}],["showcase",{"2":{"53":1}}],["shows",{"2":{"49":1,"356":1,"375":2}}],["shown",{"2":{"45":1,"339":1,"351":1,"375":1}}],["short",{"2":{"14":1}}],["sh",{"2":{"37":5,"66":2,"69":3,"110":2,"118":1,"119":2,"120":1,"121":4,"201":2,"219":2,"224":1,"229":3,"232":5,"236":2,"246":2,"252":1,"273":2,"276":1,"290":5,"291":1,"309":1,"311":6,"329":1,"332":2,"340":2,"345":2,"355":2}}],["sharing",{"2":{"145":1,"149":1}}],["share",{"2":{"8":1,"87":1,"143":1,"145":1,"149":1}}],["shared",{"2":{"7":1,"10":1,"140":1,"143":2,"145":1,"173":1}}],["sha256",{"2":{"123":1,"370":3,"371":4}}],["shaddress=$",{"2":{"36":1}}],["shrollkit",{"2":{"29":2,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"38":1,"254":2,"341":2,"347":2}}],["shvalidator",{"2":{"28":1}}],["space",{"2":{"298":2}}],["sparse",{"2":{"290":3}}],["spun",{"2":{"294":1}}],["spins",{"2":{"309":1}}],["spinned",{"2":{"278":1}}],["spinning",{"2":{"173":2}}],["spikes",{"2":{"79":1}}],["spoiler",{"2":{"150":1}}],["spots",{"2":{"49":1}}],["spdx",{"2":{"137":1,"226":2,"227":1}}],["split",{"2":{"10":1}}],["speed",{"0":{"19":1,"41":1},"1":{"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1},"2":{"19":2,"43":1,"90":1,"140":1}}],["spec",{"2":{"360":1}}],["special",{"2":{"149":1,"364":1}}],["specialized",{"2":{"145":1}}],["specifying",{"2":{"239":1}}],["specify",{"2":{"61":1,"75":1,"89":1}}],["specified",{"2":{"33":1,"110":1,"123":1,"168":1,"339":1}}],["specifically",{"2":{"176":1,"248":1,"359":1}}],["specifications",{"0":{"157":1},"2":{"157":1}}],["specifics",{"2":{"46":1}}],["specific",{"2":{"16":1,"77":1,"90":1,"108":1,"117":1,"147":1,"169":1,"208":1,"288":1,"352":1,"360":1,"363":1,"365":1,"376":2}}],["specs",{"2":{"16":1}}],["speak",{"2":{"9":1}}],["spending",{"2":{"8":1}}],["scope",{"2":{"230":1,"360":1}}],["scheme",{"2":{"182":1,"267":1,"349":1}}],["schemes",{"2":{"10":1,"145":1,"173":1}}],["scalability",{"0":{"143":1},"2":{"128":1,"143":1,"145":2,"207":1}}],["scalable",{"2":{"7":1,"210":1,"242":1}}],["scaffolds",{"2":{"359":1}}],["scaffoldings",{"2":{"358":1}}],["scaffolding",{"0":{"357":1,"359":1,"364":1,"366":1,"368":1},"1":{"358":1,"359":1,"360":1},"2":{"359":1}}],["scaffold",{"2":{"66":2,"81":2,"359":1,"364":2,"366":2,"368":2}}],["scripts",{"0":{"53":1},"2":{"43":1,"48":1,"267":2}}],["scripting",{"2":{"42":1,"227":1,"237":1}}],["script",{"0":{"37":1,"227":1,"329":1},"2":{"66":1,"69":3,"118":1,"120":1,"121":3,"134":1,"135":1,"137":9,"199":1,"201":1,"219":4,"227":5,"228":2,"229":4,"236":2,"246":1,"252":2,"273":1,"282":5,"323":5,"345":2}}],["s",{"2":{"7":1,"9":1,"12":1,"13":2,"14":1,"45":2,"46":1,"47":1,"51":1,"55":1,"59":1,"63":1,"69":1,"71":1,"95":1,"110":1,"118":2,"119":1,"120":1,"121":1,"123":1,"128":1,"131":1,"132":1,"133":1,"134":4,"135":3,"137":8,"138":1,"139":1,"140":1,"144":2,"145":1,"150":2,"151":2,"157":1,"162":1,"163":1,"167":2,"169":2,"172":1,"173":2,"176":1,"178":1,"182":1,"191":1,"192":1,"195":1,"201":1,"211":1,"219":1,"226":3,"227":2,"228":1,"229":1,"232":2,"234":1,"236":3,"237":1,"238":2,"240":2,"242":1,"244":1,"247":2,"248":1,"249":1,"252":1,"257":3,"258":2,"260":4,"261":2,"262":1,"273":1,"278":1,"282":3,"290":1,"291":1,"292":2,"293":1,"302":2,"311":1,"323":3,"327":1,"328":1,"329":1,"330":2,"332":1,"333":1,"334":2,"345":2,"350":1,"355":1,"356":3,"360":1,"369":1,"370":4,"371":4,"374":1,"375":5,"376":2}}],["soon",{"2":{"313":1,"314":1,"335":1,"336":1}}],["soft",{"2":{"173":1}}],["software",{"0":{"65":1},"2":{"160":1,"198":1,"315":1}}],["sound",{"2":{"144":1}}],["source=registry",{"2":{"235":1}}],["source=",{"2":{"235":1}}],["source",{"2":{"141":1,"145":1,"214":2,"358":1,"376":1}}],["solves",{"2":{"145":1}}],["solving",{"0":{"142":1},"1":{"143":1,"144":1}}],["solution",{"2":{"144":1,"169":1,"368":1}}],["solc",{"2":{"137":1,"226":3,"282":1,"323":1}}],["solidity",{"2":{"137":1,"226":4,"227":3}}],["sol",{"2":{"134":1,"135":1,"137":14,"225":1,"226":5,"227":3,"228":1,"229":1,"282":2,"284":2,"323":2,"325":2}}],["somewhat",{"2":{"144":1}}],["something",{"2":{"71":1,"75":1,"77":1,"78":1,"249":1,"262":1,"309":1}}],["some",{"2":{"53":2,"78":1,"90":2,"135":1,"140":1,"144":1,"195":1,"205":1,"224":1,"280":1,"300":1,"355":1,"376":1}}],["so",{"2":{"16":1,"46":1,"71":1,"104":1,"134":1,"143":2,"145":1,"227":1,"229":1,"232":1,"236":1,"267":1,"290":1,"294":1,"375":1,"376":1}}],["social",{"2":{"7":1,"8":1,"182":1}}],["sovereignty",{"2":{"7":1,"145":2}}],["sovereign",{"0":{"7":1,"11":1,"12":1,"121":1,"148":1,"196":1,"229":1,"333":1},"1":{"8":1,"9":1,"10":1,"11":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1},"2":{"6":2,"7":10,"8":5,"10":1,"11":2,"12":3,"13":2,"14":1,"15":1,"17":1,"18":5,"90":1,"117":2,"140":1,"141":2,"145":1,"146":1,"148":1,"149":1,"151":1,"155":1,"197":2,"199":1,"206":1,"210":3,"211":3,"242":1,"288":2,"331":2,"333":1,"334":1,"354":1,"360":1}}],["session",{"2":{"193":2,"358":1}}],["selection",{"2":{"375":1}}],["selecting",{"2":{"182":1,"328":1,"350":1}}],["self",{"2":{"7":1,"46":2}}],["seal",{"2":{"320":1}}],["search",{"2":{"167":1,"330":1}}],["seamless",{"2":{"162":1}}],["serve",{"2":{"173":1,"339":1}}],["served",{"2":{"165":1}}],["serves",{"2":{"162":1,"242":1,"251":1,"257":1,"338":1,"344":1}}],["server",{"2":{"123":2,"203":1,"244":2,"254":1,"265":1,"290":2,"337":2,"370":1,"371":1}}],["serving",{"2":{"123":1,"290":1}}],["services",{"2":{"231":1,"232":2,"267":3,"274":1,"289":1,"290":2,"310":1}}],["service=engine",{"2":{"204":2}}],["service=execution",{"2":{"204":4}}],["service=blockchain",{"2":{"204":5}}],["service=prepare",{"2":{"204":2}}],["service=payload",{"2":{"204":2}}],["service=validator",{"2":{"204":4}}],["service",{"2":{"123":20,"232":8,"239":1,"240":1,"264":1,"274":4,"290":28,"309":1,"310":6}}],["serde",{"2":{"47":3}}],["sendcoins",{"2":{"372":1}}],["sendcoinsfrommoduletoaccount",{"2":{"371":1,"372":1}}],["sendcoinsfromaccounttomodule",{"2":{"370":1,"372":1}}],["senderaddr",{"2":{"372":1}}],["sendermodule",{"2":{"372":1}}],["sender",{"2":{"292":1}}],["sender=",{"2":{"184":1}}],["sends",{"2":{"291":1}}],["sending",{"2":{"228":1,"229":1,"372":1}}],["send",{"2":{"97":1,"108":1,"124":1,"125":3,"138":3,"228":2,"229":2,"283":2,"285":1,"291":1,"324":2,"326":1,"371":1}}],["sent",{"2":{"71":1}}],["separate",{"2":{"51":1,"66":1,"69":1,"248":1,"316":1,"363":1}}],["seen",{"2":{"267":1}}],["seed",{"2":{"60":1,"123":1,"290":1}}],["seeds",{"2":{"60":1}}],["see",{"2":{"16":1,"17":1,"18":1,"61":2,"66":1,"77":1,"78":1,"79":1,"94":2,"99":1,"112":1,"123":1,"129":1,"132":1,"138":1,"156":1,"204":1,"231":1,"232":3,"240":3,"247":1,"248":1,"254":1,"265":1,"267":1,"273":2,"275":1,"276":3,"289":1,"290":3,"291":2,"299":1,"306":1,"308":2,"310":1,"311":4,"341":2,"347":1,"352":1,"355":1,"358":1,"360":1,"370":2,"375":2}}],["seeking",{"2":{"10":1}}],["segwit",{"2":{"14":2}}],["sequenced",{"2":{"337":1,"339":1,"351":1}}],["sequence",{"2":{"184":1}}],["sequencers",{"2":{"145":1,"173":2,"176":1}}],["sequencer",{"0":{"59":1,"173":1,"337":1,"339":1,"340":1,"343":1,"345":1,"346":1,"352":1},"1":{"338":1,"339":1,"340":1,"341":1,"342":1,"344":1,"345":1,"346":1,"347":1,"348":1},"2":{"10":2,"19":1,"36":2,"55":1,"56":1,"58":1,"59":1,"60":1,"62":1,"87":3,"88":1,"145":2,"150":1,"155":1,"158":1,"166":1,"173":7,"176":1,"182":6,"204":1,"254":1,"272":3,"273":1,"274":7,"276":3,"309":3,"337":3,"338":4,"339":7,"340":3,"341":14,"342":1,"344":1,"345":5,"346":5,"347":8,"348":1,"352":5,"353":9,"374":1}}],["sequencing",{"0":{"89":1,"313":1,"335":1,"349":1,"350":1,"351":1,"353":1},"1":{"350":1,"351":1,"352":1,"353":1},"2":{"10":3,"26":1,"89":2,"90":1,"274":1,"303":1,"337":3,"349":1,"350":3,"351":4,"353":7}}],["several",{"2":{"9":1,"359":1,"360":1,"364":1}}],["setguess",{"2":{"371":1}}],["setwordle",{"2":{"370":1}}],["settings",{"2":{"106":1,"207":1}}],["setting",{"0":{"28":1,"34":1,"57":1,"130":1,"252":1,"272":1,"307":1,"345":1,"361":1},"1":{"58":1,"59":1,"60":1,"273":1,"274":1,"275":1,"308":1,"309":1,"310":1,"362":1},"2":{"27":1,"156":1,"188":1,"242":1,"248":1,"356":1}}],["settle",{"2":{"8":1}}],["settled",{"2":{"8":1}}],["settlement",{"0":{"149":1},"2":{"7":3,"8":3,"15":1,"146":1,"149":3,"267":1}}],["sets",{"2":{"24":1,"273":2,"308":2}}],["setup",{"0":{"54":1,"71":1,"73":1,"213":1,"329":1},"1":{"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"214":1,"215":1,"216":1},"2":{"19":1,"48":1,"52":1,"60":1,"66":1,"115":1,"121":1,"137":1,"186":1,"188":1,"195":1,"206":1,"226":1,"227":1,"242":2,"255":1,"302":1,"354":1,"371":2}}],["set",{"0":{"59":1},"2":{"7":1,"8":1,"10":1,"20":1,"28":1,"29":2,"31":1,"34":1,"37":1,"39":1,"48":1,"55":1,"58":1,"60":1,"62":1,"71":1,"77":1,"78":1,"86":1,"108":1,"112":1,"113":1,"120":1,"144":3,"145":1,"168":1,"173":1,"186":1,"195":1,"201":1,"206":1,"210":1,"214":1,"215":1,"216":1,"217":1,"220":1,"221":1,"224":1,"228":3,"229":1,"247":2,"252":1,"255":1,"260":5,"273":3,"274":4,"285":2,"294":1,"296":1,"299":1,"302":1,"309":1,"314":1,"326":2,"327":1,"328":1,"329":1,"342":1,"345":1,"348":1,"359":1,"361":1,"370":1}}],["secp256k1",{"2":{"291":2}}],["secret",{"2":{"244":1}}],["section",{"2":{"52":1,"90":2,"94":1,"95":1,"100":1,"102":1,"106":1,"107":1,"108":1,"112":1,"136":1,"140":1,"150":2,"267":1}}],["sections",{"2":{"26":1,"103":1}}],["second",{"2":{"19":2,"219":3,"365":1,"368":1}}],["seconds",{"2":{"7":1,"19":1,"40":1,"106":1,"247":1,"260":1,"273":1,"276":3,"290":8,"308":1,"311":14,"339":1}}],["security",{"0":{"144":1},"2":{"7":2,"12":1,"55":1,"128":1,"140":1,"145":3,"171":1,"211":1}}],["securely",{"2":{"263":1}}],["secured",{"2":{"172":1}}],["secures",{"2":{"128":1}}],["secure",{"2":{"7":1,"8":1,"144":4,"364":1}}],["sdkerrors",{"2":{"370":4,"371":5}}],["sdk=github",{"2":{"66":1}}],["sdk",{"0":{"131":1,"148":1,"161":1},"2":{"7":3,"9":4,"10":1,"17":1,"66":1,"72":1,"95":1,"96":3,"117":2,"129":1,"131":2,"140":2,"148":4,"150":1,"151":1,"161":5,"230":1,"288":2,"295":1,"354":1,"355":3,"358":2,"359":2,"360":2,"363":4,"364":1,"365":3,"369":2,"370":7,"371":7,"372":4,"375":1,"377":1}}],["sum256",{"2":{"370":2,"371":3}}],["sum",{"2":{"273":1}}],["summary",{"0":{"26":1,"39":1,"43":1,"88":1,"115":1,"255":1,"342":1,"348":1},"2":{"43":1}}],["superior",{"2":{"191":1}}],["supports",{"2":{"17":1,"155":1,"175":2,"186":1}}],["supported",{"2":{"15":1,"167":1,"177":1,"224":1}}],["support",{"0":{"91":1,"155":1},"2":{"12":1,"63":1,"85":1,"155":1,"165":1,"173":1,"303":2,"314":1}}],["supporting",{"2":{"9":1}}],["supply",{"2":{"8":1}}],["sustainably",{"2":{"144":1}}],["sustainable",{"2":{"12":1,"18":1}}],["sustainability",{"2":{"144":1}}],["sufficient",{"2":{"298":1}}],["sufficiently",{"2":{"144":2}}],["suffice",{"2":{"131":1}}],["sudo",{"2":{"121":1,"213":1,"214":2}}],["suitable",{"2":{"265":1,"352":1}}],["suit",{"2":{"70":2,"74":2}}],["suggested",{"2":{"204":1}}],["suggest",{"2":{"42":1}}],["suggestions",{"0":{"4":1},"2":{"4":1}}],["sure",{"2":{"39":1,"71":2,"106":1,"188":1,"192":1,"213":1,"222":1,"225":1,"269":1,"280":1,"294":1,"298":2,"304":1,"341":1,"347":1}}],["succeeded",{"2":{"204":1}}],["succeeds",{"2":{"79":1}}],["success",{"2":{"125":1,"137":1,"144":1,"282":1,"323":1}}],["successful",{"2":{"75":4,"108":1,"119":1,"137":2,"182":1,"226":2,"282":2,"323":2,"332":1}}],["successfully",{"2":{"26":1,"61":1,"75":2,"88":1,"101":1,"137":1,"195":1,"204":2,"206":1,"226":1,"232":3,"244":1,"258":1,"275":1,"282":1,"286":1,"290":3,"294":1,"302":1,"310":4,"320":1,"323":1,"327":1,"341":2,"342":1,"348":1,"358":1}}],["such",{"2":{"3":1,"18":1,"42":1,"79":1,"141":1,"150":1,"158":1,"167":2,"182":2,"337":1,"353":1}}],["subsequent",{"2":{"370":1}}],["substitute",{"2":{"141":1}}],["submitguess",{"0":{"371":1},"2":{"365":1,"366":1,"371":1}}],["submitwordle",{"0":{"370":1},"2":{"365":1,"366":1,"370":3}}],["submitrolluptransaction",{"2":{"351":1}}],["submits",{"2":{"264":1,"339":1,"353":1,"376":1}}],["submitteraddress",{"2":{"370":2}}],["submitter",{"2":{"368":4,"370":1,"371":8,"375":1}}],["submittedsolutionhashstring",{"2":{"370":2,"371":3}}],["submittedsolutionhash",{"2":{"370":2,"371":2}}],["submitted",{"2":{"182":3,"320":1,"341":1,"350":1,"356":1,"365":1,"368":3,"370":10,"371":1,"375":5,"376":1}}],["submitting",{"2":{"96":1,"178":1,"290":1,"320":1,"341":1,"342":1,"348":1,"375":3,"376":1}}],["submit",{"2":{"182":2,"264":2,"291":2,"365":1,"366":4,"370":1,"371":2,"374":1,"375":9}}],["submitblocks",{"2":{"162":1}}],["submitblock",{"2":{"16":2}}],["submission",{"0":{"92":1,"179":1},"2":{"79":2,"92":1,"96":3}}],["subkeys",{"2":{"51":1}}],["sub",{"2":{"19":1}}],["subordinate",{"2":{"8":1}}],["stick",{"2":{"376":1}}],["still",{"2":{"9":1,"14":1,"91":1,"95":1,"123":1,"150":1,"155":1,"172":1,"176":1,"178":1}}],["storing",{"2":{"368":1}}],["stored",{"2":{"237":1}}],["store",{"2":{"236":1,"368":1,"369":2,"370":2,"371":1}}],["storage",{"2":{"157":1}}],["stopbroadcast",{"2":{"137":1,"227":1}}],["stop",{"2":{"98":1,"162":1,"219":1,"301":2,"328":1}}],["stopping",{"0":{"98":1,"194":1,"301":1},"2":{"101":1}}],["stuck",{"2":{"95":1}}],["std",{"2":{"48":1,"137":1,"226":1,"227":1}}],["steak",{"2":{"48":2}}],["steps",{"0":{"106":1,"112":1,"126":1,"207":1,"249":1,"262":1,"277":1,"295":1,"312":1,"377":1},"2":{"27":1,"39":1,"42":2,"44":1,"50":1,"76":1,"88":1,"103":1,"111":1,"115":1,"190":1,"237":1,"255":1,"327":1,"340":1,"342":1,"348":1,"355":1,"367":1}}],["step",{"2":{"3":2,"69":1,"75":1,"78":1,"107":1,"124":1,"129":1,"135":1,"191":2,"298":1,"314":2,"349":1}}],["strconv",{"2":{"371":4}}],["strategies",{"2":{"353":1}}],["strategy",{"2":{"350":2}}],["straightforward",{"2":{"47":1,"293":1,"295":1,"359":2}}],["strong",{"2":{"144":1}}],["str+",{"2":{"134":1}}],["string",{"2":{"78":1,"168":2,"283":1,"324":1,"327":1,"339":7,"370":3,"371":3,"372":4,"376":1}}],["string=youribc",{"2":{"78":1}}],["struct",{"2":{"46":2,"47":1}}],["structure",{"0":{"3":1,"159":1},"1":{"160":1,"161":1,"162":1,"163":1},"2":{"24":1,"51":1,"111":1,"112":1,"360":1}}],["str",{"2":{"46":1,"48":1,"134":6}}],["stands",{"2":{"288":1}}],["standard",{"2":{"14":2,"226":1}}],["status",{"2":{"138":1,"167":1,"173":1,"231":1,"232":3,"276":1,"289":1,"290":3,"299":1,"306":1,"310":2,"311":1,"327":1,"351":1}}],["statefile=",{"2":{"333":1}}],["state",{"0":{"174":1},"1":{"175":1,"176":1,"177":1},"2":{"8":1,"9":1,"10":1,"47":1,"61":1,"63":2,"147":2,"150":1,"158":1,"161":1,"169":1,"172":1,"173":1,"176":11,"182":2,"204":8,"240":1,"333":1,"353":1,"365":1,"369":1,"371":1}}],["stage",{"2":{"91":1,"150":1,"155":1,"273":5}}],["stake",{"2":{"77":1,"78":1,"124":1,"291":1,"292":2}}],["staking",{"0":{"34":1},"2":{"28":1,"34":1}}],["star",{"2":{"309":3}}],["starlark",{"2":{"232":2,"290":3,"310":3}}],["starship",{"2":{"42":1}}],["startbuild",{"2":{"340":1,"345":1}}],["startbroadcast",{"2":{"137":1,"227":1}}],["startwordle",{"2":{"254":1,"341":1,"347":1}}],["starts",{"2":{"166":1,"191":1,"204":1,"338":1}}],["starting",{"0":{"38":1,"123":1,"232":1,"290":1},"2":{"39":1,"56":1,"61":1,"75":1,"85":1,"123":14,"169":1,"223":1,"224":1,"244":1,"258":1,"265":1,"274":1,"290":14,"310":1,"329":1,"338":1,"352":1}}],["start",{"0":{"25":1,"60":1,"71":1,"76":1,"87":1,"186":1,"203":1,"219":1,"284":1,"296":1,"319":1,"325":1,"328":1,"330":1,"331":1},"1":{"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"220":1,"221":1,"222":1,"223":1,"297":1,"298":1,"299":1,"300":1,"301":1,"302":1,"332":1,"333":1,"334":1},"2":{"7":1,"9":1,"19":5,"25":3,"27":1,"37":1,"38":2,"39":1,"40":2,"42":2,"48":1,"60":1,"66":1,"69":2,"74":1,"76":2,"79":2,"87":3,"89":4,"92":2,"94":4,"95":1,"103":1,"105":1,"107":1,"114":2,"117":1,"123":12,"124":2,"150":1,"162":1,"166":1,"187":1,"188":1,"191":1,"199":1,"203":2,"204":1,"219":3,"224":3,"228":1,"229":1,"239":1,"243":1,"244":2,"247":3,"248":2,"251":1,"252":1,"254":3,"257":1,"258":2,"259":1,"260":3,"261":2,"263":1,"265":1,"266":1,"273":1,"274":2,"276":1,"288":1,"290":12,"299":2,"309":7,"310":1,"316":2,"319":2,"320":1,"328":4,"329":1,"330":1,"333":2,"334":1,"338":1,"340":1,"341":3,"342":1,"344":1,"345":1,"347":3,"348":1,"352":1,"355":1,"365":1,"370":1,"374":2}}],["started",{"2":{"1":1,"11":1,"94":2,"130":1,"151":2,"228":1,"273":1,"297":1,"310":3,"317":1,"321":1,"333":1,"356":1,"358":1}}],["stay",{"2":{"6":1}}],["stack",{"0":{"158":1,"211":1},"1":{"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":1,"176":1,"177":1},"2":{"3":1,"141":1,"145":1,"154":1,"156":1}}],["gz",{"2":{"214":3}}],["gb",{"2":{"212":1}}],["g",{"2":{"173":1,"184":1,"191":2,"214":1,"350":1}}],["gateway",{"2":{"328":1}}],["gaming",{"2":{"193":1}}],["game",{"2":{"153":1,"193":1,"354":2}}],["gain",{"2":{"144":1,"192":1}}],["gasprice=",{"2":{"341":1}}],["gasprice",{"2":{"264":1}}],["gasused",{"2":{"138":1}}],["gas",{"0":{"79":1,"99":1,"101":1,"116":1},"1":{"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1},"2":{"10":1,"37":1,"38":1,"73":8,"75":4,"78":1,"79":15,"90":2,"95":3,"96":1,"99":2,"101":1,"117":4,"123":2,"124":9,"125":2,"126":1,"137":1,"226":3,"236":3,"239":3,"240":7,"248":4,"282":1,"291":1,"323":1,"375":3}}],["giant",{"2":{"375":2}}],["given",{"2":{"264":1,"365":1,"375":5}}],["give",{"2":{"228":1,"238":1}}],["gives",{"2":{"141":1,"147":1}}],["git",{"2":{"68":2,"72":2,"119":1,"124":1,"133":2,"187":1,"191":1,"202":3,"213":1,"224":2,"281":2,"297":1,"317":3,"322":3,"329":1,"332":1,"339":1}}],["github",{"2":{"21":1,"66":1,"68":1,"72":1,"82":1,"91":1,"124":1,"133":2,"155":1,"187":1,"191":1,"202":1,"208":1,"224":1,"232":3,"281":1,"290":5,"297":1,"298":1,"309":4,"310":4,"313":1,"314":1,"317":1,"322":1,"335":1,"339":1,"362":1,"370":2,"371":2}}],["gwei",{"2":{"137":1,"282":1,"323":1}}],["gpu",{"2":{"135":1}}],["global",{"2":{"124":1}}],["gt",{"2":{"94":1,"315":1}}],["grotto",{"2":{"290":3}}],["grow",{"2":{"242":1}}],["growth",{"2":{"148":1}}],["grey",{"2":{"356":1}}],["green",{"2":{"356":1}}],["grep",{"2":{"232":1,"290":1,"311":1}}],["great",{"2":{"148":2,"150":1,"249":1,"262":1,"265":1,"267":1,"352":1}}],["greater",{"2":{"79":1}}],["granter",{"2":{"291":1,"375":1}}],["grasp",{"2":{"192":1}}],["grab",{"2":{"138":1,"375":1}}],["gradually",{"2":{"79":1}}],["grpc",{"2":{"37":1,"38":1,"60":1,"123":1,"232":1,"248":1,"290":1,"328":2,"337":1,"350":1}}],["ghcr",{"2":{"66":1,"232":6,"234":2,"274":2,"290":6,"310":2,"311":1,"316":1,"328":1}}],["gms",{"2":{"283":1,"324":1}}],["gmportalscript",{"2":{"282":2,"323":2}}],["gmportal",{"2":{"137":3,"282":2,"284":5,"323":2,"325":5}}],["gm1r2udsh4za7r7sxvzy496qfazvjp04j4zgytve3",{"2":{"291":2}}],["gm17rpwv7lnk96ka00v93rphhvcqqztpn896q0dxx",{"2":{"291":2}}],["gm1jqevcsld0dqpjp3csfg7alkv3lehvn8uswknrc",{"2":{"124":3}}],["gm1vvl79phavqruppr6f5zy4ypxy7znshrqam48qy",{"2":{"70":1,"75":2}}],["gmd",{"2":{"112":3,"121":1,"122":1,"245":2,"246":1,"247":1,"248":1}}],["gm",{"0":{"66":1,"287":1,"293":1},"1":{"288":1,"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1},"2":{"63":1,"66":9,"69":1,"70":2,"73":3,"74":1,"75":22,"76":1,"77":5,"81":4,"87":2,"103":1,"104":1,"105":1,"108":4,"112":6,"117":1,"121":3,"122":4,"124":24,"125":2,"136":1,"137":5,"152":1,"191":2,"231":1,"242":5,"245":3,"246":2,"281":3,"282":1,"283":1,"284":6,"288":2,"290":19,"291":1,"321":1,"322":3,"323":1,"324":1,"325":6}}],["gui",{"2":{"356":1}}],["guide",{"0":{"54":1,"186":1,"296":1,"331":1},"1":{"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"297":1,"298":1,"299":1,"300":1,"301":1,"302":1,"332":1,"333":1,"334":1},"2":{"20":2,"26":1,"27":1,"29":1,"39":1,"42":1,"55":1,"80":1,"89":1,"93":1,"99":1,"103":1,"109":1,"117":2,"128":2,"130":1,"131":1,"186":1,"191":1,"199":1,"237":1,"242":1,"248":1,"251":1,"257":1,"288":2,"296":1,"338":1,"344":1,"354":1,"355":1,"356":1,"360":1}}],["guidelines",{"0":{"2":1},"2":{"2":1,"66":1}}],["guides",{"0":{"90":1},"1":{"91":1},"2":{"0":1,"90":3,"91":1,"197":1}}],["guessing",{"2":{"371":1}}],["guessed",{"2":{"371":2}}],["guesseraddress",{"2":{"371":2}}],["guesser",{"2":{"371":2,"372":1}}],["guesses",{"2":{"356":2,"368":1,"370":2,"371":2}}],["guess",{"2":{"356":2,"365":2,"366":3,"368":3,"370":1,"371":19,"375":8,"376":1}}],["guard",{"2":{"193":1}}],["guarantees",{"2":{"12":1,"145":1,"211":2,"263":1,"265":1}}],["gotype",{"2":{"372":1}}],["gomessage",{"2":{"372":1}}],["goctx",{"2":{"370":2,"371":2}}],["gopackage",{"2":{"370":1,"371":1}}],["goreleaser",{"2":{"298":8}}],["gosubmitrolluptransaction",{"2":{"351":1}}],["gosequencinglatesttag",{"2":{"274":1,"345":2}}],["gossips",{"2":{"182":1}}],["gossipping",{"2":{"178":1}}],["gossiped",{"2":{"176":1}}],["gossip",{"0":{"182":1},"2":{"169":1,"176":2,"182":1}}],["go$ver",{"2":{"214":3}}],["good",{"2":{"210":1,"232":1,"249":1,"262":1,"288":1,"290":1,"334":1}}],["golang",{"0":{"214":1},"2":{"199":1,"214":2,"273":1}}],["golangversion",{"2":{"118":1}}],["godocs",{"2":{"157":1}}],["going",{"2":{"131":1,"150":1,"268":1,"303":1,"360":1}}],["go1",{"2":{"72":1}}],["gone",{"2":{"19":1,"90":1,"355":1}}],["goal",{"2":{"18":1,"117":1,"141":1,"145":1,"211":1,"288":1}}],["go",{"0":{"203":1,"264":1},"2":{"10":2,"16":1,"42":1,"49":1,"63":1,"65":1,"66":3,"72":1,"89":1,"90":1,"95":1,"103":1,"106":1,"112":3,"118":2,"121":2,"122":1,"161":1,"163":1,"166":2,"203":1,"214":4,"240":1,"242":1,"249":1,"262":1,"263":1,"264":3,"273":4,"274":1,"294":1,"298":1,"315":1,"327":1,"337":1,"351":1,"354":3,"355":1,"356":1,"360":1,"370":3,"371":1,"372":1}}],["governance",{"2":{"7":1,"8":1}}],["gentxs",{"2":{"35":1}}],["gentx",{"2":{"34":1}}],["genesis",{"0":{"27":1,"30":1,"33":1,"34":1,"35":1,"36":1,"58":1},"1":{"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1},"2":{"27":2,"30":1,"33":3,"34":2,"35":2,"36":3,"39":2,"58":3,"90":1,"205":2,"333":2}}],["generation",{"2":{"47":2}}],["generating",{"0":{"219":1},"1":{"220":1,"221":1,"222":1,"223":1},"2":{"24":1,"75":1,"219":2,"339":1}}],["generates",{"2":{"244":1,"258":1}}],["generatetoaddress",{"2":{"219":2}}],["generatefraudproof",{"2":{"176":1}}],["generated",{"2":{"47":1,"128":2,"134":1,"135":1,"228":1,"229":1,"260":1,"360":1}}],["generate",{"0":{"112":1},"2":{"29":2,"73":1,"86":1,"112":1,"145":1,"176":2,"182":1,"219":3,"328":1}}],["generic",{"2":{"7":1,"162":1,"264":1}}],["getguess",{"2":{"371":1}}],["getwordle",{"2":{"370":1,"371":1}}],["getnextbatch",{"2":{"351":2,"353":1}}],["getnewaddress`",{"2":{"219":1}}],["getnewaddress",{"2":{"219":1}}],["gettotalgms",{"2":{"283":1,"324":1}}],["getting",{"2":{"167":2,"371":1}}],["getblockheader",{"2":{"222":2}}],["getblockhash",{"2":{"221":1}}],["getblockcount",{"2":{"220":1}}],["geth",{"0":{"203":1},"2":{"203":2,"205":2,"208":1,"320":2}}],["getapphash",{"2":{"176":1}}],["gets",{"2":{"71":1,"350":1,"356":1}}],["getcountresponse",{"2":{"47":2}}],["getcount",{"2":{"47":2,"226":4,"228":1,"229":1}}],["get",{"0":{"189":1},"2":{"1":1,"8":1,"11":1,"42":2,"47":1,"48":1,"51":1,"66":1,"81":1,"95":2,"97":1,"121":2,"124":1,"134":2,"140":1,"151":2,"191":1,"205":1,"222":1,"236":1,"238":1,"244":1,"260":1,"264":2,"273":3,"283":1,"297":1,"298":1,"300":1,"317":1,"321":1,"324":1,"328":1,"356":1,"358":2,"370":1,"371":3,"375":2}}],["omni",{"0":{"296":1,"297":1,"299":1},"1":{"297":1,"298":1,"299":1,"300":1,"301":1,"302":1},"2":{"296":1,"297":3,"298":2,"299":3,"300":4,"301":1,"302":2}}],["omnilayer",{"2":{"175":1}}],["octane",{"0":{"296":1},"1":{"297":1,"298":1,"299":1,"300":1,"301":1,"302":1},"2":{"282":1}}],["occurred",{"2":{"176":1}}],["occasional",{"2":{"79":1}}],["ooga",{"0":{"282":1,"323":1},"2":{"283":3,"285":2,"321":1,"322":1,"324":3,"326":2}}],["old",{"2":{"223":1,"245":1}}],["os",{"2":{"213":1,"273":1}}],["osmo",{"2":{"73":2,"74":1,"75":12}}],["osmo1vvl79phavqruppr6f5zy4ypxy7znshrqm390ll",{"2":{"70":1,"75":2}}],["osmosis",{"0":{"67":1,"68":1,"69":1,"77":1,"78":1},"1":{"68":1,"69":1},"2":{"63":1,"68":3,"69":6,"70":2,"73":2,"75":6,"76":1,"77":3,"78":2}}],["observe",{"2":{"188":1}}],["observed",{"2":{"75":4}}],["objects",{"2":{"134":3,"365":1,"375":1}}],["obtained",{"2":{"129":1,"191":2}}],["obtain",{"2":{"128":1,"134":2,"260":1,"327":1}}],["obvious",{"2":{"48":1}}],["ok",{"2":{"48":2,"226":1}}],["opportunity",{"2":{"148":1}}],["operate",{"2":{"263":1}}],["operators",{"2":{"89":1,"139":1}}],["operation",{"0":{"61":1},"2":{"333":1}}],["operations",{"2":{"29":1,"39":1,"166":1,"194":1,"228":1,"229":1,"248":1}}],["operational",{"2":{"8":1,"104":1,"129":1,"136":1}}],["openapi",{"2":{"360":1}}],["openssl",{"2":{"224":1}}],["opens",{"2":{"211":1}}],["open",{"2":{"21":1,"71":1,"112":1,"134":3,"137":1,"141":1,"145":1,"204":1,"205":1,"218":1,"226":2,"294":1,"309":2,"358":1,"370":1,"371":1,"376":1}}],["opening",{"2":{"12":1,"141":1,"210":1}}],["optionally",{"2":{"247":1,"260":1}}],["optional",{"2":{"176":1,"214":1}}],["option",{"2":{"15":2}}],["options",{"2":{"3":1,"73":2,"124":2,"182":1,"291":2,"375":2}}],["optimistic=true",{"2":{"204":1}}],["optimistic=false",{"2":{"204":1}}],["optimistically",{"2":{"204":1}}],["optimistic",{"0":{"176":1},"2":{"10":2,"145":1,"158":1,"171":1,"182":1}}],["optimizer",{"2":{"235":2}}],["optimized",{"0":{"235":1},"2":{"235":1}}],["optimize",{"0":{"10":1},"2":{"10":1,"207":1}}],["overlook",{"2":{"192":1}}],["overall",{"2":{"176":1}}],["override",{"2":{"95":1,"124":2,"204":1}}],["over",{"2":{"9":1,"89":1,"103":1,"167":3,"173":1,"176":2,"273":1,"327":1,"354":3,"355":1,"356":2,"360":1,"370":2}}],["overhead",{"2":{"7":2,"8":1,"10":1,"18":1,"144":1}}],["overview",{"0":{"103":1},"2":{"5":1,"108":1}}],["onwards",{"2":{"350":1}}],["onstart",{"2":{"166":1}}],["onto",{"2":{"158":1,"232":1}}],["once",{"0":{"128":1},"2":{"25":1,"81":1,"107":1,"113":1,"165":1,"176":1,"228":2,"229":1,"231":1,"271":1,"274":1,"276":1,"289":1,"294":1,"298":1,"306":1,"311":1}}],["onchain",{"2":{"8":1}}],["only",{"0":{"175":1},"2":{"10":2,"12":1,"15":1,"16":1,"63":1,"79":1,"123":1,"128":1,"155":1,"166":1,"175":1,"267":1,"284":1,"290":1,"325":1,"365":1,"370":6,"371":3}}],["ones",{"2":{"182":1}}],["one",{"2":{"7":1,"9":1,"19":1,"29":1,"47":1,"75":3,"95":1,"107":1,"173":1,"176":1,"191":2,"228":2,"230":1,"258":1,"261":1,"265":1,"267":1,"285":1,"291":1,"310":1,"326":1,"328":2,"329":1,"338":1,"352":1,"360":1,"365":2,"370":2,"371":1,"375":1}}],["on",{"0":{"12":1,"14":1,"17":1,"135":1,"138":1,"191":1,"233":1,"237":1,"278":1},"1":{"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"192":1,"193":1,"234":1,"235":1,"236":1,"238":1,"239":1,"240":1,"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1},"2":{"5":1,"6":1,"7":3,"8":4,"10":2,"12":5,"13":1,"14":6,"16":2,"17":1,"18":2,"29":1,"39":1,"47":1,"50":4,"53":1,"56":2,"59":1,"65":1,"70":2,"71":2,"89":1,"90":1,"95":1,"106":1,"120":2,"121":2,"123":2,"124":8,"125":4,"128":7,"134":1,"135":2,"136":2,"137":1,"138":1,"139":1,"140":1,"141":1,"143":1,"145":2,"150":1,"155":1,"157":1,"163":1,"165":2,"171":1,"172":1,"176":1,"184":1,"188":1,"191":6,"193":2,"198":1,"199":1,"200":1,"201":1,"203":2,"205":2,"207":1,"208":1,"210":3,"211":3,"225":1,"232":2,"236":1,"238":1,"240":1,"242":1,"243":1,"248":2,"252":2,"257":1,"258":1,"260":1,"261":2,"272":1,"274":1,"278":2,"281":1,"282":1,"284":3,"285":2,"286":2,"290":6,"294":1,"298":6,"300":2,"307":1,"310":1,"311":1,"313":1,"315":2,"321":1,"322":1,"323":1,"325":3,"326":2,"328":1,"329":1,"330":1,"334":1,"335":1,"339":1,"340":1,"345":2,"355":1,"356":1,"358":1,"361":1,"369":1,"371":1,"375":1,"376":1}}],["our",{"2":{"5":2,"18":1,"47":1,"53":1,"91":1,"95":1,"101":1,"103":1,"105":1,"108":1,"123":1,"124":4,"125":1,"134":4,"136":1,"140":1,"141":1,"145":1,"155":1,"183":1,"193":1,"199":1,"205":1,"210":1,"214":1,"227":1,"229":2,"232":1,"234":1,"236":1,"238":3,"240":2,"246":2,"247":1,"248":2,"260":1,"272":2,"273":1,"274":1,"276":1,"281":1,"284":2,"290":1,"291":2,"295":1,"300":1,"307":1,"308":1,"311":1,"322":1,"325":2,"356":1,"358":1,"359":2,"361":2,"364":1,"365":3,"372":1,"374":1}}],["outline",{"2":{"369":1}}],["outside",{"2":{"230":1,"360":1}}],["outputs",{"2":{"375":1}}],["output",{"2":{"61":2,"73":2,"94":1,"112":2,"124":2,"125":2,"137":2,"138":2,"188":1,"204":1,"218":1,"220":1,"221":1,"226":1,"229":1,"232":2,"236":1,"238":3,"240":5,"247":1,"260":2,"273":1,"275":1,"276":1,"282":2,"290":2,"291":2,"292":1,"299":1,"308":1,"310":2,"311":2,"323":2,"333":1,"358":1,"375":3}}],["out",{"0":{"95":1},"1":{"96":1,"97":1,"98":1,"99":1,"100":1,"101":1},"2":{"0":1,"11":1,"26":1,"29":1,"37":1,"47":1,"95":2,"96":1,"101":1,"106":1,"139":1,"228":1,"230":1,"234":1,"237":1,"276":1,"284":2,"311":1,"322":1,"325":2,"355":1,"358":1,"372":1,"375":1}}],["others",{"2":{"376":1}}],["other",{"2":{"3":1,"7":2,"37":1,"53":1,"69":1,"71":3,"95":1,"143":1,"145":2,"173":1,"182":1,"204":1,"261":1,"293":1,"353":1,"364":1,"369":1}}],["owner",{"2":{"240":2}}],["own",{"2":{"3":1,"7":3,"8":1,"11":1,"15":1,"140":1,"145":1,"197":1,"206":1,"260":1,"309":1,"321":1,"328":1,"330":1,"358":1,"363":1}}],["original",{"2":{"78":1,"191":1}}],["originally",{"2":{"12":1,"285":1,"326":1}}],["orch",{"0":{"45":1},"2":{"42":3,"43":1,"44":1,"45":3,"46":2,"47":3,"48":1,"49":1,"50":1,"51":1,"53":1}}],["orchestrator",{"0":{"41":1},"1":{"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1},"2":{"42":2,"43":1,"45":1,"47":1,"53":1,"236":1,"237":1}}],["ordinals",{"2":{"13":1,"14":2,"211":1}}],["ordering",{"2":{"165":1,"173":2,"350":1}}],["ordered",{"2":{"158":1,"337":1}}],["order",{"2":{"8":1,"42":1,"46":1,"51":1,"75":1,"94":1,"95":2,"99":1,"101":1,"140":1,"144":1,"175":1,"235":1,"236":1,"285":1,"326":1,"327":1,"337":1,"350":1,"372":1}}],["org",{"2":{"12":1,"214":1,"310":2}}],["organize",{"2":{"8":1}}],["oracles",{"2":{"9":1}}],["or",{"2":{"2":1,"4":1,"7":5,"8":1,"10":5,"16":1,"17":1,"18":1,"19":1,"25":1,"30":1,"48":2,"71":1,"77":1,"78":1,"91":1,"96":1,"107":1,"108":1,"118":1,"121":1,"135":1,"139":1,"145":4,"147":1,"150":1,"151":1,"155":1,"168":1,"171":1,"172":1,"176":1,"182":2,"184":1,"192":1,"211":1,"227":1,"236":1,"251":1,"257":1,"258":1,"260":1,"261":1,"264":2,"265":1,"282":1,"285":1,"298":3,"326":1,"328":2,"330":1,"338":1,"344":1,"350":1,"352":1,"353":1,"358":1,"359":1,"370":1,"371":1,"375":1}}],["offered",{"2":{"363":1}}],["offers",{"2":{"242":1}}],["offering",{"2":{"186":1}}],["offs",{"2":{"141":1,"144":1,"145":1}}],["offset",{"2":{"8":1}}],["offloading",{"2":{"15":1}}],["off",{"2":{"14":1,"94":1,"145":1,"191":1}}],["offchain",{"2":{"8":1}}],["official",{"2":{"0":1,"140":1}}],["of",{"0":{"6":1,"19":1,"92":1,"95":1,"184":1},"1":{"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"185":1},"2":{"0":1,"2":1,"5":2,"7":6,"8":5,"9":2,"10":6,"11":1,"13":2,"14":8,"15":1,"16":3,"18":2,"19":1,"20":1,"24":1,"27":1,"29":3,"37":3,"39":1,"42":3,"45":1,"46":1,"47":1,"51":1,"55":1,"63":2,"69":1,"71":1,"73":1,"76":1,"77":1,"78":1,"79":4,"80":1,"89":1,"90":3,"92":1,"95":3,"96":1,"97":1,"101":1,"103":2,"106":1,"109":1,"110":1,"111":1,"114":2,"117":2,"121":1,"123":1,"124":1,"128":3,"130":1,"131":2,"132":1,"133":1,"135":1,"136":1,"137":2,"138":3,"140":1,"141":2,"144":6,"145":5,"147":1,"149":2,"150":1,"155":1,"157":2,"158":2,"161":3,"162":2,"163":1,"165":1,"166":2,"168":1,"169":1,"173":1,"176":2,"182":3,"186":2,"188":1,"189":1,"190":1,"191":5,"192":1,"193":2,"195":2,"197":1,"206":1,"207":1,"210":2,"211":4,"215":1,"219":1,"221":1,"223":1,"225":1,"226":1,"228":3,"229":1,"230":2,"234":1,"236":2,"238":1,"239":1,"240":1,"242":1,"243":1,"244":2,"247":2,"258":3,"260":6,"261":1,"263":2,"265":1,"266":1,"267":3,"273":1,"274":7,"275":1,"276":1,"280":1,"288":1,"291":1,"293":2,"299":1,"303":1,"308":1,"311":1,"314":1,"321":1,"327":1,"329":1,"338":1,"339":1,"345":1,"350":1,"351":3,"352":1,"353":2,"354":1,"355":1,"356":5,"358":3,"359":3,"360":4,"364":1,"365":2,"368":2,"369":4,"370":7,"371":11,"375":2}}],["md",{"2":{"360":1}}],["m",{"2":{"219":2}}],["my",{"2":{"219":1,"340":1,"341":1,"345":1,"347":1}}],["mykey4",{"2":{"189":1}}],["mykey3",{"2":{"189":1}}],["mykey2",{"2":{"189":1}}],["mykey",{"2":{"69":1,"189":1,"229":2}}],["ml",{"2":{"128":2,"131":2,"132":1,"133":2,"137":1,"138":1,"139":1}}],["mkdir",{"2":{"124":1,"232":1,"290":1,"311":1}}],["mnemonics",{"2":{"74":1,"124":1}}],["mnemonic",{"2":{"48":3,"70":2,"74":1,"244":2}}],["msgsubmitguessresponse",{"2":{"371":3,"372":2}}],["msgsubmitguess",{"2":{"371":1}}],["msgsubmitwordleresponse",{"2":{"370":2}}],["msgsubmitwordle",{"2":{"370":1,"375":1}}],["msgserver",{"2":{"370":1,"371":1}}],["msgsend",{"2":{"291":1}}],["msg=",{"2":{"123":10,"290":10}}],["msgchannelopenconfirm",{"2":{"75":1}}],["msgchannelopenack",{"2":{"75":1}}],["msgchannelopentry",{"2":{"75":1}}],["msgchannelopeninit",{"2":{"75":1}}],["msgupdateclient",{"2":{"75":4}}],["msg",{"2":{"46":1,"47":2,"48":1,"75":4,"370":7,"371":8}}],["much",{"2":{"359":1}}],["multiappconn",{"2":{"123":1,"290":1}}],["multiplier=1",{"2":{"79":1}}],["multiplier",{"2":{"79":2}}],["multiple",{"2":{"42":1,"107":1,"138":1,"169":1,"173":1,"176":1}}],["multi",{"2":{"42":1,"364":1}}],["must",{"2":{"7":1,"144":2,"182":1,"356":1,"359":1,"364":2,"370":2,"371":2}}],["mv",{"2":{"36":1}}],["mb",{"2":{"14":1}}],["middlewares",{"2":{"353":1}}],["middleware",{"2":{"264":1,"337":1,"353":2}}],["middleman",{"2":{"71":1}}],["might",{"2":{"144":1,"169":1,"265":1,"295":1,"352":1}}],["migrate",{"2":{"46":2}}],["migratemsg",{"2":{"46":2}}],["mission",{"2":{"140":1}}],["missing",{"2":{"14":1}}],["mit",{"2":{"137":1,"226":2,"227":1}}],["millions",{"2":{"144":1}}],["milliseconds",{"2":{"10":1,"19":1}}],["milk",{"2":{"70":2,"74":2}}],["minutes",{"2":{"102":1,"145":1,"232":6,"276":2,"290":1}}],["minute",{"2":{"89":1,"232":8}}],["minus",{"2":{"78":1}}],["min",{"2":{"73":4,"124":4}}],["mind",{"2":{"18":1,"138":1,"162":1}}],["mine",{"2":{"219":2}}],["miner",{"2":{"14":1}}],["mined",{"2":{"14":1}}],["minimizes",{"2":{"359":1}}],["minimized",{"2":{"8":1,"63":1,"149":1,"158":1,"172":1}}],["minimization",{"2":{"176":1}}],["minimizing",{"2":{"145":1}}],["minimal",{"2":{"81":1,"141":1}}],["minimum",{"2":{"37":1,"38":1,"79":1,"123":1,"248":2}}],["mining",{"2":{"14":1}}],["morning",{"2":{"288":1}}],["more",{"0":{"53":1,"192":1},"2":{"6":1,"7":1,"9":1,"12":1,"19":1,"26":1,"42":1,"43":1,"46":1,"47":1,"50":1,"53":2,"63":1,"81":1,"97":1,"99":1,"129":1,"132":1,"141":2,"150":1,"157":1,"182":1,"186":1,"193":2,"208":1,"210":1,"242":1,"260":1,"267":2,"268":1,"286":1,"288":1,"289":1,"295":1,"303":1,"328":1,"355":1,"358":1,"359":1}}],["mount",{"2":{"235":2}}],["monitoring",{"2":{"213":1,"376":1}}],["monitored",{"2":{"108":1}}],["monitor",{"2":{"102":1,"107":1,"108":1,"188":1}}],["months",{"2":{"7":1,"145":1}}],["mocha=",{"2":{"124":1}}],["mocha",{"0":{"124":1},"2":{"95":2,"123":1,"124":24,"151":1,"184":1,"258":1,"260":2,"261":1,"327":2,"328":6,"329":1,"330":1}}],["mock",{"0":{"265":1,"352":1},"2":{"88":2,"242":1,"265":3,"352":3}}],["mockcontract",{"2":{"46":1}}],["moment",{"2":{"48":1,"370":1}}],["moving",{"2":{"42":1,"375":1}}],["move",{"2":{"8":1,"18":1,"232":1,"236":1,"289":1}}],["modified",{"2":{"314":1,"372":1}}],["modify",{"0":{"134":1},"2":{"69":1,"133":1,"137":2,"190":2,"193":1,"205":1,"229":1,"273":1,"308":1}}],["mod",{"2":{"46":1,"66":3,"273":2}}],["modulename",{"2":{"370":1,"371":1}}],["modules",{"2":{"186":1,"358":1,"360":2,"363":3,"364":1}}],["module=main",{"2":{"254":1,"265":1,"333":4,"341":2,"347":2,"352":1}}],["module=baseapp",{"2":{"204":2}}],["module=blockmanager",{"2":{"61":1,"94":6,"96":4,"123":4,"188":3,"204":4,"232":6,"290":4,"311":9,"320":5,"333":2,"341":1}}],["module=grpc",{"2":{"123":1,"290":1}}],["module=polaris",{"2":{"320":2}}],["module=p2p",{"2":{"123":3,"290":3}}],["module=pubsub",{"2":{"123":1,"290":1}}],["module=proxy",{"2":{"123":1,"290":1}}],["module=events",{"2":{"123":1,"290":1}}],["module=abci",{"2":{"123":4,"290":4}}],["module=server",{"2":{"123":7,"204":17,"290":7,"320":2}}],["module=txindex",{"2":{"61":1,"94":2,"123":2,"188":1,"204":2,"232":1,"290":2,"311":3,"320":1}}],["module",{"0":{"363":1,"364":1},"1":{"364":1},"2":{"15":1,"16":1,"18":1,"46":1,"211":1,"309":1,"359":3,"363":4,"364":6,"365":2,"369":3}}],["modularism",{"2":{"18":1}}],["modularity",{"2":{"16":1,"20":1}}],["modular",{"2":{"10":1,"15":1,"140":1,"141":2,"145":1,"154":1,"184":2,"186":1,"197":2,"199":1,"211":1}}],["mode",{"2":{"73":4,"123":1,"124":4,"155":1,"188":1,"224":1,"274":1,"290":1}}],["models",{"2":{"128":1}}],["model",{"2":{"10":1,"128":1,"132":1}}],["modes",{"0":{"174":1},"1":{"175":1,"176":1,"177":1},"2":{"10":1}}],["mostly",{"2":{"16":1}}],["most",{"2":{"0":1,"14":1,"16":1,"42":1,"79":1,"264":1,"360":2,"369":1}}],["messaging",{"2":{"376":1}}],["messages",{"0":{"365":1},"1":{"366":1},"2":{"51":1,"71":1,"204":1,"208":1,"291":1,"341":1,"347":1,"358":1,"365":7,"367":1,"375":1}}],["message",{"0":{"366":1},"2":{"2":1,"71":1,"96":3,"184":1,"232":3,"239":1,"240":2,"254":1,"290":3,"299":1,"310":1,"341":1,"363":2,"366":5,"368":2,"369":2,"375":2}}],["meter",{"2":{"375":1}}],["method",{"2":{"267":1,"327":1,"372":1}}],["methods",{"2":{"16":3,"47":2,"161":1,"162":2,"176":1,"327":1,"372":1}}],["meet",{"2":{"188":1}}],["mean",{"2":{"375":1}}],["meaning",{"2":{"337":1,"358":1}}],["meanwhile",{"2":{"184":1}}],["means",{"2":{"7":1,"61":1,"139":1,"145":1,"338":1,"356":3,"370":2}}],["mentioned",{"2":{"146":1,"340":1}}],["memory",{"2":{"265":1,"352":1}}],["memo",{"2":{"73":1,"124":2,"291":1,"375":1}}],["members",{"2":{"51":1}}],["mempoolttl=25",{"2":{"123":1,"290":1}}],["mempool",{"0":{"165":1},"2":{"14":2,"79":1,"95":3,"123":1,"165":3,"182":3,"290":1}}],["mev",{"2":{"9":1}}],["media",{"2":{"3":1}}],["map",{"2":{"368":3}}],["maple",{"2":{"70":2,"74":2}}],["maliciously",{"2":{"182":1}}],["made",{"2":{"123":1,"156":1,"211":2,"337":1}}],["maxbytes",{"2":{"351":1}}],["maximum",{"0":{"92":1},"2":{"92":1,"371":1}}],["maximalism",{"2":{"18":1}}],["max",{"2":{"73":2,"90":1,"92":3,"124":3,"371":1}}],["maid",{"2":{"48":1}}],["mainly",{"2":{"351":1,"353":1}}],["mainnet",{"2":{"257":1,"258":2,"261":1,"327":1}}],["maintains",{"2":{"55":1}}],["maintaining",{"2":{"10":1}}],["maintain",{"2":{"8":1}}],["main",{"2":{"2":1,"48":1,"112":3,"122":1,"145":1,"158":1,"258":1,"309":3,"360":1,"369":1}}],["macos",{"2":{"118":1,"121":1,"298":2,"358":1}}],["macro",{"2":{"47":1}}],["macros",{"2":{"47":2}}],["machines",{"2":{"147":1,"358":1}}],["machine",{"2":{"2":1,"9":1,"10":1,"65":1,"120":1,"128":2,"136":1,"147":2,"197":1,"198":1,"199":1,"212":1,"252":1,"298":1,"314":1,"315":2,"345":1,"358":1}}],["manner",{"2":{"165":1}}],["many",{"2":{"143":1,"146":1,"150":1,"213":1,"363":1,"368":1,"376":1}}],["manifest",{"2":{"133":1}}],["managing",{"2":{"86":1,"144":1,"231":1,"289":1}}],["managed",{"2":{"267":1}}],["manager",{"0":{"166":1},"2":{"166":1}}],["manage",{"2":{"15":1,"115":1,"145":1,"267":1}}],["manually",{"2":{"45":1,"79":2,"112":1,"121":1}}],["matches",{"2":{"341":2,"346":1,"347":1}}],["matt",{"2":{"290":1,"310":1}}],["matter",{"2":{"44":1}}],["materials",{"2":{"0":1,"3":1}}],["marked",{"2":{"61":1}}],["market",{"0":{"144":1},"2":{"12":1,"124":2,"145":2}}],["march",{"2":{"12":1}}],["maybe",{"2":{"173":2}}],["may",{"2":{"8":2,"60":1,"75":1,"79":2,"121":1,"140":1,"162":1,"169":1,"182":1,"191":1,"214":1,"285":1,"326":1}}],["making",{"2":{"2":1,"18":1,"190":1,"191":1,"211":1,"230":1}}],["makes",{"2":{"7":1,"42":1,"71":2,"350":1}}],["make",{"2":{"0":1,"2":1,"16":1,"18":1,"39":1,"42":1,"68":1,"72":1,"75":1,"77":1,"78":1,"90":1,"106":1,"121":1,"124":1,"137":1,"141":1,"145":2,"172":1,"188":1,"190":1,"191":2,"192":1,"203":1,"204":1,"211":1,"213":2,"224":1,"263":1,"267":1,"269":1,"280":1,"281":1,"294":1,"298":2,"304":1,"319":1,"322":1,"329":1,"330":1,"339":1,"341":1,"347":1,"359":1,"365":1}}],["f159e11116ec9505fc2c0d97e605357fec0f3dae06b57bfb17ea6a548905043e",{"2":{"375":1}}],["f1a64151bd29",{"2":{"311":1}}],["f921884f4132",{"2":{"290":1}}],["fc0kermqylp8voivw8qfywgeldflbaufcmpm7tb7ptlb4opwzjaost6hbo",{"2":{"184":1}}],["fcfs",{"2":{"165":1,"350":1}}],["fwsrxeovry",{"2":{"184":1}}],["float64",{"2":{"264":1}}],["flow",{"0":{"178":1},"1":{"179":1,"180":1,"181":1,"182":1},"2":{"178":1,"182":1}}],["flu",{"2":{"232":1,"290":1,"311":1}}],["fluent",{"2":{"232":3,"290":3,"311":3}}],["flexible",{"2":{"169":1}}],["flexibility",{"2":{"143":1,"147":1,"156":1,"267":2}}],["flags=",{"2":{"220":1}}],["flags>",{"2":{"25":1}}],["flags",{"0":{"247":1,"260":1},"2":{"19":2,"37":1,"40":2,"79":1,"87":1,"89":2,"92":2,"94":1,"220":1,"232":1,"247":1,"248":1,"260":1,"261":1,"290":1,"291":1,"310":1}}],["flag",{"2":{"19":2,"37":1,"40":1,"46":1,"69":1,"79":2,"89":1,"92":1,"94":2,"184":1,"247":1,"253":1,"254":1,"260":1,"274":1,"327":1,"341":2,"346":1,"347":1,"359":1}}],["fn",{"2":{"46":2,"48":1,"58":2,"61":1}}],["f",{"2":{"37":1,"134":6,"188":1,"273":1}}],["far",{"2":{"232":1,"267":1,"290":1,"375":1}}],["fallbackfee=0",{"2":{"217":1}}],["false",{"2":{"124":2,"370":1}}],["familiar",{"2":{"140":1,"205":1,"300":1}}],["familiarity",{"2":{"140":1}}],["faucet",{"2":{"124":1,"184":2,"244":1,"327":1}}],["failed",{"2":{"96":3,"226":1,"240":2}}],["failures",{"2":{"79":1}}],["face",{"2":{"145":1,"371":1}}],["factor",{"2":{"79":2}}],["facilitate",{"2":{"8":1,"16":1,"149":1,"186":1}}],["fast",{"2":{"49":1}}],["faster",{"2":{"19":1,"145":1,"173":1}}],["func",{"2":{"370":2,"371":1}}],["functionalities",{"2":{"193":1}}],["functionality",{"2":{"47":1,"131":1,"206":1,"226":1,"353":1,"369":1}}],["functional",{"2":{"160":1,"314":1}}],["function",{"0":{"370":1,"371":1},"2":{"47":2,"137":2,"226":7,"227":2,"370":3,"371":1}}],["functions",{"0":{"369":1},"1":{"370":1,"371":1,"372":1},"2":{"16":1,"47":1,"191":1,"226":1,"264":2,"351":1,"353":1,"360":2,"369":1,"372":1}}],["fun",{"2":{"359":1,"375":1}}],["funded",{"2":{"124":2,"278":1,"282":1,"285":1,"323":1,"326":1,"327":1}}],["funding",{"2":{"96":1}}],["fund",{"0":{"97":1},"2":{"95":1,"124":2,"205":1,"243":1,"244":1,"258":2,"280":1,"285":1,"300":2,"326":1,"328":1}}],["funds",{"0":{"70":1,"95":1,"280":1,"321":1},"1":{"96":1,"97":1,"98":1,"99":1,"100":1,"101":1},"2":{"70":2,"95":1,"321":1}}],["furthermore",{"2":{"135":1,"155":2}}],["further",{"2":{"24":1,"139":1,"207":1,"240":1,"334":1,"337":1,"356":1}}],["future",{"0":{"376":1},"2":{"18":1,"144":1,"146":1,"182":1,"354":1,"371":1,"375":1}}],["fullnode",{"2":{"58":2}}],["fully",{"2":{"8":2,"160":1,"167":1,"171":1,"192":1,"193":1,"267":1,"303":1,"314":1,"327":1,"328":1}}],["full",{"0":{"54":1,"57":1,"60":1,"61":1,"171":1,"175":1},"1":{"55":1,"56":1,"57":1,"58":2,"59":2,"60":2,"61":1,"62":1},"2":{"7":1,"19":1,"42":1,"49":1,"53":1,"55":2,"58":1,"60":1,"61":2,"62":1,"90":1,"144":1,"145":2,"154":1,"155":1,"157":1,"158":1,"162":1,"171":1,"175":1,"176":7,"182":6}}],["few",{"2":{"267":1,"290":1,"341":1,"356":1,"370":1,"372":1,"375":1}}],["fen",{"2":{"232":3}}],["fetch",{"2":{"134":1,"176":1}}],["feature",{"2":{"89":1}}],["features",{"0":{"22":1,"50":1,"83":1},"2":{"20":1,"22":1,"43":1,"83":1,"88":1,"141":1,"150":1}}],["feb",{"2":{"14":1}}],["feel",{"2":{"371":1}}],["feegrants",{"2":{"73":2,"124":2}}],["fee",{"0":{"99":1,"101":1},"2":{"12":1,"75":4,"95":3,"96":1,"99":1,"101":1,"204":2,"291":1,"375":1}}],["fees",{"2":{"10":1,"75":4,"77":1,"78":2,"108":1,"124":1,"291":1}}],["feedback",{"0":{"4":1},"2":{"4":1}}],["front",{"2":{"376":2}}],["frontend",{"0":{"281":1,"284":1,"285":1,"322":1,"325":1,"326":1},"1":{"282":1,"283":1,"284":1,"285":1,"286":1,"323":1,"324":1,"325":1,"326":1},"2":{"278":1,"281":1,"284":8,"285":1,"286":1,"322":1,"325":8,"326":1}}],["from=base",{"2":{"273":4}}],["from",{"0":{"77":1,"78":1},"2":{"2":1,"4":1,"9":2,"11":1,"40":1,"46":1,"47":1,"58":1,"59":1,"60":1,"61":1,"69":1,"71":1,"77":2,"78":2,"89":1,"94":1,"112":1,"124":1,"137":2,"138":1,"145":3,"146":1,"158":1,"162":1,"176":1,"191":2,"204":1,"219":1,"222":1,"227":1,"229":1,"236":1,"239":1,"240":1,"244":2,"245":1,"248":1,"257":1,"259":1,"265":1,"273":6,"274":2,"282":1,"284":2,"285":1,"291":3,"295":1,"308":1,"323":1,"325":2,"326":1,"327":1,"329":1,"351":1,"352":1,"353":2,"359":2,"363":1,"364":1,"365":1,"369":1,"370":2,"372":1,"375":8}}],["fresh",{"2":{"359":1}}],["fred",{"2":{"240":3}}],["frequency",{"2":{"166":1}}],["free",{"0":{"11":1},"2":{"9":1,"298":1,"371":1}}],["freedom",{"2":{"7":1,"141":1}}],["fraudulent",{"2":{"145":1,"176":2}}],["fraud",{"0":{"176":1,"182":1},"2":{"7":1,"66":1,"145":1,"150":1,"155":1,"158":2,"161":1,"169":1,"171":2,"172":1,"176":7,"178":1,"182":1}}],["framework",{"0":{"7":1},"1":{"8":1,"9":1,"10":1,"11":1},"2":{"6":1,"7":1,"12":1,"14":1,"15":1,"39":1,"42":1,"90":1,"141":2,"145":1,"150":1,"197":2,"199":1,"331":1}}],["five",{"2":{"356":2,"375":1}}],["fit",{"2":{"156":1,"263":1}}],["finish",{"2":{"215":1,"222":1}}],["finished",{"2":{"137":1,"226":2,"282":1,"323":1}}],["finalizing",{"2":{"320":1}}],["finalized",{"2":{"94":2,"123":1,"158":1,"188":1,"204":3,"232":2,"290":1,"311":3,"320":1,"333":1}}],["finality",{"2":{"247":1,"260":1,"263":1,"265":1}}],["final",{"2":{"53":1,"366":1}}],["finally",{"2":{"38":1,"125":1,"135":1,"261":1}}],["finding",{"2":{"248":1}}],["find",{"2":{"0":1,"4":1,"5":1,"46":1,"47":2,"53":1,"90":2,"112":1,"133":1,"176":1,"182":1,"328":1,"330":1}}],["fixed",{"2":{"79":1}}],["fix",{"2":{"18":1,"134":1,"242":1}}],["fixing",{"2":{"2":1}}],["filter",{"2":{"124":1}}],["file",{"0":{"36":1,"45":1,"58":1,"274":1,"372":1},"2":{"24":3,"29":2,"37":1,"43":1,"45":2,"46":4,"48":1,"51":1,"58":2,"73":2,"86":2,"109":1,"111":3,"112":5,"113":2,"114":1,"115":1,"122":1,"133":1,"134":8,"135":1,"189":1,"205":1,"226":1,"244":2,"273":2,"274":2,"308":1,"309":4,"333":1,"360":4,"370":1,"371":1,"372":2,"374":1}}],["filesystem",{"2":{"298":1}}],["files",{"2":{"3":1,"51":1,"133":1,"134":1,"137":1,"190":2,"205":1,"213":1,"226":1,"232":1,"273":4,"282":1,"290":1,"308":1,"310":1,"323":1,"360":2,"372":1,"374":1}}],["fill",{"2":{"11":1,"106":1,"372":1}}],["firstly",{"2":{"73":1}}],["first",{"0":{"7":1,"108":1},"1":{"8":1,"9":1,"10":1,"11":1},"2":{"6":1,"12":1,"28":1,"58":1,"90":1,"94":1,"97":1,"103":1,"104":1,"107":1,"108":1,"123":1,"138":1,"165":2,"173":2,"190":1,"191":1,"201":1,"210":1,"213":1,"221":1,"225":1,"229":1,"234":1,"236":1,"238":1,"247":1,"260":1,"263":1,"265":1,"273":1,"281":1,"284":1,"291":1,"298":1,"300":1,"308":1,"319":1,"322":1,"325":1,"329":1,"352":1,"355":1,"359":2,"365":1,"370":2,"372":1}}],["four",{"2":{"145":1,"189":1}}],["foundation",{"2":{"359":1}}],["foundations",{"2":{"263":1}}],["foundryup",{"2":{"279":1,"319":1}}],["foundry",{"0":{"215":1,"279":1,"318":1},"2":{"215":3,"225":3,"226":1,"279":2,"282":1,"318":1,"323":1,"359":1}}],["found",{"2":{"14":1,"75":2,"121":1,"157":1,"161":1,"307":1,"310":1,"333":3}}],["food",{"2":{"133":2,"137":1,"138":1}}],["folder",{"2":{"51":1,"219":1,"223":1}}],["follows",{"2":{"85":1,"161":1}}],["follow",{"2":{"13":1,"27":1,"29":1,"100":1,"111":1,"188":1,"190":1,"199":1,"200":1,"205":1,"242":1,"300":1,"321":1,"328":1,"350":1}}],["following",{"2":{"1":1,"9":1,"21":1,"22":1,"23":1,"25":1,"26":1,"29":2,"38":1,"39":1,"42":1,"51":1,"60":1,"70":2,"73":1,"81":1,"82":1,"83":1,"84":1,"86":1,"87":1,"88":1,"89":1,"97":1,"110":1,"112":1,"115":1,"119":1,"122":1,"131":1,"134":2,"137":1,"138":1,"151":2,"166":1,"167":1,"183":1,"184":1,"188":2,"190":2,"191":5,"198":1,"216":1,"218":1,"219":1,"222":1,"223":1,"226":4,"227":1,"229":1,"232":1,"235":1,"237":1,"238":1,"239":1,"244":3,"252":1,"254":2,"255":1,"260":1,"273":3,"274":1,"275":1,"276":2,"279":1,"290":1,"291":1,"298":1,"301":1,"308":3,"309":3,"310":2,"311":3,"315":1,"321":1,"332":1,"340":1,"341":2,"342":1,"345":1,"347":2,"348":1,"356":1,"358":1,"359":1,"362":1,"363":1,"364":2,"366":1,"369":1,"370":3,"371":3,"372":1,"374":1,"375":3}}],["foam",{"2":{"48":1}}],["focus",{"2":{"8":1,"75":3,"128":1,"205":3,"272":1,"282":1,"291":1,"292":4,"307":1,"320":3,"323":1}}],["forced",{"0":{"336":1},"2":{"353":1}}],["forth",{"2":{"249":1,"262":1}}],["forgotten",{"2":{"232":3}}],["forget",{"2":{"161":1}}],["forge",{"2":{"137":3,"226":3,"227":1,"282":1,"323":1}}],["formula",{"2":{"123":1}}],["formatting",{"2":{"134":1}}],["formatted",{"2":{"134":2,"135":1}}],["format",{"2":{"73":2,"124":2,"189":1,"232":1,"290":1,"309":3,"311":1,"370":1,"371":2}}],["form",{"2":{"11":1,"18":1,"106":1}}],["forward",{"2":{"8":1,"375":1}}],["forkchoice",{"2":{"204":3}}],["forking",{"0":{"182":1}}],["forks",{"2":{"8":1}}],["fork",{"2":{"2":3,"7":1,"10":1,"162":1,"173":3,"182":1,"228":1}}],["for",{"0":{"10":1,"27":1,"186":1,"218":1,"247":1,"260":1,"296":1},"1":{"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"297":1,"298":1,"299":1,"300":1,"301":1,"302":1},"2":{"0":1,"2":1,"3":1,"4":1,"6":1,"7":3,"8":2,"9":1,"10":2,"12":3,"13":2,"14":2,"15":3,"16":5,"17":1,"18":1,"19":1,"23":1,"24":1,"27":1,"28":1,"37":1,"39":3,"40":1,"42":2,"46":3,"47":4,"50":3,"51":2,"53":1,"58":1,"60":1,"61":1,"63":3,"66":1,"71":1,"74":1,"75":3,"77":1,"86":1,"89":2,"90":1,"92":1,"94":3,"99":1,"107":1,"112":1,"114":1,"117":2,"120":1,"121":1,"123":1,"124":1,"128":2,"132":2,"133":1,"134":3,"135":3,"137":2,"139":2,"141":3,"144":4,"145":4,"148":1,"149":3,"150":1,"156":1,"157":1,"160":1,"161":1,"162":1,"163":1,"166":4,"167":2,"171":2,"172":1,"173":3,"178":1,"182":1,"183":1,"184":2,"186":2,"189":1,"191":2,"193":1,"197":2,"199":1,"200":1,"204":5,"208":2,"210":1,"211":4,"214":1,"217":1,"220":1,"224":1,"225":1,"226":2,"230":5,"232":2,"234":1,"236":2,"237":2,"238":1,"239":1,"240":1,"242":2,"244":2,"247":5,"248":3,"251":1,"255":1,"257":1,"258":1,"260":4,"261":2,"264":2,"265":2,"267":3,"272":1,"273":1,"274":6,"280":1,"282":2,"288":2,"290":4,"291":2,"292":1,"298":1,"303":1,"307":1,"308":1,"309":1,"310":2,"311":1,"314":1,"323":1,"327":1,"330":1,"337":1,"338":1,"339":1,"344":1,"350":3,"351":1,"352":2,"353":3,"354":2,"355":2,"356":5,"358":6,"359":1,"360":6,"363":3,"364":4,"365":2,"367":1,"368":1,"369":3,"370":6,"371":10,"372":2,"374":1,"375":5,"376":1}}],["rf",{"2":{"214":1,"223":1,"245":1}}],["rly",{"2":{"72":2,"74":1,"75":2,"124":8}}],["rt",{"2":{"48":2}}],["rs",{"2":{"46":4,"47":2,"51":4}}],["rpcuser",{"2":{"224":1}}],["rpcuser=rpcuser",{"2":{"217":1,"218":1,"219":4,"220":2}}],["rpcpass",{"2":{"224":1}}],["rpcpassword=rpcpass",{"2":{"217":1,"218":1,"219":4,"220":2}}],["rpcport=18332",{"2":{"217":1,"218":1,"219":4,"220":2}}],["rpc",{"0":{"167":1},"1":{"168":1},"2":{"37":1,"38":1,"60":2,"69":1,"73":2,"106":1,"123":1,"124":3,"137":4,"138":2,"167":6,"184":4,"203":1,"228":6,"229":3,"232":1,"240":2,"247":2,"278":1,"282":4,"283":2,"285":1,"290":1,"299":2,"300":1,"323":4,"324":2,"326":1,"327":2,"328":1,"329":1}}],["rpcs",{"2":{"9":1}}],["rm",{"2":{"37":1,"214":2,"234":1,"235":1,"245":1,"273":1}}],["r",{"2":{"36":2,"124":1,"125":1,"236":1,"238":1,"240":1,"245":1,"247":1,"260":1,"329":2,"370":2,"375":1}}],["rol",{"2":{"276":1}}],["rollupid=test",{"2":{"352":1}}],["rollupid=my",{"2":{"341":1,"347":1}}],["rollupid",{"2":{"339":1,"341":1,"347":1,"351":3}}],["rollup=",{"2":{"124":1,"125":1}}],["rollup>d",{"2":{"114":3}}],["rollup",{"0":{"7":1,"27":1,"54":1,"66":1,"77":1,"78":1,"93":1,"94":1,"95":1,"98":1,"100":1,"102":1,"105":1,"113":1,"116":1,"121":1,"123":1,"127":1,"147":1,"148":1,"151":1,"196":1,"209":1,"224":1,"229":1,"230":1,"232":1,"246":1,"248":1,"253":1,"254":1,"261":1,"267":1,"278":1,"287":1,"290":1,"330":1,"333":1},"1":{"8":1,"9":1,"10":1,"11":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"55":1,"56":1,"57":1,"58":1,"59":1,"60":1,"61":1,"62":1,"94":1,"95":1,"96":2,"97":2,"98":2,"99":2,"100":2,"101":2,"103":1,"104":1,"105":1,"106":2,"107":1,"108":1,"114":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"152":1,"153":1,"154":1,"155":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"210":1,"211":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":2,"226":2,"227":2,"228":2,"229":2,"231":1,"232":1,"233":1,"234":1,"235":1,"236":1,"237":1,"238":1,"239":1,"240":1,"279":1,"280":1,"281":1,"282":1,"283":1,"284":1,"285":1,"286":1,"288":1,"289":1,"290":1,"291":1,"292":1,"293":1,"294":1,"295":1},"2":{"6":1,"7":2,"8":1,"12":2,"13":1,"14":1,"17":1,"19":2,"24":1,"27":2,"29":3,"36":4,"37":4,"39":3,"40":1,"58":2,"61":2,"63":2,"66":2,"70":1,"79":3,"87":2,"89":2,"90":8,"93":1,"94":8,"95":1,"98":1,"100":1,"101":1,"102":1,"103":2,"104":1,"105":1,"106":2,"107":1,"108":2,"109":1,"111":1,"112":3,"113":1,"115":2,"117":6,"121":4,"123":1,"124":13,"125":3,"126":1,"128":2,"141":1,"145":4,"147":1,"148":2,"152":1,"153":1,"158":3,"160":1,"161":1,"162":2,"163":1,"166":2,"167":5,"169":3,"171":1,"172":2,"173":3,"175":3,"178":2,"182":5,"184":1,"186":1,"188":2,"191":3,"194":1,"195":1,"197":2,"206":1,"207":3,"210":1,"216":1,"224":1,"229":1,"231":1,"232":6,"236":1,"242":4,"243":1,"244":1,"245":2,"246":2,"247":1,"248":4,"249":1,"253":1,"254":3,"255":1,"257":2,"258":2,"261":3,"262":1,"263":1,"267":3,"273":1,"274":3,"278":2,"281":1,"286":2,"288":4,"290":7,"291":1,"293":3,"294":1,"295":2,"309":1,"314":1,"320":2,"322":1,"329":1,"330":1,"331":2,"333":1,"334":2,"337":2,"339":3,"340":3,"341":6,"345":2,"346":2,"347":4,"350":1,"351":2,"352":1,"353":4,"354":1,"374":1}}],["rollups",{"0":{"12":1},"1":{"13":1,"14":1,"15":1,"16":1,"17":1,"18":1},"2":{"3":1,"6":1,"7":6,"8":4,"9":2,"10":3,"12":5,"13":1,"14":1,"15":2,"18":3,"95":1,"141":4,"145":8,"146":1,"149":4,"151":1,"155":1,"171":1,"173":3,"175":2,"177":1,"197":1,"199":1,"210":2,"211":6,"242":1,"267":2}}],["rollkitheight=11",{"2":{"320":1}}],["rollkitlatesttag",{"2":{"110":1,"119":1,"273":1,"332":1,"355":1}}],["rollkitigniteappversion",{"2":{"21":1,"82":1,"362":1}}],["rollkit",{"0":{"0":1,"7":1,"12":1,"15":1,"16":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"29":1,"80":1,"82":1,"83":1,"86":1,"109":1,"110":1,"111":1,"112":1,"113":1,"119":1,"122":1,"130":1,"136":1,"140":1,"141":1,"142":1,"145":1,"146":1,"150":1,"158":1,"170":1,"186":1,"187":1,"196":1,"199":1,"233":1,"296":1,"299":1,"314":1,"319":1,"332":1,"350":1,"361":1,"362":1},"1":{"1":1,"2":1,"3":1,"4":1,"8":1,"9":1,"10":1,"11":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"110":1,"111":1,"112":2,"113":1,"114":2,"115":1,"137":1,"141":1,"142":1,"143":2,"144":2,"145":1,"146":1,"147":2,"148":2,"149":2,"150":1,"159":1,"160":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":1,"167":1,"168":1,"169":1,"170":1,"171":2,"172":2,"173":2,"174":1,"175":1,"176":1,"177":1,"187":1,"188":1,"189":1,"190":1,"191":1,"192":1,"193":1,"194":1,"195":1,"197":1,"198":1,"199":1,"200":1,"201":1,"202":1,"203":1,"204":1,"205":1,"206":1,"207":1,"208":1,"234":1,"235":1,"236":1,"297":1,"298":1,"299":1,"300":1,"301":1,"302":1,"315":1,"316":1,"317":1,"318":1,"319":1,"320":1,"321":1,"322":1,"323":1,"324":1,"325":1,"326":1,"327":1,"328":1,"329":1,"330":1,"362":1},"2":{"0":2,"3":3,"6":2,"7":5,"9":3,"10":5,"11":1,"12":5,"13":2,"15":3,"16":3,"17":2,"18":4,"19":7,"20":2,"21":2,"22":4,"23":3,"24":5,"25":3,"26":1,"29":3,"36":1,"37":4,"38":2,"39":3,"40":4,"55":1,"56":2,"58":1,"60":3,"62":1,"63":1,"66":5,"69":1,"79":5,"80":1,"82":4,"83":2,"85":2,"86":5,"87":5,"88":2,"89":7,"90":6,"91":1,"92":4,"93":1,"94":1,"95":1,"101":1,"102":1,"104":1,"106":2,"109":2,"110":3,"111":2,"112":6,"113":3,"114":4,"115":2,"117":1,"118":2,"119":3,"120":1,"121":1,"122":3,"123":3,"124":2,"125":3,"128":2,"129":1,"130":2,"134":4,"136":2,"137":3,"139":2,"140":2,"141":3,"145":8,"146":1,"147":2,"148":2,"150":2,"151":1,"155":3,"156":3,"157":5,"158":1,"160":1,"161":6,"162":1,"163":3,"166":3,"167":1,"169":2,"170":1,"172":1,"173":1,"175":1,"176":6,"177":1,"183":1,"184":8,"186":1,"187":3,"188":1,"195":2,"197":2,"199":2,"201":1,"202":4,"204":2,"206":2,"207":1,"208":1,"210":6,"211":5,"224":5,"230":1,"232":7,"234":2,"240":1,"242":1,"247":4,"248":3,"251":1,"252":1,"253":1,"254":4,"257":2,"259":1,"260":6,"261":5,"263":3,"265":1,"266":1,"267":1,"273":18,"274":8,"276":3,"277":1,"281":1,"282":1,"288":1,"290":12,"291":1,"293":1,"296":1,"297":3,"298":1,"299":1,"302":2,"303":1,"309":10,"310":2,"311":4,"312":1,"314":6,"315":1,"316":1,"317":2,"320":2,"323":1,"327":1,"328":2,"329":1,"331":2,"332":3,"333":4,"334":2,"337":1,"338":1,"339":1,"341":10,"344":1,"345":2,"346":2,"347":5,"350":4,"351":2,"352":1,"353":3,"354":2,"355":2,"361":1,"362":4,"374":5,"375":4,"377":1}}],["routing",{"2":{"363":1}}],["routines",{"2":{"166":2}}],["round",{"2":{"184":1}}],["rosm",{"0":{"184":1,"185":1},"1":{"185":1},"2":{"184":9,"185":1}}],["roadmap",{"2":{"145":1}}],["root=0x9676648a3c292540562b082c20c4b6663986182f5d8733f84fb3f1445b66a4ce",{"2":{"204":1}}],["root=0x5f75afde5c6a596fa11c17e8c60ca291ffb31ae5c9a40392e0ceb4d45ab42037",{"2":{"204":4}}],["roots",{"2":{"176":1,"204":1}}],["rootcodespace",{"2":{"95":1}}],["root",{"2":{"29":2,"39":1,"58":4,"61":1,"73":2,"112":1,"122":1,"138":1,"173":1,"190":2,"204":3,"215":1,"219":2,"234":1,"236":1,"273":4,"274":1,"308":1,"333":4}}],["risk",{"2":{"144":1}}],["right",{"2":{"71":1,"106":1,"329":1,"356":1,"372":1}}],["rich",{"2":{"9":1}}],["rid",{"2":{"8":1}}],["rustpub",{"2":{"47":1}}],["rustuse",{"2":{"46":1,"48":1}}],["rust",{"2":{"42":1,"46":2,"47":1,"230":1,"235":2,"236":1,"237":1}}],["rustcounter",{"2":{"42":1}}],["rule",{"0":{"108":1},"2":{"10":1,"124":1,"173":3}}],["rules",{"2":{"8":1,"356":2}}],["runs",{"2":{"95":1,"96":1,"120":1,"201":1,"260":1,"303":1}}],["runtime",{"2":{"48":3,"186":2,"190":1,"192":1,"273":2,"308":1}}],["running",{"0":{"95":1,"113":1,"120":1,"217":1,"224":1,"243":1,"248":1,"258":1,"261":1,"327":1,"374":1},"1":{"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"114":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"225":1,"226":1,"227":1,"228":1,"229":1,"244":1,"328":1,"329":1,"330":1},"2":{"13":1,"56":2,"62":1,"65":1,"69":2,"79":1,"86":2,"87":1,"95":1,"97":1,"98":1,"101":1,"121":3,"123":1,"136":1,"155":1,"172":1,"188":1,"190":1,"194":1,"197":1,"200":1,"203":1,"204":1,"208":2,"216":2,"219":1,"224":1,"226":1,"228":1,"231":2,"232":8,"234":1,"236":1,"244":1,"246":2,"248":1,"251":1,"254":1,"257":1,"261":1,"263":1,"267":2,"271":1,"273":3,"274":2,"275":1,"276":7,"284":1,"289":2,"290":10,"291":2,"298":2,"301":1,"306":2,"308":2,"310":4,"311":8,"314":1,"315":1,"320":1,"325":1,"327":1,"328":1,"334":1,"337":1,"338":2,"340":2,"341":1,"344":1,"347":1,"355":2,"362":1,"374":2,"376":1}}],["run",{"0":{"66":1,"67":1,"69":1,"188":1,"201":1,"204":1,"254":1,"275":1,"310":1,"316":1,"333":1,"340":1,"341":1,"347":1,"373":1},"1":{"68":1,"69":1,"374":1,"375":1,"376":1},"2":{"1":2,"8":1,"12":1,"17":1,"18":1,"21":1,"22":1,"23":1,"29":3,"45":1,"55":1,"60":1,"66":3,"69":1,"81":1,"82":2,"88":1,"90":1,"91":1,"94":2,"97":1,"109":1,"112":1,"113":1,"115":1,"118":1,"119":1,"120":1,"134":1,"135":3,"137":2,"141":1,"155":1,"163":1,"166":3,"188":1,"204":1,"210":1,"214":1,"215":1,"218":1,"219":1,"222":1,"225":1,"226":1,"227":1,"229":1,"231":1,"232":4,"234":2,"235":2,"236":1,"244":2,"248":1,"252":2,"272":3,"273":14,"274":1,"275":2,"277":1,"279":1,"282":1,"289":1,"290":4,"294":1,"296":1,"298":1,"302":1,"307":2,"308":3,"309":4,"310":6,"311":1,"312":1,"314":1,"315":1,"316":1,"323":1,"328":3,"332":1,"345":2,"353":1,"358":2,"359":1,"362":1,"366":1,"374":2,"375":1}}],["ram",{"2":{"212":1}}],["raw",{"2":{"167":1,"240":1,"375":2}}],["rabbit",{"2":{"150":1}}],["rather",{"2":{"145":2}}],["ratio",{"2":{"14":1}}],["rapid",{"2":{"141":1}}],["rand",{"2":{"224":1,"260":1,"328":1}}],["ran",{"2":{"94":1,"95":1,"137":1,"166":1,"282":1,"323":1,"359":1}}],["range",{"0":{"102":1},"1":{"103":1,"104":1,"105":1,"106":1,"107":1,"108":1},"2":{"5":1,"90":2,"102":1,"103":1,"105":1,"106":2,"107":1,"370":1}}],["raise",{"2":{"4":1}}],["reward",{"2":{"370":3,"371":4,"372":1}}],["reorganization",{"2":{"247":1,"260":1}}],["revealed",{"2":{"376":1}}],["reverse",{"2":{"232":1,"290":1,"310":1,"311":1}}],["revisit",{"2":{"265":1,"352":1}}],["review",{"2":{"2":1,"42":3,"49":1,"208":1}}],["reentrancy",{"2":{"193":1}}],["remainder",{"2":{"236":1,"321":1}}],["remaining",{"2":{"176":1,"213":1}}],["remotely",{"2":{"232":2}}],["removeguess",{"2":{"371":1}}],["remove",{"2":{"7":1,"8":1,"29":1,"61":1,"273":1,"371":1}}],["remember",{"2":{"219":1,"370":1}}],["reuse",{"2":{"145":1,"169":1,"363":1}}],["registry",{"2":{"235":1}}],["register",{"2":{"95":1,"240":3}}],["regtest",{"2":{"216":1,"217":1,"218":1,"219":4,"220":2,"223":1}}],["regret",{"2":{"124":2,"314":1}}],["reiterate",{"2":{"99":1}}],["replay",{"2":{"175":1}}],["replacements",{"2":{"191":2}}],["replacement",{"2":{"160":1,"375":1}}],["replace",{"2":{"66":1,"73":1,"134":2,"161":2,"191":2,"222":1,"247":1,"260":1,"309":3,"370":1,"371":1}}],["repositories",{"2":{"376":1}}],["repository",{"0":{"187":1,"202":1,"297":1},"2":{"0":1,"1":1,"2":2,"4":1,"49":1,"121":1,"161":2,"187":1,"202":1,"208":1,"281":1,"297":1,"309":1,"317":1,"322":1}}],["repo",{"0":{"317":1},"2":{"53":1,"133":1,"191":1}}],["recipent=",{"2":{"204":1}}],["recipientmodule",{"2":{"372":1}}],["recipientaddr",{"2":{"372":1}}],["recipient",{"2":{"204":1}}],["record",{"2":{"176":1,"240":2}}],["recommend",{"2":{"101":1,"355":1}}],["recommended",{"2":{"63":1,"172":1,"303":1}}],["receipts",{"2":{"137":2,"282":2,"323":2}}],["receives",{"2":{"337":1}}],["receive",{"2":{"145":1,"158":1,"166":2}}],["receiver=",{"2":{"285":1,"326":1}}],["receiver",{"2":{"77":2,"78":1,"124":1,"285":1,"292":1,"326":1}}],["received",{"2":{"74":1,"166":2,"204":3,"337":1}}],["receiving",{"2":{"63":1}}],["recruit",{"2":{"7":1}}],["reducing",{"2":{"42":1}}],["reduce",{"0":{"101":1},"2":{"10":1,"145":1}}],["rebuild",{"2":{"29":1,"246":1,"273":1,"308":1}}],["retrieving",{"2":{"327":1}}],["retrieves",{"2":{"353":1}}],["retrieved",{"2":{"204":1}}],["retrieve",{"2":{"166":1,"189":1,"327":1}}],["retrieveloop",{"2":{"166":3}}],["retrieveblocks",{"2":{"16":1,"162":1}}],["retrieveblock",{"2":{"16":1}}],["returned",{"2":{"168":1,"232":1,"290":1,"310":1}}],["returning",{"2":{"165":1}}],["returns",{"2":{"46":1,"47":2,"226":1,"264":1,"351":4}}],["return",{"2":{"46":1,"72":1,"75":1,"77":1,"78":1,"79":1,"190":1,"226":1,"370":7,"371":7}}],["retain",{"2":{"7":1}}],["reach",{"2":{"371":1}}],["reached",{"2":{"371":1}}],["reasons",{"2":{"178":1}}],["real",{"2":{"105":1,"107":1,"173":2,"193":1,"265":1}}],["reality",{"2":{"13":1,"14":1}}],["readme",{"2":{"360":2}}],["ready",{"2":{"18":1,"19":1,"42":1,"87":1,"90":1,"150":1,"224":1,"267":1,"269":1,"299":1,"304":1,"338":1}}],["reading",{"2":{"16":1,"139":1}}],["reader",{"2":{"16":2}}],["read",{"2":{"16":3,"81":1,"141":1,"182":1,"210":1,"228":1,"229":1,"358":1,"360":1,"375":1}}],["respective",{"2":{"272":1,"363":1}}],["responsible",{"2":{"166":1,"173":1,"350":1,"360":1,"363":1,"364":1}}],["response",{"2":{"47":2,"240":1,"375":3}}],["res=2",{"2":{"204":1}}],["res=0",{"2":{"94":2,"123":1,"188":1,"232":2,"290":1,"311":3,"320":1,"333":1}}],["resource",{"2":{"157":1,"172":1}}],["resources",{"2":{"8":1,"9":1,"133":3,"137":1,"138":1,"143":1,"144":1,"145":2}}],["resolve",{"2":{"149":1,"240":1}}],["resist",{"2":{"124":2}}],["resistance",{"2":{"12":1,"173":1}}],["restrict",{"2":{"147":1}}],["restricted",{"2":{"143":1}}],["rest",{"2":{"145":1}}],["restore",{"2":{"74":2,"124":3}}],["restarted",{"2":{"101":1}}],["restarting",{"0":{"100":1,"223":1},"2":{"94":1,"99":1,"101":1}}],["restart",{"0":{"37":1,"93":1,"94":1,"95":1,"101":1},"1":{"94":1,"95":1,"96":2,"97":2,"98":2,"99":2,"100":2,"101":2},"2":{"37":5,"90":1,"93":1,"94":3,"95":2,"96":1,"100":1,"152":1,"190":2,"205":1}}],["results",{"2":{"182":1,"184":1}}],["result",{"2":{"48":1,"182":1,"184":1,"226":1,"247":1,"260":1,"329":2}}],["reset",{"2":{"30":2,"47":3}}],["resetting",{"0":{"30":1}}],["research",{"2":{"12":1,"13":1,"15":1,"18":1}}],["rent",{"2":{"10":1}}],["refresh",{"2":{"358":1}}],["refreshed",{"2":{"204":1}}],["refactored",{"2":{"353":1,"371":1}}],["refused",{"2":{"182":1}}],["refers",{"2":{"173":1}}],["refer",{"2":{"50":1,"193":1,"242":1}}],["references",{"2":{"369":1}}],["reference",{"2":{"0":1,"3":1,"51":1,"137":1,"236":1}}],["refined",{"2":{"9":1}}],["reliable",{"2":{"242":1}}],["rely",{"2":{"128":1,"171":1}}],["relying",{"2":{"8":1}}],["relatively",{"2":{"307":1}}],["related",{"2":{"9":1}}],["relays",{"2":{"351":1,"353":1}}],["relayed",{"2":{"77":1,"78":1}}],["relayers",{"2":{"71":2}}],["relayer",{"0":{"71":1,"72":1,"73":1,"74":1},"1":{"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1},"2":{"63":1,"71":4,"72":2,"73":3,"124":14}}],["relaying",{"0":{"71":1,"76":1},"1":{"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1},"2":{"74":1,"76":1}}],["relay",{"2":{"69":1,"70":2,"78":1}}],["relevant",{"2":{"102":1}}],["relevantly",{"2":{"2":1}}],["release",{"2":{"9":1,"161":1,"244":1,"314":1}}],["requisites",{"0":{"64":1,"269":1,"304":1,"355":1},"1":{"65":1}}],["require",{"2":{"145":1,"176":1}}],["requirements",{"0":{"65":1}}],["required",{"2":{"10":1,"117":1,"264":1,"288":1}}],["requires",{"2":{"8":1,"144":2,"173":2,"216":1,"235":1,"247":1,"260":1,"298":1}}],["requesting",{"2":{"204":1}}],["requested",{"2":{"168":1}}],["request",{"2":{"2":2,"184":1,"240":1,"294":1}}],["re",{"0":{"97":1},"2":{"2":1,"7":1,"8":1,"11":1,"12":1,"16":1,"19":1,"29":1,"42":1,"46":1,"47":1,"69":1,"95":2,"131":2,"140":1,"143":1,"150":2,"155":1,"156":2,"172":1,"224":1,"247":1,"301":1,"329":1}}],["tsx",{"2":{"284":1,"325":1}}],["ttl",{"2":{"123":1,"290":1}}],["tmp",{"2":{"120":1,"124":2}}],["txindex=1",{"2":{"217":1}}],["txt",{"2":{"134":1,"135":1,"138":1}}],["txhash",{"2":{"125":1,"236":1,"240":1,"291":1,"375":6}}],["txs",{"2":{"94":2,"123":1,"184":2,"188":1,"204":1,"232":2,"290":1,"311":3,"320":1,"333":1}}],["txs=0",{"2":{"61":1,"320":1}}],["tx",{"2":{"75":4,"77":2,"78":1,"95":2,"108":1,"114":2,"124":6,"125":3,"236":1,"237":1,"238":1,"239":1,"240":2,"291":1,"372":1,"375":7}}],["two",{"2":{"75":1,"178":1,"247":1,"264":1,"274":1,"291":1,"368":1}}],["tweet",{"2":{"14":1}}],["title",{"2":{"371":2,"372":1}}],["timberio",{"2":{"232":1,"290":1,"311":1}}],["timezone",{"2":{"376":1}}],["timer",{"2":{"166":3}}],["time=1000",{"2":{"123":1,"290":1}}],["time=1m0s",{"2":{"89":1}}],["time=30s",{"2":{"40":1}}],["timeout",{"2":{"73":5,"124":5,"291":1,"375":2}}],["timestamp",{"2":{"184":1,"205":1,"240":1,"351":2,"375":1}}],["times",{"2":{"19":2,"371":2}}],["time",{"0":{"40":1,"144":1},"2":{"7":1,"10":1,"14":1,"19":5,"40":3,"42":1,"45":1,"89":4,"90":1,"105":1,"107":1,"108":1,"144":1,"145":2,"173":2,"184":3,"232":1,"244":1,"247":3,"258":1,"260":3,"263":1,"272":1,"290":1,"307":1,"310":1,"339":1,"360":1,"369":1,"370":2,"371":2,"372":1,"376":1}}],["ti",{"2":{"189":1}}],["tia",{"0":{"116":1},"1":{"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1},"2":{"90":1,"95":1,"101":2,"117":3,"123":1,"124":3,"125":1,"126":1,"258":2,"327":1}}],["tidy",{"2":{"66":1}}],["tip",{"2":{"61":1,"66":1,"69":1,"75":1,"77":1,"117":1,"121":1,"138":1,"140":1,"188":1,"191":2,"225":1,"230":1,"247":1,"260":2,"268":1,"284":1,"288":1,"291":1,"294":1,"303":1,"314":1,"325":1,"327":1,"328":1,"338":1,"340":1,"354":1,"375":1}}],["tcp",{"2":{"37":1,"38":1,"59":1,"60":2,"77":2,"78":3,"108":1,"123":2,"232":14,"276":2,"290":13,"309":1,"310":2,"311":9}}],["troubleshooting",{"0":{"208":1}}],["trigger",{"2":{"365":1}}],["triggering",{"2":{"204":1}}],["tries",{"2":{"356":2,"371":2}}],["triple",{"2":{"75":1}}],["trying",{"2":{"375":1}}],["try",{"2":{"191":1,"227":1,"240":1,"370":1,"371":2,"375":3}}],["true",{"2":{"73":2,"144":1,"224":2,"370":1}}],["trusted",{"2":{"8":1}}],["trust",{"2":{"8":2,"63":2,"70":2,"74":2,"145":1,"149":1,"158":1,"172":1,"176":1}}],["traefik",{"2":{"232":1,"290":1,"311":1}}],["tradeoffs",{"2":{"145":1}}],["trade",{"2":{"141":1,"144":1,"145":1}}],["tracked",{"2":{"314":1}}],["track",{"2":{"97":1,"313":1,"335":1}}],["tracking",{"2":{"63":1,"364":1}}],["transport",{"2":{"309":1}}],["transitions",{"2":{"365":1}}],["transition",{"2":{"176":2}}],["transient",{"2":{"79":1}}],["transfers",{"2":{"124":1,"149":1,"364":2}}],["transfer",{"0":{"77":1,"78":1},"2":{"75":11,"76":1,"77":5,"78":4,"123":2,"124":4,"239":2,"285":1,"326":1}}],["transact",{"2":{"75":4,"182":1}}],["transactionindex",{"2":{"138":1}}],["transactionhash",{"2":{"138":1}}],["transaction",{"0":{"34":1,"178":1,"179":1,"180":1},"1":{"179":1,"180":1,"181":1,"182":1},"2":{"14":2,"34":1,"75":5,"77":1,"78":1,"79":2,"95":2,"108":3,"125":2,"157":1,"167":1,"173":1,"178":1,"182":6,"186":1,"236":1,"238":1,"291":6,"292":1,"350":1,"353":1,"363":1,"375":8}}],["transactions",{"0":{"35":1,"125":1,"291":1},"2":{"14":1,"16":1,"35":1,"55":1,"61":1,"89":2,"102":1,"103":1,"105":1,"107":2,"108":1,"117":1,"145":2,"155":1,"158":1,"165":2,"167":2,"169":1,"173":2,"175":1,"176":2,"178":1,"182":2,"184":1,"228":1,"229":1,"288":1,"290":1,"299":1,"337":2,"339":1,"342":1,"348":1,"350":1,"351":2,"353":2,"364":1,"365":1,"374":1,"375":2}}],["traits",{"2":{"47":1}}],["tlht0okdlzs1o4gb1d1ku+xug+",{"2":{"291":1}}],["tls",{"2":{"224":1}}],["tl",{"0":{"13":1}}],["tech",{"2":{"232":1,"290":1,"310":1}}],["technology",{"2":{"191":1}}],["techniques",{"2":{"135":1}}],["technical",{"0":{"157":1},"2":{"3":1}}],["team",{"2":{"230":1,"235":1}}],["teach",{"2":{"93":1}}],["tether",{"2":{"175":1}}],["telegram",{"2":{"91":1,"155":1}}],["text",{"2":{"73":1}}],["termination",{"2":{"75":8}}],["terminal",{"2":{"21":1,"66":1,"69":1,"81":1,"82":1,"98":1,"119":1,"121":1,"204":1,"218":1,"276":1,"285":1,"316":1,"319":1,"326":1,"330":1,"332":1,"358":3,"376":1}}],["terms",{"2":{"71":1}}],["template",{"2":{"360":1}}],["temp",{"2":{"36":2}}],["tendermint",{"2":{"30":1,"75":8,"184":1}}],["testutil",{"2":{"360":1}}],["testapp",{"2":{"329":1}}],["testdecrement",{"2":{"226":2}}],["testincrement",{"2":{"226":2}}],["testing",{"2":{"42":1,"53":1,"189":4,"205":1,"255":1,"265":1,"352":1,"360":1}}],["testgetcount",{"2":{"226":2}}],["testnetmainnet",{"2":{"260":1}}],["testnets",{"2":{"249":1,"257":1}}],["testnet",{"0":{"67":1,"69":1,"124":1,"151":1,"183":1,"184":1,"244":1},"1":{"68":1,"69":1,"152":1,"153":1,"154":1,"155":1,"184":1,"185":2},"2":{"63":1,"69":3,"73":2,"75":6,"76":1,"77":2,"78":1,"95":2,"123":1,"124":4,"151":1,"183":1,"185":1,"191":1,"210":1,"228":1,"243":2,"244":2,"247":2,"248":1,"258":2,"260":1,"261":2,"327":3,"328":1,"330":1}}],["tests",{"0":{"226":1},"2":{"48":2,"226":1}}],["test",{"0":{"189":1},"2":{"9":1,"17":2,"32":1,"33":1,"34":1,"42":3,"73":3,"77":1,"90":1,"97":1,"108":1,"124":5,"125":2,"160":1,"189":2,"195":1,"207":1,"214":1,"226":10,"227":1,"228":1,"229":2,"236":2,"239":1,"240":1,"243":1,"291":2,"310":1,"372":1,"375":6}}],["tested",{"2":{"9":1,"227":1,"229":1}}],["t",{"2":{"8":1,"66":1,"95":1,"97":1,"104":1,"123":1,"139":1,"161":1,"171":1,"185":1,"226":2,"273":1,"291":1,"298":1,"308":1,"316":1,"356":1,"371":2,"375":1}}],["tag",{"2":{"273":1,"308":1}}],["tar",{"2":{"213":1,"214":4}}],["targeted",{"2":{"355":1}}],["target=",{"2":{"235":2}}],["target",{"2":{"46":3,"235":1}}],["tasks",{"2":{"213":1}}],["taking",{"2":{"148":1}}],["takes",{"2":{"145":1,"366":1}}],["taken",{"2":{"112":1,"240":1}}],["take",{"0":{"8":1},"2":{"238":1,"290":1,"358":1,"372":1}}],["tailored",{"2":{"147":1}}],["tail",{"2":{"124":1,"273":1}}],["tab",{"2":{"106":1,"107":1,"108":1}}],["table",{"0":{"6":1}}],["talk",{"2":{"71":1}}],["talking",{"2":{"71":1}}],["taproot",{"0":{"14":1},"2":{"13":1,"14":5,"16":3,"211":1}}],["tap",{"2":{"7":1}}],["typical",{"2":{"178":1}}],["typically",{"2":{"173":1}}],["typing",{"2":{"7":1}}],["type=light",{"2":{"328":1}}],["type=hash",{"2":{"238":1,"375":1}}],["type=volume",{"2":{"235":2}}],["typed",{"2":{"95":1}}],["type",{"2":{"73":4,"75":4,"97":1,"124":4,"138":1,"149":1,"184":1,"264":1,"291":5,"360":1,"368":3,"370":1,"371":3,"375":2}}],["types",{"0":{"170":1,"367":1,"368":1},"1":{"171":1,"172":1,"173":1,"368":1},"2":{"51":1,"75":4,"358":1,"367":1,"370":8,"371":9,"372":1}}],["typos",{"2":{"2":1}}],["tue",{"2":{"290":1,"310":1}}],["turing",{"0":{"244":1},"2":{"243":2,"244":3,"247":3,"248":1}}],["turning",{"2":{"20":1}}],["turn",{"0":{"20":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1},"2":{"8":1,"89":1,"90":1}}],["tube",{"2":{"42":1}}],["tutorial",{"0":{"63":1,"127":1,"209":1},"1":{"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"210":1,"211":1,"212":1,"213":1,"214":1,"215":1,"216":1,"217":1,"218":1,"219":1,"220":1,"221":1,"222":1,"223":1,"224":1,"225":1,"226":1,"227":1,"228":1,"229":1},"2":{"19":1,"26":1,"37":1,"63":1,"94":1,"104":1,"112":2,"117":2,"132":1,"133":1,"183":1,"191":6,"197":1,"205":1,"210":2,"224":1,"225":1,"230":3,"236":1,"242":4,"245":1,"251":2,"257":2,"259":1,"268":1,"269":1,"272":1,"276":1,"278":2,"280":1,"288":2,"295":1,"300":1,"303":2,"304":1,"307":1,"308":1,"309":1,"311":1,"314":2,"321":1,"327":1,"330":1,"338":3,"344":2,"354":3,"355":1,"358":1,"360":1}}],["tutorials",{"2":{"0":1,"3":1,"90":1,"133":1,"137":1,"138":1,"140":1,"150":1,"151":2,"155":1,"265":2,"267":2,"338":1,"352":2}}],["tuned",{"2":{"6":1}}],["thu",{"2":{"232":1}}],["thus",{"2":{"138":1}}],["throttler",{"2":{"193":1}}],["throughout",{"2":{"44":1,"141":1,"186":1}}],["through",{"2":{"5":1,"8":1,"14":2,"19":1,"20":1,"27":1,"71":1,"80":1,"90":1,"109":1,"117":1,"145":1,"166":3,"182":1,"191":1,"197":1,"199":1,"211":1,"242":2,"288":1,"327":1,"355":1}}],["three",{"2":{"103":1,"260":1}}],["though",{"2":{"375":1}}],["thousands",{"2":{"14":1}}],["those",{"2":{"26":1,"50":1,"144":1,"151":1,"265":1,"352":1,"356":1}}],["thanks",{"2":{"15":1,"160":1}}],["than",{"2":{"14":2,"16":1,"42":2,"77":1,"79":1,"102":1,"106":1,"145":2,"173":1,"186":1,"267":1,"285":1,"326":1,"375":1}}],["that",{"2":{"7":3,"8":4,"9":1,"10":1,"12":2,"14":4,"16":3,"18":2,"22":1,"29":2,"40":1,"46":1,"47":1,"48":1,"49":1,"50":2,"51":1,"52":1,"61":1,"71":1,"74":1,"79":1,"87":1,"90":1,"94":3,"95":5,"107":3,"108":1,"111":1,"112":1,"117":1,"121":1,"123":1,"124":1,"126":1,"128":2,"133":1,"134":1,"135":3,"137":1,"138":1,"141":2,"143":1,"145":2,"148":1,"149":1,"151":1,"161":1,"162":1,"166":2,"172":1,"175":2,"176":4,"182":1,"186":2,"191":2,"193":2,"203":2,"204":1,"208":2,"211":2,"213":1,"214":1,"223":1,"224":1,"227":1,"228":1,"229":1,"232":1,"236":1,"239":1,"240":2,"242":2,"244":1,"249":1,"251":1,"254":1,"257":1,"258":1,"260":1,"262":1,"263":3,"265":4,"266":2,"267":3,"276":1,"278":1,"285":2,"288":1,"290":1,"291":1,"293":1,"294":1,"299":1,"302":1,"307":1,"309":1,"311":1,"314":2,"326":2,"333":1,"334":1,"337":3,"338":3,"341":2,"344":1,"347":1,"352":3,"353":2,"355":1,"356":2,"359":2,"360":2,"365":1,"366":1,"368":2,"369":1,"370":2,"371":6,"372":1,"374":1,"375":2,"376":2}}],["third",{"2":{"353":1}}],["things",{"2":{"267":2,"370":1,"371":1,"375":1}}],["think",{"2":{"149":1,"359":1}}],["thinking",{"2":{"11":1}}],["this",{"0":{"96":1},"2":{"1":1,"2":2,"4":1,"5":1,"7":3,"8":6,"9":2,"11":1,"15":1,"16":1,"18":1,"20":2,"24":3,"26":1,"27":1,"29":1,"39":1,"40":1,"42":4,"44":1,"46":3,"47":1,"49":1,"51":1,"55":1,"60":2,"61":1,"63":2,"69":4,"71":1,"73":1,"74":1,"75":3,"77":3,"78":2,"79":2,"80":1,"81":2,"82":1,"86":1,"87":1,"89":3,"90":1,"92":1,"93":1,"94":1,"95":7,"96":1,"102":1,"103":1,"109":1,"110":1,"111":1,"112":2,"115":1,"117":2,"120":1,"121":1,"123":1,"128":3,"130":2,"131":1,"132":2,"135":1,"136":2,"144":1,"145":1,"148":1,"158":1,"160":1,"162":1,"165":1,"169":1,"173":1,"176":2,"182":1,"186":1,"188":2,"189":1,"191":2,"194":1,"195":1,"197":1,"201":1,"204":1,"206":1,"210":2,"211":1,"215":1,"216":1,"219":2,"225":1,"226":1,"227":1,"230":3,"232":2,"235":1,"236":2,"238":2,"240":1,"242":3,"246":1,"247":2,"248":1,"251":1,"252":1,"255":1,"257":1,"260":4,"263":1,"265":1,"267":2,"268":1,"272":2,"273":4,"276":1,"278":2,"280":1,"284":1,"285":1,"288":2,"290":3,"291":2,"296":1,"298":2,"301":1,"302":1,"303":3,"307":2,"308":2,"309":2,"310":1,"311":1,"314":3,"320":1,"321":1,"325":1,"326":1,"327":1,"328":2,"338":3,"341":1,"344":1,"345":1,"352":1,"354":3,"355":1,"356":3,"358":3,"359":2,"360":1,"364":1,"366":1,"368":2,"370":5,"371":4,"372":2,"374":2,"375":5,"376":1}}],["these",{"2":{"16":2,"39":1,"47":1,"71":1,"75":1,"76":1,"88":1,"90":1,"111":1,"115":1,"124":1,"134":1,"145":2,"166":1,"176":2,"186":1,"188":1,"190":1,"192":1,"193":1,"197":1,"213":1,"214":1,"255":1,"267":1,"327":1,"334":1,"340":1,"342":1,"348":1,"365":1,"374":1}}],["therefore",{"2":{"155":1}}],["there",{"2":{"10":2,"14":1,"71":1,"89":1,"95":1,"162":1,"176":1,"182":1,"189":1,"257":1,"267":2,"307":1,"353":1,"356":2,"370":1,"375":1,"376":1}}],["they",{"2":{"7":3,"8":3,"145":1,"149":2,"156":1,"171":2,"172":1,"182":2,"186":1,"199":1,"264":1,"273":1,"337":1,"371":1}}],["then",{"2":{"7":1,"14":1,"19":1,"46":2,"75":1,"77":1,"78":1,"121":1,"135":1,"137":1,"138":1,"176":2,"182":1,"210":1,"228":2,"229":1,"234":1,"252":1,"273":3,"276":1,"308":3,"311":1,"319":1,"341":1,"345":1,"353":2,"370":2,"371":3,"375":1}}],["their",{"2":{"3":1,"7":3,"8":3,"15":1,"102":1,"140":2,"145":2,"147":1,"176":1,"182":2,"264":1,"272":1,"356":1}}],["themselves",{"2":{"176":1}}],["them",{"2":{"2":1,"7":1,"8":1,"18":1,"47":1,"50":1,"75":1,"158":1,"182":1,"193":1,"247":1,"260":1,"353":1,"365":1}}],["the",{"0":{"1":1,"7":1,"9":1,"31":1,"34":2,"36":1,"38":1,"48":1,"60":1,"92":1,"99":1,"130":1,"131":1,"138":1,"187":1,"190":1,"194":1,"202":1,"203":1,"204":1,"211":1,"218":1,"223":1,"224":1,"226":1,"227":1,"229":1,"234":1,"253":1,"276":1,"282":1,"283":1,"284":1,"285":1,"297":1,"301":1,"311":1,"317":1,"319":1,"323":1,"324":1,"325":1,"326":1,"330":1,"339":1,"340":1,"346":1,"357":1,"359":1,"363":1,"373":1,"375":1,"376":1},"1":{"8":1,"9":1,"10":1,"11":1,"225":1,"226":1,"227":1,"228":1,"229":1,"358":1,"359":1,"360":1,"364":1,"374":1,"375":1,"376":1},"2":{"0":2,"1":2,"2":3,"3":3,"4":2,"6":1,"7":11,"8":8,"9":5,"10":10,"12":6,"13":2,"14":10,"16":13,"17":3,"18":5,"19":7,"20":1,"21":2,"22":1,"23":1,"24":5,"25":1,"27":3,"28":1,"29":10,"31":2,"32":1,"33":1,"34":2,"35":1,"36":1,"37":5,"38":2,"39":6,"40":4,"42":8,"43":1,"44":2,"45":1,"46":7,"47":9,"48":2,"49":3,"50":6,"51":6,"52":1,"53":3,"55":2,"56":2,"58":7,"59":2,"60":5,"61":3,"63":2,"66":6,"69":6,"70":2,"71":7,"73":3,"74":3,"75":2,"77":4,"78":6,"79":22,"80":1,"81":3,"82":4,"83":1,"84":1,"85":1,"86":5,"87":4,"88":1,"89":4,"90":4,"91":1,"92":2,"94":7,"95":13,"96":3,"97":2,"98":1,"99":3,"100":1,"101":4,"102":1,"103":3,"104":1,"106":5,"107":4,"108":4,"109":2,"110":2,"111":2,"112":10,"113":4,"114":2,"115":2,"117":8,"118":3,"119":4,"120":1,"121":5,"122":4,"123":6,"124":13,"125":2,"126":1,"128":5,"129":1,"130":1,"131":3,"133":7,"134":7,"135":8,"136":1,"137":7,"138":11,"140":2,"141":4,"143":2,"144":7,"145":18,"146":1,"147":2,"148":3,"149":1,"150":4,"151":2,"155":4,"156":3,"157":3,"158":4,"161":7,"162":5,"163":3,"165":4,"166":14,"167":8,"168":4,"169":3,"170":1,"172":1,"173":2,"175":2,"176":6,"178":2,"182":31,"183":4,"184":5,"185":1,"186":3,"187":1,"188":7,"189":6,"190":11,"191":18,"193":1,"194":2,"195":1,"197":2,"198":1,"199":3,"200":1,"202":2,"203":3,"204":2,"205":3,"206":1,"207":1,"208":4,"210":2,"211":3,"213":3,"214":1,"215":2,"216":2,"217":1,"218":1,"219":2,"220":2,"221":4,"222":7,"223":3,"224":5,"225":4,"226":11,"227":3,"228":8,"229":12,"230":6,"231":4,"232":12,"234":8,"235":5,"236":16,"237":2,"238":6,"239":2,"240":8,"242":4,"243":1,"244":7,"245":3,"246":2,"247":9,"248":3,"251":3,"252":3,"253":3,"254":4,"257":3,"258":2,"259":1,"260":17,"261":3,"263":5,"264":5,"265":5,"266":1,"267":8,"268":1,"269":1,"271":1,"272":2,"273":32,"274":27,"275":2,"276":16,"277":2,"279":1,"280":2,"281":1,"282":5,"283":1,"284":6,"285":5,"288":4,"289":3,"290":14,"291":8,"292":3,"293":4,"294":5,"295":2,"297":2,"298":6,"299":4,"300":3,"301":3,"303":2,"304":1,"306":3,"307":6,"308":16,"309":18,"310":5,"311":23,"312":2,"313":1,"314":3,"315":1,"317":2,"319":1,"320":1,"321":2,"322":2,"323":4,"324":1,"325":6,"326":5,"327":7,"328":5,"329":3,"330":3,"331":2,"332":4,"333":2,"335":1,"337":11,"338":8,"339":6,"340":3,"341":10,"342":1,"344":3,"345":4,"346":5,"347":4,"348":1,"349":1,"350":3,"351":6,"352":4,"353":17,"354":6,"355":6,"356":19,"358":3,"359":8,"360":10,"362":2,"363":4,"364":9,"365":7,"366":4,"367":2,"368":6,"369":12,"370":24,"371":35,"372":8,"374":5,"375":39,"376":6}}],["tomorrow",{"2":{"371":1}}],["tomlentrypoint",{"2":{"112":1,"122":1}}],["tomlcounter",{"2":{"48":1}}],["toml",{"0":{"29":1,"45":1,"111":1,"112":1,"122":1},"1":{"112":1},"2":{"24":4,"29":4,"39":1,"43":1,"45":3,"51":3,"58":1,"86":3,"109":1,"111":1,"112":7,"113":2,"114":1,"115":1,"122":3,"190":2,"244":4,"273":7,"374":2,"375":1}}],["together",{"2":{"360":1}}],["touch",{"2":{"244":1}}],["touppercase",{"2":{"123":1}}],["toutf8",{"2":{"123":1}}],["tohex",{"2":{"123":1}}],["top",{"2":{"95":1,"106":1,"176":1}}],["topics",{"2":{"2":1,"5":1,"90":1}}],["total",{"2":{"77":1,"78":1,"124":1,"184":3,"238":1,"240":2,"283":1,"292":2,"324":1}}],["tokio",{"2":{"48":2}}],["token=$",{"2":{"260":3}}],["tokens",{"2":{"8":1,"74":1,"76":1,"95":1,"97":1,"144":1,"205":1,"244":1,"300":1,"356":1}}],["token",{"0":{"77":1,"78":1,"116":2},"1":{"117":2,"118":2,"119":2,"120":2,"121":2,"122":2,"123":2,"124":2,"125":2,"126":2},"2":{"7":1,"8":3,"10":3,"28":1,"33":1,"77":1,"78":1,"90":2,"117":5,"123":2,"125":1,"126":1,"149":1,"204":1,"260":9,"261":2,"327":1,"329":2,"339":3,"370":1,"371":1}}],["towards",{"2":{"18":1,"176":1}}],["today",{"2":{"12":1,"150":1,"370":1,"371":3,"375":1}}],["too",{"2":{"327":1}}],["tool",{"2":{"121":1,"191":2,"192":1,"235":1,"358":1}}],["tools",{"2":{"9":1,"160":1,"191":1,"197":1,"205":1,"300":1}}],["toolings",{"2":{"358":1}}],["tooling",{"2":{"7":1,"9":1,"148":1}}],["took",{"2":{"7":2,"16":1}}],["to",{"0":{"16":1,"19":1,"20":1,"22":1,"27":1,"32":1,"40":1,"45":1,"59":1,"77":1,"78":1,"79":1,"80":2,"89":1,"90":1,"92":1,"93":1,"102":1,"109":1,"112":1,"116":1,"124":1,"132":1,"136":1,"144":1,"185":1,"192":1,"229":1,"248":1,"253":2,"261":1,"346":2,"350":1},"1":{"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"81":2,"82":2,"83":2,"84":2,"85":2,"86":2,"87":2,"88":2,"91":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"103":1,"104":1,"105":1,"106":1,"107":1,"108":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"117":1,"118":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"133":1,"134":1,"135":1,"137":1},"2":{"0":2,"1":1,"2":4,"3":1,"5":2,"7":13,"8":13,"9":6,"10":8,"11":1,"12":6,"13":1,"14":7,"15":2,"16":9,"17":2,"18":7,"19":6,"21":1,"22":2,"23":3,"24":3,"25":1,"26":2,"27":1,"29":4,"32":1,"37":1,"40":2,"42":9,"43":1,"44":2,"45":3,"46":8,"47":3,"48":2,"49":1,"50":5,"51":5,"53":1,"55":2,"56":1,"58":1,"59":1,"60":2,"61":3,"63":3,"66":3,"69":5,"71":3,"74":1,"75":2,"77":3,"78":2,"79":5,"80":1,"81":2,"82":1,"85":1,"86":2,"87":4,"88":1,"89":5,"90":7,"92":1,"93":1,"94":10,"95":12,"96":1,"97":3,"99":4,"101":2,"102":1,"104":2,"106":1,"107":2,"108":1,"109":1,"110":1,"111":2,"112":5,"114":1,"117":2,"118":1,"119":1,"120":2,"121":4,"122":2,"123":4,"124":2,"126":1,"128":2,"131":1,"133":3,"134":8,"135":6,"136":1,"137":5,"138":5,"139":1,"140":7,"141":5,"143":2,"144":6,"145":13,"146":2,"147":4,"148":4,"149":3,"150":6,"151":2,"155":3,"156":3,"157":2,"158":1,"160":2,"161":4,"162":3,"163":2,"166":3,"168":1,"169":3,"173":4,"175":2,"176":7,"178":1,"182":10,"184":2,"185":2,"186":4,"188":2,"190":5,"191":4,"192":3,"193":6,"194":1,"195":1,"199":1,"200":1,"202":1,"203":2,"204":2,"205":3,"207":2,"208":1,"210":8,"211":7,"213":2,"214":2,"215":1,"218":1,"219":2,"220":1,"222":3,"223":1,"224":2,"226":4,"227":3,"228":2,"229":8,"230":3,"231":3,"232":3,"234":1,"235":3,"236":5,"237":1,"240":6,"242":4,"243":1,"244":3,"245":1,"246":3,"247":3,"248":1,"249":1,"252":2,"253":3,"254":2,"255":2,"257":1,"258":3,"260":7,"261":1,"262":1,"263":7,"264":2,"266":2,"267":4,"268":2,"272":4,"273":8,"274":7,"276":2,"277":1,"278":1,"279":1,"280":2,"282":3,"283":1,"284":3,"285":5,"286":1,"288":2,"289":3,"290":3,"291":6,"293":4,"294":5,"295":3,"297":1,"298":4,"299":2,"300":4,"301":1,"302":1,"303":2,"306":1,"307":2,"308":5,"309":7,"310":3,"311":4,"312":1,"314":5,"315":1,"316":1,"317":2,"320":4,"321":3,"322":1,"323":3,"324":1,"325":3,"326":5,"327":8,"328":8,"329":3,"330":2,"331":2,"332":1,"333":1,"334":1,"338":4,"339":4,"341":8,"342":2,"345":2,"346":4,"347":2,"348":2,"349":1,"350":4,"351":1,"353":5,"354":3,"355":3,"356":6,"358":3,"359":5,"360":3,"361":1,"362":3,"363":2,"364":1,"365":5,"366":1,"367":1,"368":2,"369":3,"370":9,"371":11,"372":7,"374":3,"375":13,"376":4,"377":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/VPLocalSearchBox.vXxRdaE9.js b/assets/chunks/VPLocalSearchBox.CZ0twZQc.js similarity index 99% rename from assets/chunks/VPLocalSearchBox.vXxRdaE9.js rename to assets/chunks/VPLocalSearchBox.CZ0twZQc.js index 5e4d44a66..e4c993168 100644 --- a/assets/chunks/VPLocalSearchBox.vXxRdaE9.js +++ b/assets/chunks/VPLocalSearchBox.CZ0twZQc.js @@ -1,4 +1,4 @@ -var Ft=Object.defineProperty;var Ot=(a,e,t)=>e in a?Ft(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Me=(a,e,t)=>Ot(a,typeof e!="symbol"?e+"":e,t);import{V as Rt,p as ie,h as me,a5 as et,a6 as Ct,a7 as Mt,q as $e,a8 as At,d as Lt,D as xe,a9 as tt,aa as Dt,ab as zt,s as Pt,ac as jt,v as Ae,P as he,O as Se,ad as Vt,ae as $t,W as Bt,R as Wt,$ as Kt,o as H,b as Jt,j as S,a0 as Ut,k as L,af as qt,ag as Gt,ah as Ht,c as Z,n as st,e as _e,C as nt,F as it,a as fe,t as pe,ai as Qt,aj as rt,ak as Yt,al as Zt,am as Xt,an as es,_ as ts}from"./framework.CGQ59HuL.js";import{u as ss,c as ns}from"./theme.whhJV-4y.js";const is={root:()=>Rt(()=>import("./@localSearchIndexroot.BjlWLAEX.js"),[])};/*! +var Ft=Object.defineProperty;var Ot=(a,e,t)=>e in a?Ft(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Me=(a,e,t)=>Ot(a,typeof e!="symbol"?e+"":e,t);import{V as Rt,p as ie,h as me,a5 as et,a6 as Ct,a7 as Mt,q as $e,a8 as At,d as Lt,D as xe,a9 as tt,aa as Dt,ab as zt,s as Pt,ac as jt,v as Ae,P as he,O as Se,ad as Vt,ae as $t,W as Bt,R as Wt,$ as Kt,o as H,b as Jt,j as S,a0 as Ut,k as L,af as qt,ag as Gt,ah as Ht,c as Z,n as st,e as _e,C as nt,F as it,a as fe,t as pe,ai as Qt,aj as rt,ak as Yt,al as Zt,am as Xt,an as es,_ as ts}from"./framework.CGQ59HuL.js";import{u as ss,c as ns}from"./theme.BIcC851z.js";const is={root:()=>Rt(()=>import("./@localSearchIndexroot.DT_e9HZG.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var mt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ne=mt.join(","),gt=typeof Element>"u",ae=gt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Fe=!gt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},Oe=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},rs=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},bt=function(e,t,s){if(Oe(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ne));return t&&ae.call(e,Ne)&&n.unshift(e),n=n.filter(s),n},yt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!Oe(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=a(l,!0,s);s.flatten?n.push.apply(n,c):n.push({scopeParent:i,candidates:c})}else{var h=ae.call(i,Ne);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var m=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),f=!Oe(m,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(m&&f){var b=a(m===!0?i.children:m.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},wt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},re=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||rs(e))&&!wt(e)?0:e.tabIndex},as=function(e,t){var s=re(e);return s<0&&t&&!wt(e)?0:s},os=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},xt=function(e){return e.tagName==="INPUT"},ls=function(e){return xt(e)&&e.type==="hidden"},cs=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},us=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(ae.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var l=e.parentElement,c=Fe(e);if(l&&!l.shadowRoot&&n(l)===!0)return at(e);e.assignedSlot?e=e.assignedSlot:!l&&c!==e.ownerDocument?e=c.host:e=l}e=o}if(ps(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return at(e);return!1},ms=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},bs=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,l=as(o,i),c=i?a(n.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):s.push({documentOrder:r,tabIndex:l,item:n,isScope:i,content:c})}),s.sort(os).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},ys=function(e,t){t=t||{};var s;return t.getShadowRoot?s=yt([e],t.includeContainer,{filter:Be.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:gs}):s=bt(e,t.includeContainer,Be.bind(null,t)),bs(s)},ws=function(e,t){t=t||{};var s;return t.getShadowRoot?s=yt([e],t.includeContainer,{filter:Re.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=bt(e,t.includeContainer,Re.bind(null,t)),s},oe=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ae.call(e,Ne)===!1?!1:Be(t,e)},xs=mt.concat("iframe").join(","),Le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ae.call(e,xs)===!1?!1:Re(t,e)};/*! diff --git a/assets/chunks/arc.CiTvs1Z-.js b/assets/chunks/arc.DDOeaZOx.js similarity index 98% rename from assets/chunks/arc.CiTvs1Z-.js rename to assets/chunks/arc.DDOeaZOx.js index 998a97437..f7be54f8b 100644 --- a/assets/chunks/arc.CiTvs1Z-.js +++ b/assets/chunks/arc.DDOeaZOx.js @@ -1 +1 @@ -import{K as ln,L as un,M as y,N as tn,O as W,P as O,Q as _,R as an,S as rn,T as Z,V as o,W as M,X as sn,Y as on,Z as fn}from"../app.B4W5LDy6.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,D,S,v,R,N,u){var E=D-l,i=S-h,n=N-v,d=u-R,a=d*E-n*i;if(!(a*ar*r+V*V&&(K=w,L=p),{cx:K,cy:L,x01:-n,y01:-d,x11:K*(v/T-1),y11:L*(v/T-1)}}function hn(){var l=cn,h=yn,D=M(0),S=null,v=gn,R=dn,N=mn,u=null,E=ln(i);function i(){var n,d,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,Q=an(c-f),t=c>f;if(u||(u=n=E()),sy))u.moveTo(0,0);else if(Q>tn-y)u.moveTo(s*W(f),s*O(f)),u.arc(0,0,s,f,c,!t),a>y&&(u.moveTo(a*W(c),a*O(c)),u.arc(0,0,a,c,f,t));else{var m=f,g=c,A=f,T=c,P=Q,I=Q,K=N.apply(this,arguments)/2,L=K>y&&(S?+S.apply(this,arguments):Z(a*a+s*s)),w=_(an(s-a)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(L>y){var V=sn(L/a*O(K)),j=sn(L/s*O(K));(P-=V*2)>y?(V*=t?1:-1,A+=V,T-=V):(P=0,A=T=(f+c)/2),(I-=j*2)>y?(j*=t?1:-1,m+=j,g-=j):(I=0,m=g=(f+c)/2)}var X=s*W(m),Y=s*O(m),z=a*W(T),B=a*O(T);if(w>y){var C=s*W(g),F=s*O(g),H=a*W(A),J=a*O(A),q;if(Qy?x>y?(e=G(H,J,X,Y,s,x,t),r=G(C,F,z,B,s,x,t),u.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?u.lineTo(z,B):p>y?(e=G(z,B,C,F,a,-p,t),r=G(X,Y,H,J,a,-p,t),u.lineTo(e.cx+e.x01,e.cy+e.y01),pr*r+V*V&&(K=w,L=p),{cx:K,cy:L,x01:-n,y01:-d,x11:K*(v/T-1),y11:L*(v/T-1)}}function hn(){var l=cn,h=yn,D=M(0),S=null,v=gn,R=dn,N=mn,u=null,E=ln(i);function i(){var n,d,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,Q=an(c-f),t=c>f;if(u||(u=n=E()),sy))u.moveTo(0,0);else if(Q>tn-y)u.moveTo(s*W(f),s*O(f)),u.arc(0,0,s,f,c,!t),a>y&&(u.moveTo(a*W(c),a*O(c)),u.arc(0,0,a,c,f,t));else{var m=f,g=c,A=f,T=c,P=Q,I=Q,K=N.apply(this,arguments)/2,L=K>y&&(S?+S.apply(this,arguments):Z(a*a+s*s)),w=_(an(s-a)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(L>y){var V=sn(L/a*O(K)),j=sn(L/s*O(K));(P-=V*2)>y?(V*=t?1:-1,A+=V,T-=V):(P=0,A=T=(f+c)/2),(I-=j*2)>y?(j*=t?1:-1,m+=j,g-=j):(I=0,m=g=(f+c)/2)}var X=s*W(m),Y=s*O(m),z=a*W(T),B=a*O(T);if(w>y){var C=s*W(g),F=s*O(g),H=a*W(A),J=a*O(A),q;if(Qy?x>y?(e=G(H,J,X,Y,s,x,t),r=G(C,F,z,B,s,x,t),u.moveTo(e.cx+e.x01,e.cy+e.y01),xy)||!(P>y)?u.lineTo(z,B):p>y?(e=G(z,B,C,F,a,-p,t),r=G(X,Y,H,J,a,-p,t),u.lineTo(e.cx+e.x01,e.cy+e.y01),ph?(this.rect.x-=(this.labelWidth-h)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(h+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(o+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>o?(this.rect.y-=(this.labelHeight-o)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(o+this.labelHeight))}}},a.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},a.prototype.transform=function(t){var h=this.rect.x;h>r.WORLD_BOUNDARY?h=r.WORLD_BOUNDARY:h<-r.WORLD_BOUNDARY&&(h=-r.WORLD_BOUNDARY);var o=this.rect.y;o>r.WORLD_BOUNDARY?o=r.WORLD_BOUNDARY:o<-r.WORLD_BOUNDARY&&(o=-r.WORLD_BOUNDARY);var c=new f(h,o),l=t.inverseTransformPoint(c);this.setLocation(l.x,l.y)},a.prototype.getLeft=function(){return this.rect.x},a.prototype.getRight=function(){return this.rect.x+this.rect.width},a.prototype.getTop=function(){return this.rect.y},a.prototype.getBottom=function(){return this.rect.y+this.rect.height},a.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},A.exports=a},function(A,G,N){var g=N(0);function s(){}for(var i in g)s[i]=g[i];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,A.exports=s},function(A,G,N){function g(s,i){s==null&&i==null?(this.x=0,this.y=0):(this.x=s,this.y=i)}g.prototype.getX=function(){return this.x},g.prototype.getY=function(){return this.y},g.prototype.setX=function(s){this.x=s},g.prototype.setY=function(s){this.y=s},g.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},g.prototype.getCopy=function(){return new g(this.x,this.y)},g.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},A.exports=g},function(A,G,N){var g=N(2),s=N(10),i=N(0),r=N(7),e=N(3),f=N(1),a=N(13),y=N(12),t=N(11);function h(c,l,T){g.call(this,T),this.estimatedSize=s.MIN_VALUE,this.margin=i.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=c,l!=null&&l instanceof r?this.graphManager=l:l!=null&&l instanceof Layout&&(this.graphManager=l.graphManager)}h.prototype=Object.create(g.prototype);for(var o in g)h[o]=g[o];h.prototype.getNodes=function(){return this.nodes},h.prototype.getEdges=function(){return this.edges},h.prototype.getGraphManager=function(){return this.graphManager},h.prototype.getParent=function(){return this.parent},h.prototype.getLeft=function(){return this.left},h.prototype.getRight=function(){return this.right},h.prototype.getTop=function(){return this.top},h.prototype.getBottom=function(){return this.bottom},h.prototype.isConnected=function(){return this.isConnected},h.prototype.add=function(c,l,T){if(l==null&&T==null){var u=c;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var d=c;if(!(this.getNodes().indexOf(l)>-1&&this.getNodes().indexOf(T)>-1))throw"Source or target not in graph!";if(!(l.owner==T.owner&&l.owner==this))throw"Both owners must be this graph!";return l.owner!=T.owner?null:(d.source=l,d.target=T,d.isInterGraph=!1,this.getEdges().push(d),l.edges.push(d),T!=l&&T.edges.push(d),d)}},h.prototype.remove=function(c){var l=c;if(c instanceof e){if(l==null)throw"Node is null!";if(!(l.owner!=null&&l.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var T=l.edges.slice(),u,d=T.length,L=0;L-1&&P>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(M,1),u.target!=u.source&&u.target.edges.splice(P,1);var F=u.source.owner.getEdges().indexOf(u);if(F==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(F,1)}},h.prototype.updateLeftTop=function(){for(var c=s.MAX_VALUE,l=s.MAX_VALUE,T,u,d,L=this.getNodes(),F=L.length,M=0;MT&&(c=T),l>u&&(l=u)}return c==s.MAX_VALUE?null:(L[0].getParent().paddingLeft!=null?d=L[0].getParent().paddingLeft:d=this.margin,this.left=l-d,this.top=c-d,new y(this.left,this.top))},h.prototype.updateBounds=function(c){for(var l=s.MAX_VALUE,T=-s.MAX_VALUE,u=s.MAX_VALUE,d=-s.MAX_VALUE,L,F,M,P,J,V=this.nodes,Q=V.length,D=0;DL&&(l=L),TM&&(u=M),dL&&(l=L),TM&&(u=M),d=this.nodes.length){var Q=0;T.forEach(function(D){D.owner==c&&Q++}),Q==this.nodes.length&&(this.isConnected=!0)}},A.exports=h},function(A,G,N){var g,s=N(1);function i(r){g=N(6),this.layout=r,this.graphs=[],this.edges=[]}i.prototype.addRoot=function(){var r=this.layout.newGraph(),e=this.layout.newNode(null),f=this.add(r,e);return this.setRootGraph(f),this.rootGraph},i.prototype.add=function(r,e,f,a,y){if(f==null&&a==null&&y==null){if(r==null)throw"Graph is null!";if(e==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(e.child!=null)throw"Already has a child!";return r.parent=e,e.child=r,r}else{y=f,a=e,f=r;var t=a.getOwner(),h=y.getOwner();if(!(t!=null&&t.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(h!=null&&h.getGraphManager()==this))throw"Target not in this graph mgr!";if(t==h)return f.isInterGraph=!1,t.add(f,a,y);if(f.isInterGraph=!0,f.source=a,f.target=y,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},i.prototype.remove=function(r){if(r instanceof g){var e=r;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(e==this.rootGraph||e.parent!=null&&e.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(e.getEdges());for(var a,y=f.length,t=0;t=r.getRight()?e[0]+=Math.min(r.getX()-i.getX(),i.getRight()-r.getRight()):r.getX()<=i.getX()&&r.getRight()>=i.getRight()&&(e[0]+=Math.min(i.getX()-r.getX(),r.getRight()-i.getRight())),i.getY()<=r.getY()&&i.getBottom()>=r.getBottom()?e[1]+=Math.min(r.getY()-i.getY(),i.getBottom()-r.getBottom()):r.getY()<=i.getY()&&r.getBottom()>=i.getBottom()&&(e[1]+=Math.min(i.getY()-r.getY(),r.getBottom()-i.getBottom()));var y=Math.abs((r.getCenterY()-i.getCenterY())/(r.getCenterX()-i.getCenterX()));r.getCenterY()===i.getCenterY()&&r.getCenterX()===i.getCenterX()&&(y=1);var t=y*e[0],h=e[1]/y;e[0]t)return e[0]=f,e[1]=o,e[2]=y,e[3]=V,!1;if(ay)return e[0]=h,e[1]=a,e[2]=P,e[3]=t,!1;if(fy?(e[0]=l,e[1]=T,n=!0):(e[0]=c,e[1]=o,n=!0):v===p&&(f>y?(e[0]=h,e[1]=o,n=!0):(e[0]=u,e[1]=T,n=!0)),-E===p?y>f?(e[2]=J,e[3]=V,m=!0):(e[2]=P,e[3]=M,m=!0):E===p&&(y>f?(e[2]=F,e[3]=M,m=!0):(e[2]=Q,e[3]=V,m=!0)),n&&m)return!1;if(f>y?a>t?(I=this.getCardinalDirection(v,p,4),w=this.getCardinalDirection(E,p,2)):(I=this.getCardinalDirection(-v,p,3),w=this.getCardinalDirection(-E,p,1)):a>t?(I=this.getCardinalDirection(-v,p,1),w=this.getCardinalDirection(-E,p,3)):(I=this.getCardinalDirection(v,p,2),w=this.getCardinalDirection(E,p,4)),!n)switch(I){case 1:H=o,R=f+-L/p,e[0]=R,e[1]=H;break;case 2:R=u,H=a+d*p,e[0]=R,e[1]=H;break;case 3:H=T,R=f+L/p,e[0]=R,e[1]=H;break;case 4:R=l,H=a+-d*p,e[0]=R,e[1]=H;break}if(!m)switch(w){case 1:k=M,x=y+-rt/p,e[2]=x,e[3]=k;break;case 2:x=Q,k=t+D*p,e[2]=x,e[3]=k;break;case 3:k=V,x=y+rt/p,e[2]=x,e[3]=k;break;case 4:x=J,k=t+-D*p,e[2]=x,e[3]=k;break}}return!1},s.getCardinalDirection=function(i,r,e){return i>r?e:1+e%4},s.getIntersection=function(i,r,e,f){if(f==null)return this.getIntersection2(i,r,e);var a=i.x,y=i.y,t=r.x,h=r.y,o=e.x,c=e.y,l=f.x,T=f.y,u=void 0,d=void 0,L=void 0,F=void 0,M=void 0,P=void 0,J=void 0,V=void 0,Q=void 0;return L=h-y,M=a-t,J=t*y-a*h,F=T-c,P=o-l,V=l*c-o*T,Q=L*P-F*M,Q===0?null:(u=(M*V-P*J)/Q,d=(F*J-L*V)/Q,new g(u,d))},s.angleOfVector=function(i,r,e,f){var a=void 0;return i!==e?(a=Math.atan((f-r)/(e-i)),e=0){var T=(-o+Math.sqrt(o*o-4*h*c))/(2*h),u=(-o-Math.sqrt(o*o-4*h*c))/(2*h),d=null;return T>=0&&T<=1?[T]:u>=0&&u<=1?[u]:d}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,A.exports=s},function(A,G,N){function g(){}g.sign=function(s){return s>0?1:s<0?-1:0},g.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},g.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},A.exports=g},function(A,G,N){function g(){}g.MAX_VALUE=2147483647,g.MIN_VALUE=-2147483648,A.exports=g},function(A,G,N){var g=function(){function a(y,t){for(var h=0;h"u"?"undefined":g(i);return i==null||r!="object"&&r!="function"},A.exports=s},function(A,G,N){function g(o){if(Array.isArray(o)){for(var c=0,l=Array(o.length);c0&&c;){for(L.push(M[0]);L.length>0&&c;){var P=L[0];L.splice(0,1),d.add(P);for(var J=P.getEdges(),u=0;u-1&&M.splice(rt,1)}d=new Set,F=new Map}}return o},h.prototype.createDummyNodesForBendpoints=function(o){for(var c=[],l=o.source,T=this.graphManager.calcLowestCommonAncestor(o.source,o.target),u=0;u0){for(var T=this.edgeToDummyNodes.get(l),u=0;u=0&&c.splice(V,1);var Q=F.getNeighborsList();Q.forEach(function(n){if(l.indexOf(n)<0){var m=T.get(n),v=m-1;v==1&&P.push(n),T.set(n,v)}})}l=l.concat(P),(c.length==1||c.length==2)&&(u=!0,d=c[0])}return d},h.prototype.setGraphManager=function(o){this.graphManager=o},A.exports=h},function(A,G,N){function g(){}g.seed=1,g.x=0,g.nextDouble=function(){return g.x=Math.sin(g.seed++)*1e4,g.x-Math.floor(g.x)},A.exports=g},function(A,G,N){var g=N(5);function s(i,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(i){this.lworldOrgX=i},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(i){this.lworldOrgY=i},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(i){this.lworldExtX=i},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(i){this.lworldExtY=i},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(i){this.ldeviceOrgX=i},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(i){this.ldeviceOrgY=i},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(i){this.ldeviceExtX=i},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(i){this.ldeviceExtY=i},s.prototype.transformX=function(i){var r=0,e=this.lworldExtX;return e!=0&&(r=this.ldeviceOrgX+(i-this.lworldOrgX)*this.ldeviceExtX/e),r},s.prototype.transformY=function(i){var r=0,e=this.lworldExtY;return e!=0&&(r=this.ldeviceOrgY+(i-this.lworldOrgY)*this.ldeviceExtY/e),r},s.prototype.inverseTransformX=function(i){var r=0,e=this.ldeviceExtX;return e!=0&&(r=this.lworldOrgX+(i-this.ldeviceOrgX)*this.lworldExtX/e),r},s.prototype.inverseTransformY=function(i){var r=0,e=this.ldeviceExtY;return e!=0&&(r=this.lworldOrgY+(i-this.ldeviceOrgY)*this.lworldExtY/e),r},s.prototype.inverseTransformPoint=function(i){var r=new g(this.inverseTransformX(i.x),this.inverseTransformY(i.y));return r},A.exports=s},function(A,G,N){function g(t){if(Array.isArray(t)){for(var h=0,o=Array(t.length);hi.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},a.prototype.calcSpringForces=function(){for(var t=this.getAllEdges(),h,o=0;o0&&arguments[0]!==void 0?arguments[0]:!0,h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o,c,l,T,u=this.getAllNodes(),d;if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&t&&this.updateGrid(),d=new Set,o=0;oL||d>L)&&(t.gravitationForceX=-this.gravityConstant*l,t.gravitationForceY=-this.gravityConstant*T)):(L=h.getEstimatedSize()*this.compoundGravityRangeFactor,(u>L||d>L)&&(t.gravitationForceX=-this.gravityConstant*l*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*T*this.compoundGravityConstant))},a.prototype.isConverged=function(){var t,h=!1;return this.totalIterations>this.maxIterations/3&&(h=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=u.length||L>=u[0].length)){for(var F=0;Fa}}]),e}();A.exports=r},function(A,G,N){function g(){}g.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var i=Math.min(this.m,this.n);this.s=function(Nt){for(var Mt=[];Nt-- >0;)Mt.push(0);return Mt}(Math.min(this.m+1,this.n)),this.U=function(Nt){var Mt=function Zt(Gt){if(Gt.length==0)return 0;for(var $t=[],Ft=0;Ft0;)Mt.push(0);return Mt}(this.n),e=function(Nt){for(var Mt=[];Nt-- >0;)Mt.push(0);return Mt}(this.m),f=!0,a=Math.min(this.m-1,this.n),y=Math.max(0,Math.min(this.n-2,this.m)),t=0;t=0;E--)if(this.s[E]!==0){for(var p=E+1;p=0;W--){if(function(Nt,Mt){return Nt&&Mt}(W0;){var q=void 0,Rt=void 0;for(q=n-2;q>=-1&&q!==-1;q--)if(Math.abs(r[q])<=lt+_*(Math.abs(this.s[q])+Math.abs(this.s[q+1]))){r[q]=0;break}if(q===n-2)Rt=4;else{var Lt=void 0;for(Lt=n-1;Lt>=q&&Lt!==q;Lt--){var vt=(Lt!==n?Math.abs(r[Lt]):0)+(Lt!==q+1?Math.abs(r[Lt-1]):0);if(Math.abs(this.s[Lt])<=lt+_*vt){this.s[Lt]=0;break}}Lt===q?Rt=3:Lt===n-1?Rt=1:(Rt=2,q=Lt)}switch(q++,Rt){case 1:{var it=r[n-2];r[n-2]=0;for(var ut=n-2;ut>=q;ut--){var Tt=g.hypot(this.s[ut],it),At=this.s[ut]/Tt,Dt=it/Tt;this.s[ut]=Tt,ut!==q&&(it=-Dt*r[ut-1],r[ut-1]=At*r[ut-1]);for(var mt=0;mt=this.s[q+1]);){var Ct=this.s[q];if(this.s[q]=this.s[q+1],this.s[q+1]=Ct,qMath.abs(i)?(r=i/s,r=Math.abs(s)*Math.sqrt(1+r*r)):i!=0?(r=s/i,r=Math.abs(i)*Math.sqrt(1+r*r)):r=0,r},A.exports=g},function(A,G,N){var g=function(){function r(e,f){for(var a=0;a2&&arguments[2]!==void 0?arguments[2]:1,y=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,r),this.sequence1=e,this.sequence2=f,this.match_score=a,this.mismatch_penalty=y,this.gap_penalty=t,this.iMax=e.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var h=0;h=0;e--){var f=this.listeners[e];f.event===i&&f.callback===r&&this.listeners.splice(e,1)}},s.emit=function(i,r){for(var e=0;e{var G={45:(i,r,e)=>{var f={};f.layoutBase=e(551),f.CoSEConstants=e(806),f.CoSEEdge=e(767),f.CoSEGraph=e(880),f.CoSEGraphManager=e(578),f.CoSELayout=e(765),f.CoSENode=e(991),f.ConstraintHandler=e(902),i.exports=f},806:(i,r,e)=>{var f=e(551).FDLayoutConstants;function a(){}for(var y in f)a[y]=f[y];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,a.ENFORCE_CONSTRAINTS=!0,a.APPLY_LAYOUT=!0,a.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,a.TREE_REDUCTION_ON_INCREMENTAL=!0,a.PURE_INCREMENTAL=a.DEFAULT_INCREMENTAL,i.exports=a},767:(i,r,e)=>{var f=e(551).FDLayoutEdge;function a(t,h,o){f.call(this,t,h,o)}a.prototype=Object.create(f.prototype);for(var y in f)a[y]=f[y];i.exports=a},880:(i,r,e)=>{var f=e(551).LGraph;function a(t,h,o){f.call(this,t,h,o)}a.prototype=Object.create(f.prototype);for(var y in f)a[y]=f[y];i.exports=a},578:(i,r,e)=>{var f=e(551).LGraphManager;function a(t){f.call(this,t)}a.prototype=Object.create(f.prototype);for(var y in f)a[y]=f[y];i.exports=a},765:(i,r,e)=>{var f=e(551).FDLayout,a=e(578),y=e(880),t=e(991),h=e(767),o=e(806),c=e(902),l=e(551).FDLayoutConstants,T=e(551).LayoutConstants,u=e(551).Point,d=e(551).PointD,L=e(551).DimensionD,F=e(551).Layout,M=e(551).Integer,P=e(551).IGeometry,J=e(551).LGraph,V=e(551).Transform,Q=e(551).LinkedList;function D(){f.call(this),this.toBeTiled={},this.constraints={}}D.prototype=Object.create(f.prototype);for(var rt in f)D[rt]=f[rt];D.prototype.newGraphManager=function(){var n=new a(this);return this.graphManager=n,n},D.prototype.newGraph=function(n){return new y(null,this.graphManager,n)},D.prototype.newNode=function(n){return new t(this.graphManager,n)},D.prototype.newEdge=function(n){return new h(null,null,n)},D.prototype.initParameters=function(){f.prototype.initParameters.call(this,arguments),this.isSubLayout||(o.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},D.prototype.initSpringEmbedder=function(){f.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},D.prototype.layout=function(){var n=T.DEFAULT_CREATE_BENDS_AS_NEEDED;return n&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},D.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(o.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var m=new Set(this.getAllNodes()),v=this.nodesWithGravity.filter(function(I){return m.has(I)});this.graphManager.setAllNodesToApplyGravitation(v)}}else{var n=this.getFlatForest();if(n.length>0)this.positionNodesRadially(n);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var m=new Set(this.getAllNodes()),v=this.nodesWithGravity.filter(function(E){return m.has(E)});this.graphManager.setAllNodesToApplyGravitation(v),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(c.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),o.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},D.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var n=new Set(this.getAllNodes()),m=this.nodesWithGravity.filter(function(p){return n.has(p)});this.graphManager.setAllNodesToApplyGravitation(m),this.graphManager.updateBounds(),this.updateGrid(),o.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),o.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var v=!this.isTreeGrowing&&!this.isGrowthFinished,E=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(v,E),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},D.prototype.getPositionsData=function(){for(var n=this.graphManager.getAllNodes(),m={},v=0;v0&&this.updateDisplacements();for(var v=0;v0&&(E.fixedNodeWeight=I)}}if(this.constraints.relativePlacementConstraint){var w=new Map,R=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(O){n.fixedNodesOnHorizontal.add(O),n.fixedNodesOnVertical.add(O)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,v=0;v=2*O.length/3;_--)X=Math.floor(Math.random()*(_+1)),B=O[_],O[_]=O[X],O[X]=B;return O},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var X=w.has(O.left)?w.get(O.left):O.left,B=w.has(O.right)?w.get(O.right):O.right;n.nodesInRelativeHorizontal.includes(X)||(n.nodesInRelativeHorizontal.push(X),n.nodeToRelativeConstraintMapHorizontal.set(X,[]),n.dummyToNodeForVerticalAlignment.has(X)?n.nodeToTempPositionMapHorizontal.set(X,n.idToNodeMap.get(n.dummyToNodeForVerticalAlignment.get(X)[0]).getCenterX()):n.nodeToTempPositionMapHorizontal.set(X,n.idToNodeMap.get(X).getCenterX())),n.nodesInRelativeHorizontal.includes(B)||(n.nodesInRelativeHorizontal.push(B),n.nodeToRelativeConstraintMapHorizontal.set(B,[]),n.dummyToNodeForVerticalAlignment.has(B)?n.nodeToTempPositionMapHorizontal.set(B,n.idToNodeMap.get(n.dummyToNodeForVerticalAlignment.get(B)[0]).getCenterX()):n.nodeToTempPositionMapHorizontal.set(B,n.idToNodeMap.get(B).getCenterX())),n.nodeToRelativeConstraintMapHorizontal.get(X).push({right:B,gap:O.gap}),n.nodeToRelativeConstraintMapHorizontal.get(B).push({left:X,gap:O.gap})}else{var _=R.has(O.top)?R.get(O.top):O.top,lt=R.has(O.bottom)?R.get(O.bottom):O.bottom;n.nodesInRelativeVertical.includes(_)||(n.nodesInRelativeVertical.push(_),n.nodeToRelativeConstraintMapVertical.set(_,[]),n.dummyToNodeForHorizontalAlignment.has(_)?n.nodeToTempPositionMapVertical.set(_,n.idToNodeMap.get(n.dummyToNodeForHorizontalAlignment.get(_)[0]).getCenterY()):n.nodeToTempPositionMapVertical.set(_,n.idToNodeMap.get(_).getCenterY())),n.nodesInRelativeVertical.includes(lt)||(n.nodesInRelativeVertical.push(lt),n.nodeToRelativeConstraintMapVertical.set(lt,[]),n.dummyToNodeForHorizontalAlignment.has(lt)?n.nodeToTempPositionMapVertical.set(lt,n.idToNodeMap.get(n.dummyToNodeForHorizontalAlignment.get(lt)[0]).getCenterY()):n.nodeToTempPositionMapVertical.set(lt,n.idToNodeMap.get(lt).getCenterY())),n.nodeToRelativeConstraintMapVertical.get(_).push({bottom:lt,gap:O.gap}),n.nodeToRelativeConstraintMapVertical.get(lt).push({top:_,gap:O.gap})}});else{var k=new Map,W=new Map;this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var X=w.has(O.left)?w.get(O.left):O.left,B=w.has(O.right)?w.get(O.right):O.right;k.has(X)?k.get(X).push(B):k.set(X,[B]),k.has(B)?k.get(B).push(X):k.set(B,[X])}else{var _=R.has(O.top)?R.get(O.top):O.top,lt=R.has(O.bottom)?R.get(O.bottom):O.bottom;W.has(_)?W.get(_).push(lt):W.set(_,[lt]),W.has(lt)?W.get(lt).push(_):W.set(lt,[_])}});var U=function(X,B){var _=[],lt=[],q=new Q,Rt=new Set,Lt=0;return X.forEach(function(vt,it){if(!Rt.has(it)){_[Lt]=[],lt[Lt]=!1;var ut=it;for(q.push(ut),Rt.add(ut),_[Lt].push(ut);q.length!=0;){ut=q.shift(),B.has(ut)&&(lt[Lt]=!0);var Tt=X.get(ut);Tt.forEach(function(At){Rt.has(At)||(q.push(At),Rt.add(At),_[Lt].push(At))})}Lt++}}),{components:_,isFixed:lt}},et=U(k,n.fixedNodesOnHorizontal);this.componentsOnHorizontal=et.components,this.fixedComponentsOnHorizontal=et.isFixed;var z=U(W,n.fixedNodesOnVertical);this.componentsOnVertical=z.components,this.fixedComponentsOnVertical=z.isFixed}}},D.prototype.updateDisplacements=function(){var n=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(z){var O=n.idToNodeMap.get(z.nodeId);O.displacementX=0,O.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var m=this.constraints.alignmentConstraint.vertical,v=0;v1){var R;for(R=0;RE&&(E=Math.floor(w.y)),I=Math.floor(w.x+o.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(T.WORLD_CENTER_X-w.x/2,T.WORLD_CENTER_Y-w.y/2))},D.radialLayout=function(n,m,v){var E=Math.max(this.maxDiagonalInTree(n),o.DEFAULT_RADIAL_SEPARATION);D.branchRadialLayout(m,null,0,359,0,E);var p=J.calculateBounds(n),I=new V;I.setDeviceOrgX(p.getMinX()),I.setDeviceOrgY(p.getMinY()),I.setWorldOrgX(v.x),I.setWorldOrgY(v.y);for(var w=0;w1;){var B=X[0];X.splice(0,1);var _=W.indexOf(B);_>=0&&W.splice(_,1),z--,U--}m!=null?O=(W.indexOf(X[0])+1)%z:O=0;for(var lt=Math.abs(E-v)/U,q=O;et!=U;q=++q%z){var Rt=W[q].getOtherEnd(n);if(Rt!=m){var Lt=(v+et*lt)%360,vt=(Lt+lt)%360;D.branchRadialLayout(Rt,n,Lt,vt,p+I,I),et++}}},D.maxDiagonalInTree=function(n){for(var m=M.MIN_VALUE,v=0;vm&&(m=p)}return m},D.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},D.prototype.groupZeroDegreeMembers=function(){var n=this,m={};this.memberGroups={},this.idToDummyNode={};for(var v=[],E=this.graphManager.getAllNodes(),p=0;p"u"&&(m[R]=[]),m[R]=m[R].concat(I)}Object.keys(m).forEach(function(H){if(m[H].length>1){var x="DummyCompound_"+H;n.memberGroups[x]=m[H];var k=m[H][0].getParent(),W=new t(n.graphManager);W.id=x,W.paddingLeft=k.paddingLeft||0,W.paddingRight=k.paddingRight||0,W.paddingBottom=k.paddingBottom||0,W.paddingTop=k.paddingTop||0,n.idToDummyNode[x]=W;var U=n.getGraphManager().add(n.newGraph(),W),et=k.getChild();et.add(W);for(var z=0;zp?(E.rect.x-=(E.labelWidth-p)/2,E.setWidth(E.labelWidth),E.labelMarginLeft=(E.labelWidth-p)/2):E.labelPosHorizontal=="right"&&E.setWidth(p+E.labelWidth)),E.labelHeight&&(E.labelPosVertical=="top"?(E.rect.y-=E.labelHeight,E.setHeight(I+E.labelHeight),E.labelMarginTop=E.labelHeight):E.labelPosVertical=="center"&&E.labelHeight>I?(E.rect.y-=(E.labelHeight-I)/2,E.setHeight(E.labelHeight),E.labelMarginTop=(E.labelHeight-I)/2):E.labelPosVertical=="bottom"&&E.setHeight(I+E.labelHeight))}})},D.prototype.repopulateCompounds=function(){for(var n=this.compoundOrder.length-1;n>=0;n--){var m=this.compoundOrder[n],v=m.id,E=m.paddingLeft,p=m.paddingTop,I=m.labelMarginLeft,w=m.labelMarginTop;this.adjustLocations(this.tiledMemberPack[v],m.rect.x,m.rect.y,E,p,I,w)}},D.prototype.repopulateZeroDegreeMembers=function(){var n=this,m=this.tiledZeroDegreePack;Object.keys(m).forEach(function(v){var E=n.idToDummyNode[v],p=E.paddingLeft,I=E.paddingTop,w=E.labelMarginLeft,R=E.labelMarginTop;n.adjustLocations(m[v],E.rect.x,E.rect.y,p,I,w,R)})},D.prototype.getToBeTiled=function(n){var m=n.id;if(this.toBeTiled[m]!=null)return this.toBeTiled[m];var v=n.getChild();if(v==null)return this.toBeTiled[m]=!1,!1;for(var E=v.getNodes(),p=0;p0)return this.toBeTiled[m]=!1,!1;if(I.getChild()==null){this.toBeTiled[I.id]=!1;continue}if(!this.getToBeTiled(I))return this.toBeTiled[m]=!1,!1}return this.toBeTiled[m]=!0,!0},D.prototype.getNodeDegree=function(n){n.id;for(var m=n.getEdges(),v=0,E=0;Ek&&(k=U.rect.height)}v+=k+n.verticalPadding}},D.prototype.tileCompoundMembers=function(n,m){var v=this;this.tiledMemberPack=[],Object.keys(n).forEach(function(E){var p=m[E];if(v.tiledMemberPack[E]=v.tileNodes(n[E],p.paddingLeft+p.paddingRight),p.rect.width=v.tiledMemberPack[E].width,p.rect.height=v.tiledMemberPack[E].height,p.setCenter(v.tiledMemberPack[E].centerX,v.tiledMemberPack[E].centerY),p.labelMarginLeft=0,p.labelMarginTop=0,o.NODE_DIMENSIONS_INCLUDE_LABELS){var I=p.rect.width,w=p.rect.height;p.labelWidth&&(p.labelPosHorizontal=="left"?(p.rect.x-=p.labelWidth,p.setWidth(I+p.labelWidth),p.labelMarginLeft=p.labelWidth):p.labelPosHorizontal=="center"&&p.labelWidth>I?(p.rect.x-=(p.labelWidth-I)/2,p.setWidth(p.labelWidth),p.labelMarginLeft=(p.labelWidth-I)/2):p.labelPosHorizontal=="right"&&p.setWidth(I+p.labelWidth)),p.labelHeight&&(p.labelPosVertical=="top"?(p.rect.y-=p.labelHeight,p.setHeight(w+p.labelHeight),p.labelMarginTop=p.labelHeight):p.labelPosVertical=="center"&&p.labelHeight>w?(p.rect.y-=(p.labelHeight-w)/2,p.setHeight(p.labelHeight),p.labelMarginTop=(p.labelHeight-w)/2):p.labelPosVertical=="bottom"&&p.setHeight(w+p.labelHeight))}})},D.prototype.tileNodes=function(n,m){var v=this.tileNodesByFavoringDim(n,m,!0),E=this.tileNodesByFavoringDim(n,m,!1),p=this.getOrgRatio(v),I=this.getOrgRatio(E),w;return IR&&(R=z.getWidth())});var H=I/p,x=w/p,k=Math.pow(v-E,2)+4*(H+E)*(x+v)*p,W=(E-v+Math.sqrt(k))/(2*(H+E)),U;m?(U=Math.ceil(W),U==W&&U++):U=Math.floor(W);var et=U*(H+E)-E;return R>et&&(et=R),et+=E*2,et},D.prototype.tileNodesByFavoringDim=function(n,m,v){var E=o.TILING_PADDING_VERTICAL,p=o.TILING_PADDING_HORIZONTAL,I=o.TILING_COMPARE_BY,w={rows:[],rowWidth:[],rowHeight:[],width:0,height:m,verticalPadding:E,horizontalPadding:p,centerX:0,centerY:0};I&&(w.idealRowWidth=this.calcIdealRowWidth(n,v));var R=function(O){return O.rect.width*O.rect.height},H=function(O,X){return R(X)-R(O)};n.sort(function(z,O){var X=H;return w.idealRowWidth?(X=I,X(z.id,O.id)):X(z,O)});for(var x=0,k=0,W=0;W0&&(w+=n.horizontalPadding),n.rowWidth[v]=w,n.width0&&(R+=n.verticalPadding);var H=0;R>n.rowHeight[v]&&(H=n.rowHeight[v],n.rowHeight[v]=R,H=n.rowHeight[v]-H),n.height+=H,n.rows[v].push(m)},D.prototype.getShortestRowIndex=function(n){for(var m=-1,v=Number.MAX_VALUE,E=0;Ev&&(m=E,v=n.rowWidth[E]);return m},D.prototype.canAddHorizontal=function(n,m,v){if(n.idealRowWidth){var E=n.rows.length-1,p=n.rowWidth[E];return p+m+n.horizontalPadding<=n.idealRowWidth}var I=this.getShortestRowIndex(n);if(I<0)return!0;var w=n.rowWidth[I];if(w+n.horizontalPadding+m<=n.width)return!0;var R=0;n.rowHeight[I]0&&(R=v+n.verticalPadding-n.rowHeight[I]);var H;n.width-w>=m+n.horizontalPadding?H=(n.height+R)/(w+m+n.horizontalPadding):H=(n.height+R)/n.width,R=v+n.verticalPadding;var x;return n.widthI&&m!=v){E.splice(-1,1),n.rows[v].push(p),n.rowWidth[m]=n.rowWidth[m]-I,n.rowWidth[v]=n.rowWidth[v]+I,n.width=n.rowWidth[instance.getLongestRowIndex(n)];for(var w=Number.MIN_VALUE,R=0;Rw&&(w=E[R].height);m>0&&(w+=n.verticalPadding);var H=n.rowHeight[m]+n.rowHeight[v];n.rowHeight[m]=w,n.rowHeight[v]0)for(var et=p;et<=I;et++)U[0]+=this.grid[et][w-1].length+this.grid[et][w].length-1;if(I0)for(var et=w;et<=R;et++)U[3]+=this.grid[p-1][et].length+this.grid[p][et].length-1;for(var z=M.MAX_VALUE,O,X,B=0;B{var f=e(551).FDLayoutNode,a=e(551).IMath;function y(h,o,c,l){f.call(this,h,o,c,l)}y.prototype=Object.create(f.prototype);for(var t in f)y[t]=f[t];y.prototype.calculateDisplacement=function(){var h=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=h.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=h.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=h.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=h.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*a.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},y.prototype.propogateDisplacementToChildren=function(h,o){for(var c=this.getChild().getNodes(),l,T=0;T{function f(c){if(Array.isArray(c)){for(var l=0,T=Array(c.length);l0){var Ct=0;st.forEach(function(ht){$=="horizontal"?(tt.set(ht,u.has(ht)?d[u.get(ht)]:Z.get(ht)),Ct+=tt.get(ht)):(tt.set(ht,u.has(ht)?L[u.get(ht)]:Z.get(ht)),Ct+=tt.get(ht))}),Ct=Ct/st.length,ft.forEach(function(ht){K.has(ht)||tt.set(ht,Ct)})}else{var ct=0;ft.forEach(function(ht){$=="horizontal"?ct+=u.has(ht)?d[u.get(ht)]:Z.get(ht):ct+=u.has(ht)?L[u.get(ht)]:Z.get(ht)}),ct=ct/ft.length,ft.forEach(function(ht){tt.set(ht,ct)})}});for(var wt=function(){var st=dt.shift(),Ct=b.get(st);Ct.forEach(function(ct){if(tt.get(ct.id)ht&&(ht=qt),_tWt&&(Wt=_t)}}catch(ie){Mt=!0,Zt=ie}finally{try{!Nt&&Gt.return&&Gt.return()}finally{if(Mt)throw Zt}}var ce=(Ct+ht)/2-(ct+Wt)/2,Kt=!0,te=!1,ee=void 0;try{for(var jt=ft[Symbol.iterator](),se;!(Kt=(se=jt.next()).done);Kt=!0){var re=se.value;tt.set(re,tt.get(re)+ce)}}catch(ie){te=!0,ee=ie}finally{try{!Kt&&jt.return&&jt.return()}finally{if(te)throw ee}}})}return tt},rt=function(b){var $=0,K=0,Z=0,at=0;if(b.forEach(function(j){j.left?d[u.get(j.left)]-d[u.get(j.right)]>=0?$++:K++:L[u.get(j.top)]-L[u.get(j.bottom)]>=0?Z++:at++}),$>K&&Z>at)for(var gt=0;gtK)for(var ot=0;otat)for(var tt=0;tt1)l.fixedNodeConstraint.forEach(function(S,b){E[b]=[S.position.x,S.position.y],p[b]=[d[u.get(S.nodeId)],L[u.get(S.nodeId)]]}),I=!0;else if(l.alignmentConstraint)(function(){var S=0;if(l.alignmentConstraint.vertical){for(var b=l.alignmentConstraint.vertical,$=function(tt){var j=new Set;b[tt].forEach(function(yt){j.add(yt)});var dt=new Set([].concat(f(j)).filter(function(yt){return R.has(yt)})),wt=void 0;dt.size>0?wt=d[u.get(dt.values().next().value)]:wt=Q(j).x,b[tt].forEach(function(yt){E[S]=[wt,L[u.get(yt)]],p[S]=[d[u.get(yt)],L[u.get(yt)]],S++})},K=0;K0?wt=d[u.get(dt.values().next().value)]:wt=Q(j).y,Z[tt].forEach(function(yt){E[S]=[d[u.get(yt)],wt],p[S]=[d[u.get(yt)],L[u.get(yt)]],S++})},gt=0;gtW&&(W=k[et].length,U=et);if(W0){var mt={x:0,y:0};l.fixedNodeConstraint.forEach(function(S,b){var $={x:d[u.get(S.nodeId)],y:L[u.get(S.nodeId)]},K=S.position,Z=V(K,$);mt.x+=Z.x,mt.y+=Z.y}),mt.x/=l.fixedNodeConstraint.length,mt.y/=l.fixedNodeConstraint.length,d.forEach(function(S,b){d[b]+=mt.x}),L.forEach(function(S,b){L[b]+=mt.y}),l.fixedNodeConstraint.forEach(function(S){d[u.get(S.nodeId)]=S.position.x,L[u.get(S.nodeId)]=S.position.y})}if(l.alignmentConstraint){if(l.alignmentConstraint.vertical)for(var xt=l.alignmentConstraint.vertical,St=function(b){var $=new Set;xt[b].forEach(function(at){$.add(at)});var K=new Set([].concat(f($)).filter(function(at){return R.has(at)})),Z=void 0;K.size>0?Z=d[u.get(K.values().next().value)]:Z=Q($).x,$.forEach(function(at){R.has(at)||(d[u.get(at)]=Z)})},Vt=0;Vt0?Z=L[u.get(K.values().next().value)]:Z=Q($).y,$.forEach(function(at){R.has(at)||(L[u.get(at)]=Z)})},bt=0;bt{i.exports=A}},N={};function g(i){var r=N[i];if(r!==void 0)return r.exports;var e=N[i]={exports:{}};return G[i](e,e.exports,g),e.exports}var s=g(45);return s})()})}(pe)),pe.exports}(function(C,Y){(function(G,N){C.exports=N(cr())})(Te,function(A){return(()=>{var G={658:i=>{i.exports=Object.assign!=null?Object.assign.bind(Object):function(r){for(var e=arguments.length,f=Array(e>1?e-1:0),a=1;a{var f=function(){function t(h,o){var c=[],l=!0,T=!1,u=void 0;try{for(var d=h[Symbol.iterator](),L;!(l=(L=d.next()).done)&&(c.push(L.value),!(o&&c.length===o));l=!0);}catch(F){T=!0,u=F}finally{try{!l&&d.return&&d.return()}finally{if(T)throw u}}return c}return function(h,o){if(Array.isArray(h))return h;if(Symbol.iterator in Object(h))return t(h,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=e(140).layoutBase.LinkedList,y={};y.getTopMostNodes=function(t){for(var h={},o=0;o0&&I.merge(x)});for(var w=0;w1){L=u[0],F=L.connectedEdges().length,u.forEach(function(p){p.connectedEdges().length0&&c.set("dummy"+(c.size+1),J),V},y.relocateComponent=function(t,h,o){if(!o.fixedNodeConstraint){var c=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,T=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;if(o.quality=="draft"){var d=!0,L=!1,F=void 0;try{for(var M=h.nodeIndexes[Symbol.iterator](),P;!(d=(P=M.next()).done);d=!0){var J=P.value,V=f(J,2),Q=V[0],D=V[1],rt=o.cy.getElementById(Q);if(rt){var n=rt.boundingBox(),m=h.xCoords[D]-n.w/2,v=h.xCoords[D]+n.w/2,E=h.yCoords[D]-n.h/2,p=h.yCoords[D]+n.h/2;ml&&(l=v),Eu&&(u=p)}}}catch(x){L=!0,F=x}finally{try{!d&&M.return&&M.return()}finally{if(L)throw F}}var I=t.x-(l+c)/2,w=t.y-(u+T)/2;h.xCoords=h.xCoords.map(function(x){return x+I}),h.yCoords=h.yCoords.map(function(x){return x+w})}else{Object.keys(h).forEach(function(x){var k=h[x],W=k.getRect().x,U=k.getRect().x+k.getRect().width,et=k.getRect().y,z=k.getRect().y+k.getRect().height;Wl&&(l=U),etu&&(u=z)});var R=t.x-(l+c)/2,H=t.y-(u+T)/2;Object.keys(h).forEach(function(x){var k=h[x];k.setCenter(k.getCenterX()+R,k.getCenterY()+H)})}}},y.calcBoundingBox=function(t,h,o,c){for(var l=Number.MAX_SAFE_INTEGER,T=Number.MIN_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,d=Number.MIN_SAFE_INTEGER,L=void 0,F=void 0,M=void 0,P=void 0,J=t.descendants().not(":parent"),V=J.length,Q=0;QL&&(l=L),TM&&(u=M),d{var f=e(548),a=e(140).CoSELayout,y=e(140).CoSENode,t=e(140).layoutBase.PointD,h=e(140).layoutBase.DimensionD,o=e(140).layoutBase.LayoutConstants,c=e(140).layoutBase.FDLayoutConstants,l=e(140).CoSEConstants,T=function(d,L){var F=d.cy,M=d.eles,P=M.nodes(),J=M.edges(),V=void 0,Q=void 0,D=void 0,rt={};d.randomize&&(V=L.nodeIndexes,Q=L.xCoords,D=L.yCoords);var n=function(x){return typeof x=="function"},m=function(x,k){return n(x)?x(k):x},v=f.calcParentsWithoutChildren(F,M),E=function H(x,k,W,U){for(var et=k.length,z=0;z0){var q=void 0;q=W.getGraphManager().add(W.newGraph(),B),H(q,X,W,U)}}},p=function(x,k,W){for(var U=0,et=0,z=0;z0?l.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=U/et:n(d.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=d.idealEdgeLength,l.MIN_REPULSION_DIST=c.MIN_REPULSION_DIST=c.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=c.DEFAULT_EDGE_LENGTH)},I=function(x,k){k.fixedNodeConstraint&&(x.constraints.fixedNodeConstraint=k.fixedNodeConstraint),k.alignmentConstraint&&(x.constraints.alignmentConstraint=k.alignmentConstraint),k.relativePlacementConstraint&&(x.constraints.relativePlacementConstraint=k.relativePlacementConstraint)};d.nestingFactor!=null&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=d.nestingFactor),d.gravity!=null&&(l.DEFAULT_GRAVITY_STRENGTH=c.DEFAULT_GRAVITY_STRENGTH=d.gravity),d.numIter!=null&&(l.MAX_ITERATIONS=c.MAX_ITERATIONS=d.numIter),d.gravityRange!=null&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=c.DEFAULT_GRAVITY_RANGE_FACTOR=d.gravityRange),d.gravityCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=d.gravityCompound),d.gravityRangeCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=d.gravityRangeCompound),d.initialEnergyOnIncremental!=null&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.DEFAULT_COOLING_FACTOR_INCREMENTAL=d.initialEnergyOnIncremental),d.tilingCompareBy!=null&&(l.TILING_COMPARE_BY=d.tilingCompareBy),d.quality=="proof"?o.QUALITY=2:o.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=o.NODE_DIMENSIONS_INCLUDE_LABELS=d.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!d.randomize,l.ANIMATE=c.ANIMATE=o.ANIMATE=d.animate,l.TILE=d.tile,l.TILING_PADDING_VERTICAL=typeof d.tilingPaddingVertical=="function"?d.tilingPaddingVertical.call():d.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL=typeof d.tilingPaddingHorizontal=="function"?d.tilingPaddingHorizontal.call():d.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!d.randomize,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=d.uniformNodeDimensions,d.step=="transformed"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),d.step=="enforced"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),d.step=="cose"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),d.step=="all"&&(d.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),d.fixedNodeConstraint||d.alignmentConstraint||d.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var w=new a,R=w.newGraphManager();return E(R.addRoot(),f.getTopMostNodes(P),w,d),p(w,R,J),I(w,d),w.runLayout(),rt};i.exports={coseLayout:T}},212:(i,r,e)=>{var f=function(){function d(L,F){for(var M=0;M0)if(v){var I=t.getTopMostNodes(M.eles.nodes());if(D=t.connectComponents(P,M.eles,I),D.forEach(function(vt){var it=vt.boundingBox();rt.push({x:it.x1+it.w/2,y:it.y1+it.h/2})}),M.randomize&&D.forEach(function(vt){M.eles=vt,V.push(o(M))}),M.quality=="default"||M.quality=="proof"){var w=P.collection();if(M.tile){var R=new Map,H=[],x=[],k=0,W={nodeIndexes:R,xCoords:H,yCoords:x},U=[];if(D.forEach(function(vt,it){vt.edges().length==0&&(vt.nodes().forEach(function(ut,Tt){w.merge(vt.nodes()[Tt]),ut.isParent()||(W.nodeIndexes.set(vt.nodes()[Tt].id(),k++),W.xCoords.push(vt.nodes()[0].position().x),W.yCoords.push(vt.nodes()[0].position().y))}),U.push(it))}),w.length>1){var et=w.boundingBox();rt.push({x:et.x1+et.w/2,y:et.y1+et.h/2}),D.push(w),V.push(W);for(var z=U.length-1;z>=0;z--)D.splice(U[z],1),V.splice(U[z],1),rt.splice(U[z],1)}}D.forEach(function(vt,it){M.eles=vt,Q.push(l(M,V[it])),t.relocateComponent(rt[it],Q[it],M)})}else D.forEach(function(vt,it){t.relocateComponent(rt[it],V[it],M)});var O=new Set;if(D.length>1){var X=[],B=J.filter(function(vt){return vt.css("display")=="none"});D.forEach(function(vt,it){var ut=void 0;if(M.quality=="draft"&&(ut=V[it].nodeIndexes),vt.nodes().not(B).length>0){var Tt={};Tt.edges=[],Tt.nodes=[];var At=void 0;vt.nodes().not(B).forEach(function(Dt){if(M.quality=="draft")if(!Dt.isParent())At=ut.get(Dt.id()),Tt.nodes.push({x:V[it].xCoords[At]-Dt.boundingbox().w/2,y:V[it].yCoords[At]-Dt.boundingbox().h/2,width:Dt.boundingbox().w,height:Dt.boundingbox().h});else{var mt=t.calcBoundingBox(Dt,V[it].xCoords,V[it].yCoords,ut);Tt.nodes.push({x:mt.topLeftX,y:mt.topLeftY,width:mt.width,height:mt.height})}else Q[it][Dt.id()]&&Tt.nodes.push({x:Q[it][Dt.id()].getLeft(),y:Q[it][Dt.id()].getTop(),width:Q[it][Dt.id()].getWidth(),height:Q[it][Dt.id()].getHeight()})}),vt.edges().forEach(function(Dt){var mt=Dt.source(),xt=Dt.target();if(mt.css("display")!="none"&&xt.css("display")!="none")if(M.quality=="draft"){var St=ut.get(mt.id()),Vt=ut.get(xt.id()),Xt=[],Ut=[];if(mt.isParent()){var bt=t.calcBoundingBox(mt,V[it].xCoords,V[it].yCoords,ut);Xt.push(bt.topLeftX+bt.width/2),Xt.push(bt.topLeftY+bt.height/2)}else Xt.push(V[it].xCoords[St]),Xt.push(V[it].yCoords[St]);if(xt.isParent()){var Ht=t.calcBoundingBox(xt,V[it].xCoords,V[it].yCoords,ut);Ut.push(Ht.topLeftX+Ht.width/2),Ut.push(Ht.topLeftY+Ht.height/2)}else Ut.push(V[it].xCoords[Vt]),Ut.push(V[it].yCoords[Vt]);Tt.edges.push({startX:Xt[0],startY:Xt[1],endX:Ut[0],endY:Ut[1]})}else Q[it][mt.id()]&&Q[it][xt.id()]&&Tt.edges.push({startX:Q[it][mt.id()].getCenterX(),startY:Q[it][mt.id()].getCenterY(),endX:Q[it][xt.id()].getCenterX(),endY:Q[it][xt.id()].getCenterY()})}),Tt.nodes.length>0&&(X.push(Tt),O.add(it))}});var _=m.packComponents(X,M.randomize).shifts;if(M.quality=="draft")V.forEach(function(vt,it){var ut=vt.xCoords.map(function(At){return At+_[it].dx}),Tt=vt.yCoords.map(function(At){return At+_[it].dy});vt.xCoords=ut,vt.yCoords=Tt});else{var lt=0;O.forEach(function(vt){Object.keys(Q[vt]).forEach(function(it){var ut=Q[vt][it];ut.setCenter(ut.getCenterX()+_[lt].dx,ut.getCenterY()+_[lt].dy)}),lt++})}}}else{var E=M.eles.boundingBox();if(rt.push({x:E.x1+E.w/2,y:E.y1+E.h/2}),M.randomize){var p=o(M);V.push(p)}M.quality=="default"||M.quality=="proof"?(Q.push(l(M,V[0])),t.relocateComponent(rt[0],Q[0],M)):t.relocateComponent(rt[0],V[0],M)}var q=function(it,ut){if(M.quality=="default"||M.quality=="proof"){typeof it=="number"&&(it=ut);var Tt=void 0,At=void 0,Dt=it.data("id");return Q.forEach(function(xt){Dt in xt&&(Tt={x:xt[Dt].getRect().getCenterX(),y:xt[Dt].getRect().getCenterY()},At=xt[Dt])}),M.nodeDimensionsIncludeLabels&&(At.labelWidth&&(At.labelPosHorizontal=="left"?Tt.x+=At.labelWidth/2:At.labelPosHorizontal=="right"&&(Tt.x-=At.labelWidth/2)),At.labelHeight&&(At.labelPosVertical=="top"?Tt.y+=At.labelHeight/2:At.labelPosVertical=="bottom"&&(Tt.y-=At.labelHeight/2))),Tt==null&&(Tt={x:it.position("x"),y:it.position("y")}),{x:Tt.x,y:Tt.y}}else{var mt=void 0;return V.forEach(function(xt){var St=xt.nodeIndexes.get(it.id());St!=null&&(mt={x:xt.xCoords[St],y:xt.yCoords[St]})}),mt==null&&(mt={x:it.position("x"),y:it.position("y")}),{x:mt.x,y:mt.y}}};if(M.quality=="default"||M.quality=="proof"||M.randomize){var Rt=t.calcParentsWithoutChildren(P,J),Lt=J.filter(function(vt){return vt.css("display")=="none"});M.eles=J.not(Lt),J.nodes().not(":parent").not(Lt).layoutPositions(F,M,q),Rt.length>0&&Rt.forEach(function(vt){vt.position(q(vt))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),d}();i.exports=u},657:(i,r,e)=>{var f=e(548),a=e(140).layoutBase.Matrix,y=e(140).layoutBase.SVD,t=function(o){var c=o.cy,l=o.eles,T=l.nodes(),u=l.nodes(":parent"),d=new Map,L=new Map,F=new Map,M=[],P=[],J=[],V=[],Q=[],D=[],rt=[],n=[],m=void 0,v=1e8,E=1e-9,p=o.piTol,I=o.samplingType,w=o.nodeSeparation,R=void 0,H=function(){for(var b=0,$=0,K=!1;$=at;){ot=Z[at++];for(var It=M[ot],ft=0;ftdt&&(dt=Q[Ct],wt=Ct)}return wt},k=function(b){var $=void 0;if(b){$=Math.floor(Math.random()*m);for(var Z=0;Z=1)break;j=tt}for(var yt=0;yt=1)break;j=tt}for(var ft=0;ft0&&($.isParent()?M[b].push(F.get($.id())):M[b].push($.id()))})});var Lt=function(b){var $=L.get(b),K=void 0;d.get(b).forEach(function(Z){c.getElementById(Z).isParent()?K=F.get(Z):K=Z,M[$].push(K),M[L.get(K)].push(b)})},vt=!0,it=!1,ut=void 0;try{for(var Tt=d.keys()[Symbol.iterator](),At;!(vt=(At=Tt.next()).done);vt=!0){var Dt=At.value;Lt(Dt)}}catch(S){it=!0,ut=S}finally{try{!vt&&Tt.return&&Tt.return()}finally{if(it)throw ut}}m=L.size;var mt=void 0;if(m>2){R=m{var f=e(212),a=function(t){t&&t("layout","fcose",f)};typeof cytoscape<"u"&&a(cytoscape),i.exports=a},140:i=>{i.exports=A}},N={};function g(i){var r=N[i];if(r!==void 0)return r.exports;var e=N[i]={exports:{}};return G[i](e,e.exports,g),e.exports}var s=g(579);return s})()})})(be);var gr=be.exports;const ur=ke(gr);var xe={L:"left",R:"right",T:"top",B:"bottom"},Ie={L:nt(C=>`${C},${C/2} 0,${C} 0,0`,"L"),R:nt(C=>`0,${C/2} ${C},0 ${C},${C}`,"R"),T:nt(C=>`0,0 ${C},0 ${C/2},${C}`,"T"),B:nt(C=>`${C/2},0 ${C},${C} 0,${C}`,"B")},he={L:nt((C,Y)=>C-Y+2,"L"),R:nt((C,Y)=>C-2,"R"),T:nt((C,Y)=>C-Y+2,"T"),B:nt((C,Y)=>C-2,"B")},dr=nt(function(C){return zt(C)?C==="L"?"R":"L":C==="T"?"B":"T"},"getOppositeArchitectureDirection"),Re=nt(function(C){const Y=C;return Y==="L"||Y==="R"||Y==="T"||Y==="B"},"isArchitectureDirection"),zt=nt(function(C){const Y=C;return Y==="L"||Y==="R"},"isArchitectureDirectionX"),Qt=nt(function(C){const Y=C;return Y==="T"||Y==="B"},"isArchitectureDirectionY"),Pe=nt(function(C,Y){const A=zt(C)&&Qt(Y),G=Qt(C)&&zt(Y);return A||G},"isArchitectureDirectionXY"),vr=nt(function(C){const Y=C[0],A=C[1],G=zt(Y)&&Qt(A),N=Qt(Y)&&zt(A);return G||N},"isArchitecturePairXY"),pr=nt(function(C){return C!=="LL"&&C!=="RR"&&C!=="TT"&&C!=="BB"},"isValidArchitectureDirectionPair"),me=nt(function(C,Y){const A=`${C}${Y}`;return pr(A)?A:void 0},"getArchitectureDirectionPair"),yr=nt(function([C,Y],A){const G=A[0],N=A[1];return zt(G)?Qt(N)?[C+(G==="L"?-1:1),Y+(N==="T"?1:-1)]:[C+(G==="L"?-1:1),Y]:zt(N)?[C+(N==="L"?1:-1),Y+(G==="T"?1:-1)]:[C,Y+(G==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Er=nt(function(C){return C==="LT"||C==="TL"?[1,1]:C==="BL"||C==="LB"?[1,-1]:C==="BR"||C==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),mr=nt(function(C){return C.type==="service"},"isArchitectureService"),Tr=nt(function(C){return C.type==="junction"},"isArchitectureJunction"),Ge=nt(C=>C.data(),"edgeData"),ne=nt(C=>C.data(),"nodeData"),Ue=qe.architecture,pt=new hr(()=>({nodes:{},groups:{},edges:[],registeredIds:{},config:Ue,dataStructures:void 0,elements:{}})),Nr=nt(()=>{pt.reset(),ar()},"clear"),Lr=nt(function({id:C,icon:Y,in:A,title:G,iconText:N}){if(pt.records.registeredIds[C]!==void 0)throw new Error(`The service id [${C}] is already in use by another ${pt.records.registeredIds[C]}`);if(A!==void 0){if(C===A)throw new Error(`The service [${C}] cannot be placed within itself`);if(pt.records.registeredIds[A]===void 0)throw new Error(`The service [${C}]'s parent does not exist. Please make sure the parent is created before this service`);if(pt.records.registeredIds[A]==="node")throw new Error(`The service [${C}]'s parent is not a group`)}pt.records.registeredIds[C]="node",pt.records.nodes[C]={id:C,type:"service",icon:Y,iconText:N,title:G,edges:[],in:A}},"addService"),Cr=nt(()=>Object.values(pt.records.nodes).filter(mr),"getServices"),Mr=nt(function({id:C,in:Y}){pt.records.registeredIds[C]="node",pt.records.nodes[C]={id:C,type:"junction",edges:[],in:Y}},"addJunction"),Ar=nt(()=>Object.values(pt.records.nodes).filter(Tr),"getJunctions"),wr=nt(()=>Object.values(pt.records.nodes),"getNodes"),Or=nt(C=>pt.records.nodes[C],"getNode"),Dr=nt(function({id:C,icon:Y,in:A,title:G}){if(pt.records.registeredIds[C]!==void 0)throw new Error(`The group id [${C}] is already in use by another ${pt.records.registeredIds[C]}`);if(A!==void 0){if(C===A)throw new Error(`The group [${C}] cannot be placed within itself`);if(pt.records.registeredIds[A]===void 0)throw new Error(`The group [${C}]'s parent does not exist. Please make sure the parent is created before this group`);if(pt.records.registeredIds[A]==="node")throw new Error(`The group [${C}]'s parent is not a group`)}pt.records.registeredIds[C]="group",pt.records.groups[C]={id:C,icon:Y,title:G,in:A}},"addGroup"),xr=nt(()=>Object.values(pt.records.groups),"getGroups"),Ir=nt(function({lhsId:C,rhsId:Y,lhsDir:A,rhsDir:G,lhsInto:N,rhsInto:g,lhsGroup:s,rhsGroup:i,title:r}){if(!Re(A))throw new Error(`Invalid direction given for left hand side of edge ${C}--${Y}. Expected (L,R,T,B) got ${A}`);if(!Re(G))throw new Error(`Invalid direction given for right hand side of edge ${C}--${Y}. Expected (L,R,T,B) got ${G}`);if(pt.records.nodes[C]===void 0&&pt.records.groups[C]===void 0)throw new Error(`The left-hand id [${C}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(pt.records.nodes[Y]===void 0&&pt.records.groups[C]===void 0)throw new Error(`The right-hand id [${Y}] does not yet exist. Please create the service/group before declaring an edge to it.`);const e=pt.records.nodes[C].in,f=pt.records.nodes[Y].in;if(s&&e&&f&&e==f)throw new Error(`The left-hand id [${C}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(i&&e&&f&&e==f)throw new Error(`The right-hand id [${Y}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const a={lhsId:C,lhsDir:A,lhsInto:N,lhsGroup:s,rhsId:Y,rhsDir:G,rhsInto:g,rhsGroup:i,title:r};pt.records.edges.push(a),pt.records.nodes[C]&&pt.records.nodes[Y]&&(pt.records.nodes[C].edges.push(pt.records.edges[pt.records.edges.length-1]),pt.records.nodes[Y].edges.push(pt.records.edges[pt.records.edges.length-1]))},"addEdge"),Rr=nt(()=>pt.records.edges,"getEdges"),Sr=nt(()=>{if(pt.records.dataStructures===void 0){const C=Object.entries(pt.records.nodes).reduce((s,[i,r])=>(s[i]=r.edges.reduce((e,f)=>{if(f.lhsId===i){const a=me(f.lhsDir,f.rhsDir);a&&(e[a]=f.rhsId)}else{const a=me(f.rhsDir,f.lhsDir);a&&(e[a]=f.lhsId)}return e},{}),s),{}),Y=Object.keys(C)[0],A={[Y]:1},G=Object.keys(C).reduce((s,i)=>i===Y?s:{...s,[i]:1},{}),N=nt(s=>{const i={[s]:[0,0]},r=[s];for(;r.length>0;){const e=r.shift();if(e){A[e]=1,delete G[e];const f=C[e],[a,y]=i[e];Object.entries(f).forEach(([t,h])=>{A[h]||(i[h]=yr([a,y],t),r.push(h))})}}return i},"BFS"),g=[N(Y)];for(;Object.keys(G).length>0;)g.push(N(Object.keys(G)[0]));pt.records.dataStructures={adjList:C,spatialMaps:g}}return pt.records.dataStructures},"getDataStructures"),Fr=nt((C,Y)=>{pt.records.elements[C]=Y},"setElementForId"),br=nt(C=>pt.records.elements[C],"getElementById"),le={clear:Nr,setDiagramTitle:Ke,getDiagramTitle:je,setAccTitle:_e,getAccTitle:tr,setAccDescription:er,getAccDescription:rr,addService:Lr,getServices:Cr,addJunction:Mr,getJunctions:Ar,getNodes:wr,getNode:Or,addGroup:Dr,getGroups:xr,addEdge:Ir,getEdges:Rr,setElementForId:Fr,getElementById:br,getDataStructures:Sr};function Pt(C){const Y=fe().architecture;return Y!=null&&Y[C]?Y[C]:Ue[C]}nt(Pt,"getConfigField");var Pr=nt((C,Y)=>{sr(C,Y),C.groups.map(Y.addGroup),C.services.map(A=>Y.addService({...A,type:"service"})),C.junctions.map(A=>Y.addJunction({...A,type:"junction"})),C.edges.map(Y.addEdge)},"populateDb"),Gr={parse:nt(async C=>{const Y=await lr("architecture",C);Se.debug(Y),Pr(Y,le)},"parse")},Ur=nt(C=>` +import{aH as Te,aI as ke,B as qe,_ as nt,aJ as Je,aK as Qe,q as Ke,r as je,s as _e,g as tr,c as er,b as rr,d as fe,l as Se,j as ir,v as ar,H as nr,a8 as or,ae as Ne,aL as Ee}from"../app.XeY7gsc2.js";import{p as sr}from"./chunk-RYO7GUH3.Cq4tzjLf.js";import{I as hr}from"./chunk-6JKP7OK7.BZQScEOe.js";import{p as lr}from"./gitGraph-YCYPL57B.BBU61gGy.js";import{c as Fe}from"./cytoscape.esm.otp_DSkq.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./baseUniq.D3QFBTuJ.js";import"./basePickBy.DQSVnGZT.js";import"./clone.DN5RQA0U.js";var be={exports:{}},pe={exports:{}},ye={exports:{}},Oe;function fr(){return Oe||(Oe=1,function(C,Y){(function(G,N){C.exports=N()})(Te,function(){return function(A){var G={};function N(g){if(G[g])return G[g].exports;var s=G[g]={i:g,l:!1,exports:{}};return A[g].call(s.exports,s,s.exports,N),s.l=!0,s.exports}return N.m=A,N.c=G,N.i=function(g){return g},N.d=function(g,s,i){N.o(g,s)||Object.defineProperty(g,s,{configurable:!1,enumerable:!0,get:i})},N.n=function(g){var s=g&&g.__esModule?function(){return g.default}:function(){return g};return N.d(s,"a",s),s},N.o=function(g,s){return Object.prototype.hasOwnProperty.call(g,s)},N.p="",N(N.s=28)}([function(A,G,N){function g(){}g.QUALITY=1,g.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,g.DEFAULT_INCREMENTAL=!1,g.DEFAULT_ANIMATION_ON_LAYOUT=!0,g.DEFAULT_ANIMATION_DURING_LAYOUT=!1,g.DEFAULT_ANIMATION_PERIOD=50,g.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,g.DEFAULT_GRAPH_MARGIN=15,g.NODE_DIMENSIONS_INCLUDE_LABELS=!1,g.SIMPLE_NODE_SIZE=40,g.SIMPLE_NODE_HALF_SIZE=g.SIMPLE_NODE_SIZE/2,g.EMPTY_COMPOUND_NODE_SIZE=40,g.MIN_EDGE_LENGTH=1,g.WORLD_BOUNDARY=1e6,g.INITIAL_WORLD_BOUNDARY=g.WORLD_BOUNDARY/1e3,g.WORLD_CENTER_X=1200,g.WORLD_CENTER_Y=900,A.exports=g},function(A,G,N){var g=N(2),s=N(8),i=N(9);function r(f,a,y){g.call(this,y),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=y,this.bendpoints=[],this.source=f,this.target=a}r.prototype=Object.create(g.prototype);for(var e in g)r[e]=g[e];r.prototype.getSource=function(){return this.source},r.prototype.getTarget=function(){return this.target},r.prototype.isInterGraph=function(){return this.isInterGraph},r.prototype.getLength=function(){return this.length},r.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},r.prototype.getBendpoints=function(){return this.bendpoints},r.prototype.getLca=function(){return this.lca},r.prototype.getSourceInLca=function(){return this.sourceInLca},r.prototype.getTargetInLca=function(){return this.targetInLca},r.prototype.getOtherEnd=function(f){if(this.source===f)return this.target;if(this.target===f)return this.source;throw"Node is not incident with this edge"},r.prototype.getOtherEndInGraph=function(f,a){for(var y=this.getOtherEnd(f),t=a.getGraphManager().getRoot();;){if(y.getOwner()==a)return y;if(y.getOwner()==t)break;y=y.getOwner().getParent()}return null},r.prototype.updateLength=function(){var f=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),f),this.isOverlapingSourceAndTarget||(this.lengthX=f[0]-f[2],this.lengthY=f[1]-f[3],Math.abs(this.lengthX)<1&&(this.lengthX=i.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=i.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},r.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=i.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=i.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},A.exports=r},function(A,G,N){function g(s){this.vGraphObject=s}A.exports=g},function(A,G,N){var g=N(2),s=N(10),i=N(13),r=N(0),e=N(16),f=N(5);function a(t,h,o,c){o==null&&c==null&&(c=h),g.call(this,c),t.graphManager!=null&&(t=t.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=c,this.edges=[],this.graphManager=t,o!=null&&h!=null?this.rect=new i(h.x,h.y,o.width,o.height):this.rect=new i}a.prototype=Object.create(g.prototype);for(var y in g)a[y]=g[y];a.prototype.getEdges=function(){return this.edges},a.prototype.getChild=function(){return this.child},a.prototype.getOwner=function(){return this.owner},a.prototype.getWidth=function(){return this.rect.width},a.prototype.setWidth=function(t){this.rect.width=t},a.prototype.getHeight=function(){return this.rect.height},a.prototype.setHeight=function(t){this.rect.height=t},a.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},a.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},a.prototype.getCenter=function(){return new f(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},a.prototype.getLocation=function(){return new f(this.rect.x,this.rect.y)},a.prototype.getRect=function(){return this.rect},a.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},a.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},a.prototype.setRect=function(t,h){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=h.width,this.rect.height=h.height},a.prototype.setCenter=function(t,h){this.rect.x=t-this.rect.width/2,this.rect.y=h-this.rect.height/2},a.prototype.setLocation=function(t,h){this.rect.x=t,this.rect.y=h},a.prototype.moveBy=function(t,h){this.rect.x+=t,this.rect.y+=h},a.prototype.getEdgeListToNode=function(t){var h=[],o=this;return o.edges.forEach(function(c){if(c.target==t){if(c.source!=o)throw"Incorrect edge source!";h.push(c)}}),h},a.prototype.getEdgesBetween=function(t){var h=[],o=this;return o.edges.forEach(function(c){if(!(c.source==o||c.target==o))throw"Incorrect edge source and/or target";(c.target==t||c.source==t)&&h.push(c)}),h},a.prototype.getNeighborsList=function(){var t=new Set,h=this;return h.edges.forEach(function(o){if(o.source==h)t.add(o.target);else{if(o.target!=h)throw"Incorrect incidency!";t.add(o.source)}}),t},a.prototype.withChildren=function(){var t=new Set,h,o;if(t.add(this),this.child!=null)for(var c=this.child.getNodes(),l=0;lh?(this.rect.x-=(this.labelWidth-h)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(h+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(o+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>o?(this.rect.y-=(this.labelHeight-o)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(o+this.labelHeight))}}},a.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},a.prototype.transform=function(t){var h=this.rect.x;h>r.WORLD_BOUNDARY?h=r.WORLD_BOUNDARY:h<-r.WORLD_BOUNDARY&&(h=-r.WORLD_BOUNDARY);var o=this.rect.y;o>r.WORLD_BOUNDARY?o=r.WORLD_BOUNDARY:o<-r.WORLD_BOUNDARY&&(o=-r.WORLD_BOUNDARY);var c=new f(h,o),l=t.inverseTransformPoint(c);this.setLocation(l.x,l.y)},a.prototype.getLeft=function(){return this.rect.x},a.prototype.getRight=function(){return this.rect.x+this.rect.width},a.prototype.getTop=function(){return this.rect.y},a.prototype.getBottom=function(){return this.rect.y+this.rect.height},a.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},A.exports=a},function(A,G,N){var g=N(0);function s(){}for(var i in g)s[i]=g[i];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,A.exports=s},function(A,G,N){function g(s,i){s==null&&i==null?(this.x=0,this.y=0):(this.x=s,this.y=i)}g.prototype.getX=function(){return this.x},g.prototype.getY=function(){return this.y},g.prototype.setX=function(s){this.x=s},g.prototype.setY=function(s){this.y=s},g.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},g.prototype.getCopy=function(){return new g(this.x,this.y)},g.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},A.exports=g},function(A,G,N){var g=N(2),s=N(10),i=N(0),r=N(7),e=N(3),f=N(1),a=N(13),y=N(12),t=N(11);function h(c,l,T){g.call(this,T),this.estimatedSize=s.MIN_VALUE,this.margin=i.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=c,l!=null&&l instanceof r?this.graphManager=l:l!=null&&l instanceof Layout&&(this.graphManager=l.graphManager)}h.prototype=Object.create(g.prototype);for(var o in g)h[o]=g[o];h.prototype.getNodes=function(){return this.nodes},h.prototype.getEdges=function(){return this.edges},h.prototype.getGraphManager=function(){return this.graphManager},h.prototype.getParent=function(){return this.parent},h.prototype.getLeft=function(){return this.left},h.prototype.getRight=function(){return this.right},h.prototype.getTop=function(){return this.top},h.prototype.getBottom=function(){return this.bottom},h.prototype.isConnected=function(){return this.isConnected},h.prototype.add=function(c,l,T){if(l==null&&T==null){var u=c;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(u)>-1)throw"Node already in graph!";return u.owner=this,this.getNodes().push(u),u}else{var d=c;if(!(this.getNodes().indexOf(l)>-1&&this.getNodes().indexOf(T)>-1))throw"Source or target not in graph!";if(!(l.owner==T.owner&&l.owner==this))throw"Both owners must be this graph!";return l.owner!=T.owner?null:(d.source=l,d.target=T,d.isInterGraph=!1,this.getEdges().push(d),l.edges.push(d),T!=l&&T.edges.push(d),d)}},h.prototype.remove=function(c){var l=c;if(c instanceof e){if(l==null)throw"Node is null!";if(!(l.owner!=null&&l.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var T=l.edges.slice(),u,d=T.length,L=0;L-1&&P>-1))throw"Source and/or target doesn't know this edge!";u.source.edges.splice(M,1),u.target!=u.source&&u.target.edges.splice(P,1);var F=u.source.owner.getEdges().indexOf(u);if(F==-1)throw"Not in owner's edge list!";u.source.owner.getEdges().splice(F,1)}},h.prototype.updateLeftTop=function(){for(var c=s.MAX_VALUE,l=s.MAX_VALUE,T,u,d,L=this.getNodes(),F=L.length,M=0;MT&&(c=T),l>u&&(l=u)}return c==s.MAX_VALUE?null:(L[0].getParent().paddingLeft!=null?d=L[0].getParent().paddingLeft:d=this.margin,this.left=l-d,this.top=c-d,new y(this.left,this.top))},h.prototype.updateBounds=function(c){for(var l=s.MAX_VALUE,T=-s.MAX_VALUE,u=s.MAX_VALUE,d=-s.MAX_VALUE,L,F,M,P,J,V=this.nodes,Q=V.length,D=0;DL&&(l=L),TM&&(u=M),dL&&(l=L),TM&&(u=M),d=this.nodes.length){var Q=0;T.forEach(function(D){D.owner==c&&Q++}),Q==this.nodes.length&&(this.isConnected=!0)}},A.exports=h},function(A,G,N){var g,s=N(1);function i(r){g=N(6),this.layout=r,this.graphs=[],this.edges=[]}i.prototype.addRoot=function(){var r=this.layout.newGraph(),e=this.layout.newNode(null),f=this.add(r,e);return this.setRootGraph(f),this.rootGraph},i.prototype.add=function(r,e,f,a,y){if(f==null&&a==null&&y==null){if(r==null)throw"Graph is null!";if(e==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(e.child!=null)throw"Already has a child!";return r.parent=e,e.child=r,r}else{y=f,a=e,f=r;var t=a.getOwner(),h=y.getOwner();if(!(t!=null&&t.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(h!=null&&h.getGraphManager()==this))throw"Target not in this graph mgr!";if(t==h)return f.isInterGraph=!1,t.add(f,a,y);if(f.isInterGraph=!0,f.source=a,f.target=y,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},i.prototype.remove=function(r){if(r instanceof g){var e=r;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(e==this.rootGraph||e.parent!=null&&e.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(e.getEdges());for(var a,y=f.length,t=0;t=r.getRight()?e[0]+=Math.min(r.getX()-i.getX(),i.getRight()-r.getRight()):r.getX()<=i.getX()&&r.getRight()>=i.getRight()&&(e[0]+=Math.min(i.getX()-r.getX(),r.getRight()-i.getRight())),i.getY()<=r.getY()&&i.getBottom()>=r.getBottom()?e[1]+=Math.min(r.getY()-i.getY(),i.getBottom()-r.getBottom()):r.getY()<=i.getY()&&r.getBottom()>=i.getBottom()&&(e[1]+=Math.min(i.getY()-r.getY(),r.getBottom()-i.getBottom()));var y=Math.abs((r.getCenterY()-i.getCenterY())/(r.getCenterX()-i.getCenterX()));r.getCenterY()===i.getCenterY()&&r.getCenterX()===i.getCenterX()&&(y=1);var t=y*e[0],h=e[1]/y;e[0]t)return e[0]=f,e[1]=o,e[2]=y,e[3]=V,!1;if(ay)return e[0]=h,e[1]=a,e[2]=P,e[3]=t,!1;if(fy?(e[0]=l,e[1]=T,n=!0):(e[0]=c,e[1]=o,n=!0):v===p&&(f>y?(e[0]=h,e[1]=o,n=!0):(e[0]=u,e[1]=T,n=!0)),-E===p?y>f?(e[2]=J,e[3]=V,m=!0):(e[2]=P,e[3]=M,m=!0):E===p&&(y>f?(e[2]=F,e[3]=M,m=!0):(e[2]=Q,e[3]=V,m=!0)),n&&m)return!1;if(f>y?a>t?(I=this.getCardinalDirection(v,p,4),w=this.getCardinalDirection(E,p,2)):(I=this.getCardinalDirection(-v,p,3),w=this.getCardinalDirection(-E,p,1)):a>t?(I=this.getCardinalDirection(-v,p,1),w=this.getCardinalDirection(-E,p,3)):(I=this.getCardinalDirection(v,p,2),w=this.getCardinalDirection(E,p,4)),!n)switch(I){case 1:H=o,R=f+-L/p,e[0]=R,e[1]=H;break;case 2:R=u,H=a+d*p,e[0]=R,e[1]=H;break;case 3:H=T,R=f+L/p,e[0]=R,e[1]=H;break;case 4:R=l,H=a+-d*p,e[0]=R,e[1]=H;break}if(!m)switch(w){case 1:k=M,x=y+-rt/p,e[2]=x,e[3]=k;break;case 2:x=Q,k=t+D*p,e[2]=x,e[3]=k;break;case 3:k=V,x=y+rt/p,e[2]=x,e[3]=k;break;case 4:x=J,k=t+-D*p,e[2]=x,e[3]=k;break}}return!1},s.getCardinalDirection=function(i,r,e){return i>r?e:1+e%4},s.getIntersection=function(i,r,e,f){if(f==null)return this.getIntersection2(i,r,e);var a=i.x,y=i.y,t=r.x,h=r.y,o=e.x,c=e.y,l=f.x,T=f.y,u=void 0,d=void 0,L=void 0,F=void 0,M=void 0,P=void 0,J=void 0,V=void 0,Q=void 0;return L=h-y,M=a-t,J=t*y-a*h,F=T-c,P=o-l,V=l*c-o*T,Q=L*P-F*M,Q===0?null:(u=(M*V-P*J)/Q,d=(F*J-L*V)/Q,new g(u,d))},s.angleOfVector=function(i,r,e,f){var a=void 0;return i!==e?(a=Math.atan((f-r)/(e-i)),e=0){var T=(-o+Math.sqrt(o*o-4*h*c))/(2*h),u=(-o-Math.sqrt(o*o-4*h*c))/(2*h),d=null;return T>=0&&T<=1?[T]:u>=0&&u<=1?[u]:d}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,A.exports=s},function(A,G,N){function g(){}g.sign=function(s){return s>0?1:s<0?-1:0},g.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},g.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},A.exports=g},function(A,G,N){function g(){}g.MAX_VALUE=2147483647,g.MIN_VALUE=-2147483648,A.exports=g},function(A,G,N){var g=function(){function a(y,t){for(var h=0;h"u"?"undefined":g(i);return i==null||r!="object"&&r!="function"},A.exports=s},function(A,G,N){function g(o){if(Array.isArray(o)){for(var c=0,l=Array(o.length);c0&&c;){for(L.push(M[0]);L.length>0&&c;){var P=L[0];L.splice(0,1),d.add(P);for(var J=P.getEdges(),u=0;u-1&&M.splice(rt,1)}d=new Set,F=new Map}}return o},h.prototype.createDummyNodesForBendpoints=function(o){for(var c=[],l=o.source,T=this.graphManager.calcLowestCommonAncestor(o.source,o.target),u=0;u0){for(var T=this.edgeToDummyNodes.get(l),u=0;u=0&&c.splice(V,1);var Q=F.getNeighborsList();Q.forEach(function(n){if(l.indexOf(n)<0){var m=T.get(n),v=m-1;v==1&&P.push(n),T.set(n,v)}})}l=l.concat(P),(c.length==1||c.length==2)&&(u=!0,d=c[0])}return d},h.prototype.setGraphManager=function(o){this.graphManager=o},A.exports=h},function(A,G,N){function g(){}g.seed=1,g.x=0,g.nextDouble=function(){return g.x=Math.sin(g.seed++)*1e4,g.x-Math.floor(g.x)},A.exports=g},function(A,G,N){var g=N(5);function s(i,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}s.prototype.getWorldOrgX=function(){return this.lworldOrgX},s.prototype.setWorldOrgX=function(i){this.lworldOrgX=i},s.prototype.getWorldOrgY=function(){return this.lworldOrgY},s.prototype.setWorldOrgY=function(i){this.lworldOrgY=i},s.prototype.getWorldExtX=function(){return this.lworldExtX},s.prototype.setWorldExtX=function(i){this.lworldExtX=i},s.prototype.getWorldExtY=function(){return this.lworldExtY},s.prototype.setWorldExtY=function(i){this.lworldExtY=i},s.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},s.prototype.setDeviceOrgX=function(i){this.ldeviceOrgX=i},s.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},s.prototype.setDeviceOrgY=function(i){this.ldeviceOrgY=i},s.prototype.getDeviceExtX=function(){return this.ldeviceExtX},s.prototype.setDeviceExtX=function(i){this.ldeviceExtX=i},s.prototype.getDeviceExtY=function(){return this.ldeviceExtY},s.prototype.setDeviceExtY=function(i){this.ldeviceExtY=i},s.prototype.transformX=function(i){var r=0,e=this.lworldExtX;return e!=0&&(r=this.ldeviceOrgX+(i-this.lworldOrgX)*this.ldeviceExtX/e),r},s.prototype.transformY=function(i){var r=0,e=this.lworldExtY;return e!=0&&(r=this.ldeviceOrgY+(i-this.lworldOrgY)*this.ldeviceExtY/e),r},s.prototype.inverseTransformX=function(i){var r=0,e=this.ldeviceExtX;return e!=0&&(r=this.lworldOrgX+(i-this.ldeviceOrgX)*this.lworldExtX/e),r},s.prototype.inverseTransformY=function(i){var r=0,e=this.ldeviceExtY;return e!=0&&(r=this.lworldOrgY+(i-this.ldeviceOrgY)*this.lworldExtY/e),r},s.prototype.inverseTransformPoint=function(i){var r=new g(this.inverseTransformX(i.x),this.inverseTransformY(i.y));return r},A.exports=s},function(A,G,N){function g(t){if(Array.isArray(t)){for(var h=0,o=Array(t.length);hi.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*i.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-i.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>i.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(i.COOLING_ADAPTATION_FACTOR,1-(t-i.ADAPTATION_LOWER_NODE_LIMIT)/(i.ADAPTATION_UPPER_NODE_LIMIT-i.ADAPTATION_LOWER_NODE_LIMIT)*(1-i.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=i.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*i.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},a.prototype.calcSpringForces=function(){for(var t=this.getAllEdges(),h,o=0;o0&&arguments[0]!==void 0?arguments[0]:!0,h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o,c,l,T,u=this.getAllNodes(),d;if(this.useFRGridVariant)for(this.totalIterations%i.GRID_CALCULATION_CHECK_PERIOD==1&&t&&this.updateGrid(),d=new Set,o=0;oL||d>L)&&(t.gravitationForceX=-this.gravityConstant*l,t.gravitationForceY=-this.gravityConstant*T)):(L=h.getEstimatedSize()*this.compoundGravityRangeFactor,(u>L||d>L)&&(t.gravitationForceX=-this.gravityConstant*l*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*T*this.compoundGravityConstant))},a.prototype.isConverged=function(){var t,h=!1;return this.totalIterations>this.maxIterations/3&&(h=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=u.length||L>=u[0].length)){for(var F=0;Fa}}]),e}();A.exports=r},function(A,G,N){function g(){}g.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var i=Math.min(this.m,this.n);this.s=function(Nt){for(var Mt=[];Nt-- >0;)Mt.push(0);return Mt}(Math.min(this.m+1,this.n)),this.U=function(Nt){var Mt=function Zt(Gt){if(Gt.length==0)return 0;for(var $t=[],Ft=0;Ft0;)Mt.push(0);return Mt}(this.n),e=function(Nt){for(var Mt=[];Nt-- >0;)Mt.push(0);return Mt}(this.m),f=!0,a=Math.min(this.m-1,this.n),y=Math.max(0,Math.min(this.n-2,this.m)),t=0;t=0;E--)if(this.s[E]!==0){for(var p=E+1;p=0;W--){if(function(Nt,Mt){return Nt&&Mt}(W0;){var q=void 0,Rt=void 0;for(q=n-2;q>=-1&&q!==-1;q--)if(Math.abs(r[q])<=lt+_*(Math.abs(this.s[q])+Math.abs(this.s[q+1]))){r[q]=0;break}if(q===n-2)Rt=4;else{var Lt=void 0;for(Lt=n-1;Lt>=q&&Lt!==q;Lt--){var vt=(Lt!==n?Math.abs(r[Lt]):0)+(Lt!==q+1?Math.abs(r[Lt-1]):0);if(Math.abs(this.s[Lt])<=lt+_*vt){this.s[Lt]=0;break}}Lt===q?Rt=3:Lt===n-1?Rt=1:(Rt=2,q=Lt)}switch(q++,Rt){case 1:{var it=r[n-2];r[n-2]=0;for(var ut=n-2;ut>=q;ut--){var Tt=g.hypot(this.s[ut],it),At=this.s[ut]/Tt,Dt=it/Tt;this.s[ut]=Tt,ut!==q&&(it=-Dt*r[ut-1],r[ut-1]=At*r[ut-1]);for(var mt=0;mt=this.s[q+1]);){var Ct=this.s[q];if(this.s[q]=this.s[q+1],this.s[q+1]=Ct,qMath.abs(i)?(r=i/s,r=Math.abs(s)*Math.sqrt(1+r*r)):i!=0?(r=s/i,r=Math.abs(i)*Math.sqrt(1+r*r)):r=0,r},A.exports=g},function(A,G,N){var g=function(){function r(e,f){for(var a=0;a2&&arguments[2]!==void 0?arguments[2]:1,y=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,r),this.sequence1=e,this.sequence2=f,this.match_score=a,this.mismatch_penalty=y,this.gap_penalty=t,this.iMax=e.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var h=0;h=0;e--){var f=this.listeners[e];f.event===i&&f.callback===r&&this.listeners.splice(e,1)}},s.emit=function(i,r){for(var e=0;e{var G={45:(i,r,e)=>{var f={};f.layoutBase=e(551),f.CoSEConstants=e(806),f.CoSEEdge=e(767),f.CoSEGraph=e(880),f.CoSEGraphManager=e(578),f.CoSELayout=e(765),f.CoSENode=e(991),f.ConstraintHandler=e(902),i.exports=f},806:(i,r,e)=>{var f=e(551).FDLayoutConstants;function a(){}for(var y in f)a[y]=f[y];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,a.ENFORCE_CONSTRAINTS=!0,a.APPLY_LAYOUT=!0,a.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,a.TREE_REDUCTION_ON_INCREMENTAL=!0,a.PURE_INCREMENTAL=a.DEFAULT_INCREMENTAL,i.exports=a},767:(i,r,e)=>{var f=e(551).FDLayoutEdge;function a(t,h,o){f.call(this,t,h,o)}a.prototype=Object.create(f.prototype);for(var y in f)a[y]=f[y];i.exports=a},880:(i,r,e)=>{var f=e(551).LGraph;function a(t,h,o){f.call(this,t,h,o)}a.prototype=Object.create(f.prototype);for(var y in f)a[y]=f[y];i.exports=a},578:(i,r,e)=>{var f=e(551).LGraphManager;function a(t){f.call(this,t)}a.prototype=Object.create(f.prototype);for(var y in f)a[y]=f[y];i.exports=a},765:(i,r,e)=>{var f=e(551).FDLayout,a=e(578),y=e(880),t=e(991),h=e(767),o=e(806),c=e(902),l=e(551).FDLayoutConstants,T=e(551).LayoutConstants,u=e(551).Point,d=e(551).PointD,L=e(551).DimensionD,F=e(551).Layout,M=e(551).Integer,P=e(551).IGeometry,J=e(551).LGraph,V=e(551).Transform,Q=e(551).LinkedList;function D(){f.call(this),this.toBeTiled={},this.constraints={}}D.prototype=Object.create(f.prototype);for(var rt in f)D[rt]=f[rt];D.prototype.newGraphManager=function(){var n=new a(this);return this.graphManager=n,n},D.prototype.newGraph=function(n){return new y(null,this.graphManager,n)},D.prototype.newNode=function(n){return new t(this.graphManager,n)},D.prototype.newEdge=function(n){return new h(null,null,n)},D.prototype.initParameters=function(){f.prototype.initParameters.call(this,arguments),this.isSubLayout||(o.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},D.prototype.initSpringEmbedder=function(){f.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},D.prototype.layout=function(){var n=T.DEFAULT_CREATE_BENDS_AS_NEEDED;return n&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},D.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(o.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var m=new Set(this.getAllNodes()),v=this.nodesWithGravity.filter(function(I){return m.has(I)});this.graphManager.setAllNodesToApplyGravitation(v)}}else{var n=this.getFlatForest();if(n.length>0)this.positionNodesRadially(n);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var m=new Set(this.getAllNodes()),v=this.nodesWithGravity.filter(function(E){return m.has(E)});this.graphManager.setAllNodesToApplyGravitation(v),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(c.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),o.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},D.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var n=new Set(this.getAllNodes()),m=this.nodesWithGravity.filter(function(p){return n.has(p)});this.graphManager.setAllNodesToApplyGravitation(m),this.graphManager.updateBounds(),this.updateGrid(),o.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),o.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var v=!this.isTreeGrowing&&!this.isGrowthFinished,E=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(v,E),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},D.prototype.getPositionsData=function(){for(var n=this.graphManager.getAllNodes(),m={},v=0;v0&&this.updateDisplacements();for(var v=0;v0&&(E.fixedNodeWeight=I)}}if(this.constraints.relativePlacementConstraint){var w=new Map,R=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(O){n.fixedNodesOnHorizontal.add(O),n.fixedNodesOnVertical.add(O)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var H=this.constraints.alignmentConstraint.vertical,v=0;v=2*O.length/3;_--)X=Math.floor(Math.random()*(_+1)),B=O[_],O[_]=O[X],O[X]=B;return O},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var X=w.has(O.left)?w.get(O.left):O.left,B=w.has(O.right)?w.get(O.right):O.right;n.nodesInRelativeHorizontal.includes(X)||(n.nodesInRelativeHorizontal.push(X),n.nodeToRelativeConstraintMapHorizontal.set(X,[]),n.dummyToNodeForVerticalAlignment.has(X)?n.nodeToTempPositionMapHorizontal.set(X,n.idToNodeMap.get(n.dummyToNodeForVerticalAlignment.get(X)[0]).getCenterX()):n.nodeToTempPositionMapHorizontal.set(X,n.idToNodeMap.get(X).getCenterX())),n.nodesInRelativeHorizontal.includes(B)||(n.nodesInRelativeHorizontal.push(B),n.nodeToRelativeConstraintMapHorizontal.set(B,[]),n.dummyToNodeForVerticalAlignment.has(B)?n.nodeToTempPositionMapHorizontal.set(B,n.idToNodeMap.get(n.dummyToNodeForVerticalAlignment.get(B)[0]).getCenterX()):n.nodeToTempPositionMapHorizontal.set(B,n.idToNodeMap.get(B).getCenterX())),n.nodeToRelativeConstraintMapHorizontal.get(X).push({right:B,gap:O.gap}),n.nodeToRelativeConstraintMapHorizontal.get(B).push({left:X,gap:O.gap})}else{var _=R.has(O.top)?R.get(O.top):O.top,lt=R.has(O.bottom)?R.get(O.bottom):O.bottom;n.nodesInRelativeVertical.includes(_)||(n.nodesInRelativeVertical.push(_),n.nodeToRelativeConstraintMapVertical.set(_,[]),n.dummyToNodeForHorizontalAlignment.has(_)?n.nodeToTempPositionMapVertical.set(_,n.idToNodeMap.get(n.dummyToNodeForHorizontalAlignment.get(_)[0]).getCenterY()):n.nodeToTempPositionMapVertical.set(_,n.idToNodeMap.get(_).getCenterY())),n.nodesInRelativeVertical.includes(lt)||(n.nodesInRelativeVertical.push(lt),n.nodeToRelativeConstraintMapVertical.set(lt,[]),n.dummyToNodeForHorizontalAlignment.has(lt)?n.nodeToTempPositionMapVertical.set(lt,n.idToNodeMap.get(n.dummyToNodeForHorizontalAlignment.get(lt)[0]).getCenterY()):n.nodeToTempPositionMapVertical.set(lt,n.idToNodeMap.get(lt).getCenterY())),n.nodeToRelativeConstraintMapVertical.get(_).push({bottom:lt,gap:O.gap}),n.nodeToRelativeConstraintMapVertical.get(lt).push({top:_,gap:O.gap})}});else{var k=new Map,W=new Map;this.constraints.relativePlacementConstraint.forEach(function(O){if(O.left){var X=w.has(O.left)?w.get(O.left):O.left,B=w.has(O.right)?w.get(O.right):O.right;k.has(X)?k.get(X).push(B):k.set(X,[B]),k.has(B)?k.get(B).push(X):k.set(B,[X])}else{var _=R.has(O.top)?R.get(O.top):O.top,lt=R.has(O.bottom)?R.get(O.bottom):O.bottom;W.has(_)?W.get(_).push(lt):W.set(_,[lt]),W.has(lt)?W.get(lt).push(_):W.set(lt,[_])}});var U=function(X,B){var _=[],lt=[],q=new Q,Rt=new Set,Lt=0;return X.forEach(function(vt,it){if(!Rt.has(it)){_[Lt]=[],lt[Lt]=!1;var ut=it;for(q.push(ut),Rt.add(ut),_[Lt].push(ut);q.length!=0;){ut=q.shift(),B.has(ut)&&(lt[Lt]=!0);var Tt=X.get(ut);Tt.forEach(function(At){Rt.has(At)||(q.push(At),Rt.add(At),_[Lt].push(At))})}Lt++}}),{components:_,isFixed:lt}},et=U(k,n.fixedNodesOnHorizontal);this.componentsOnHorizontal=et.components,this.fixedComponentsOnHorizontal=et.isFixed;var z=U(W,n.fixedNodesOnVertical);this.componentsOnVertical=z.components,this.fixedComponentsOnVertical=z.isFixed}}},D.prototype.updateDisplacements=function(){var n=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(z){var O=n.idToNodeMap.get(z.nodeId);O.displacementX=0,O.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var m=this.constraints.alignmentConstraint.vertical,v=0;v1){var R;for(R=0;RE&&(E=Math.floor(w.y)),I=Math.floor(w.x+o.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(T.WORLD_CENTER_X-w.x/2,T.WORLD_CENTER_Y-w.y/2))},D.radialLayout=function(n,m,v){var E=Math.max(this.maxDiagonalInTree(n),o.DEFAULT_RADIAL_SEPARATION);D.branchRadialLayout(m,null,0,359,0,E);var p=J.calculateBounds(n),I=new V;I.setDeviceOrgX(p.getMinX()),I.setDeviceOrgY(p.getMinY()),I.setWorldOrgX(v.x),I.setWorldOrgY(v.y);for(var w=0;w1;){var B=X[0];X.splice(0,1);var _=W.indexOf(B);_>=0&&W.splice(_,1),z--,U--}m!=null?O=(W.indexOf(X[0])+1)%z:O=0;for(var lt=Math.abs(E-v)/U,q=O;et!=U;q=++q%z){var Rt=W[q].getOtherEnd(n);if(Rt!=m){var Lt=(v+et*lt)%360,vt=(Lt+lt)%360;D.branchRadialLayout(Rt,n,Lt,vt,p+I,I),et++}}},D.maxDiagonalInTree=function(n){for(var m=M.MIN_VALUE,v=0;vm&&(m=p)}return m},D.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},D.prototype.groupZeroDegreeMembers=function(){var n=this,m={};this.memberGroups={},this.idToDummyNode={};for(var v=[],E=this.graphManager.getAllNodes(),p=0;p"u"&&(m[R]=[]),m[R]=m[R].concat(I)}Object.keys(m).forEach(function(H){if(m[H].length>1){var x="DummyCompound_"+H;n.memberGroups[x]=m[H];var k=m[H][0].getParent(),W=new t(n.graphManager);W.id=x,W.paddingLeft=k.paddingLeft||0,W.paddingRight=k.paddingRight||0,W.paddingBottom=k.paddingBottom||0,W.paddingTop=k.paddingTop||0,n.idToDummyNode[x]=W;var U=n.getGraphManager().add(n.newGraph(),W),et=k.getChild();et.add(W);for(var z=0;zp?(E.rect.x-=(E.labelWidth-p)/2,E.setWidth(E.labelWidth),E.labelMarginLeft=(E.labelWidth-p)/2):E.labelPosHorizontal=="right"&&E.setWidth(p+E.labelWidth)),E.labelHeight&&(E.labelPosVertical=="top"?(E.rect.y-=E.labelHeight,E.setHeight(I+E.labelHeight),E.labelMarginTop=E.labelHeight):E.labelPosVertical=="center"&&E.labelHeight>I?(E.rect.y-=(E.labelHeight-I)/2,E.setHeight(E.labelHeight),E.labelMarginTop=(E.labelHeight-I)/2):E.labelPosVertical=="bottom"&&E.setHeight(I+E.labelHeight))}})},D.prototype.repopulateCompounds=function(){for(var n=this.compoundOrder.length-1;n>=0;n--){var m=this.compoundOrder[n],v=m.id,E=m.paddingLeft,p=m.paddingTop,I=m.labelMarginLeft,w=m.labelMarginTop;this.adjustLocations(this.tiledMemberPack[v],m.rect.x,m.rect.y,E,p,I,w)}},D.prototype.repopulateZeroDegreeMembers=function(){var n=this,m=this.tiledZeroDegreePack;Object.keys(m).forEach(function(v){var E=n.idToDummyNode[v],p=E.paddingLeft,I=E.paddingTop,w=E.labelMarginLeft,R=E.labelMarginTop;n.adjustLocations(m[v],E.rect.x,E.rect.y,p,I,w,R)})},D.prototype.getToBeTiled=function(n){var m=n.id;if(this.toBeTiled[m]!=null)return this.toBeTiled[m];var v=n.getChild();if(v==null)return this.toBeTiled[m]=!1,!1;for(var E=v.getNodes(),p=0;p0)return this.toBeTiled[m]=!1,!1;if(I.getChild()==null){this.toBeTiled[I.id]=!1;continue}if(!this.getToBeTiled(I))return this.toBeTiled[m]=!1,!1}return this.toBeTiled[m]=!0,!0},D.prototype.getNodeDegree=function(n){n.id;for(var m=n.getEdges(),v=0,E=0;Ek&&(k=U.rect.height)}v+=k+n.verticalPadding}},D.prototype.tileCompoundMembers=function(n,m){var v=this;this.tiledMemberPack=[],Object.keys(n).forEach(function(E){var p=m[E];if(v.tiledMemberPack[E]=v.tileNodes(n[E],p.paddingLeft+p.paddingRight),p.rect.width=v.tiledMemberPack[E].width,p.rect.height=v.tiledMemberPack[E].height,p.setCenter(v.tiledMemberPack[E].centerX,v.tiledMemberPack[E].centerY),p.labelMarginLeft=0,p.labelMarginTop=0,o.NODE_DIMENSIONS_INCLUDE_LABELS){var I=p.rect.width,w=p.rect.height;p.labelWidth&&(p.labelPosHorizontal=="left"?(p.rect.x-=p.labelWidth,p.setWidth(I+p.labelWidth),p.labelMarginLeft=p.labelWidth):p.labelPosHorizontal=="center"&&p.labelWidth>I?(p.rect.x-=(p.labelWidth-I)/2,p.setWidth(p.labelWidth),p.labelMarginLeft=(p.labelWidth-I)/2):p.labelPosHorizontal=="right"&&p.setWidth(I+p.labelWidth)),p.labelHeight&&(p.labelPosVertical=="top"?(p.rect.y-=p.labelHeight,p.setHeight(w+p.labelHeight),p.labelMarginTop=p.labelHeight):p.labelPosVertical=="center"&&p.labelHeight>w?(p.rect.y-=(p.labelHeight-w)/2,p.setHeight(p.labelHeight),p.labelMarginTop=(p.labelHeight-w)/2):p.labelPosVertical=="bottom"&&p.setHeight(w+p.labelHeight))}})},D.prototype.tileNodes=function(n,m){var v=this.tileNodesByFavoringDim(n,m,!0),E=this.tileNodesByFavoringDim(n,m,!1),p=this.getOrgRatio(v),I=this.getOrgRatio(E),w;return IR&&(R=z.getWidth())});var H=I/p,x=w/p,k=Math.pow(v-E,2)+4*(H+E)*(x+v)*p,W=(E-v+Math.sqrt(k))/(2*(H+E)),U;m?(U=Math.ceil(W),U==W&&U++):U=Math.floor(W);var et=U*(H+E)-E;return R>et&&(et=R),et+=E*2,et},D.prototype.tileNodesByFavoringDim=function(n,m,v){var E=o.TILING_PADDING_VERTICAL,p=o.TILING_PADDING_HORIZONTAL,I=o.TILING_COMPARE_BY,w={rows:[],rowWidth:[],rowHeight:[],width:0,height:m,verticalPadding:E,horizontalPadding:p,centerX:0,centerY:0};I&&(w.idealRowWidth=this.calcIdealRowWidth(n,v));var R=function(O){return O.rect.width*O.rect.height},H=function(O,X){return R(X)-R(O)};n.sort(function(z,O){var X=H;return w.idealRowWidth?(X=I,X(z.id,O.id)):X(z,O)});for(var x=0,k=0,W=0;W0&&(w+=n.horizontalPadding),n.rowWidth[v]=w,n.width0&&(R+=n.verticalPadding);var H=0;R>n.rowHeight[v]&&(H=n.rowHeight[v],n.rowHeight[v]=R,H=n.rowHeight[v]-H),n.height+=H,n.rows[v].push(m)},D.prototype.getShortestRowIndex=function(n){for(var m=-1,v=Number.MAX_VALUE,E=0;Ev&&(m=E,v=n.rowWidth[E]);return m},D.prototype.canAddHorizontal=function(n,m,v){if(n.idealRowWidth){var E=n.rows.length-1,p=n.rowWidth[E];return p+m+n.horizontalPadding<=n.idealRowWidth}var I=this.getShortestRowIndex(n);if(I<0)return!0;var w=n.rowWidth[I];if(w+n.horizontalPadding+m<=n.width)return!0;var R=0;n.rowHeight[I]0&&(R=v+n.verticalPadding-n.rowHeight[I]);var H;n.width-w>=m+n.horizontalPadding?H=(n.height+R)/(w+m+n.horizontalPadding):H=(n.height+R)/n.width,R=v+n.verticalPadding;var x;return n.widthI&&m!=v){E.splice(-1,1),n.rows[v].push(p),n.rowWidth[m]=n.rowWidth[m]-I,n.rowWidth[v]=n.rowWidth[v]+I,n.width=n.rowWidth[instance.getLongestRowIndex(n)];for(var w=Number.MIN_VALUE,R=0;Rw&&(w=E[R].height);m>0&&(w+=n.verticalPadding);var H=n.rowHeight[m]+n.rowHeight[v];n.rowHeight[m]=w,n.rowHeight[v]0)for(var et=p;et<=I;et++)U[0]+=this.grid[et][w-1].length+this.grid[et][w].length-1;if(I0)for(var et=w;et<=R;et++)U[3]+=this.grid[p-1][et].length+this.grid[p][et].length-1;for(var z=M.MAX_VALUE,O,X,B=0;B{var f=e(551).FDLayoutNode,a=e(551).IMath;function y(h,o,c,l){f.call(this,h,o,c,l)}y.prototype=Object.create(f.prototype);for(var t in f)y[t]=f[t];y.prototype.calculateDisplacement=function(){var h=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=h.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=h.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=h.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=h.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementX=h.coolingFactor*h.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>h.coolingFactor*h.maxNodeDisplacement&&(this.displacementY=h.coolingFactor*h.maxNodeDisplacement*a.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},y.prototype.propogateDisplacementToChildren=function(h,o){for(var c=this.getChild().getNodes(),l,T=0;T{function f(c){if(Array.isArray(c)){for(var l=0,T=Array(c.length);l0){var Ct=0;st.forEach(function(ht){$=="horizontal"?(tt.set(ht,u.has(ht)?d[u.get(ht)]:Z.get(ht)),Ct+=tt.get(ht)):(tt.set(ht,u.has(ht)?L[u.get(ht)]:Z.get(ht)),Ct+=tt.get(ht))}),Ct=Ct/st.length,ft.forEach(function(ht){K.has(ht)||tt.set(ht,Ct)})}else{var ct=0;ft.forEach(function(ht){$=="horizontal"?ct+=u.has(ht)?d[u.get(ht)]:Z.get(ht):ct+=u.has(ht)?L[u.get(ht)]:Z.get(ht)}),ct=ct/ft.length,ft.forEach(function(ht){tt.set(ht,ct)})}});for(var wt=function(){var st=dt.shift(),Ct=b.get(st);Ct.forEach(function(ct){if(tt.get(ct.id)ht&&(ht=qt),_tWt&&(Wt=_t)}}catch(ie){Mt=!0,Zt=ie}finally{try{!Nt&&Gt.return&&Gt.return()}finally{if(Mt)throw Zt}}var ce=(Ct+ht)/2-(ct+Wt)/2,Kt=!0,te=!1,ee=void 0;try{for(var jt=ft[Symbol.iterator](),se;!(Kt=(se=jt.next()).done);Kt=!0){var re=se.value;tt.set(re,tt.get(re)+ce)}}catch(ie){te=!0,ee=ie}finally{try{!Kt&&jt.return&&jt.return()}finally{if(te)throw ee}}})}return tt},rt=function(b){var $=0,K=0,Z=0,at=0;if(b.forEach(function(j){j.left?d[u.get(j.left)]-d[u.get(j.right)]>=0?$++:K++:L[u.get(j.top)]-L[u.get(j.bottom)]>=0?Z++:at++}),$>K&&Z>at)for(var gt=0;gtK)for(var ot=0;otat)for(var tt=0;tt1)l.fixedNodeConstraint.forEach(function(S,b){E[b]=[S.position.x,S.position.y],p[b]=[d[u.get(S.nodeId)],L[u.get(S.nodeId)]]}),I=!0;else if(l.alignmentConstraint)(function(){var S=0;if(l.alignmentConstraint.vertical){for(var b=l.alignmentConstraint.vertical,$=function(tt){var j=new Set;b[tt].forEach(function(yt){j.add(yt)});var dt=new Set([].concat(f(j)).filter(function(yt){return R.has(yt)})),wt=void 0;dt.size>0?wt=d[u.get(dt.values().next().value)]:wt=Q(j).x,b[tt].forEach(function(yt){E[S]=[wt,L[u.get(yt)]],p[S]=[d[u.get(yt)],L[u.get(yt)]],S++})},K=0;K0?wt=d[u.get(dt.values().next().value)]:wt=Q(j).y,Z[tt].forEach(function(yt){E[S]=[d[u.get(yt)],wt],p[S]=[d[u.get(yt)],L[u.get(yt)]],S++})},gt=0;gtW&&(W=k[et].length,U=et);if(W0){var mt={x:0,y:0};l.fixedNodeConstraint.forEach(function(S,b){var $={x:d[u.get(S.nodeId)],y:L[u.get(S.nodeId)]},K=S.position,Z=V(K,$);mt.x+=Z.x,mt.y+=Z.y}),mt.x/=l.fixedNodeConstraint.length,mt.y/=l.fixedNodeConstraint.length,d.forEach(function(S,b){d[b]+=mt.x}),L.forEach(function(S,b){L[b]+=mt.y}),l.fixedNodeConstraint.forEach(function(S){d[u.get(S.nodeId)]=S.position.x,L[u.get(S.nodeId)]=S.position.y})}if(l.alignmentConstraint){if(l.alignmentConstraint.vertical)for(var xt=l.alignmentConstraint.vertical,St=function(b){var $=new Set;xt[b].forEach(function(at){$.add(at)});var K=new Set([].concat(f($)).filter(function(at){return R.has(at)})),Z=void 0;K.size>0?Z=d[u.get(K.values().next().value)]:Z=Q($).x,$.forEach(function(at){R.has(at)||(d[u.get(at)]=Z)})},Vt=0;Vt0?Z=L[u.get(K.values().next().value)]:Z=Q($).y,$.forEach(function(at){R.has(at)||(L[u.get(at)]=Z)})},bt=0;bt{i.exports=A}},N={};function g(i){var r=N[i];if(r!==void 0)return r.exports;var e=N[i]={exports:{}};return G[i](e,e.exports,g),e.exports}var s=g(45);return s})()})}(pe)),pe.exports}(function(C,Y){(function(G,N){C.exports=N(cr())})(Te,function(A){return(()=>{var G={658:i=>{i.exports=Object.assign!=null?Object.assign.bind(Object):function(r){for(var e=arguments.length,f=Array(e>1?e-1:0),a=1;a{var f=function(){function t(h,o){var c=[],l=!0,T=!1,u=void 0;try{for(var d=h[Symbol.iterator](),L;!(l=(L=d.next()).done)&&(c.push(L.value),!(o&&c.length===o));l=!0);}catch(F){T=!0,u=F}finally{try{!l&&d.return&&d.return()}finally{if(T)throw u}}return c}return function(h,o){if(Array.isArray(h))return h;if(Symbol.iterator in Object(h))return t(h,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=e(140).layoutBase.LinkedList,y={};y.getTopMostNodes=function(t){for(var h={},o=0;o0&&I.merge(x)});for(var w=0;w1){L=u[0],F=L.connectedEdges().length,u.forEach(function(p){p.connectedEdges().length0&&c.set("dummy"+(c.size+1),J),V},y.relocateComponent=function(t,h,o){if(!o.fixedNodeConstraint){var c=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,T=Number.POSITIVE_INFINITY,u=Number.NEGATIVE_INFINITY;if(o.quality=="draft"){var d=!0,L=!1,F=void 0;try{for(var M=h.nodeIndexes[Symbol.iterator](),P;!(d=(P=M.next()).done);d=!0){var J=P.value,V=f(J,2),Q=V[0],D=V[1],rt=o.cy.getElementById(Q);if(rt){var n=rt.boundingBox(),m=h.xCoords[D]-n.w/2,v=h.xCoords[D]+n.w/2,E=h.yCoords[D]-n.h/2,p=h.yCoords[D]+n.h/2;ml&&(l=v),Eu&&(u=p)}}}catch(x){L=!0,F=x}finally{try{!d&&M.return&&M.return()}finally{if(L)throw F}}var I=t.x-(l+c)/2,w=t.y-(u+T)/2;h.xCoords=h.xCoords.map(function(x){return x+I}),h.yCoords=h.yCoords.map(function(x){return x+w})}else{Object.keys(h).forEach(function(x){var k=h[x],W=k.getRect().x,U=k.getRect().x+k.getRect().width,et=k.getRect().y,z=k.getRect().y+k.getRect().height;Wl&&(l=U),etu&&(u=z)});var R=t.x-(l+c)/2,H=t.y-(u+T)/2;Object.keys(h).forEach(function(x){var k=h[x];k.setCenter(k.getCenterX()+R,k.getCenterY()+H)})}}},y.calcBoundingBox=function(t,h,o,c){for(var l=Number.MAX_SAFE_INTEGER,T=Number.MIN_SAFE_INTEGER,u=Number.MAX_SAFE_INTEGER,d=Number.MIN_SAFE_INTEGER,L=void 0,F=void 0,M=void 0,P=void 0,J=t.descendants().not(":parent"),V=J.length,Q=0;QL&&(l=L),TM&&(u=M),d{var f=e(548),a=e(140).CoSELayout,y=e(140).CoSENode,t=e(140).layoutBase.PointD,h=e(140).layoutBase.DimensionD,o=e(140).layoutBase.LayoutConstants,c=e(140).layoutBase.FDLayoutConstants,l=e(140).CoSEConstants,T=function(d,L){var F=d.cy,M=d.eles,P=M.nodes(),J=M.edges(),V=void 0,Q=void 0,D=void 0,rt={};d.randomize&&(V=L.nodeIndexes,Q=L.xCoords,D=L.yCoords);var n=function(x){return typeof x=="function"},m=function(x,k){return n(x)?x(k):x},v=f.calcParentsWithoutChildren(F,M),E=function H(x,k,W,U){for(var et=k.length,z=0;z0){var q=void 0;q=W.getGraphManager().add(W.newGraph(),B),H(q,X,W,U)}}},p=function(x,k,W){for(var U=0,et=0,z=0;z0?l.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=U/et:n(d.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=d.idealEdgeLength,l.MIN_REPULSION_DIST=c.MIN_REPULSION_DIST=c.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=c.DEFAULT_EDGE_LENGTH)},I=function(x,k){k.fixedNodeConstraint&&(x.constraints.fixedNodeConstraint=k.fixedNodeConstraint),k.alignmentConstraint&&(x.constraints.alignmentConstraint=k.alignmentConstraint),k.relativePlacementConstraint&&(x.constraints.relativePlacementConstraint=k.relativePlacementConstraint)};d.nestingFactor!=null&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=d.nestingFactor),d.gravity!=null&&(l.DEFAULT_GRAVITY_STRENGTH=c.DEFAULT_GRAVITY_STRENGTH=d.gravity),d.numIter!=null&&(l.MAX_ITERATIONS=c.MAX_ITERATIONS=d.numIter),d.gravityRange!=null&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=c.DEFAULT_GRAVITY_RANGE_FACTOR=d.gravityRange),d.gravityCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=d.gravityCompound),d.gravityRangeCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=d.gravityRangeCompound),d.initialEnergyOnIncremental!=null&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.DEFAULT_COOLING_FACTOR_INCREMENTAL=d.initialEnergyOnIncremental),d.tilingCompareBy!=null&&(l.TILING_COMPARE_BY=d.tilingCompareBy),d.quality=="proof"?o.QUALITY=2:o.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=o.NODE_DIMENSIONS_INCLUDE_LABELS=d.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!d.randomize,l.ANIMATE=c.ANIMATE=o.ANIMATE=d.animate,l.TILE=d.tile,l.TILING_PADDING_VERTICAL=typeof d.tilingPaddingVertical=="function"?d.tilingPaddingVertical.call():d.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL=typeof d.tilingPaddingHorizontal=="function"?d.tilingPaddingHorizontal.call():d.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!d.randomize,o.DEFAULT_UNIFORM_LEAF_NODE_SIZES=d.uniformNodeDimensions,d.step=="transformed"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),d.step=="enforced"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),d.step=="cose"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),d.step=="all"&&(d.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),d.fixedNodeConstraint||d.alignmentConstraint||d.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var w=new a,R=w.newGraphManager();return E(R.addRoot(),f.getTopMostNodes(P),w,d),p(w,R,J),I(w,d),w.runLayout(),rt};i.exports={coseLayout:T}},212:(i,r,e)=>{var f=function(){function d(L,F){for(var M=0;M0)if(v){var I=t.getTopMostNodes(M.eles.nodes());if(D=t.connectComponents(P,M.eles,I),D.forEach(function(vt){var it=vt.boundingBox();rt.push({x:it.x1+it.w/2,y:it.y1+it.h/2})}),M.randomize&&D.forEach(function(vt){M.eles=vt,V.push(o(M))}),M.quality=="default"||M.quality=="proof"){var w=P.collection();if(M.tile){var R=new Map,H=[],x=[],k=0,W={nodeIndexes:R,xCoords:H,yCoords:x},U=[];if(D.forEach(function(vt,it){vt.edges().length==0&&(vt.nodes().forEach(function(ut,Tt){w.merge(vt.nodes()[Tt]),ut.isParent()||(W.nodeIndexes.set(vt.nodes()[Tt].id(),k++),W.xCoords.push(vt.nodes()[0].position().x),W.yCoords.push(vt.nodes()[0].position().y))}),U.push(it))}),w.length>1){var et=w.boundingBox();rt.push({x:et.x1+et.w/2,y:et.y1+et.h/2}),D.push(w),V.push(W);for(var z=U.length-1;z>=0;z--)D.splice(U[z],1),V.splice(U[z],1),rt.splice(U[z],1)}}D.forEach(function(vt,it){M.eles=vt,Q.push(l(M,V[it])),t.relocateComponent(rt[it],Q[it],M)})}else D.forEach(function(vt,it){t.relocateComponent(rt[it],V[it],M)});var O=new Set;if(D.length>1){var X=[],B=J.filter(function(vt){return vt.css("display")=="none"});D.forEach(function(vt,it){var ut=void 0;if(M.quality=="draft"&&(ut=V[it].nodeIndexes),vt.nodes().not(B).length>0){var Tt={};Tt.edges=[],Tt.nodes=[];var At=void 0;vt.nodes().not(B).forEach(function(Dt){if(M.quality=="draft")if(!Dt.isParent())At=ut.get(Dt.id()),Tt.nodes.push({x:V[it].xCoords[At]-Dt.boundingbox().w/2,y:V[it].yCoords[At]-Dt.boundingbox().h/2,width:Dt.boundingbox().w,height:Dt.boundingbox().h});else{var mt=t.calcBoundingBox(Dt,V[it].xCoords,V[it].yCoords,ut);Tt.nodes.push({x:mt.topLeftX,y:mt.topLeftY,width:mt.width,height:mt.height})}else Q[it][Dt.id()]&&Tt.nodes.push({x:Q[it][Dt.id()].getLeft(),y:Q[it][Dt.id()].getTop(),width:Q[it][Dt.id()].getWidth(),height:Q[it][Dt.id()].getHeight()})}),vt.edges().forEach(function(Dt){var mt=Dt.source(),xt=Dt.target();if(mt.css("display")!="none"&&xt.css("display")!="none")if(M.quality=="draft"){var St=ut.get(mt.id()),Vt=ut.get(xt.id()),Xt=[],Ut=[];if(mt.isParent()){var bt=t.calcBoundingBox(mt,V[it].xCoords,V[it].yCoords,ut);Xt.push(bt.topLeftX+bt.width/2),Xt.push(bt.topLeftY+bt.height/2)}else Xt.push(V[it].xCoords[St]),Xt.push(V[it].yCoords[St]);if(xt.isParent()){var Ht=t.calcBoundingBox(xt,V[it].xCoords,V[it].yCoords,ut);Ut.push(Ht.topLeftX+Ht.width/2),Ut.push(Ht.topLeftY+Ht.height/2)}else Ut.push(V[it].xCoords[Vt]),Ut.push(V[it].yCoords[Vt]);Tt.edges.push({startX:Xt[0],startY:Xt[1],endX:Ut[0],endY:Ut[1]})}else Q[it][mt.id()]&&Q[it][xt.id()]&&Tt.edges.push({startX:Q[it][mt.id()].getCenterX(),startY:Q[it][mt.id()].getCenterY(),endX:Q[it][xt.id()].getCenterX(),endY:Q[it][xt.id()].getCenterY()})}),Tt.nodes.length>0&&(X.push(Tt),O.add(it))}});var _=m.packComponents(X,M.randomize).shifts;if(M.quality=="draft")V.forEach(function(vt,it){var ut=vt.xCoords.map(function(At){return At+_[it].dx}),Tt=vt.yCoords.map(function(At){return At+_[it].dy});vt.xCoords=ut,vt.yCoords=Tt});else{var lt=0;O.forEach(function(vt){Object.keys(Q[vt]).forEach(function(it){var ut=Q[vt][it];ut.setCenter(ut.getCenterX()+_[lt].dx,ut.getCenterY()+_[lt].dy)}),lt++})}}}else{var E=M.eles.boundingBox();if(rt.push({x:E.x1+E.w/2,y:E.y1+E.h/2}),M.randomize){var p=o(M);V.push(p)}M.quality=="default"||M.quality=="proof"?(Q.push(l(M,V[0])),t.relocateComponent(rt[0],Q[0],M)):t.relocateComponent(rt[0],V[0],M)}var q=function(it,ut){if(M.quality=="default"||M.quality=="proof"){typeof it=="number"&&(it=ut);var Tt=void 0,At=void 0,Dt=it.data("id");return Q.forEach(function(xt){Dt in xt&&(Tt={x:xt[Dt].getRect().getCenterX(),y:xt[Dt].getRect().getCenterY()},At=xt[Dt])}),M.nodeDimensionsIncludeLabels&&(At.labelWidth&&(At.labelPosHorizontal=="left"?Tt.x+=At.labelWidth/2:At.labelPosHorizontal=="right"&&(Tt.x-=At.labelWidth/2)),At.labelHeight&&(At.labelPosVertical=="top"?Tt.y+=At.labelHeight/2:At.labelPosVertical=="bottom"&&(Tt.y-=At.labelHeight/2))),Tt==null&&(Tt={x:it.position("x"),y:it.position("y")}),{x:Tt.x,y:Tt.y}}else{var mt=void 0;return V.forEach(function(xt){var St=xt.nodeIndexes.get(it.id());St!=null&&(mt={x:xt.xCoords[St],y:xt.yCoords[St]})}),mt==null&&(mt={x:it.position("x"),y:it.position("y")}),{x:mt.x,y:mt.y}}};if(M.quality=="default"||M.quality=="proof"||M.randomize){var Rt=t.calcParentsWithoutChildren(P,J),Lt=J.filter(function(vt){return vt.css("display")=="none"});M.eles=J.not(Lt),J.nodes().not(":parent").not(Lt).layoutPositions(F,M,q),Rt.length>0&&Rt.forEach(function(vt){vt.position(q(vt))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),d}();i.exports=u},657:(i,r,e)=>{var f=e(548),a=e(140).layoutBase.Matrix,y=e(140).layoutBase.SVD,t=function(o){var c=o.cy,l=o.eles,T=l.nodes(),u=l.nodes(":parent"),d=new Map,L=new Map,F=new Map,M=[],P=[],J=[],V=[],Q=[],D=[],rt=[],n=[],m=void 0,v=1e8,E=1e-9,p=o.piTol,I=o.samplingType,w=o.nodeSeparation,R=void 0,H=function(){for(var b=0,$=0,K=!1;$=at;){ot=Z[at++];for(var It=M[ot],ft=0;ftdt&&(dt=Q[Ct],wt=Ct)}return wt},k=function(b){var $=void 0;if(b){$=Math.floor(Math.random()*m);for(var Z=0;Z=1)break;j=tt}for(var yt=0;yt=1)break;j=tt}for(var ft=0;ft0&&($.isParent()?M[b].push(F.get($.id())):M[b].push($.id()))})});var Lt=function(b){var $=L.get(b),K=void 0;d.get(b).forEach(function(Z){c.getElementById(Z).isParent()?K=F.get(Z):K=Z,M[$].push(K),M[L.get(K)].push(b)})},vt=!0,it=!1,ut=void 0;try{for(var Tt=d.keys()[Symbol.iterator](),At;!(vt=(At=Tt.next()).done);vt=!0){var Dt=At.value;Lt(Dt)}}catch(S){it=!0,ut=S}finally{try{!vt&&Tt.return&&Tt.return()}finally{if(it)throw ut}}m=L.size;var mt=void 0;if(m>2){R=m{var f=e(212),a=function(t){t&&t("layout","fcose",f)};typeof cytoscape<"u"&&a(cytoscape),i.exports=a},140:i=>{i.exports=A}},N={};function g(i){var r=N[i];if(r!==void 0)return r.exports;var e=N[i]={exports:{}};return G[i](e,e.exports,g),e.exports}var s=g(579);return s})()})})(be);var gr=be.exports;const ur=ke(gr);var xe={L:"left",R:"right",T:"top",B:"bottom"},Ie={L:nt(C=>`${C},${C/2} 0,${C} 0,0`,"L"),R:nt(C=>`0,${C/2} ${C},0 ${C},${C}`,"R"),T:nt(C=>`0,0 ${C},0 ${C/2},${C}`,"T"),B:nt(C=>`${C/2},0 ${C},${C} 0,${C}`,"B")},he={L:nt((C,Y)=>C-Y+2,"L"),R:nt((C,Y)=>C-2,"R"),T:nt((C,Y)=>C-Y+2,"T"),B:nt((C,Y)=>C-2,"B")},dr=nt(function(C){return zt(C)?C==="L"?"R":"L":C==="T"?"B":"T"},"getOppositeArchitectureDirection"),Re=nt(function(C){const Y=C;return Y==="L"||Y==="R"||Y==="T"||Y==="B"},"isArchitectureDirection"),zt=nt(function(C){const Y=C;return Y==="L"||Y==="R"},"isArchitectureDirectionX"),Qt=nt(function(C){const Y=C;return Y==="T"||Y==="B"},"isArchitectureDirectionY"),Pe=nt(function(C,Y){const A=zt(C)&&Qt(Y),G=Qt(C)&&zt(Y);return A||G},"isArchitectureDirectionXY"),vr=nt(function(C){const Y=C[0],A=C[1],G=zt(Y)&&Qt(A),N=Qt(Y)&&zt(A);return G||N},"isArchitecturePairXY"),pr=nt(function(C){return C!=="LL"&&C!=="RR"&&C!=="TT"&&C!=="BB"},"isValidArchitectureDirectionPair"),me=nt(function(C,Y){const A=`${C}${Y}`;return pr(A)?A:void 0},"getArchitectureDirectionPair"),yr=nt(function([C,Y],A){const G=A[0],N=A[1];return zt(G)?Qt(N)?[C+(G==="L"?-1:1),Y+(N==="T"?1:-1)]:[C+(G==="L"?-1:1),Y]:zt(N)?[C+(N==="L"?1:-1),Y+(G==="T"?1:-1)]:[C,Y+(G==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Er=nt(function(C){return C==="LT"||C==="TL"?[1,1]:C==="BL"||C==="LB"?[1,-1]:C==="BR"||C==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),mr=nt(function(C){return C.type==="service"},"isArchitectureService"),Tr=nt(function(C){return C.type==="junction"},"isArchitectureJunction"),Ge=nt(C=>C.data(),"edgeData"),ne=nt(C=>C.data(),"nodeData"),Ue=qe.architecture,pt=new hr(()=>({nodes:{},groups:{},edges:[],registeredIds:{},config:Ue,dataStructures:void 0,elements:{}})),Nr=nt(()=>{pt.reset(),ar()},"clear"),Lr=nt(function({id:C,icon:Y,in:A,title:G,iconText:N}){if(pt.records.registeredIds[C]!==void 0)throw new Error(`The service id [${C}] is already in use by another ${pt.records.registeredIds[C]}`);if(A!==void 0){if(C===A)throw new Error(`The service [${C}] cannot be placed within itself`);if(pt.records.registeredIds[A]===void 0)throw new Error(`The service [${C}]'s parent does not exist. Please make sure the parent is created before this service`);if(pt.records.registeredIds[A]==="node")throw new Error(`The service [${C}]'s parent is not a group`)}pt.records.registeredIds[C]="node",pt.records.nodes[C]={id:C,type:"service",icon:Y,iconText:N,title:G,edges:[],in:A}},"addService"),Cr=nt(()=>Object.values(pt.records.nodes).filter(mr),"getServices"),Mr=nt(function({id:C,in:Y}){pt.records.registeredIds[C]="node",pt.records.nodes[C]={id:C,type:"junction",edges:[],in:Y}},"addJunction"),Ar=nt(()=>Object.values(pt.records.nodes).filter(Tr),"getJunctions"),wr=nt(()=>Object.values(pt.records.nodes),"getNodes"),Or=nt(C=>pt.records.nodes[C],"getNode"),Dr=nt(function({id:C,icon:Y,in:A,title:G}){if(pt.records.registeredIds[C]!==void 0)throw new Error(`The group id [${C}] is already in use by another ${pt.records.registeredIds[C]}`);if(A!==void 0){if(C===A)throw new Error(`The group [${C}] cannot be placed within itself`);if(pt.records.registeredIds[A]===void 0)throw new Error(`The group [${C}]'s parent does not exist. Please make sure the parent is created before this group`);if(pt.records.registeredIds[A]==="node")throw new Error(`The group [${C}]'s parent is not a group`)}pt.records.registeredIds[C]="group",pt.records.groups[C]={id:C,icon:Y,title:G,in:A}},"addGroup"),xr=nt(()=>Object.values(pt.records.groups),"getGroups"),Ir=nt(function({lhsId:C,rhsId:Y,lhsDir:A,rhsDir:G,lhsInto:N,rhsInto:g,lhsGroup:s,rhsGroup:i,title:r}){if(!Re(A))throw new Error(`Invalid direction given for left hand side of edge ${C}--${Y}. Expected (L,R,T,B) got ${A}`);if(!Re(G))throw new Error(`Invalid direction given for right hand side of edge ${C}--${Y}. Expected (L,R,T,B) got ${G}`);if(pt.records.nodes[C]===void 0&&pt.records.groups[C]===void 0)throw new Error(`The left-hand id [${C}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(pt.records.nodes[Y]===void 0&&pt.records.groups[C]===void 0)throw new Error(`The right-hand id [${Y}] does not yet exist. Please create the service/group before declaring an edge to it.`);const e=pt.records.nodes[C].in,f=pt.records.nodes[Y].in;if(s&&e&&f&&e==f)throw new Error(`The left-hand id [${C}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(i&&e&&f&&e==f)throw new Error(`The right-hand id [${Y}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const a={lhsId:C,lhsDir:A,lhsInto:N,lhsGroup:s,rhsId:Y,rhsDir:G,rhsInto:g,rhsGroup:i,title:r};pt.records.edges.push(a),pt.records.nodes[C]&&pt.records.nodes[Y]&&(pt.records.nodes[C].edges.push(pt.records.edges[pt.records.edges.length-1]),pt.records.nodes[Y].edges.push(pt.records.edges[pt.records.edges.length-1]))},"addEdge"),Rr=nt(()=>pt.records.edges,"getEdges"),Sr=nt(()=>{if(pt.records.dataStructures===void 0){const C=Object.entries(pt.records.nodes).reduce((s,[i,r])=>(s[i]=r.edges.reduce((e,f)=>{if(f.lhsId===i){const a=me(f.lhsDir,f.rhsDir);a&&(e[a]=f.rhsId)}else{const a=me(f.rhsDir,f.lhsDir);a&&(e[a]=f.lhsId)}return e},{}),s),{}),Y=Object.keys(C)[0],A={[Y]:1},G=Object.keys(C).reduce((s,i)=>i===Y?s:{...s,[i]:1},{}),N=nt(s=>{const i={[s]:[0,0]},r=[s];for(;r.length>0;){const e=r.shift();if(e){A[e]=1,delete G[e];const f=C[e],[a,y]=i[e];Object.entries(f).forEach(([t,h])=>{A[h]||(i[h]=yr([a,y],t),r.push(h))})}}return i},"BFS"),g=[N(Y)];for(;Object.keys(G).length>0;)g.push(N(Object.keys(G)[0]));pt.records.dataStructures={adjList:C,spatialMaps:g}}return pt.records.dataStructures},"getDataStructures"),Fr=nt((C,Y)=>{pt.records.elements[C]=Y},"setElementForId"),br=nt(C=>pt.records.elements[C],"getElementById"),le={clear:Nr,setDiagramTitle:Ke,getDiagramTitle:je,setAccTitle:_e,getAccTitle:tr,setAccDescription:er,getAccDescription:rr,addService:Lr,getServices:Cr,addJunction:Mr,getJunctions:Ar,getNodes:wr,getNode:Or,addGroup:Dr,getGroups:xr,addEdge:Ir,getEdges:Rr,setElementForId:Fr,getElementById:br,getDataStructures:Sr};function Pt(C){const Y=fe().architecture;return Y!=null&&Y[C]?Y[C]:Ue[C]}nt(Pt,"getConfigField");var Pr=nt((C,Y)=>{sr(C,Y),C.groups.map(Y.addGroup),C.services.map(A=>Y.addService({...A,type:"service"})),C.junctions.map(A=>Y.addJunction({...A,type:"junction"})),C.edges.map(Y.addEdge)},"populateDb"),Gr={parse:nt(async C=>{const Y=await lr("architecture",C);Se.debug(Y),Pr(Y,le)},"parse")},Ur=nt(C=>` .edge { stroke-width: ${C.archEdgeWidth}; stroke: ${C.archEdgeColor}; diff --git a/assets/chunks/basePickBy.Cv297fiu.js b/assets/chunks/basePickBy.DQSVnGZT.js similarity index 94% rename from assets/chunks/basePickBy.Cv297fiu.js rename to assets/chunks/basePickBy.DQSVnGZT.js index 5cbda5980..5e3026480 100644 --- a/assets/chunks/basePickBy.Cv297fiu.js +++ b/assets/chunks/basePickBy.DQSVnGZT.js @@ -1 +1 @@ -import{e as I,c as l,g as m,k as A,j as N,l as P,m as M,n as b,t as p,o as w}from"./baseUniq.Cpp3LtUr.js";import{aM as g,aA as E,aN as F,aO as T,aP as _,aQ as o,aR as B,aS as S,aT as c,aU as R}from"../app.B4W5LDy6.js";var $=/\s/;function G(n){for(var r=n.length;r--&&$.test(n.charAt(r)););return r}var L=/^\s+/;function q(n){return n&&n.slice(0,G(n)+1).replace(L,"")}var x=NaN,z=/^[-+]0x[0-9a-f]+$/i,C=/^0b[01]+$/i,H=/^0o[0-7]+$/i,K=parseInt;function Q(n){if(typeof n=="number")return n;if(I(n))return x;if(g(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=g(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=q(n);var t=C.test(n);return t||H.test(n)?K(n.slice(2),t?2:8):z.test(n)?x:+n}var v=1/0,U=17976931348623157e292;function W(n){if(!n)return n===0?n:0;if(n=Q(n),n===v||n===-v){var r=n<0?-1:1;return r*U}return n===n?n:0}function X(n){var r=W(n),t=r%1;return r===r?t?r-t:r:0}function tn(n){var r=n==null?0:n.length;return r?l(n):[]}var O=Object.prototype,Y=O.hasOwnProperty,an=E(function(n,r){n=Object(n);var t=-1,e=r.length,i=e>2?r[2]:void 0;for(i&&F(r[0],r[1],i)&&(e=1);++t-1?i[f?r[a]:a]:void 0}}var D=Math.max;function J(n,r,t){var e=n==null?0:n.length;if(!e)return-1;var i=t==null?0:X(t);return i<0&&(i=D(e+i,0)),N(n,m(r),i)}var sn=y(J);function Z(n,r){var t=-1,e=o(n)?Array(n.length):[];return P(n,function(i,f,a){e[++t]=r(i,f,a)}),e}function fn(n,r){var t=B(n)?M:Z;return t(n,m(r))}function V(n,r){return n2?r[2]:void 0;for(i&&F(r[0],r[1],i)&&(e=1);++t-1?i[f?r[a]:a]:void 0}}var D=Math.max;function J(n,r,t){var e=n==null?0:n.length;if(!e)return-1;var i=t==null?0:X(t);return i<0&&(i=D(e+i,0)),N(n,m(r),i)}var sn=y(J);function Z(n,r){var t=-1,e=o(n)?Array(n.length):[];return P(n,function(i,f,a){e[++t]=r(i,f,a)}),e}function fn(n,r){var t=B(n)?M:Z;return t(n,m(r))}function V(n,r){return n-1}function $(n){return sn(n)?Mn(n):mn(n)}var rr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,er=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||U(n)?!0:er.test(n)||!rr.test(n)||r!=null&&n in Object(r)}var tr=500;function ir(n){var r=Fn(n,function(t){return e.size===tr&&e.clear(),t}),e=r.cache;return r}var ar=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fr=/\\(\\)?/g,sr=ir(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(ar,function(e,t,a,i){r.push(a?i.replace(fr,"$1"):t||e)}),r});function ur(n){return n==null?"":dn(n)}function An(n,r){return T(n)?n:B(n,r)?[n]:sr(ur(n))}var or=1/0;function M(n){if(typeof n=="string"||U(n))return n;var r=n+"";return r=="0"&&1/n==-or?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&es))return!1;var b=i.get(n),l=i.get(r);if(b&&l)return b==r&&l==n;var o=-1,c=!0,h=e&xe?new S:void 0;for(i.set(n,r),i.set(r,n);++o=It){var b=r?null:_t(n);if(b)return H(b);f=!1,a=Pn,u=new S}else u=r?[]:s;n:for(;++t-1}function $(n){return sn(n)?Mn(n):mn(n)}var rr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,er=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||U(n)?!0:er.test(n)||!rr.test(n)||r!=null&&n in Object(r)}var tr=500;function ir(n){var r=Fn(n,function(t){return e.size===tr&&e.clear(),t}),e=r.cache;return r}var ar=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fr=/\\(\\)?/g,sr=ir(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(ar,function(e,t,a,i){r.push(a?i.replace(fr,"$1"):t||e)}),r});function ur(n){return n==null?"":dn(n)}function An(n,r){return T(n)?n:B(n,r)?[n]:sr(ur(n))}var or=1/0;function M(n){if(typeof n=="string"||U(n))return n;var r=n+"";return r=="0"&&1/n==-or?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&es))return!1;var b=i.get(n),l=i.get(r);if(b&&l)return b==r&&l==n;var o=-1,c=!0,h=e&xe?new S:void 0;for(i.set(n,r),i.set(r,n);++o=It){var b=r?null:_t(n);if(b)return H(b);f=!1,a=Pn,u=new S}else u=r?[]:s;n:for(;++t"u"&&(w.yylloc={});var ee=w.yylloc;t.push(ee);var Ce=w.options&&w.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ae(z){r.length=r.length-2*z,p.length=p.length-z,t.length=t.length-z}h(Ae,"popStack");function ge(){var z;return z=u.pop()||w.lex()||B,typeof z!="number"&&(z instanceof Array&&(u=z,z=u.pop()),z=s.symbols_[z]||z),z}h(ge,"lex");for(var T,Y,A,te,V={},X,F,he,G;;){if(Y=r[r.length-1],this.defaultActions[Y]?A=this.defaultActions[Y]:((T===null||typeof T>"u")&&(T=ge()),A=b[Y]&&b[Y][T]),typeof A>"u"||!A.length||!A[0]){var se="";G=[];for(X in b[Y])this.terminals_[X]&&X>K&&G.push("'"+this.terminals_[X]+"'");w.showPosition?se="Parse error on line "+(P+1)+`: +import{i as xe,p as Re,d as Be,b as ke,e as Pe,m as Fe}from"./chunk-REEJFE46.w4u18u_I.js";import{_ as h,d as Le,l as L,a9 as Ke,E as U,j as H,k as Me,v as Ye,A as We,e as Ve}from"../app.XeY7gsc2.js";import{c as je}from"./clone.DN5RQA0U.js";import{G as Ue}from"./graph.jRtFwrS7.js";import{c as Xe}from"./channel.xdHs8zqC.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./baseUniq.D3QFBTuJ.js";var re=function(){var e=h(function(N,c,s,r){for(s=s||{},r=N.length;r--;s[N[r]]=c);return s},"o"),l=[1,7],g=[1,13],a=[1,14],i=[1,15],d=[1,19],o=[1,16],f=[1,17],S=[1,18],m=[8,30],x=[8,21,28,29,30,31,32,40,44,47],_=[1,23],O=[1,24],I=[8,15,16,21,28,29,30,31,32,40,44,47],D=[8,15,16,21,27,28,29,30,31,32,40,44,47],C=[1,49],E={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:h(function(c,s,r,u,p,t,b){var n=t.length-1;switch(p){case 4:u.getLogger().debug("Rule: separator (NL) ");break;case 5:u.getLogger().debug("Rule: separator (Space) ");break;case 6:u.getLogger().debug("Rule: separator (EOF) ");break;case 7:u.getLogger().debug("Rule: hierarchy: ",t[n-1]),u.setHierarchy(t[n-1]);break;case 8:u.getLogger().debug("Stop NL ");break;case 9:u.getLogger().debug("Stop EOF ");break;case 10:u.getLogger().debug("Stop NL2 ");break;case 11:u.getLogger().debug("Stop EOF2 ");break;case 12:u.getLogger().debug("Rule: statement: ",t[n]),typeof t[n].length=="number"?this.$=t[n]:this.$=[t[n]];break;case 13:u.getLogger().debug("Rule: statement #2: ",t[n-1]),this.$=[t[n-1]].concat(t[n]);break;case 14:u.getLogger().debug("Rule: link: ",t[n],c),this.$={edgeTypeStr:t[n],label:""};break;case 15:u.getLogger().debug("Rule: LABEL link: ",t[n-3],t[n-1],t[n]),this.$={edgeTypeStr:t[n],label:t[n-1]};break;case 18:const P=parseInt(t[n]),W=u.generateId();this.$={id:W,type:"space",label:"",width:P,children:[]};break;case 23:u.getLogger().debug("Rule: (nodeStatement link node) ",t[n-2],t[n-1],t[n]," typestr: ",t[n-1].edgeTypeStr);const K=u.edgeStrToEdgeData(t[n-1].edgeTypeStr);this.$=[{id:t[n-2].id,label:t[n-2].label,type:t[n-2].type,directions:t[n-2].directions},{id:t[n-2].id+"-"+t[n].id,start:t[n-2].id,end:t[n].id,label:t[n-1].label,type:"edge",directions:t[n].directions,arrowTypeEnd:K,arrowTypeStart:"arrow_open"},{id:t[n].id,label:t[n].label,type:u.typeStr2Type(t[n].typeStr),directions:t[n].directions}];break;case 24:u.getLogger().debug("Rule: nodeStatement (abc88 node size) ",t[n-1],t[n]),this.$={id:t[n-1].id,label:t[n-1].label,type:u.typeStr2Type(t[n-1].typeStr),directions:t[n-1].directions,widthInColumns:parseInt(t[n],10)};break;case 25:u.getLogger().debug("Rule: nodeStatement (node) ",t[n]),this.$={id:t[n].id,label:t[n].label,type:u.typeStr2Type(t[n].typeStr),directions:t[n].directions,widthInColumns:1};break;case 26:u.getLogger().debug("APA123",this?this:"na"),u.getLogger().debug("COLUMNS: ",t[n]),this.$={type:"column-setting",columns:t[n]==="auto"?-1:parseInt(t[n])};break;case 27:u.getLogger().debug("Rule: id-block statement : ",t[n-2],t[n-1]),u.generateId(),this.$={...t[n-2],type:"composite",children:t[n-1]};break;case 28:u.getLogger().debug("Rule: blockStatement : ",t[n-2],t[n-1],t[n]);const B=u.generateId();this.$={id:B,type:"composite",label:"",children:t[n-1]};break;case 29:u.getLogger().debug("Rule: node (NODE_ID separator): ",t[n]),this.$={id:t[n]};break;case 30:u.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",t[n-1],t[n]),this.$={id:t[n-1],label:t[n].label,typeStr:t[n].typeStr,directions:t[n].directions};break;case 31:u.getLogger().debug("Rule: dirList: ",t[n]),this.$=[t[n]];break;case 32:u.getLogger().debug("Rule: dirList: ",t[n-1],t[n]),this.$=[t[n-1]].concat(t[n]);break;case 33:u.getLogger().debug("Rule: nodeShapeNLabel: ",t[n-2],t[n-1],t[n]),this.$={typeStr:t[n-2]+t[n],label:t[n-1]};break;case 34:u.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",t[n-3],t[n-2]," #3:",t[n-1],t[n]),this.$={typeStr:t[n-3]+t[n],label:t[n-2],directions:t[n-1]};break;case 35:case 36:this.$={type:"classDef",id:t[n-1].trim(),css:t[n].trim()};break;case 37:this.$={type:"applyClass",id:t[n-1].trim(),styleClass:t[n].trim()};break;case 38:this.$={type:"applyStyles",id:t[n-1].trim(),stylesStr:t[n].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:l,22:8,23:9,24:10,25:11,26:12,28:g,29:a,31:i,32:d,40:o,44:f,47:S},{8:[1,20]},e(m,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:l,28:g,29:a,31:i,32:d,40:o,44:f,47:S}),e(x,[2,16],{14:22,15:_,16:O}),e(x,[2,17]),e(x,[2,18]),e(x,[2,19]),e(x,[2,20]),e(x,[2,21]),e(x,[2,22]),e(I,[2,25],{27:[1,25]}),e(x,[2,26]),{19:26,26:12,32:d},{11:27,13:4,19:5,20:6,21:l,22:8,23:9,24:10,25:11,26:12,28:g,29:a,31:i,32:d,40:o,44:f,47:S},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},e(D,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},e(m,[2,13]),{26:35,32:d},{32:[2,14]},{17:[1,36]},e(I,[2,24]),{11:37,13:4,14:22,15:_,16:O,19:5,20:6,21:l,22:8,23:9,24:10,25:11,26:12,28:g,29:a,31:i,32:d,40:o,44:f,47:S},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},e(D,[2,30]),{18:[1,43]},{18:[1,44]},e(I,[2,23]),{18:[1,45]},{30:[1,46]},e(x,[2,28]),e(x,[2,35]),e(x,[2,36]),e(x,[2,37]),e(x,[2,38]),{37:[1,47]},{34:48,35:C},{15:[1,50]},e(x,[2,27]),e(D,[2,33]),{39:[1,51]},{34:52,35:C,39:[2,31]},{32:[2,15]},e(D,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:h(function(c,s){if(s.recoverable)this.trace(c);else{var r=new Error(c);throw r.hash=s,r}},"parseError"),parse:h(function(c){var s=this,r=[0],u=[],p=[null],t=[],b=this.table,n="",P=0,W=0,K=2,B=1,ze=t.slice.call(arguments,1),w=Object.create(this.lexer),M={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(M.yy[$]=this.yy[$]);w.setInput(c,M.yy),M.yy.lexer=w,M.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var ee=w.yylloc;t.push(ee);var Ce=w.options&&w.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ae(z){r.length=r.length-2*z,p.length=p.length-z,t.length=t.length-z}h(Ae,"popStack");function ge(){var z;return z=u.pop()||w.lex()||B,typeof z!="number"&&(z instanceof Array&&(u=z,z=u.pop()),z=s.symbols_[z]||z),z}h(ge,"lex");for(var T,Y,A,te,V={},X,F,he,G;;){if(Y=r[r.length-1],this.defaultActions[Y]?A=this.defaultActions[Y]:((T===null||typeof T>"u")&&(T=ge()),A=b[Y]&&b[Y][T]),typeof A>"u"||!A.length||!A[0]){var se="";G=[];for(X in b[Y])this.terminals_[X]&&X>K&&G.push("'"+this.terminals_[X]+"'");w.showPosition?se="Parse error on line "+(P+1)+`: `+w.showPosition()+` Expecting `+G.join(", ")+", got '"+(this.terminals_[T]||T)+"'":se="Parse error on line "+(P+1)+": Unexpected "+(T==B?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(se,{text:w.match,token:this.terminals_[T]||T,line:w.yylineno,loc:ee,expected:G})}if(A[0]instanceof Array&&A.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Y+", token: "+T);switch(A[0]){case 1:r.push(T),p.push(w.yytext),t.push(w.yylloc),r.push(A[1]),T=null,W=w.yyleng,n=w.yytext,P=w.yylineno,ee=w.yylloc;break;case 2:if(F=this.productions_[A[1]][1],V.$=p[p.length-F],V._$={first_line:t[t.length-(F||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(F||1)].first_column,last_column:t[t.length-1].last_column},Ce&&(V._$.range=[t[t.length-(F||1)].range[0],t[t.length-1].range[1]]),te=this.performAction.apply(V,[n,W,P,M.yy,A[1],p,t].concat(ze)),typeof te<"u")return te;F&&(r=r.slice(0,-1*F*2),p=p.slice(0,-1*F),t=t.slice(0,-1*F)),r.push(this.productions_[A[1]][0]),p.push(V.$),t.push(V._$),he=b[r[r.length-2]][r[r.length-1]],r.push(he);break;case 3:return!0}}return!0},"parse")},k=function(){var N={EOF:1,parseError:h(function(s,r){if(this.yy.parser)this.yy.parser.parseError(s,r);else throw new Error(s)},"parseError"),setInput:h(function(c,s){return this.yy=s||this.yy||{},this._input=c,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:h(function(){var c=this._input[0];this.yytext+=c,this.yyleng++,this.offset++,this.match+=c,this.matched+=c;var s=c.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),c},"input"),unput:h(function(c){var s=c.length,r=c.split(/(?:\r\n?|\n)/g);this._input=c+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===u.length?this.yylloc.first_column:0)+u[u.length-r.length].length-r[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:h(function(c){this.unput(this.match.slice(c))},"less"),pastInput:h(function(){var c=this.matched.substr(0,this.matched.length-this.match.length);return(c.length>20?"...":"")+c.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var c=this.match;return c.length<20&&(c+=this._input.substr(0,20-c.length)),(c.substr(0,20)+(c.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var c=this.pastInput(),s=new Array(c.length+1).join("-");return c+this.upcomingInput()+` diff --git a/assets/chunks/c4Diagram-ZCSEYPFN.C41loL8V.js b/assets/chunks/c4Diagram-ZCSEYPFN.5UzMTNxy.js similarity index 99% rename from assets/chunks/c4Diagram-ZCSEYPFN.C41loL8V.js rename to assets/chunks/c4Diagram-ZCSEYPFN.5UzMTNxy.js index 8ea2a2f7d..1029fda68 100644 --- a/assets/chunks/c4Diagram-ZCSEYPFN.C41loL8V.js +++ b/assets/chunks/c4Diagram-ZCSEYPFN.5UzMTNxy.js @@ -1,4 +1,4 @@ -import{d as Se,g as De}from"./chunk-V35ELUW5.DnZkrfgD.js";import{_ as g,a as Pe,s as Be,g as Ie,b as Me,c as Le,d as Bt,w as Ne,e as $t,f as de,h as Tt,i as ge,j as jt,l as fe,k as Ye,m as je}from"../app.B4W5LDy6.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";var Ft=function(){var e=g(function(_t,x,m,v){for(m=m||{},v=_t.length;v--;m[_t[v]]=x);return m},"o"),t=[1,24],s=[1,25],o=[1,26],l=[1,27],a=[1,28],r=[1,63],n=[1,64],i=[1,65],u=[1,66],d=[1,67],f=[1,68],y=[1,69],E=[1,29],O=[1,30],S=[1,31],P=[1,32],M=[1,33],U=[1,34],H=[1,35],q=[1,36],G=[1,37],K=[1,38],J=[1,39],Z=[1,40],$=[1,41],tt=[1,42],et=[1,43],at=[1,44],it=[1,45],nt=[1,46],rt=[1,47],st=[1,48],lt=[1,50],ot=[1,51],ct=[1,52],ht=[1,53],ut=[1,54],dt=[1,55],ft=[1,56],pt=[1,57],yt=[1,58],gt=[1,59],bt=[1,60],Ct=[14,42],Qt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],St=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],k=[1,82],A=[1,83],C=[1,84],w=[1,85],T=[12,14,42],le=[12,14,33,42],Mt=[12,14,33,42,76,77,79,80],vt=[12,33],Ht=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:g(function(x,m,v,b,R,h,Dt){var p=h.length-1;switch(R){case 3:b.setDirection("TB");break;case 4:b.setDirection("BT");break;case 5:b.setDirection("RL");break;case 6:b.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:b.setC4Type(h[p-3]);break;case 19:b.setTitle(h[p].substring(6)),this.$=h[p].substring(6);break;case 20:b.setAccDescription(h[p].substring(15)),this.$=h[p].substring(15);break;case 21:this.$=h[p].trim(),b.setTitle(this.$);break;case 22:case 23:this.$=h[p].trim(),b.setAccDescription(this.$);break;case 28:h[p].splice(2,0,"ENTERPRISE"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 29:h[p].splice(2,0,"SYSTEM"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 30:b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 31:h[p].splice(2,0,"CONTAINER"),b.addContainerBoundary(...h[p]),this.$=h[p];break;case 32:b.addDeploymentNode("node",...h[p]),this.$=h[p];break;case 33:b.addDeploymentNode("nodeL",...h[p]),this.$=h[p];break;case 34:b.addDeploymentNode("nodeR",...h[p]),this.$=h[p];break;case 35:b.popBoundaryParseStack();break;case 39:b.addPersonOrSystem("person",...h[p]),this.$=h[p];break;case 40:b.addPersonOrSystem("external_person",...h[p]),this.$=h[p];break;case 41:b.addPersonOrSystem("system",...h[p]),this.$=h[p];break;case 42:b.addPersonOrSystem("system_db",...h[p]),this.$=h[p];break;case 43:b.addPersonOrSystem("system_queue",...h[p]),this.$=h[p];break;case 44:b.addPersonOrSystem("external_system",...h[p]),this.$=h[p];break;case 45:b.addPersonOrSystem("external_system_db",...h[p]),this.$=h[p];break;case 46:b.addPersonOrSystem("external_system_queue",...h[p]),this.$=h[p];break;case 47:b.addContainer("container",...h[p]),this.$=h[p];break;case 48:b.addContainer("container_db",...h[p]),this.$=h[p];break;case 49:b.addContainer("container_queue",...h[p]),this.$=h[p];break;case 50:b.addContainer("external_container",...h[p]),this.$=h[p];break;case 51:b.addContainer("external_container_db",...h[p]),this.$=h[p];break;case 52:b.addContainer("external_container_queue",...h[p]),this.$=h[p];break;case 53:b.addComponent("component",...h[p]),this.$=h[p];break;case 54:b.addComponent("component_db",...h[p]),this.$=h[p];break;case 55:b.addComponent("component_queue",...h[p]),this.$=h[p];break;case 56:b.addComponent("external_component",...h[p]),this.$=h[p];break;case 57:b.addComponent("external_component_db",...h[p]),this.$=h[p];break;case 58:b.addComponent("external_component_queue",...h[p]),this.$=h[p];break;case 60:b.addRel("rel",...h[p]),this.$=h[p];break;case 61:b.addRel("birel",...h[p]),this.$=h[p];break;case 62:b.addRel("rel_u",...h[p]),this.$=h[p];break;case 63:b.addRel("rel_d",...h[p]),this.$=h[p];break;case 64:b.addRel("rel_l",...h[p]),this.$=h[p];break;case 65:b.addRel("rel_r",...h[p]),this.$=h[p];break;case 66:b.addRel("rel_b",...h[p]),this.$=h[p];break;case 67:h[p].splice(0,1),b.addRel("rel",...h[p]),this.$=h[p];break;case 68:b.updateElStyle("update_el_style",...h[p]),this.$=h[p];break;case 69:b.updateRelStyle("update_rel_style",...h[p]),this.$=h[p];break;case 70:b.updateLayoutConfig("update_layout_config",...h[p]),this.$=h[p];break;case 71:this.$=[h[p]];break;case 72:h[p].unshift(h[p-1]),this.$=h[p];break;case 73:case 75:this.$=h[p].trim();break;case 74:let Et={};Et[h[p-1].trim()]=h[p].trim(),this.$=Et;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:70,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:71,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:72,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:73,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{14:[1,74]},e(Ct,[2,13],{43:23,29:49,30:61,32:62,20:75,34:r,36:n,37:i,38:u,39:d,40:f,41:y,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),e(Ct,[2,14]),e(Qt,[2,16],{12:[1,76]}),e(Ct,[2,36],{12:[1,77]}),e(St,[2,19]),e(St,[2,20]),{25:[1,78]},{27:[1,79]},e(St,[2,23]),{35:80,75:81,76:k,77:A,79:C,80:w},{35:86,75:81,76:k,77:A,79:C,80:w},{35:87,75:81,76:k,77:A,79:C,80:w},{35:88,75:81,76:k,77:A,79:C,80:w},{35:89,75:81,76:k,77:A,79:C,80:w},{35:90,75:81,76:k,77:A,79:C,80:w},{35:91,75:81,76:k,77:A,79:C,80:w},{35:92,75:81,76:k,77:A,79:C,80:w},{35:93,75:81,76:k,77:A,79:C,80:w},{35:94,75:81,76:k,77:A,79:C,80:w},{35:95,75:81,76:k,77:A,79:C,80:w},{35:96,75:81,76:k,77:A,79:C,80:w},{35:97,75:81,76:k,77:A,79:C,80:w},{35:98,75:81,76:k,77:A,79:C,80:w},{35:99,75:81,76:k,77:A,79:C,80:w},{35:100,75:81,76:k,77:A,79:C,80:w},{35:101,75:81,76:k,77:A,79:C,80:w},{35:102,75:81,76:k,77:A,79:C,80:w},{35:103,75:81,76:k,77:A,79:C,80:w},{35:104,75:81,76:k,77:A,79:C,80:w},e(T,[2,59]),{35:105,75:81,76:k,77:A,79:C,80:w},{35:106,75:81,76:k,77:A,79:C,80:w},{35:107,75:81,76:k,77:A,79:C,80:w},{35:108,75:81,76:k,77:A,79:C,80:w},{35:109,75:81,76:k,77:A,79:C,80:w},{35:110,75:81,76:k,77:A,79:C,80:w},{35:111,75:81,76:k,77:A,79:C,80:w},{35:112,75:81,76:k,77:A,79:C,80:w},{35:113,75:81,76:k,77:A,79:C,80:w},{35:114,75:81,76:k,77:A,79:C,80:w},{35:115,75:81,76:k,77:A,79:C,80:w},{20:116,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{12:[1,118],33:[1,117]},{35:119,75:81,76:k,77:A,79:C,80:w},{35:120,75:81,76:k,77:A,79:C,80:w},{35:121,75:81,76:k,77:A,79:C,80:w},{35:122,75:81,76:k,77:A,79:C,80:w},{35:123,75:81,76:k,77:A,79:C,80:w},{35:124,75:81,76:k,77:A,79:C,80:w},{35:125,75:81,76:k,77:A,79:C,80:w},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(Ct,[2,15]),e(Qt,[2,17],{21:22,19:130,22:t,23:s,24:o,26:l,28:a}),e(Ct,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:s,24:o,26:l,28:a,34:r,36:n,37:i,38:u,39:d,40:f,41:y,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),e(St,[2,21]),e(St,[2,22]),e(T,[2,39]),e(le,[2,71],{75:81,35:132,76:k,77:A,79:C,80:w}),e(Mt,[2,73]),{78:[1,133]},e(Mt,[2,75]),e(Mt,[2,76]),e(T,[2,40]),e(T,[2,41]),e(T,[2,42]),e(T,[2,43]),e(T,[2,44]),e(T,[2,45]),e(T,[2,46]),e(T,[2,47]),e(T,[2,48]),e(T,[2,49]),e(T,[2,50]),e(T,[2,51]),e(T,[2,52]),e(T,[2,53]),e(T,[2,54]),e(T,[2,55]),e(T,[2,56]),e(T,[2,57]),e(T,[2,58]),e(T,[2,60]),e(T,[2,61]),e(T,[2,62]),e(T,[2,63]),e(T,[2,64]),e(T,[2,65]),e(T,[2,66]),e(T,[2,67]),e(T,[2,68]),e(T,[2,69]),e(T,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(vt,[2,28]),e(vt,[2,29]),e(vt,[2,30]),e(vt,[2,31]),e(vt,[2,32]),e(vt,[2,33]),e(vt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Qt,[2,18]),e(Ct,[2,38]),e(le,[2,72]),e(Mt,[2,74]),e(T,[2,24]),e(T,[2,35]),e(Ht,[2,25]),e(Ht,[2,26],{12:[1,138]}),e(Ht,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:g(function(x,m){if(m.recoverable)this.trace(x);else{var v=new Error(x);throw v.hash=m,v}},"parseError"),parse:g(function(x){var m=this,v=[0],b=[],R=[null],h=[],Dt=this.table,p="",Et=0,oe=0,we=2,ce=1,Te=h.slice.call(arguments,1),D=Object.create(this.lexer),kt={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(kt.yy[Gt]=this.yy[Gt]);D.setInput(x,kt.yy),kt.yy.lexer=D,kt.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Kt=D.yylloc;h.push(Kt);var Oe=D.options&&D.options.ranges;typeof kt.yy.parseError=="function"?this.parseError=kt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(L){v.length=v.length-2*L,R.length=R.length-L,h.length=h.length-L}g(Re,"popStack");function he(){var L;return L=b.pop()||D.lex()||ce,typeof L!="number"&&(L instanceof Array&&(b=L,L=b.pop()),L=m.symbols_[L]||L),L}g(he,"lex");for(var I,At,N,Jt,wt={},Nt,W,ue,Yt;;){if(At=v[v.length-1],this.defaultActions[At]?N=this.defaultActions[At]:((I===null||typeof I>"u")&&(I=he()),N=Dt[At]&&Dt[At][I]),typeof N>"u"||!N.length||!N[0]){var Zt="";Yt=[];for(Nt in Dt[At])this.terminals_[Nt]&&Nt>we&&Yt.push("'"+this.terminals_[Nt]+"'");D.showPosition?Zt="Parse error on line "+(Et+1)+`: +import{d as Se,g as De}from"./chunk-V35ELUW5.Bo_-Vqpn.js";import{_ as g,a as Pe,s as Be,g as Ie,b as Me,c as Le,d as Bt,w as Ne,e as $t,f as de,h as Tt,i as ge,j as jt,l as fe,k as Ye,m as je}from"../app.XeY7gsc2.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";var Ft=function(){var e=g(function(_t,x,m,v){for(m=m||{},v=_t.length;v--;m[_t[v]]=x);return m},"o"),t=[1,24],s=[1,25],o=[1,26],l=[1,27],a=[1,28],r=[1,63],n=[1,64],i=[1,65],u=[1,66],d=[1,67],f=[1,68],y=[1,69],E=[1,29],O=[1,30],S=[1,31],P=[1,32],M=[1,33],U=[1,34],H=[1,35],q=[1,36],G=[1,37],K=[1,38],J=[1,39],Z=[1,40],$=[1,41],tt=[1,42],et=[1,43],at=[1,44],it=[1,45],nt=[1,46],rt=[1,47],st=[1,48],lt=[1,50],ot=[1,51],ct=[1,52],ht=[1,53],ut=[1,54],dt=[1,55],ft=[1,56],pt=[1,57],yt=[1,58],gt=[1,59],bt=[1,60],Ct=[14,42],Qt=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],St=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],k=[1,82],A=[1,83],C=[1,84],w=[1,85],T=[12,14,42],le=[12,14,33,42],Mt=[12,14,33,42,76,77,79,80],vt=[12,33],Ht=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qt={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:g(function(x,m,v,b,R,h,Dt){var p=h.length-1;switch(R){case 3:b.setDirection("TB");break;case 4:b.setDirection("BT");break;case 5:b.setDirection("RL");break;case 6:b.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:b.setC4Type(h[p-3]);break;case 19:b.setTitle(h[p].substring(6)),this.$=h[p].substring(6);break;case 20:b.setAccDescription(h[p].substring(15)),this.$=h[p].substring(15);break;case 21:this.$=h[p].trim(),b.setTitle(this.$);break;case 22:case 23:this.$=h[p].trim(),b.setAccDescription(this.$);break;case 28:h[p].splice(2,0,"ENTERPRISE"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 29:h[p].splice(2,0,"SYSTEM"),b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 30:b.addPersonOrSystemBoundary(...h[p]),this.$=h[p];break;case 31:h[p].splice(2,0,"CONTAINER"),b.addContainerBoundary(...h[p]),this.$=h[p];break;case 32:b.addDeploymentNode("node",...h[p]),this.$=h[p];break;case 33:b.addDeploymentNode("nodeL",...h[p]),this.$=h[p];break;case 34:b.addDeploymentNode("nodeR",...h[p]),this.$=h[p];break;case 35:b.popBoundaryParseStack();break;case 39:b.addPersonOrSystem("person",...h[p]),this.$=h[p];break;case 40:b.addPersonOrSystem("external_person",...h[p]),this.$=h[p];break;case 41:b.addPersonOrSystem("system",...h[p]),this.$=h[p];break;case 42:b.addPersonOrSystem("system_db",...h[p]),this.$=h[p];break;case 43:b.addPersonOrSystem("system_queue",...h[p]),this.$=h[p];break;case 44:b.addPersonOrSystem("external_system",...h[p]),this.$=h[p];break;case 45:b.addPersonOrSystem("external_system_db",...h[p]),this.$=h[p];break;case 46:b.addPersonOrSystem("external_system_queue",...h[p]),this.$=h[p];break;case 47:b.addContainer("container",...h[p]),this.$=h[p];break;case 48:b.addContainer("container_db",...h[p]),this.$=h[p];break;case 49:b.addContainer("container_queue",...h[p]),this.$=h[p];break;case 50:b.addContainer("external_container",...h[p]),this.$=h[p];break;case 51:b.addContainer("external_container_db",...h[p]),this.$=h[p];break;case 52:b.addContainer("external_container_queue",...h[p]),this.$=h[p];break;case 53:b.addComponent("component",...h[p]),this.$=h[p];break;case 54:b.addComponent("component_db",...h[p]),this.$=h[p];break;case 55:b.addComponent("component_queue",...h[p]),this.$=h[p];break;case 56:b.addComponent("external_component",...h[p]),this.$=h[p];break;case 57:b.addComponent("external_component_db",...h[p]),this.$=h[p];break;case 58:b.addComponent("external_component_queue",...h[p]),this.$=h[p];break;case 60:b.addRel("rel",...h[p]),this.$=h[p];break;case 61:b.addRel("birel",...h[p]),this.$=h[p];break;case 62:b.addRel("rel_u",...h[p]),this.$=h[p];break;case 63:b.addRel("rel_d",...h[p]),this.$=h[p];break;case 64:b.addRel("rel_l",...h[p]),this.$=h[p];break;case 65:b.addRel("rel_r",...h[p]),this.$=h[p];break;case 66:b.addRel("rel_b",...h[p]),this.$=h[p];break;case 67:h[p].splice(0,1),b.addRel("rel",...h[p]),this.$=h[p];break;case 68:b.updateElStyle("update_el_style",...h[p]),this.$=h[p];break;case 69:b.updateRelStyle("update_rel_style",...h[p]),this.$=h[p];break;case 70:b.updateLayoutConfig("update_layout_config",...h[p]),this.$=h[p];break;case 71:this.$=[h[p]];break;case 72:h[p].unshift(h[p-1]),this.$=h[p];break;case 73:case 75:this.$=h[p].trim();break;case 74:let Et={};Et[h[p-1].trim()]=h[p].trim(),this.$=Et;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:70,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:71,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:72,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{13:73,19:20,20:21,21:22,22:t,23:s,24:o,26:l,28:a,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{14:[1,74]},e(Ct,[2,13],{43:23,29:49,30:61,32:62,20:75,34:r,36:n,37:i,38:u,39:d,40:f,41:y,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),e(Ct,[2,14]),e(Qt,[2,16],{12:[1,76]}),e(Ct,[2,36],{12:[1,77]}),e(St,[2,19]),e(St,[2,20]),{25:[1,78]},{27:[1,79]},e(St,[2,23]),{35:80,75:81,76:k,77:A,79:C,80:w},{35:86,75:81,76:k,77:A,79:C,80:w},{35:87,75:81,76:k,77:A,79:C,80:w},{35:88,75:81,76:k,77:A,79:C,80:w},{35:89,75:81,76:k,77:A,79:C,80:w},{35:90,75:81,76:k,77:A,79:C,80:w},{35:91,75:81,76:k,77:A,79:C,80:w},{35:92,75:81,76:k,77:A,79:C,80:w},{35:93,75:81,76:k,77:A,79:C,80:w},{35:94,75:81,76:k,77:A,79:C,80:w},{35:95,75:81,76:k,77:A,79:C,80:w},{35:96,75:81,76:k,77:A,79:C,80:w},{35:97,75:81,76:k,77:A,79:C,80:w},{35:98,75:81,76:k,77:A,79:C,80:w},{35:99,75:81,76:k,77:A,79:C,80:w},{35:100,75:81,76:k,77:A,79:C,80:w},{35:101,75:81,76:k,77:A,79:C,80:w},{35:102,75:81,76:k,77:A,79:C,80:w},{35:103,75:81,76:k,77:A,79:C,80:w},{35:104,75:81,76:k,77:A,79:C,80:w},e(T,[2,59]),{35:105,75:81,76:k,77:A,79:C,80:w},{35:106,75:81,76:k,77:A,79:C,80:w},{35:107,75:81,76:k,77:A,79:C,80:w},{35:108,75:81,76:k,77:A,79:C,80:w},{35:109,75:81,76:k,77:A,79:C,80:w},{35:110,75:81,76:k,77:A,79:C,80:w},{35:111,75:81,76:k,77:A,79:C,80:w},{35:112,75:81,76:k,77:A,79:C,80:w},{35:113,75:81,76:k,77:A,79:C,80:w},{35:114,75:81,76:k,77:A,79:C,80:w},{35:115,75:81,76:k,77:A,79:C,80:w},{20:116,29:49,30:61,32:62,34:r,36:n,37:i,38:u,39:d,40:f,41:y,43:23,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt},{12:[1,118],33:[1,117]},{35:119,75:81,76:k,77:A,79:C,80:w},{35:120,75:81,76:k,77:A,79:C,80:w},{35:121,75:81,76:k,77:A,79:C,80:w},{35:122,75:81,76:k,77:A,79:C,80:w},{35:123,75:81,76:k,77:A,79:C,80:w},{35:124,75:81,76:k,77:A,79:C,80:w},{35:125,75:81,76:k,77:A,79:C,80:w},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},e(Ct,[2,15]),e(Qt,[2,17],{21:22,19:130,22:t,23:s,24:o,26:l,28:a}),e(Ct,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:t,23:s,24:o,26:l,28:a,34:r,36:n,37:i,38:u,39:d,40:f,41:y,44:E,45:O,46:S,47:P,48:M,49:U,50:H,51:q,52:G,53:K,54:J,55:Z,56:$,57:tt,58:et,59:at,60:it,61:nt,62:rt,63:st,64:lt,65:ot,66:ct,67:ht,68:ut,69:dt,70:ft,71:pt,72:yt,73:gt,74:bt}),e(St,[2,21]),e(St,[2,22]),e(T,[2,39]),e(le,[2,71],{75:81,35:132,76:k,77:A,79:C,80:w}),e(Mt,[2,73]),{78:[1,133]},e(Mt,[2,75]),e(Mt,[2,76]),e(T,[2,40]),e(T,[2,41]),e(T,[2,42]),e(T,[2,43]),e(T,[2,44]),e(T,[2,45]),e(T,[2,46]),e(T,[2,47]),e(T,[2,48]),e(T,[2,49]),e(T,[2,50]),e(T,[2,51]),e(T,[2,52]),e(T,[2,53]),e(T,[2,54]),e(T,[2,55]),e(T,[2,56]),e(T,[2,57]),e(T,[2,58]),e(T,[2,60]),e(T,[2,61]),e(T,[2,62]),e(T,[2,63]),e(T,[2,64]),e(T,[2,65]),e(T,[2,66]),e(T,[2,67]),e(T,[2,68]),e(T,[2,69]),e(T,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},e(vt,[2,28]),e(vt,[2,29]),e(vt,[2,30]),e(vt,[2,31]),e(vt,[2,32]),e(vt,[2,33]),e(vt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},e(Qt,[2,18]),e(Ct,[2,38]),e(le,[2,72]),e(Mt,[2,74]),e(T,[2,24]),e(T,[2,35]),e(Ht,[2,25]),e(Ht,[2,26],{12:[1,138]}),e(Ht,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:g(function(x,m){if(m.recoverable)this.trace(x);else{var v=new Error(x);throw v.hash=m,v}},"parseError"),parse:g(function(x){var m=this,v=[0],b=[],R=[null],h=[],Dt=this.table,p="",Et=0,oe=0,we=2,ce=1,Te=h.slice.call(arguments,1),D=Object.create(this.lexer),kt={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(kt.yy[Gt]=this.yy[Gt]);D.setInput(x,kt.yy),kt.yy.lexer=D,kt.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Kt=D.yylloc;h.push(Kt);var Oe=D.options&&D.options.ranges;typeof kt.yy.parseError=="function"?this.parseError=kt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(L){v.length=v.length-2*L,R.length=R.length-L,h.length=h.length-L}g(Re,"popStack");function he(){var L;return L=b.pop()||D.lex()||ce,typeof L!="number"&&(L instanceof Array&&(b=L,L=b.pop()),L=m.symbols_[L]||L),L}g(he,"lex");for(var I,At,N,Jt,wt={},Nt,W,ue,Yt;;){if(At=v[v.length-1],this.defaultActions[At]?N=this.defaultActions[At]:((I===null||typeof I>"u")&&(I=he()),N=Dt[At]&&Dt[At][I]),typeof N>"u"||!N.length||!N[0]){var Zt="";Yt=[];for(Nt in Dt[At])this.terminals_[Nt]&&Nt>we&&Yt.push("'"+this.terminals_[Nt]+"'");D.showPosition?Zt="Parse error on line "+(Et+1)+`: `+D.showPosition()+` Expecting `+Yt.join(", ")+", got '"+(this.terminals_[I]||I)+"'":Zt="Parse error on line "+(Et+1)+": Unexpected "+(I==ce?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(Zt,{text:D.match,token:this.terminals_[I]||I,line:D.yylineno,loc:Kt,expected:Yt})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+At+", token: "+I);switch(N[0]){case 1:v.push(I),R.push(D.yytext),h.push(D.yylloc),v.push(N[1]),I=null,oe=D.yyleng,p=D.yytext,Et=D.yylineno,Kt=D.yylloc;break;case 2:if(W=this.productions_[N[1]][1],wt.$=R[R.length-W],wt._$={first_line:h[h.length-(W||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(W||1)].first_column,last_column:h[h.length-1].last_column},Oe&&(wt._$.range=[h[h.length-(W||1)].range[0],h[h.length-1].range[1]]),Jt=this.performAction.apply(wt,[p,oe,Et,kt.yy,N[1],R,h].concat(Te)),typeof Jt<"u")return Jt;W&&(v=v.slice(0,-1*W*2),R=R.slice(0,-1*W),h=h.slice(0,-1*W)),v.push(this.productions_[N[1]][0]),R.push(wt.$),h.push(wt._$),ue=Dt[v[v.length-2]][v[v.length-1]],v.push(ue);break;case 3:return!0}}return!0},"parse")},Ce=function(){var _t={EOF:1,parseError:g(function(m,v){if(this.yy.parser)this.yy.parser.parseError(m,v);else throw new Error(m)},"parseError"),setInput:g(function(x,m){return this.yy=m||this.yy||{},this._input=x,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:g(function(){var x=this._input[0];this.yytext+=x,this.yyleng++,this.offset++,this.match+=x,this.matched+=x;var m=x.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),x},"input"),unput:g(function(x){var m=x.length,v=x.split(/(?:\r\n?|\n)/g);this._input=x+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var R=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===b.length?this.yylloc.first_column:0)+b[b.length-v.length].length-v[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:g(function(){return this._more=!0,this},"more"),reject:g(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:g(function(x){this.unput(this.match.slice(x))},"less"),pastInput:g(function(){var x=this.matched.substr(0,this.matched.length-this.match.length);return(x.length>20?"...":"")+x.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:g(function(){var x=this.match;return x.length<20&&(x+=this._input.substr(0,20-x.length)),(x.substr(0,20)+(x.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:g(function(){var x=this.pastInput(),m=new Array(x.length+1).join("-");return x+this.upcomingInput()+` diff --git a/assets/chunks/channel.Bhr7ocrP.js b/assets/chunks/channel.Bhr7ocrP.js deleted file mode 100644 index a3b16f5db..000000000 --- a/assets/chunks/channel.Bhr7ocrP.js +++ /dev/null @@ -1 +0,0 @@ -import{U as a,C as n}from"../app.B4W5LDy6.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c}; diff --git a/assets/chunks/channel.xdHs8zqC.js b/assets/chunks/channel.xdHs8zqC.js new file mode 100644 index 000000000..35aa3e2cc --- /dev/null +++ b/assets/chunks/channel.xdHs8zqC.js @@ -0,0 +1 @@ +import{U as a,C as n}from"../app.XeY7gsc2.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c}; diff --git a/assets/chunks/chunk-4LC2V6XN.B8hKw3ZB.js b/assets/chunks/chunk-4LC2V6XN.BzSTI6dc.js similarity index 90% rename from assets/chunks/chunk-4LC2V6XN.B8hKw3ZB.js rename to assets/chunks/chunk-4LC2V6XN.BzSTI6dc.js index 0480a87ed..2f32661c1 100644 --- a/assets/chunks/chunk-4LC2V6XN.B8hKw3ZB.js +++ b/assets/chunks/chunk-4LC2V6XN.BzSTI6dc.js @@ -1 +1 @@ -import{_ as n,j as r,k as g,l as d}from"../app.B4W5LDy6.js";var u=n((t,e)=>{let o;return e==="sandbox"&&(o=r("#i"+t)),(e==="sandbox"?r(o.nodes()[0].contentDocument.body):r("body")).select(`[id="${t}"]`)},"getDiagramElement"),b=n((t,e,o,i)=>{t.attr("class",o);const{width:a,height:s,x:h,y:x}=l(t,e);g(t,s,a,i);const c=w(h,x,a,s,e);t.attr("viewBox",c),d.debug(`viewBox configured: ${c} with padding: ${e}`)},"setupViewPortForSVG"),l=n((t,e)=>{var i;const o=((i=t.node())==null?void 0:i.getBBox())||{width:0,height:0,x:0,y:0};return{width:o.width+e*2,height:o.height+e*2,x:o.x,y:o.y}},"calculateDimensionsWithPadding"),w=n((t,e,o,i,a)=>`${t-a} ${e-a} ${o} ${i}`,"createViewBox");export{u as g,b as s}; +import{_ as n,j as r,k as g,l as d}from"../app.XeY7gsc2.js";var u=n((t,e)=>{let o;return e==="sandbox"&&(o=r("#i"+t)),(e==="sandbox"?r(o.nodes()[0].contentDocument.body):r("body")).select(`[id="${t}"]`)},"getDiagramElement"),b=n((t,e,o,i)=>{t.attr("class",o);const{width:a,height:s,x:h,y:x}=l(t,e);g(t,s,a,i);const c=w(h,x,a,s,e);t.attr("viewBox",c),d.debug(`viewBox configured: ${c} with padding: ${e}`)},"setupViewPortForSVG"),l=n((t,e)=>{var i;const o=((i=t.node())==null?void 0:i.getBBox())||{width:0,height:0,x:0,y:0};return{width:o.width+e*2,height:o.height+e*2,x:o.x,y:o.y}},"calculateDimensionsWithPadding"),w=n((t,e,o,i,a)=>`${t-a} ${e-a} ${o} ${i}`,"createViewBox");export{u as g,b as s}; diff --git a/assets/chunks/chunk-5RIWM3LS.DCZhjKZl.js b/assets/chunks/chunk-5RIWM3LS.DyOmNzmH.js similarity index 99% rename from assets/chunks/chunk-5RIWM3LS.DCZhjKZl.js rename to assets/chunks/chunk-5RIWM3LS.DyOmNzmH.js index 3795b2946..36b75d942 100644 --- a/assets/chunks/chunk-5RIWM3LS.DCZhjKZl.js +++ b/assets/chunks/chunk-5RIWM3LS.DyOmNzmH.js @@ -1,4 +1,4 @@ -import{g as De,s as Ce}from"./chunk-4LC2V6XN.B8hKw3ZB.js";import{_ as r,e as z,d as x,g as xe,s as Ae,b as Le,c as Ie,q as Re,r as Oe,l as b,z as Ne,u as we,v as $e,ai as Pe}from"../app.B4W5LDy6.js";var Ot=function(){var t=r(function($,o,u,n){for(u=u||{},n=$.length;n--;u[$[n]]=o);return u},"o"),e=[1,2],c=[1,3],a=[1,4],d=[2,4],s=[1,9],p=[1,11],g=[1,16],l=[1,17],_=[1,18],v=[1,19],A=[1,32],B=[1,20],Y=[1,21],I=[1,22],f=[1,23],L=[1,24],R=[1,26],F=[1,27],V=[1,28],N=[1,29],w=[1,30],rt=[1,31],at=[1,34],nt=[1,35],lt=[1,36],ot=[1,37],J=[1,33],S=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],ct=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],Vt=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],kt={trace:r(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:r(function(o,u,n,y,T,i,q){var h=i.length-1;switch(T){case 3:return y.setRootDoc(i[h]),i[h];case 4:this.$=[];break;case 5:i[h]!="nl"&&(i[h-1].push(i[h]),this.$=i[h-1]);break;case 6:case 7:this.$=i[h];break;case 8:this.$="nl";break;case 12:this.$=i[h];break;case 13:const Q=i[h-1];Q.description=y.trimColon(i[h]),this.$=Q;break;case 14:this.$={stmt:"relation",state1:i[h-2],state2:i[h]};break;case 15:const Dt=y.trimColon(i[h]);this.$={stmt:"relation",state1:i[h-3],state2:i[h-1],description:Dt};break;case 19:this.$={stmt:"state",id:i[h-3],type:"default",description:"",doc:i[h-1]};break;case 20:var M=i[h],W=i[h-2].trim();if(i[h].match(":")){var ht=i[h].split(":");M=ht[0],W=[W,ht[1]]}this.$={stmt:"state",id:M,type:"default",description:W};break;case 21:this.$={stmt:"state",id:i[h-3],type:"default",description:i[h-5],doc:i[h-1]};break;case 22:this.$={stmt:"state",id:i[h],type:"fork"};break;case 23:this.$={stmt:"state",id:i[h],type:"join"};break;case 24:this.$={stmt:"state",id:i[h],type:"choice"};break;case 25:this.$={stmt:"state",id:y.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:i[h-1].trim(),note:{position:i[h-2].trim(),text:i[h].trim()}};break;case 29:this.$=i[h].trim(),y.setAccTitle(this.$);break;case 30:case 31:this.$=i[h].trim(),y.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:i[h-1].trim(),classes:i[h].trim()};break;case 34:this.$={stmt:"style",id:i[h-1].trim(),styleClass:i[h].trim()};break;case 35:this.$={stmt:"applyClass",id:i[h-1].trim(),styleClass:i[h].trim()};break;case 36:y.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:y.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:y.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:y.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:i[h].trim(),type:"default",description:""};break;case 44:this.$={stmt:"state",id:i[h-2].trim(),classes:[i[h].trim()],type:"default",description:""};break;case 45:this.$={stmt:"state",id:i[h-2].trim(),classes:[i[h].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:c,6:a},{1:[3]},{3:5,4:e,5:c,6:a},{3:6,4:e,5:c,6:a},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],d,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:s,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:l,19:_,22:v,24:A,25:B,26:Y,27:I,28:f,29:L,32:25,33:R,35:F,37:V,38:N,42:w,45:rt,48:at,49:nt,50:lt,51:ot,54:J},t(S,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:g,17:l,19:_,22:v,24:A,25:B,26:Y,27:I,28:f,29:L,32:25,33:R,35:F,37:V,38:N,42:w,45:rt,48:at,49:nt,50:lt,51:ot,54:J},t(S,[2,7]),t(S,[2,8]),t(S,[2,9]),t(S,[2,10]),t(S,[2,11]),t(S,[2,12],{14:[1,39],15:[1,40]}),t(S,[2,16]),{18:[1,41]},t(S,[2,18],{20:[1,42]}),{23:[1,43]},t(S,[2,22]),t(S,[2,23]),t(S,[2,24]),t(S,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(S,[2,28]),{34:[1,48]},{36:[1,49]},t(S,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(ct,[2,42],{55:[1,54]}),t(ct,[2,43],{55:[1,55]}),t(S,[2,36]),t(S,[2,37]),t(S,[2,38]),t(S,[2,39]),t(S,[2,6]),t(S,[2,13]),{13:56,24:A,54:J},t(S,[2,17]),t(Vt,d,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(S,[2,29]),t(S,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(S,[2,14],{14:[1,67]}),{4:s,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:l,19:_,21:[1,68],22:v,24:A,25:B,26:Y,27:I,28:f,29:L,32:25,33:R,35:F,37:V,38:N,42:w,45:rt,48:at,49:nt,50:lt,51:ot,54:J},t(S,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(S,[2,32]),t(S,[2,33]),t(S,[2,34]),t(S,[2,35]),t(ct,[2,44]),t(ct,[2,45]),t(S,[2,15]),t(S,[2,19]),t(Vt,d,{7:72}),t(S,[2,26]),t(S,[2,27]),{4:s,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:l,19:_,21:[1,73],22:v,24:A,25:B,26:Y,27:I,28:f,29:L,32:25,33:R,35:F,37:V,38:N,42:w,45:rt,48:at,49:nt,50:lt,51:ot,54:J},t(S,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:r(function(o,u){if(u.recoverable)this.trace(o);else{var n=new Error(o);throw n.hash=u,n}},"parseError"),parse:r(function(o){var u=this,n=[0],y=[],T=[null],i=[],q=this.table,h="",M=0,W=0,ht=2,Q=1,Dt=i.slice.call(arguments,1),E=Object.create(this.lexer),U={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(U.yy[Ct]=this.yy[Ct]);E.setInput(o,U.yy),U.yy.lexer=E,U.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var xt=E.yylloc;i.push(xt);var me=E.options&&E.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ke(D){n.length=n.length-2*D,T.length=T.length-D,i.length=i.length-D}r(ke,"popStack");function Mt(){var D;return D=y.pop()||E.lex()||Q,typeof D!="number"&&(D instanceof Array&&(y=D,D=y.pop()),D=u.symbols_[D]||D),D}r(Mt,"lex");for(var m,j,C,At,X={},dt,O,Ut,ft;;){if(j=n[n.length-1],this.defaultActions[j]?C=this.defaultActions[j]:((m===null||typeof m>"u")&&(m=Mt()),C=q[j]&&q[j][m]),typeof C>"u"||!C.length||!C[0]){var Lt="";ft=[];for(dt in q[j])this.terminals_[dt]&&dt>ht&&ft.push("'"+this.terminals_[dt]+"'");E.showPosition?Lt="Parse error on line "+(M+1)+`: +import{g as De,s as Ce}from"./chunk-4LC2V6XN.BzSTI6dc.js";import{_ as r,e as z,d as x,g as xe,s as Ae,b as Le,c as Ie,q as Re,r as Oe,l as b,z as Ne,u as we,v as $e,ai as Pe}from"../app.XeY7gsc2.js";var Ot=function(){var t=r(function($,o,u,n){for(u=u||{},n=$.length;n--;u[$[n]]=o);return u},"o"),e=[1,2],c=[1,3],a=[1,4],d=[2,4],s=[1,9],p=[1,11],g=[1,16],l=[1,17],_=[1,18],v=[1,19],A=[1,32],B=[1,20],Y=[1,21],I=[1,22],f=[1,23],L=[1,24],R=[1,26],F=[1,27],V=[1,28],N=[1,29],w=[1,30],rt=[1,31],at=[1,34],nt=[1,35],lt=[1,36],ot=[1,37],J=[1,33],S=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],ct=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],Vt=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],kt={trace:r(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:r(function(o,u,n,y,T,i,q){var h=i.length-1;switch(T){case 3:return y.setRootDoc(i[h]),i[h];case 4:this.$=[];break;case 5:i[h]!="nl"&&(i[h-1].push(i[h]),this.$=i[h-1]);break;case 6:case 7:this.$=i[h];break;case 8:this.$="nl";break;case 12:this.$=i[h];break;case 13:const Q=i[h-1];Q.description=y.trimColon(i[h]),this.$=Q;break;case 14:this.$={stmt:"relation",state1:i[h-2],state2:i[h]};break;case 15:const Dt=y.trimColon(i[h]);this.$={stmt:"relation",state1:i[h-3],state2:i[h-1],description:Dt};break;case 19:this.$={stmt:"state",id:i[h-3],type:"default",description:"",doc:i[h-1]};break;case 20:var M=i[h],W=i[h-2].trim();if(i[h].match(":")){var ht=i[h].split(":");M=ht[0],W=[W,ht[1]]}this.$={stmt:"state",id:M,type:"default",description:W};break;case 21:this.$={stmt:"state",id:i[h-3],type:"default",description:i[h-5],doc:i[h-1]};break;case 22:this.$={stmt:"state",id:i[h],type:"fork"};break;case 23:this.$={stmt:"state",id:i[h],type:"join"};break;case 24:this.$={stmt:"state",id:i[h],type:"choice"};break;case 25:this.$={stmt:"state",id:y.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:i[h-1].trim(),note:{position:i[h-2].trim(),text:i[h].trim()}};break;case 29:this.$=i[h].trim(),y.setAccTitle(this.$);break;case 30:case 31:this.$=i[h].trim(),y.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:i[h-1].trim(),classes:i[h].trim()};break;case 34:this.$={stmt:"style",id:i[h-1].trim(),styleClass:i[h].trim()};break;case 35:this.$={stmt:"applyClass",id:i[h-1].trim(),styleClass:i[h].trim()};break;case 36:y.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:y.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:y.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:y.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:i[h].trim(),type:"default",description:""};break;case 44:this.$={stmt:"state",id:i[h-2].trim(),classes:[i[h].trim()],type:"default",description:""};break;case 45:this.$={stmt:"state",id:i[h-2].trim(),classes:[i[h].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:c,6:a},{1:[3]},{3:5,4:e,5:c,6:a},{3:6,4:e,5:c,6:a},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],d,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:s,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:l,19:_,22:v,24:A,25:B,26:Y,27:I,28:f,29:L,32:25,33:R,35:F,37:V,38:N,42:w,45:rt,48:at,49:nt,50:lt,51:ot,54:J},t(S,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:g,17:l,19:_,22:v,24:A,25:B,26:Y,27:I,28:f,29:L,32:25,33:R,35:F,37:V,38:N,42:w,45:rt,48:at,49:nt,50:lt,51:ot,54:J},t(S,[2,7]),t(S,[2,8]),t(S,[2,9]),t(S,[2,10]),t(S,[2,11]),t(S,[2,12],{14:[1,39],15:[1,40]}),t(S,[2,16]),{18:[1,41]},t(S,[2,18],{20:[1,42]}),{23:[1,43]},t(S,[2,22]),t(S,[2,23]),t(S,[2,24]),t(S,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(S,[2,28]),{34:[1,48]},{36:[1,49]},t(S,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(ct,[2,42],{55:[1,54]}),t(ct,[2,43],{55:[1,55]}),t(S,[2,36]),t(S,[2,37]),t(S,[2,38]),t(S,[2,39]),t(S,[2,6]),t(S,[2,13]),{13:56,24:A,54:J},t(S,[2,17]),t(Vt,d,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(S,[2,29]),t(S,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(S,[2,14],{14:[1,67]}),{4:s,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:l,19:_,21:[1,68],22:v,24:A,25:B,26:Y,27:I,28:f,29:L,32:25,33:R,35:F,37:V,38:N,42:w,45:rt,48:at,49:nt,50:lt,51:ot,54:J},t(S,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(S,[2,32]),t(S,[2,33]),t(S,[2,34]),t(S,[2,35]),t(ct,[2,44]),t(ct,[2,45]),t(S,[2,15]),t(S,[2,19]),t(Vt,d,{7:72}),t(S,[2,26]),t(S,[2,27]),{4:s,5:p,8:8,9:10,10:12,11:13,12:14,13:15,16:g,17:l,19:_,21:[1,73],22:v,24:A,25:B,26:Y,27:I,28:f,29:L,32:25,33:R,35:F,37:V,38:N,42:w,45:rt,48:at,49:nt,50:lt,51:ot,54:J},t(S,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:r(function(o,u){if(u.recoverable)this.trace(o);else{var n=new Error(o);throw n.hash=u,n}},"parseError"),parse:r(function(o){var u=this,n=[0],y=[],T=[null],i=[],q=this.table,h="",M=0,W=0,ht=2,Q=1,Dt=i.slice.call(arguments,1),E=Object.create(this.lexer),U={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(U.yy[Ct]=this.yy[Ct]);E.setInput(o,U.yy),U.yy.lexer=E,U.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var xt=E.yylloc;i.push(xt);var me=E.options&&E.options.ranges;typeof U.yy.parseError=="function"?this.parseError=U.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ke(D){n.length=n.length-2*D,T.length=T.length-D,i.length=i.length-D}r(ke,"popStack");function Mt(){var D;return D=y.pop()||E.lex()||Q,typeof D!="number"&&(D instanceof Array&&(y=D,D=y.pop()),D=u.symbols_[D]||D),D}r(Mt,"lex");for(var m,j,C,At,X={},dt,O,Ut,ft;;){if(j=n[n.length-1],this.defaultActions[j]?C=this.defaultActions[j]:((m===null||typeof m>"u")&&(m=Mt()),C=q[j]&&q[j][m]),typeof C>"u"||!C.length||!C[0]){var Lt="";ft=[];for(dt in q[j])this.terminals_[dt]&&dt>ht&&ft.push("'"+this.terminals_[dt]+"'");E.showPosition?Lt="Parse error on line "+(M+1)+`: `+E.showPosition()+` Expecting `+ft.join(", ")+", got '"+(this.terminals_[m]||m)+"'":Lt="Parse error on line "+(M+1)+": Unexpected "+(m==Q?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(Lt,{text:E.match,token:this.terminals_[m]||m,line:E.yylineno,loc:xt,expected:ft})}if(C[0]instanceof Array&&C.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+m);switch(C[0]){case 1:n.push(m),T.push(E.yytext),i.push(E.yylloc),n.push(C[1]),m=null,W=E.yyleng,h=E.yytext,M=E.yylineno,xt=E.yylloc;break;case 2:if(O=this.productions_[C[1]][1],X.$=T[T.length-O],X._$={first_line:i[i.length-(O||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(O||1)].first_column,last_column:i[i.length-1].last_column},me&&(X._$.range=[i[i.length-(O||1)].range[0],i[i.length-1].range[1]]),At=this.performAction.apply(X,[h,W,M,U.yy,C[1],T,i].concat(Dt)),typeof At<"u")return At;O&&(n=n.slice(0,-1*O*2),T=T.slice(0,-1*O),i=i.slice(0,-1*O)),n.push(this.productions_[C[1]][0]),T.push(X.$),i.push(X._$),Ut=q[n[n.length-2]][n[n.length-1]],n.push(Ut);break;case 3:return!0}}return!0},"parse")},be=function(){var $={EOF:1,parseError:r(function(u,n){if(this.yy.parser)this.yy.parser.parseError(u,n);else throw new Error(u)},"parseError"),setInput:r(function(o,u){return this.yy=u||this.yy||{},this._input=o,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:r(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var u=o.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:r(function(o){var u=o.length,n=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var T=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===y.length?this.yylloc.first_column:0)+y[y.length-n.length].length-n[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[T[0],T[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:r(function(){return this._more=!0,this},"more"),reject:r(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:r(function(o){this.unput(this.match.slice(o))},"less"),pastInput:r(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:r(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:r(function(){var o=this.pastInput(),u=new Array(o.length+1).join("-");return o+this.upcomingInput()+` diff --git a/assets/chunks/chunk-6JKP7OK7.BgZMD3fh.js b/assets/chunks/chunk-6JKP7OK7.BZQScEOe.js similarity index 65% rename from assets/chunks/chunk-6JKP7OK7.BgZMD3fh.js rename to assets/chunks/chunk-6JKP7OK7.BZQScEOe.js index 4774a5663..f9f617c4b 100644 --- a/assets/chunks/chunk-6JKP7OK7.BgZMD3fh.js +++ b/assets/chunks/chunk-6JKP7OK7.BZQScEOe.js @@ -1 +1 @@ -import{_ as s}from"../app.B4W5LDy6.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as I}; +import{_ as s}from"../app.XeY7gsc2.js";var t,e=(t=class{constructor(i){this.init=i,this.records=this.init()}reset(){this.records=this.init()}},s(t,"ImperativeState"),t);export{e as I}; diff --git a/assets/chunks/chunk-NGC4727B.Y5EkXXl7.js b/assets/chunks/chunk-NGC4727B.IB0FxRyG.js similarity index 99% rename from assets/chunks/chunk-NGC4727B.Y5EkXXl7.js rename to assets/chunks/chunk-NGC4727B.IB0FxRyG.js index e26e698e7..d5843b34f 100644 --- a/assets/chunks/chunk-NGC4727B.Y5EkXXl7.js +++ b/assets/chunks/chunk-NGC4727B.IB0FxRyG.js @@ -1,4 +1,4 @@ -import{_ as n,i as lt,d as D,a7 as Ve,s as ct,g as ot,b as ht,c as At,q as pt,r as ft,e as x,v as dt,l as Ct,u as $e,j as Y}from"../app.B4W5LDy6.js";var Pe=function(){var e=n(function(O,a,l,A){for(l=l||{},A=O.length;A--;l[O[A]]=a);return l},"o"),i=[1,17],r=[1,18],h=[1,19],c=[1,39],f=[1,40],d=[1,25],B=[1,23],S=[1,24],N=[1,31],Ee=[1,32],ge=[1,33],me=[1,34],be=[1,35],ke=[1,36],Te=[1,26],ye=[1,27],Fe=[1,28],De=[1,29],C=[1,43],_e=[1,30],E=[1,42],g=[1,44],m=[1,41],T=[1,45],Be=[1,9],o=[1,8,9],Q=[1,56],X=[1,57],W=[1,58],q=[1,59],H=[1,60],Se=[1,61],ve=[1,62],J=[1,8,9,40],Ke=[1,74],M=[1,8,9,12,13,22,38,40,43,60,61,62,63,64,65,66,71,73],Z=[1,8,9,12,13,17,20,22,38,40,43,47,60,61,62,63,64,65,66,71,73,75,81,96,98,99],$=[13,75,81,96,98,99],z=[13,65,66,75,81,96,98,99],Ye=[13,60,61,62,63,64,75,81,96,98,99],Ne=[1,94],ee=[1,111],te=[1,109],se=[1,103],ie=[1,104],ue=[1,105],ne=[1,106],ae=[1,107],re=[1,108],le=[1,110],Le=[1,8,9,38,40,43],ce=[1,8,9,22],je=[1,8,9,79],v=[1,8,9,22,74,75,79,81,82,83,84,85,86],xe={trace:n(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,DOT:17,className:18,classLiteralName:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,namespaceIdentifier:37,STRUCT_START:38,classStatements:39,STRUCT_STOP:40,NAMESPACE:41,classIdentifier:42,STYLE_SEPARATOR:43,members:44,CLASS:45,ANNOTATION_START:46,ANNOTATION_END:47,MEMBER:48,SEPARATOR:49,relation:50,NOTE_FOR:51,noteText:52,NOTE:53,direction_tb:54,direction_bt:55,direction_rl:56,direction_lr:57,relationType:58,lineType:59,AGGREGATION:60,EXTENSION:61,COMPOSITION:62,DEPENDENCY:63,LOLLIPOP:64,LINE:65,DOTTED_LINE:66,CALLBACK:67,LINK:68,LINK_TARGET:69,CLICK:70,CALLBACK_NAME:71,CALLBACK_ARGS:72,HREF:73,STYLE:74,ALPHA:75,stylesOpt:76,CSSCLASS:77,style:78,COMMA:79,styleComponent:80,NUM:81,COLON:82,UNIT:83,SPACE:84,BRKT:85,PCT:86,commentToken:87,textToken:88,graphCodeTokens:89,textNoTagsToken:90,TAGSTART:91,TAGEND:92,"==":93,"--":94,DEFAULT:95,MINUS:96,keywords:97,UNICODE_TEXT:98,BQUOTE_STR:99,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",17:"DOT",20:"GENERICTYPE",22:"LABEL",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",38:"STRUCT_START",40:"STRUCT_STOP",41:"NAMESPACE",43:"STYLE_SEPARATOR",45:"CLASS",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"MEMBER",49:"SEPARATOR",51:"NOTE_FOR",53:"NOTE",54:"direction_tb",55:"direction_bt",56:"direction_rl",57:"direction_lr",60:"AGGREGATION",61:"EXTENSION",62:"COMPOSITION",63:"DEPENDENCY",64:"LOLLIPOP",65:"LINE",66:"DOTTED_LINE",67:"CALLBACK",68:"LINK",69:"LINK_TARGET",70:"CLICK",71:"CALLBACK_NAME",72:"CALLBACK_ARGS",73:"HREF",74:"STYLE",75:"ALPHA",77:"CSSCLASS",79:"COMMA",81:"NUM",82:"COLON",83:"UNIT",84:"SPACE",85:"BRKT",86:"PCT",89:"graphCodeTokens",91:"TAGSTART",92:"TAGEND",93:"==",94:"--",95:"DEFAULT",96:"MINUS",97:"keywords",98:"UNICODE_TEXT",99:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,3],[15,2],[18,1],[18,3],[18,1],[18,2],[18,2],[18,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[37,2],[39,1],[39,2],[39,3],[24,1],[24,3],[24,4],[24,6],[42,2],[42,3],[26,4],[44,1],[44,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,1],[31,1],[31,1],[31,1],[50,3],[50,2],[50,2],[50,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[76,1],[76,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[87,1],[87,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[90,1],[90,1],[90,1],[90,1],[16,1],[16,1],[16,1],[16,1],[19,1],[52,1]],performAction:n(function(a,l,A,u,p,t,K){var s=t.length-1;switch(p){case 8:this.$=t[s-1];break;case 9:case 12:case 14:this.$=t[s];break;case 10:case 13:this.$=t[s-2]+"."+t[s];break;case 11:case 15:this.$=t[s-1]+t[s];break;case 16:case 17:this.$=t[s-1]+"~"+t[s]+"~";break;case 18:u.addRelation(t[s]);break;case 19:t[s-1].title=u.cleanupLabel(t[s]),u.addRelation(t[s-1]);break;case 29:this.$=t[s].trim(),u.setAccTitle(this.$);break;case 30:case 31:this.$=t[s].trim(),u.setAccDescription(this.$);break;case 32:u.addClassesToNamespace(t[s-3],t[s-1]);break;case 33:u.addClassesToNamespace(t[s-4],t[s-1]);break;case 34:this.$=t[s],u.addNamespace(t[s]);break;case 35:this.$=[t[s]];break;case 36:this.$=[t[s-1]];break;case 37:t[s].unshift(t[s-2]),this.$=t[s];break;case 39:u.setCssClass(t[s-2],t[s]);break;case 40:u.addMembers(t[s-3],t[s-1]);break;case 41:u.setCssClass(t[s-5],t[s-3]),u.addMembers(t[s-5],t[s-1]);break;case 42:this.$=t[s],u.addClass(t[s]);break;case 43:this.$=t[s-1],u.addClass(t[s-1]),u.setClassLabel(t[s-1],t[s]);break;case 44:u.addAnnotation(t[s],t[s-2]);break;case 45:this.$=[t[s]];break;case 46:t[s].push(t[s-1]),this.$=t[s];break;case 47:break;case 48:u.addMember(t[s-1],u.cleanupLabel(t[s]));break;case 49:break;case 50:break;case 51:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 52:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 53:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 54:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 55:u.addNote(t[s],t[s-1]);break;case 56:u.addNote(t[s]);break;case 57:u.setDirection("TB");break;case 58:u.setDirection("BT");break;case 59:u.setDirection("RL");break;case 60:u.setDirection("LR");break;case 61:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 62:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 63:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 64:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 65:this.$=u.relationType.AGGREGATION;break;case 66:this.$=u.relationType.EXTENSION;break;case 67:this.$=u.relationType.COMPOSITION;break;case 68:this.$=u.relationType.DEPENDENCY;break;case 69:this.$=u.relationType.LOLLIPOP;break;case 70:this.$=u.lineType.LINE;break;case 71:this.$=u.lineType.DOTTED_LINE;break;case 72:case 78:this.$=t[s-2],u.setClickEvent(t[s-1],t[s]);break;case 73:case 79:this.$=t[s-3],u.setClickEvent(t[s-2],t[s-1]),u.setTooltip(t[s-2],t[s]);break;case 74:this.$=t[s-2],u.setLink(t[s-1],t[s]);break;case 75:this.$=t[s-3],u.setLink(t[s-2],t[s-1],t[s]);break;case 76:this.$=t[s-3],u.setLink(t[s-2],t[s-1]),u.setTooltip(t[s-2],t[s]);break;case 77:this.$=t[s-4],u.setLink(t[s-3],t[s-2],t[s]),u.setTooltip(t[s-3],t[s-1]);break;case 80:this.$=t[s-3],u.setClickEvent(t[s-2],t[s-1],t[s]);break;case 81:this.$=t[s-4],u.setClickEvent(t[s-3],t[s-2],t[s-1]),u.setTooltip(t[s-3],t[s]);break;case 82:this.$=t[s-3],u.setLink(t[s-2],t[s]);break;case 83:this.$=t[s-4],u.setLink(t[s-3],t[s-1],t[s]);break;case 84:this.$=t[s-4],u.setLink(t[s-3],t[s-1]),u.setTooltip(t[s-3],t[s]);break;case 85:this.$=t[s-5],u.setLink(t[s-4],t[s-2],t[s]),u.setTooltip(t[s-4],t[s-1]);break;case 86:this.$=t[s-2],u.setCssStyle(t[s-1],t[s]);break;case 87:u.setCssClass(t[s-1],t[s]);break;case 88:this.$=[t[s]];break;case 89:t[s-2].push(t[s]),this.$=t[s-2];break;case 91:this.$=t[s-1]+t[s];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,18:20,19:38,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:i,34:r,36:h,37:21,41:c,42:22,45:f,46:d,48:B,49:S,51:N,53:Ee,54:ge,55:me,56:be,57:ke,67:Te,68:ye,70:Fe,74:De,75:C,77:_e,81:E,96:g,98:m,99:T},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(Be,[2,5],{8:[1,46]}),{8:[1,47]},e(o,[2,18],{22:[1,48]}),e(o,[2,20]),e(o,[2,21]),e(o,[2,22]),e(o,[2,23]),e(o,[2,24]),e(o,[2,25]),e(o,[2,26]),e(o,[2,27]),e(o,[2,28]),{33:[1,49]},{35:[1,50]},e(o,[2,31]),e(o,[2,47],{50:51,58:54,59:55,13:[1,52],22:[1,53],60:Q,61:X,62:W,63:q,64:H,65:Se,66:ve}),{38:[1,63]},e(J,[2,38],{38:[1,65],43:[1,64]}),e(o,[2,49]),e(o,[2,50]),{16:66,75:C,81:E,96:g,98:m},{16:37,18:67,19:38,75:C,81:E,96:g,98:m,99:T},{16:37,18:68,19:38,75:C,81:E,96:g,98:m,99:T},{16:37,18:69,19:38,75:C,81:E,96:g,98:m,99:T},{75:[1,70]},{13:[1,71]},{16:37,18:72,19:38,75:C,81:E,96:g,98:m,99:T},{13:Ke,52:73},e(o,[2,57]),e(o,[2,58]),e(o,[2,59]),e(o,[2,60]),e(M,[2,12],{16:37,19:38,18:76,17:[1,75],20:[1,77],75:C,81:E,96:g,98:m,99:T}),e(M,[2,14],{20:[1,78]}),{15:79,16:80,75:C,81:E,96:g,98:m},{16:37,18:81,19:38,75:C,81:E,96:g,98:m,99:T},e(Z,[2,114]),e(Z,[2,115]),e(Z,[2,116]),e(Z,[2,117]),e([1,8,9,12,13,20,22,38,40,43,60,61,62,63,64,65,66,71,73],[2,118]),e(Be,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,18:20,37:21,42:22,16:37,19:38,5:82,32:i,34:r,36:h,41:c,45:f,46:d,48:B,49:S,51:N,53:Ee,54:ge,55:me,56:be,57:ke,67:Te,68:ye,70:Fe,74:De,75:C,77:_e,81:E,96:g,98:m,99:T}),{5:83,10:5,16:37,18:20,19:38,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:i,34:r,36:h,37:21,41:c,42:22,45:f,46:d,48:B,49:S,51:N,53:Ee,54:ge,55:me,56:be,57:ke,67:Te,68:ye,70:Fe,74:De,75:C,77:_e,81:E,96:g,98:m,99:T},e(o,[2,19]),e(o,[2,29]),e(o,[2,30]),{13:[1,85],16:37,18:84,19:38,75:C,81:E,96:g,98:m,99:T},{50:86,58:54,59:55,60:Q,61:X,62:W,63:q,64:H,65:Se,66:ve},e(o,[2,48]),{59:87,65:Se,66:ve},e($,[2,64],{58:88,60:Q,61:X,62:W,63:q,64:H}),e(z,[2,65]),e(z,[2,66]),e(z,[2,67]),e(z,[2,68]),e(z,[2,69]),e(Ye,[2,70]),e(Ye,[2,71]),{8:[1,90],24:91,39:89,42:22,45:f},{16:92,75:C,81:E,96:g,98:m},{44:93,48:Ne},{47:[1,95]},{13:[1,96]},{13:[1,97]},{71:[1,98],73:[1,99]},{22:ee,74:te,75:se,76:100,78:101,80:102,81:ie,82:ue,83:ne,84:ae,85:re,86:le},{75:[1,112]},{13:Ke,52:113},e(o,[2,56]),e(o,[2,119]),{16:37,18:114,19:38,75:C,81:E,96:g,98:m,99:T},e(M,[2,15]),e(M,[2,16]),e(M,[2,17]),{38:[2,34]},{15:116,16:80,17:[1,115],38:[2,9],75:C,81:E,96:g,98:m},e(Le,[2,42],{11:117,12:[1,118]}),e(Be,[2,7]),{9:[1,119]},e(ce,[2,51]),{16:37,18:120,19:38,75:C,81:E,96:g,98:m,99:T},{13:[1,122],16:37,18:121,19:38,75:C,81:E,96:g,98:m,99:T},e($,[2,63],{58:123,60:Q,61:X,62:W,63:q,64:H}),e($,[2,62]),{40:[1,124]},{24:91,39:125,42:22,45:f},{8:[1,126],40:[2,35]},e(J,[2,39],{38:[1,127]}),{40:[1,128]},{40:[2,45],44:129,48:Ne},{16:37,18:130,19:38,75:C,81:E,96:g,98:m,99:T},e(o,[2,72],{13:[1,131]}),e(o,[2,74],{13:[1,133],69:[1,132]}),e(o,[2,78],{13:[1,134],72:[1,135]}),{13:[1,136]},e(o,[2,86],{79:[1,137]}),e(je,[2,88],{80:138,22:ee,74:te,75:se,81:ie,82:ue,83:ne,84:ae,85:re,86:le}),e(v,[2,90]),e(v,[2,92]),e(v,[2,93]),e(v,[2,94]),e(v,[2,95]),e(v,[2,96]),e(v,[2,97]),e(v,[2,98]),e(v,[2,99]),e(v,[2,100]),e(o,[2,87]),e(o,[2,55]),e(M,[2,13]),{15:139,16:80,75:C,81:E,96:g,98:m},{38:[2,11]},e(Le,[2,43]),{13:[1,140]},{1:[2,4]},e(ce,[2,53]),e(ce,[2,52]),{16:37,18:141,19:38,75:C,81:E,96:g,98:m,99:T},e($,[2,61]),e(o,[2,32]),{40:[1,142]},{24:91,39:143,40:[2,36],42:22,45:f},{44:144,48:Ne},e(J,[2,40]),{40:[2,46]},e(o,[2,44]),e(o,[2,73]),e(o,[2,75]),e(o,[2,76],{69:[1,145]}),e(o,[2,79]),e(o,[2,80],{13:[1,146]}),e(o,[2,82],{13:[1,148],69:[1,147]}),{22:ee,74:te,75:se,78:149,80:102,81:ie,82:ue,83:ne,84:ae,85:re,86:le},e(v,[2,91]),{38:[2,10]},{14:[1,150]},e(ce,[2,54]),e(o,[2,33]),{40:[2,37]},{40:[1,151]},e(o,[2,77]),e(o,[2,81]),e(o,[2,83]),e(o,[2,84],{69:[1,152]}),e(je,[2,89],{80:138,22:ee,74:te,75:se,81:ie,82:ue,83:ne,84:ae,85:re,86:le}),e(Le,[2,8]),e(J,[2,41]),e(o,[2,85])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],79:[2,34],116:[2,11],119:[2,4],129:[2,46],139:[2,10],143:[2,37]},parseError:n(function(a,l){if(l.recoverable)this.trace(a);else{var A=new Error(a);throw A.hash=l,A}},"parseError"),parse:n(function(a){var l=this,A=[0],u=[],p=[null],t=[],K=this.table,s="",he=0,Qe=0,ut=2,Xe=1,nt=t.slice.call(arguments,1),k=Object.create(this.lexer),R={yy:{}};for(var Ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ie)&&(R.yy[Ie]=this.yy[Ie]);k.setInput(a,R.yy),R.yy.lexer=k,R.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var Oe=k.yylloc;t.push(Oe);var at=k.options&&k.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function rt(F){A.length=A.length-2*F,p.length=p.length-F,t.length=t.length-F}n(rt,"popStack");function We(){var F;return F=u.pop()||k.lex()||Xe,typeof F!="number"&&(F instanceof Array&&(u=F,F=u.pop()),F=l.symbols_[F]||F),F}n(We,"lex");for(var y,w,_,Re,G={},Ae,L,qe,pe;;){if(w=A[A.length-1],this.defaultActions[w]?_=this.defaultActions[w]:((y===null||typeof y>"u")&&(y=We()),_=K[w]&&K[w][y]),typeof _>"u"||!_.length||!_[0]){var we="";pe=[];for(Ae in K[w])this.terminals_[Ae]&&Ae>ut&&pe.push("'"+this.terminals_[Ae]+"'");k.showPosition?we="Parse error on line "+(he+1)+`: +import{_ as n,i as lt,d as D,a7 as Ve,s as ct,g as ot,b as ht,c as At,q as pt,r as ft,e as x,v as dt,l as Ct,u as $e,j as Y}from"../app.XeY7gsc2.js";var Pe=function(){var e=n(function(O,a,l,A){for(l=l||{},A=O.length;A--;l[O[A]]=a);return l},"o"),i=[1,17],r=[1,18],h=[1,19],c=[1,39],f=[1,40],d=[1,25],B=[1,23],S=[1,24],N=[1,31],Ee=[1,32],ge=[1,33],me=[1,34],be=[1,35],ke=[1,36],Te=[1,26],ye=[1,27],Fe=[1,28],De=[1,29],C=[1,43],_e=[1,30],E=[1,42],g=[1,44],m=[1,41],T=[1,45],Be=[1,9],o=[1,8,9],Q=[1,56],X=[1,57],W=[1,58],q=[1,59],H=[1,60],Se=[1,61],ve=[1,62],J=[1,8,9,40],Ke=[1,74],M=[1,8,9,12,13,22,38,40,43,60,61,62,63,64,65,66,71,73],Z=[1,8,9,12,13,17,20,22,38,40,43,47,60,61,62,63,64,65,66,71,73,75,81,96,98,99],$=[13,75,81,96,98,99],z=[13,65,66,75,81,96,98,99],Ye=[13,60,61,62,63,64,75,81,96,98,99],Ne=[1,94],ee=[1,111],te=[1,109],se=[1,103],ie=[1,104],ue=[1,105],ne=[1,106],ae=[1,107],re=[1,108],le=[1,110],Le=[1,8,9,38,40,43],ce=[1,8,9,22],je=[1,8,9,79],v=[1,8,9,22,74,75,79,81,82,83,84,85,86],xe={trace:n(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,DOT:17,className:18,classLiteralName:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,namespaceIdentifier:37,STRUCT_START:38,classStatements:39,STRUCT_STOP:40,NAMESPACE:41,classIdentifier:42,STYLE_SEPARATOR:43,members:44,CLASS:45,ANNOTATION_START:46,ANNOTATION_END:47,MEMBER:48,SEPARATOR:49,relation:50,NOTE_FOR:51,noteText:52,NOTE:53,direction_tb:54,direction_bt:55,direction_rl:56,direction_lr:57,relationType:58,lineType:59,AGGREGATION:60,EXTENSION:61,COMPOSITION:62,DEPENDENCY:63,LOLLIPOP:64,LINE:65,DOTTED_LINE:66,CALLBACK:67,LINK:68,LINK_TARGET:69,CLICK:70,CALLBACK_NAME:71,CALLBACK_ARGS:72,HREF:73,STYLE:74,ALPHA:75,stylesOpt:76,CSSCLASS:77,style:78,COMMA:79,styleComponent:80,NUM:81,COLON:82,UNIT:83,SPACE:84,BRKT:85,PCT:86,commentToken:87,textToken:88,graphCodeTokens:89,textNoTagsToken:90,TAGSTART:91,TAGEND:92,"==":93,"--":94,DEFAULT:95,MINUS:96,keywords:97,UNICODE_TEXT:98,BQUOTE_STR:99,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",17:"DOT",20:"GENERICTYPE",22:"LABEL",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",38:"STRUCT_START",40:"STRUCT_STOP",41:"NAMESPACE",43:"STYLE_SEPARATOR",45:"CLASS",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"MEMBER",49:"SEPARATOR",51:"NOTE_FOR",53:"NOTE",54:"direction_tb",55:"direction_bt",56:"direction_rl",57:"direction_lr",60:"AGGREGATION",61:"EXTENSION",62:"COMPOSITION",63:"DEPENDENCY",64:"LOLLIPOP",65:"LINE",66:"DOTTED_LINE",67:"CALLBACK",68:"LINK",69:"LINK_TARGET",70:"CLICK",71:"CALLBACK_NAME",72:"CALLBACK_ARGS",73:"HREF",74:"STYLE",75:"ALPHA",77:"CSSCLASS",79:"COMMA",81:"NUM",82:"COLON",83:"UNIT",84:"SPACE",85:"BRKT",86:"PCT",89:"graphCodeTokens",91:"TAGSTART",92:"TAGEND",93:"==",94:"--",95:"DEFAULT",96:"MINUS",97:"keywords",98:"UNICODE_TEXT",99:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,3],[15,2],[18,1],[18,3],[18,1],[18,2],[18,2],[18,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[37,2],[39,1],[39,2],[39,3],[24,1],[24,3],[24,4],[24,6],[42,2],[42,3],[26,4],[44,1],[44,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,1],[31,1],[31,1],[31,1],[50,3],[50,2],[50,2],[50,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[76,1],[76,3],[78,1],[78,2],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[87,1],[87,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[90,1],[90,1],[90,1],[90,1],[16,1],[16,1],[16,1],[16,1],[19,1],[52,1]],performAction:n(function(a,l,A,u,p,t,K){var s=t.length-1;switch(p){case 8:this.$=t[s-1];break;case 9:case 12:case 14:this.$=t[s];break;case 10:case 13:this.$=t[s-2]+"."+t[s];break;case 11:case 15:this.$=t[s-1]+t[s];break;case 16:case 17:this.$=t[s-1]+"~"+t[s]+"~";break;case 18:u.addRelation(t[s]);break;case 19:t[s-1].title=u.cleanupLabel(t[s]),u.addRelation(t[s-1]);break;case 29:this.$=t[s].trim(),u.setAccTitle(this.$);break;case 30:case 31:this.$=t[s].trim(),u.setAccDescription(this.$);break;case 32:u.addClassesToNamespace(t[s-3],t[s-1]);break;case 33:u.addClassesToNamespace(t[s-4],t[s-1]);break;case 34:this.$=t[s],u.addNamespace(t[s]);break;case 35:this.$=[t[s]];break;case 36:this.$=[t[s-1]];break;case 37:t[s].unshift(t[s-2]),this.$=t[s];break;case 39:u.setCssClass(t[s-2],t[s]);break;case 40:u.addMembers(t[s-3],t[s-1]);break;case 41:u.setCssClass(t[s-5],t[s-3]),u.addMembers(t[s-5],t[s-1]);break;case 42:this.$=t[s],u.addClass(t[s]);break;case 43:this.$=t[s-1],u.addClass(t[s-1]),u.setClassLabel(t[s-1],t[s]);break;case 44:u.addAnnotation(t[s],t[s-2]);break;case 45:this.$=[t[s]];break;case 46:t[s].push(t[s-1]),this.$=t[s];break;case 47:break;case 48:u.addMember(t[s-1],u.cleanupLabel(t[s]));break;case 49:break;case 50:break;case 51:this.$={id1:t[s-2],id2:t[s],relation:t[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 52:this.$={id1:t[s-3],id2:t[s],relation:t[s-1],relationTitle1:t[s-2],relationTitle2:"none"};break;case 53:this.$={id1:t[s-3],id2:t[s],relation:t[s-2],relationTitle1:"none",relationTitle2:t[s-1]};break;case 54:this.$={id1:t[s-4],id2:t[s],relation:t[s-2],relationTitle1:t[s-3],relationTitle2:t[s-1]};break;case 55:u.addNote(t[s],t[s-1]);break;case 56:u.addNote(t[s]);break;case 57:u.setDirection("TB");break;case 58:u.setDirection("BT");break;case 59:u.setDirection("RL");break;case 60:u.setDirection("LR");break;case 61:this.$={type1:t[s-2],type2:t[s],lineType:t[s-1]};break;case 62:this.$={type1:"none",type2:t[s],lineType:t[s-1]};break;case 63:this.$={type1:t[s-1],type2:"none",lineType:t[s]};break;case 64:this.$={type1:"none",type2:"none",lineType:t[s]};break;case 65:this.$=u.relationType.AGGREGATION;break;case 66:this.$=u.relationType.EXTENSION;break;case 67:this.$=u.relationType.COMPOSITION;break;case 68:this.$=u.relationType.DEPENDENCY;break;case 69:this.$=u.relationType.LOLLIPOP;break;case 70:this.$=u.lineType.LINE;break;case 71:this.$=u.lineType.DOTTED_LINE;break;case 72:case 78:this.$=t[s-2],u.setClickEvent(t[s-1],t[s]);break;case 73:case 79:this.$=t[s-3],u.setClickEvent(t[s-2],t[s-1]),u.setTooltip(t[s-2],t[s]);break;case 74:this.$=t[s-2],u.setLink(t[s-1],t[s]);break;case 75:this.$=t[s-3],u.setLink(t[s-2],t[s-1],t[s]);break;case 76:this.$=t[s-3],u.setLink(t[s-2],t[s-1]),u.setTooltip(t[s-2],t[s]);break;case 77:this.$=t[s-4],u.setLink(t[s-3],t[s-2],t[s]),u.setTooltip(t[s-3],t[s-1]);break;case 80:this.$=t[s-3],u.setClickEvent(t[s-2],t[s-1],t[s]);break;case 81:this.$=t[s-4],u.setClickEvent(t[s-3],t[s-2],t[s-1]),u.setTooltip(t[s-3],t[s]);break;case 82:this.$=t[s-3],u.setLink(t[s-2],t[s]);break;case 83:this.$=t[s-4],u.setLink(t[s-3],t[s-1],t[s]);break;case 84:this.$=t[s-4],u.setLink(t[s-3],t[s-1]),u.setTooltip(t[s-3],t[s]);break;case 85:this.$=t[s-5],u.setLink(t[s-4],t[s-2],t[s]),u.setTooltip(t[s-4],t[s-1]);break;case 86:this.$=t[s-2],u.setCssStyle(t[s-1],t[s]);break;case 87:u.setCssClass(t[s-1],t[s]);break;case 88:this.$=[t[s]];break;case 89:t[s-2].push(t[s]),this.$=t[s-2];break;case 91:this.$=t[s-1]+t[s];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,18:20,19:38,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:i,34:r,36:h,37:21,41:c,42:22,45:f,46:d,48:B,49:S,51:N,53:Ee,54:ge,55:me,56:be,57:ke,67:Te,68:ye,70:Fe,74:De,75:C,77:_e,81:E,96:g,98:m,99:T},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(Be,[2,5],{8:[1,46]}),{8:[1,47]},e(o,[2,18],{22:[1,48]}),e(o,[2,20]),e(o,[2,21]),e(o,[2,22]),e(o,[2,23]),e(o,[2,24]),e(o,[2,25]),e(o,[2,26]),e(o,[2,27]),e(o,[2,28]),{33:[1,49]},{35:[1,50]},e(o,[2,31]),e(o,[2,47],{50:51,58:54,59:55,13:[1,52],22:[1,53],60:Q,61:X,62:W,63:q,64:H,65:Se,66:ve}),{38:[1,63]},e(J,[2,38],{38:[1,65],43:[1,64]}),e(o,[2,49]),e(o,[2,50]),{16:66,75:C,81:E,96:g,98:m},{16:37,18:67,19:38,75:C,81:E,96:g,98:m,99:T},{16:37,18:68,19:38,75:C,81:E,96:g,98:m,99:T},{16:37,18:69,19:38,75:C,81:E,96:g,98:m,99:T},{75:[1,70]},{13:[1,71]},{16:37,18:72,19:38,75:C,81:E,96:g,98:m,99:T},{13:Ke,52:73},e(o,[2,57]),e(o,[2,58]),e(o,[2,59]),e(o,[2,60]),e(M,[2,12],{16:37,19:38,18:76,17:[1,75],20:[1,77],75:C,81:E,96:g,98:m,99:T}),e(M,[2,14],{20:[1,78]}),{15:79,16:80,75:C,81:E,96:g,98:m},{16:37,18:81,19:38,75:C,81:E,96:g,98:m,99:T},e(Z,[2,114]),e(Z,[2,115]),e(Z,[2,116]),e(Z,[2,117]),e([1,8,9,12,13,20,22,38,40,43,60,61,62,63,64,65,66,71,73],[2,118]),e(Be,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,18:20,37:21,42:22,16:37,19:38,5:82,32:i,34:r,36:h,41:c,45:f,46:d,48:B,49:S,51:N,53:Ee,54:ge,55:me,56:be,57:ke,67:Te,68:ye,70:Fe,74:De,75:C,77:_e,81:E,96:g,98:m,99:T}),{5:83,10:5,16:37,18:20,19:38,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:i,34:r,36:h,37:21,41:c,42:22,45:f,46:d,48:B,49:S,51:N,53:Ee,54:ge,55:me,56:be,57:ke,67:Te,68:ye,70:Fe,74:De,75:C,77:_e,81:E,96:g,98:m,99:T},e(o,[2,19]),e(o,[2,29]),e(o,[2,30]),{13:[1,85],16:37,18:84,19:38,75:C,81:E,96:g,98:m,99:T},{50:86,58:54,59:55,60:Q,61:X,62:W,63:q,64:H,65:Se,66:ve},e(o,[2,48]),{59:87,65:Se,66:ve},e($,[2,64],{58:88,60:Q,61:X,62:W,63:q,64:H}),e(z,[2,65]),e(z,[2,66]),e(z,[2,67]),e(z,[2,68]),e(z,[2,69]),e(Ye,[2,70]),e(Ye,[2,71]),{8:[1,90],24:91,39:89,42:22,45:f},{16:92,75:C,81:E,96:g,98:m},{44:93,48:Ne},{47:[1,95]},{13:[1,96]},{13:[1,97]},{71:[1,98],73:[1,99]},{22:ee,74:te,75:se,76:100,78:101,80:102,81:ie,82:ue,83:ne,84:ae,85:re,86:le},{75:[1,112]},{13:Ke,52:113},e(o,[2,56]),e(o,[2,119]),{16:37,18:114,19:38,75:C,81:E,96:g,98:m,99:T},e(M,[2,15]),e(M,[2,16]),e(M,[2,17]),{38:[2,34]},{15:116,16:80,17:[1,115],38:[2,9],75:C,81:E,96:g,98:m},e(Le,[2,42],{11:117,12:[1,118]}),e(Be,[2,7]),{9:[1,119]},e(ce,[2,51]),{16:37,18:120,19:38,75:C,81:E,96:g,98:m,99:T},{13:[1,122],16:37,18:121,19:38,75:C,81:E,96:g,98:m,99:T},e($,[2,63],{58:123,60:Q,61:X,62:W,63:q,64:H}),e($,[2,62]),{40:[1,124]},{24:91,39:125,42:22,45:f},{8:[1,126],40:[2,35]},e(J,[2,39],{38:[1,127]}),{40:[1,128]},{40:[2,45],44:129,48:Ne},{16:37,18:130,19:38,75:C,81:E,96:g,98:m,99:T},e(o,[2,72],{13:[1,131]}),e(o,[2,74],{13:[1,133],69:[1,132]}),e(o,[2,78],{13:[1,134],72:[1,135]}),{13:[1,136]},e(o,[2,86],{79:[1,137]}),e(je,[2,88],{80:138,22:ee,74:te,75:se,81:ie,82:ue,83:ne,84:ae,85:re,86:le}),e(v,[2,90]),e(v,[2,92]),e(v,[2,93]),e(v,[2,94]),e(v,[2,95]),e(v,[2,96]),e(v,[2,97]),e(v,[2,98]),e(v,[2,99]),e(v,[2,100]),e(o,[2,87]),e(o,[2,55]),e(M,[2,13]),{15:139,16:80,75:C,81:E,96:g,98:m},{38:[2,11]},e(Le,[2,43]),{13:[1,140]},{1:[2,4]},e(ce,[2,53]),e(ce,[2,52]),{16:37,18:141,19:38,75:C,81:E,96:g,98:m,99:T},e($,[2,61]),e(o,[2,32]),{40:[1,142]},{24:91,39:143,40:[2,36],42:22,45:f},{44:144,48:Ne},e(J,[2,40]),{40:[2,46]},e(o,[2,44]),e(o,[2,73]),e(o,[2,75]),e(o,[2,76],{69:[1,145]}),e(o,[2,79]),e(o,[2,80],{13:[1,146]}),e(o,[2,82],{13:[1,148],69:[1,147]}),{22:ee,74:te,75:se,78:149,80:102,81:ie,82:ue,83:ne,84:ae,85:re,86:le},e(v,[2,91]),{38:[2,10]},{14:[1,150]},e(ce,[2,54]),e(o,[2,33]),{40:[2,37]},{40:[1,151]},e(o,[2,77]),e(o,[2,81]),e(o,[2,83]),e(o,[2,84],{69:[1,152]}),e(je,[2,89],{80:138,22:ee,74:te,75:se,81:ie,82:ue,83:ne,84:ae,85:re,86:le}),e(Le,[2,8]),e(J,[2,41]),e(o,[2,85])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],79:[2,34],116:[2,11],119:[2,4],129:[2,46],139:[2,10],143:[2,37]},parseError:n(function(a,l){if(l.recoverable)this.trace(a);else{var A=new Error(a);throw A.hash=l,A}},"parseError"),parse:n(function(a){var l=this,A=[0],u=[],p=[null],t=[],K=this.table,s="",he=0,Qe=0,ut=2,Xe=1,nt=t.slice.call(arguments,1),k=Object.create(this.lexer),R={yy:{}};for(var Ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ie)&&(R.yy[Ie]=this.yy[Ie]);k.setInput(a,R.yy),R.yy.lexer=k,R.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var Oe=k.yylloc;t.push(Oe);var at=k.options&&k.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function rt(F){A.length=A.length-2*F,p.length=p.length-F,t.length=t.length-F}n(rt,"popStack");function We(){var F;return F=u.pop()||k.lex()||Xe,typeof F!="number"&&(F instanceof Array&&(u=F,F=u.pop()),F=l.symbols_[F]||F),F}n(We,"lex");for(var y,w,_,Re,G={},Ae,L,qe,pe;;){if(w=A[A.length-1],this.defaultActions[w]?_=this.defaultActions[w]:((y===null||typeof y>"u")&&(y=We()),_=K[w]&&K[w][y]),typeof _>"u"||!_.length||!_[0]){var we="";pe=[];for(Ae in K[w])this.terminals_[Ae]&&Ae>ut&&pe.push("'"+this.terminals_[Ae]+"'");k.showPosition?we="Parse error on line "+(he+1)+`: `+k.showPosition()+` Expecting `+pe.join(", ")+", got '"+(this.terminals_[y]||y)+"'":we="Parse error on line "+(he+1)+": Unexpected "+(y==Xe?"end of input":"'"+(this.terminals_[y]||y)+"'"),this.parseError(we,{text:k.match,token:this.terminals_[y]||y,line:k.yylineno,loc:Oe,expected:pe})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+y);switch(_[0]){case 1:A.push(y),p.push(k.yytext),t.push(k.yylloc),A.push(_[1]),y=null,Qe=k.yyleng,s=k.yytext,he=k.yylineno,Oe=k.yylloc;break;case 2:if(L=this.productions_[_[1]][1],G.$=p[p.length-L],G._$={first_line:t[t.length-(L||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(L||1)].first_column,last_column:t[t.length-1].last_column},at&&(G._$.range=[t[t.length-(L||1)].range[0],t[t.length-1].range[1]]),Re=this.performAction.apply(G,[s,Qe,he,R.yy,_[1],p,t].concat(nt)),typeof Re<"u")return Re;L&&(A=A.slice(0,-1*L*2),p=p.slice(0,-1*L),t=t.slice(0,-1*L)),A.push(this.productions_[_[1]][0]),p.push(G.$),t.push(G._$),qe=K[A[A.length-2]][A[A.length-1]],A.push(qe);break;case 3:return!0}}return!0},"parse")},it=function(){var O={EOF:1,parseError:n(function(l,A){if(this.yy.parser)this.yy.parser.parseError(l,A);else throw new Error(l)},"parseError"),setInput:n(function(a,l){return this.yy=l||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:n(function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var l=a.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:n(function(a){var l=a.length,A=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),A.length-1&&(this.yylineno-=A.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:A?(A.length===u.length?this.yylloc.first_column:0)+u[u.length-A.length].length-A[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:n(function(){return this._more=!0,this},"more"),reject:n(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:n(function(a){this.unput(this.match.slice(a))},"less"),pastInput:n(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:n(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:n(function(){var a=this.pastInput(),l=new Array(a.length+1).join("-");return a+this.upcomingInput()+` diff --git a/assets/chunks/chunk-REEJFE46.BkQveCwl.js b/assets/chunks/chunk-REEJFE46.w4u18u_I.js similarity index 99% rename from assets/chunks/chunk-REEJFE46.BkQveCwl.js rename to assets/chunks/chunk-REEJFE46.w4u18u_I.js index f9b80a6e3..db0d1ff9d 100644 --- a/assets/chunks/chunk-REEJFE46.BkQveCwl.js +++ b/assets/chunks/chunk-REEJFE46.w4u18u_I.js @@ -1,4 +1,4 @@ -import{_ as d,j as T,l as u,d as _,ad as H,ae as it,ac as yt,u as U,af as ft,a0 as xt,a6 as gt,ag as ut,ah as J,i as K}from"../app.B4W5LDy6.js";var bt=d((s,t,a,l)=>{t.forEach(n=>{Mt[n](s,a,l)})},"insertMarkers"),wt=d((s,t,a)=>{u.trace("Making markers for ",a),s.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),s.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),mt=d((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),vt=d((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),kt=d((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Lt=d((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),s.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),St=d((s,t,a)=>{s.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),s.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),_t=d((s,t,a)=>{s.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),s.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),Bt=d((s,t,a)=>{s.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),s.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Et=d((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),Mt={extension:wt,composition:mt,aggregation:vt,dependency:kt,lollipop:Lt,point:St,circle:_t,cross:Bt,barb:Et},pr=bt;function Q(s,t){t&&s.attr("style",t)}d(Q,"applyStyle");function lt(s){const t=T(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=t.append("xhtml:div"),l=s.label,n=s.isNode?"nodeLabel":"edgeLabel",r=a.append("span");return r.html(l),Q(r,s.labelStyle),r.attr("class",n),Q(a,s.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}d(lt,"addHtmlLabel");var Tt=d((s,t,a,l)=>{let n=s||"";if(typeof n=="object"&&(n=n[0]),H(_().flowchart.htmlLabels)){n=n.replace(/\\n|\n/g,"
"),u.debug("vertexText"+n);const r={isNode:l,label:ut(J(n)),labelStyle:t.replace("fill:","color:")};return lt(r)}else{const r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("style",t.replace("color:","fill:"));let e=[];typeof n=="string"?e=n.split(/\\n|\n|/gi):Array.isArray(n)?e=n:e=[];for(const i of e){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),a?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=i.trim(),r.appendChild(c)}return r}},"createLabel"),I=Tt,B=d(async(s,t,a,l)=>{const n=_();let r;const e=t.useHtmlLabels||H(n.flowchart.htmlLabels);a?r=a:r="node default";const i=s.insert("g").attr("class",r).attr("id",t.domId||t.id),c=i.insert("g").attr("class","label").attr("style",t.labelStyle);let o;t.labelText===void 0?o="":o=typeof t.labelText=="string"?t.labelText:t.labelText[0];const h=c.node();let p;t.labelType==="markdown"?p=it(c,K(J(o),n),{useHtmlLabels:e,width:t.width||n.flowchart.wrappingWidth,classes:"markdown-node-label"},n):p=h.appendChild(I(K(J(o),n),t.labelStyle,!1,l));let y=p.getBBox();const f=t.padding/2;if(H(n.flowchart.htmlLabels)){const g=p.children[0],v=T(p),x=g.getElementsByTagName("img");if(x){const E=o.replace(/]*>/g,"").trim()==="";await Promise.all([...x].map(b=>new Promise(C=>{function S(){if(b.style.display="flex",b.style.flexDirection="column",E){const D=n.fontSize?n.fontSize:window.getComputedStyle(document.body).fontSize,O=parseInt(D,10)*5+"px";b.style.minWidth=O,b.style.maxWidth=O}else b.style.width="100%";C(b)}d(S,"setupImage"),setTimeout(()=>{b.complete&&S()}),b.addEventListener("error",S),b.addEventListener("load",S)})))}y=g.getBoundingClientRect(),v.attr("width",y.width),v.attr("height",y.height)}return e?c.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):c.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&c.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),c.insert("rect",":first-child"),{shapeSvg:i,bbox:y,halfPadding:f,label:c}},"labelHelper"),m=d((s,t)=>{const a=t.node().getBBox();s.width=a.width,s.height=a.height},"updateNodeBounds");function R(s,t,a,l){return s.insert("polygon",":first-child").attr("points",l.map(function(n){return n.x+","+n.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}d(R,"insertPolygonShape");var Ct=d(s=>{const t=new Set;for(const a of s)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},"expandAndDeduplicateDirections"),$t=d((s,t,a)=>{const l=Ct(s),n=2,r=t.height+2*a.padding,e=r/n,i=t.width+2*e+a.padding,c=a.padding/2;return l.has("right")&&l.has("left")&&l.has("up")&&l.has("down")?[{x:0,y:0},{x:e,y:0},{x:i/2,y:2*c},{x:i-e,y:0},{x:i,y:0},{x:i,y:-r/3},{x:i+2*c,y:-r/2},{x:i,y:-2*r/3},{x:i,y:-r},{x:i-e,y:-r},{x:i/2,y:-r-2*c},{x:e,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:l.has("right")&&l.has("left")&&l.has("up")?[{x:e,y:0},{x:i-e,y:0},{x:i,y:-r/2},{x:i-e,y:-r},{x:e,y:-r},{x:0,y:-r/2}]:l.has("right")&&l.has("left")&&l.has("down")?[{x:0,y:0},{x:e,y:-r},{x:i-e,y:-r},{x:i,y:0}]:l.has("right")&&l.has("up")&&l.has("down")?[{x:0,y:0},{x:i,y:-e},{x:i,y:-r+e},{x:0,y:-r}]:l.has("left")&&l.has("up")&&l.has("down")?[{x:i,y:0},{x:0,y:-e},{x:0,y:-r+e},{x:i,y:-r}]:l.has("right")&&l.has("left")?[{x:e,y:0},{x:e,y:-c},{x:i-e,y:-c},{x:i-e,y:0},{x:i,y:-r/2},{x:i-e,y:-r},{x:i-e,y:-r+c},{x:e,y:-r+c},{x:e,y:-r},{x:0,y:-r/2}]:l.has("up")&&l.has("down")?[{x:i/2,y:0},{x:0,y:-c},{x:e,y:-c},{x:e,y:-r+c},{x:0,y:-r+c},{x:i/2,y:-r},{x:i,y:-r+c},{x:i-e,y:-r+c},{x:i-e,y:-c},{x:i,y:-c}]:l.has("right")&&l.has("up")?[{x:0,y:0},{x:i,y:-e},{x:0,y:-r}]:l.has("right")&&l.has("down")?[{x:0,y:0},{x:i,y:0},{x:0,y:-r}]:l.has("left")&&l.has("up")?[{x:i,y:0},{x:0,y:-e},{x:i,y:-r}]:l.has("left")&&l.has("down")?[{x:i,y:0},{x:0,y:0},{x:i,y:-r}]:l.has("right")?[{x:e,y:-c},{x:e,y:-c},{x:i-e,y:-c},{x:i-e,y:0},{x:i,y:-r/2},{x:i-e,y:-r},{x:i-e,y:-r+c},{x:e,y:-r+c},{x:e,y:-r+c}]:l.has("left")?[{x:e,y:0},{x:e,y:-c},{x:i-e,y:-c},{x:i-e,y:-r+c},{x:e,y:-r+c},{x:e,y:-r},{x:0,y:-r/2}]:l.has("up")?[{x:e,y:-c},{x:e,y:-r+c},{x:0,y:-r+c},{x:i/2,y:-r},{x:i,y:-r+c},{x:i-e,y:-r+c},{x:i-e,y:-c}]:l.has("down")?[{x:i/2,y:0},{x:0,y:-c},{x:e,y:-c},{x:e,y:-r+c},{x:i-e,y:-r+c},{x:i-e,y:-c},{x:i,y:-c}]:[{x:0,y:0}]},"getArrowPoints");function nt(s,t){return s.intersect(t)}d(nt,"intersectNode");var Nt=nt;function ct(s,t,a,l){var n=s.x,r=s.y,e=n-l.x,i=r-l.y,c=Math.sqrt(t*t*i*i+a*a*e*e),o=Math.abs(t*a*e/c);l.x0}d(V,"sameSign");var Rt=dt,Ht=pt;function pt(s,t,a){var l=s.x,n=s.y,r=[],e=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(g){e=Math.min(e,g.x),i=Math.min(i,g.y)}):(e=Math.min(e,t.x),i=Math.min(i,t.y));for(var c=l-s.width/2-e,o=n-s.height/2-i,h=0;h1&&r.sort(function(g,v){var x=g.x-a.x,E=g.y-a.y,b=Math.sqrt(x*x+E*E),C=v.x-a.x,S=v.y-a.y,D=Math.sqrt(C*C+S*S);return b{var a=s.x,l=s.y,n=t.x-a,r=t.y-l,e=s.width/2,i=s.height/2,c,o;return Math.abs(r)*e>Math.abs(n)*i?(r<0&&(i=-i),c=r===0?0:i*n/r,o=i):(n<0&&(e=-e),c=e,o=n===0?0:e*r/n),{x:a+c,y:l+o}},"intersectRect"),Dt=Wt,w={node:Nt,circle:It,ellipse:ht,polygon:Ht,rect:Dt},At=d(async(s,t)=>{t.useHtmlLabels||_().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:l,bbox:n,halfPadding:r}=await B(s,t,"node "+t.classes,!0);u.info("Classes = ",t.classes);const e=l.insert("rect",":first-child");return e.attr("rx",t.rx).attr("ry",t.ry).attr("x",-n.width/2-r).attr("y",-n.height/2-r).attr("width",n.width+t.padding).attr("height",n.height+t.padding),m(t,e),t.intersect=function(i){return w.rect(t,i)},l},"note"),Xt=At,P=d(s=>s?" "+s:"","formatClass"),N=d((s,t)=>`${t||"node default"}${P(s.classes)} ${P(s.class)}`,"getClassesFromNode"),tt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=n+r,i=[{x:e/2,y:0},{x:e,y:-e/2},{x:e/2,y:-e},{x:0,y:-e/2}];u.info("Question main (Circle)");const c=R(a,e,e,i);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return u.warn("Intersect called"),w.polygon(t,i,o)},a},"question"),Yt=d((s,t)=>{const a=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=28,n=[{x:0,y:l/2},{x:l/2,y:0},{x:0,y:-l/2},{x:-l/2,y:0}];return a.insert("polygon",":first-child").attr("points",n.map(function(e){return e.x+","+e.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(e){return w.circle(t,14,e)},a},"choice"),Ut=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=4,r=l.height+t.padding,e=r/n,i=l.width+2*e+t.padding,c=[{x:e,y:0},{x:i-e,y:0},{x:i,y:-r/2},{x:i-e,y:-r},{x:e,y:-r},{x:0,y:-r/2}],o=R(a,i,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},"hexagon"),jt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,void 0,!0),n=2,r=l.height+2*t.padding,e=r/n,i=l.width+2*e+t.padding,c=$t(t.directions,l,t),o=R(a,i,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},"block_arrow"),Ot=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:-r/2,y:0},{x:n,y:0},{x:n,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return R(a,n,r,e).attr("style",t.style),t.width=n+r,t.height=r,t.intersect=function(c){return w.polygon(t,e,c)},a},"rect_left_inv_arrow"),zt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:-2*r/6,y:0},{x:n-r/6,y:0},{x:n+2*r/6,y:-r},{x:r/6,y:-r}],i=R(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"lean_right"),Zt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:2*r/6,y:0},{x:n+r/6,y:0},{x:n-2*r/6,y:-r},{x:-r/6,y:-r}],i=R(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"lean_left"),Ft=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:-2*r/6,y:0},{x:n+2*r/6,y:0},{x:n-r/6,y:-r},{x:r/6,y:-r}],i=R(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"trapezoid"),qt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:r/6,y:0},{x:n-r/6,y:0},{x:n+2*r/6,y:-r},{x:-2*r/6,y:-r}],i=R(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"inv_trapezoid"),Jt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:0,y:0},{x:n+r/2,y:0},{x:n,y:-r/2},{x:n+r/2,y:-r},{x:0,y:-r}],i=R(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"rect_right_inv_arrow"),Qt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=n/2,e=r/(2.5+n/50),i=l.height+e+t.padding,c="M 0,"+e+" a "+r+","+e+" 0,0,0 "+n+" 0 a "+r+","+e+" 0,0,0 "+-n+" 0 l 0,"+i+" a "+r+","+e+" 0,0,0 "+n+" 0 l 0,"+-i,o=a.attr("label-offset-y",e).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-n/2+","+-(i/2+e)+")");return m(t,o),t.intersect=function(h){const p=w.rect(t,h),y=p.x-t.x;if(r!=0&&(Math.abs(y)t.height/2-e)){let f=e*e*(1-y*y/(r*r));f!=0&&(f=Math.sqrt(f)),f=e-f,h.y-t.y>0&&(f=-f),p.y+=f}return p},a},"cylinder"),Vt=d(async(s,t)=>{const{shapeSvg:a,bbox:l,halfPadding:n}=await B(s,t,"node "+t.classes+" "+t.class,!0),r=a.insert("rect",":first-child"),e=t.positioned?t.width:l.width+t.padding,i=t.positioned?t.height:l.height+t.padding,c=t.positioned?-e/2:-l.width/2-n,o=t.positioned?-i/2:-l.height/2-n;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",e).attr("height",i),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(Z(r,t.props.borders,e,i),h.delete("borders")),h.forEach(p=>{u.warn(`Unknown node property ${p}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},"rect"),Gt=d(async(s,t)=>{const{shapeSvg:a,bbox:l,halfPadding:n}=await B(s,t,"node "+t.classes,!0),r=a.insert("rect",":first-child"),e=t.positioned?t.width:l.width+t.padding,i=t.positioned?t.height:l.height+t.padding,c=t.positioned?-e/2:-l.width/2-n,o=t.positioned?-i/2:-l.height/2-n;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",e).attr("height",i),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(Z(r,t.props.borders,e,i),h.delete("borders")),h.forEach(p=>{u.warn(`Unknown node property ${p}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},"composite"),Kt=d(async(s,t)=>{const{shapeSvg:a}=await B(s,t,"label",!0);u.trace("Classes = ",t.class);const l=a.insert("rect",":first-child"),n=0,r=0;if(l.attr("width",n).attr("height",r),a.attr("class","label edgeLabel"),t.props){const e=new Set(Object.keys(t.props));t.props.borders&&(Z(l,t.props.borders,n,r),e.delete("borders")),e.forEach(i=>{u.warn(`Unknown node property ${i}`)})}return m(t,l),t.intersect=function(e){return w.rect(t,e)},a},"labelRect");function Z(s,t,a,l){const n=[],r=d(i=>{n.push(i,0)},"addBorder"),e=d(i=>{n.push(0,i)},"skipBorder");t.includes("t")?(u.debug("add top border"),r(a)):e(a),t.includes("r")?(u.debug("add right border"),r(l)):e(l),t.includes("b")?(u.debug("add bottom border"),r(a)):e(a),t.includes("l")?(u.debug("add left border"),r(l)):e(l),s.attr("stroke-dasharray",n.join(" "))}d(Z,"applyNodePropertyBorders");var Pt=d((s,t)=>{let a;t.classes?a="node "+t.classes:a="node default";const l=s.insert("g").attr("class",a).attr("id",t.domId||t.id),n=l.insert("rect",":first-child"),r=l.insert("line"),e=l.insert("g").attr("class","label"),i=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof i=="object"?c=i[0]:c=i,u.info("Label text abc79",c,i,typeof i=="object");const o=e.node().appendChild(I(c,t.labelStyle,!0,!0));let h={width:0,height:0};if(H(_().flowchart.htmlLabels)){const v=o.children[0],x=T(o);h=v.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}u.info("Text 2",i);const p=i.slice(1,i.length);let y=o.getBBox();const f=e.node().appendChild(I(p.join?p.join("
"):p,t.labelStyle,!0,!0));if(H(_().flowchart.htmlLabels)){const v=f.children[0],x=T(f);h=v.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}const g=t.padding/2;return T(f).attr("transform","translate( "+(h.width>y.width?0:(y.width-h.width)/2)+", "+(y.height+g+5)+")"),T(o).attr("transform","translate( "+(h.width{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.height+t.padding,r=l.width+n/4+t.padding,e=a.insert("rect",":first-child").attr("style",t.style).attr("rx",n/2).attr("ry",n/2).attr("x",-r/2).attr("y",-n/2).attr("width",r).attr("height",n);return m(t,e),t.intersect=function(i){return w.rect(t,i)},a},"stadium"),rr=d(async(s,t)=>{const{shapeSvg:a,bbox:l,halfPadding:n}=await B(s,t,N(t,void 0),!0),r=a.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+n).attr("width",l.width+t.padding).attr("height",l.height+t.padding),u.info("Circle main"),m(t,r),t.intersect=function(e){return u.info("Circle intersect",t,l.width/2+n,e),w.circle(t,l.width/2+n,e)},a},"circle"),ar=d(async(s,t)=>{const{shapeSvg:a,bbox:l,halfPadding:n}=await B(s,t,N(t,void 0),!0),r=5,e=a.insert("g",":first-child"),i=e.insert("circle"),c=e.insert("circle");return e.attr("class",t.class),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+n+r).attr("width",l.width+t.padding+r*2).attr("height",l.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+n).attr("width",l.width+t.padding).attr("height",l.height+t.padding),u.info("DoubleCircle main"),m(t,i),t.intersect=function(o){return u.info("DoubleCircle intersect",t,l.width/2+n+r,o),w.circle(t,l.width/2+n+r,o)},a},"doublecircle"),er=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:0,y:0},{x:n,y:0},{x:n,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],i=R(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"subroutine"),sr=d((s,t)=>{const a=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=a.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,l),t.intersect=function(n){return w.circle(t,7,n)},a},"start"),rt=d((s,t,a)=>{const l=s.insert("g").attr("class","node default").attr("id",t.domId||t.id);let n=70,r=10;a==="LR"&&(n=10,r=70);const e=l.append("rect").attr("x",-1*n/2).attr("y",-1*r/2).attr("width",n).attr("height",r).attr("class","fork-join");return m(t,e),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(i){return w.rect(t,i)},l},"forkJoin"),ir=d((s,t)=>{const a=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=a.insert("circle",":first-child"),n=a.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),l.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,n),t.intersect=function(r){return w.circle(t,7,r)},a},"end"),lr=d((s,t)=>{var G;const a=t.padding/2,l=4,n=8;let r;t.classes?r="node "+t.classes:r="node default";const e=s.insert("g").attr("class",r).attr("id",t.domId||t.id),i=e.insert("rect",":first-child"),c=e.insert("line"),o=e.insert("line");let h=0,p=l;const y=e.insert("g").attr("class","label");let f=0;const g=(G=t.classData.annotations)==null?void 0:G[0],v=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",x=y.node().appendChild(I(v,t.labelStyle,!0,!0));let E=x.getBBox();if(H(_().flowchart.htmlLabels)){const k=x.children[0],L=T(x);E=k.getBoundingClientRect(),L.attr("width",E.width),L.attr("height",E.height)}t.classData.annotations[0]&&(p+=E.height+l,h+=E.width);let b=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(_().flowchart.htmlLabels?b+="<"+t.classData.type+">":b+="<"+t.classData.type+">");const C=y.node().appendChild(I(b,t.labelStyle,!0,!0));T(C).attr("class","classTitle");let S=C.getBBox();if(H(_().flowchart.htmlLabels)){const k=C.children[0],L=T(C);S=k.getBoundingClientRect(),L.attr("width",S.width),L.attr("height",S.height)}p+=S.height+l,S.width>h&&(h=S.width);const D=[];t.classData.members.forEach(k=>{const L=k.getDisplayDetails();let A=L.displayText;_().flowchart.htmlLabels&&(A=A.replace(//g,">"));const W=y.node().appendChild(I(A,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=W.getBBox();if(H(_().flowchart.htmlLabels)){const q=W.children[0],Y=T(W);$=q.getBoundingClientRect(),Y.attr("width",$.width),Y.attr("height",$.height)}$.width>h&&(h=$.width),p+=$.height+l,D.push(W)}),p+=n;const F=[];if(t.classData.methods.forEach(k=>{const L=k.getDisplayDetails();let A=L.displayText;_().flowchart.htmlLabels&&(A=A.replace(//g,">"));const W=y.node().appendChild(I(A,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=W.getBBox();if(H(_().flowchart.htmlLabels)){const q=W.children[0],Y=T(W);$=q.getBoundingClientRect(),Y.attr("width",$.width),Y.attr("height",$.height)}$.width>h&&(h=$.width),p+=$.height+l,F.push(W)}),p+=n,g){let k=(h-E.width)/2;T(x).attr("transform","translate( "+(-1*h/2+k)+", "+-1*p/2+")"),f=E.height+l}let O=(h-S.width)/2;return T(C).attr("transform","translate( "+(-1*h/2+O)+", "+(-1*p/2+f)+")"),f+=S.height+l,c.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-p/2-a+n+f).attr("y2",-p/2-a+n+f),f+=n,D.forEach(k=>{T(k).attr("transform","translate( "+-h/2+", "+(-1*p/2+f+n/2)+")");const L=k==null?void 0:k.getBBox();f+=((L==null?void 0:L.height)??0)+l}),f+=n,o.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-p/2-a+n+f).attr("y2",-p/2-a+n+f),f+=n,F.forEach(k=>{T(k).attr("transform","translate( "+-h/2+", "+(-1*p/2+f)+")");const L=k==null?void 0:k.getBBox();f+=((L==null?void 0:L.height)??0)+l}),i.attr("style",t.style).attr("class","outer title-state").attr("x",-h/2-a).attr("y",-(p/2)-a).attr("width",h+t.padding).attr("height",p+t.padding),m(t,i),t.intersect=function(k){return w.rect(t,k)},e},"class_box"),at={rhombus:tt,composite:Gt,question:tt,rect:Vt,labelRect:Kt,rectWithTitle:Pt,choice:Yt,circle:rr,doublecircle:ar,stadium:tr,hexagon:Ut,block_arrow:jt,rect_left_inv_arrow:Ot,lean_right:zt,lean_left:Zt,trapezoid:Ft,inv_trapezoid:qt,rect_right_inv_arrow:Jt,cylinder:Qt,start:sr,end:ir,note:Xt,subroutine:er,fork:rt,join:rt,class_box:lr},X={},yr=d(async(s,t,a)=>{let l,n;if(t.link){let r;_().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),l=s.insert("svg:a").attr("xlink:href",t.link).attr("target",r),n=await at[t.shape](l,t,a)}else n=await at[t.shape](s,t,a),l=n;return t.tooltip&&n.attr("title",t.tooltip),t.class&&n.attr("class","node default "+t.class),X[t.id]=l,t.haveCallback&&X[t.id].attr("class",X[t.id].attr("class")+" clickable"),l},"insertNode"),fr=d((s,t)=>{X[t.id]=s},"setNodeElem"),xr=d(()=>{X={}},"clear"),gr=d(s=>{const t=X[s.id];u.trace("Transforming node",s.diff,s,"translate("+(s.x-s.width/2-5)+", "+s.width/2+")");const a=8,l=s.diff||0;return s.clusterNode?t.attr("transform","translate("+(s.x+l-s.width/2)+", "+(s.y-s.height/2-a)+")"):t.attr("transform","translate("+s.x+", "+s.y+")"),l},"positionNode"),nr=d((s,t,a,l,n)=>{t.arrowTypeStart&&et(s,"start",t.arrowTypeStart,a,l,n),t.arrowTypeEnd&&et(s,"end",t.arrowTypeEnd,a,l,n)},"addEdgeMarkers"),cr={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},et=d((s,t,a,l,n,r)=>{const e=cr[a];if(!e){u.warn(`Unknown arrow type: ${a}`);return}const i=t==="start"?"Start":"End";s.attr(`marker-${t}`,`url(${l}#${n}_${r}-${e}${i})`)},"addEdgeMarker"),z={},M={},ur=d(()=>{z={},M={}},"clear"),br=d((s,t)=>{const a=_(),l=H(a.flowchart.htmlLabels),n=t.labelType==="markdown"?it(s,t.label,{style:t.labelStyle,useHtmlLabels:l,addSvgBackground:!0},a):I(t.label,t.labelStyle),r=s.insert("g").attr("class","edgeLabel"),e=r.insert("g").attr("class","label");e.node().appendChild(n);let i=n.getBBox();if(l){const o=n.children[0],h=T(n);i=o.getBoundingClientRect(),h.attr("width",i.width),h.attr("height",i.height)}e.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),z[t.id]=r,t.width=i.width,t.height=i.height;let c;if(t.startLabelLeft){const o=I(t.startLabelLeft,t.labelStyle),h=s.insert("g").attr("class","edgeTerminals"),p=h.insert("g").attr("class","inner");c=p.node().appendChild(o);const y=o.getBBox();p.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),M[t.id]||(M[t.id]={}),M[t.id].startLeft=h,j(c,t.startLabelLeft)}if(t.startLabelRight){const o=I(t.startLabelRight,t.labelStyle),h=s.insert("g").attr("class","edgeTerminals"),p=h.insert("g").attr("class","inner");c=h.node().appendChild(o),p.node().appendChild(o);const y=o.getBBox();p.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),M[t.id]||(M[t.id]={}),M[t.id].startRight=h,j(c,t.startLabelRight)}if(t.endLabelLeft){const o=I(t.endLabelLeft,t.labelStyle),h=s.insert("g").attr("class","edgeTerminals"),p=h.insert("g").attr("class","inner");c=p.node().appendChild(o);const y=o.getBBox();p.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),h.node().appendChild(o),M[t.id]||(M[t.id]={}),M[t.id].endLeft=h,j(c,t.endLabelLeft)}if(t.endLabelRight){const o=I(t.endLabelRight,t.labelStyle),h=s.insert("g").attr("class","edgeTerminals"),p=h.insert("g").attr("class","inner");c=p.node().appendChild(o);const y=o.getBBox();p.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),h.node().appendChild(o),M[t.id]||(M[t.id]={}),M[t.id].endRight=h,j(c,t.endLabelRight)}return n},"insertEdgeLabel");function j(s,t){_().flowchart.htmlLabels&&s&&(s.style.width=t.length*9+"px",s.style.height="12px")}d(j,"setTerminalWidth");var wr=d((s,t)=>{u.debug("Moving label abc88 ",s.id,s.label,z[s.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath;const l=_(),{subGraphTitleTotalMargin:n}=yt(l);if(s.label){const r=z[s.id];let e=s.x,i=s.y;if(a){const c=U.calcLabelPosition(a);u.debug("Moving label "+s.label+" from (",e,",",i,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(e=c.x,i=c.y)}r.attr("transform",`translate(${e}, ${i+n/2})`)}if(s.startLabelLeft){const r=M[s.id].startLeft;let e=s.x,i=s.y;if(a){const c=U.calcTerminalLabelPosition(s.arrowTypeStart?10:0,"start_left",a);e=c.x,i=c.y}r.attr("transform",`translate(${e}, ${i})`)}if(s.startLabelRight){const r=M[s.id].startRight;let e=s.x,i=s.y;if(a){const c=U.calcTerminalLabelPosition(s.arrowTypeStart?10:0,"start_right",a);e=c.x,i=c.y}r.attr("transform",`translate(${e}, ${i})`)}if(s.endLabelLeft){const r=M[s.id].endLeft;let e=s.x,i=s.y;if(a){const c=U.calcTerminalLabelPosition(s.arrowTypeEnd?10:0,"end_left",a);e=c.x,i=c.y}r.attr("transform",`translate(${e}, ${i})`)}if(s.endLabelRight){const r=M[s.id].endRight;let e=s.x,i=s.y;if(a){const c=U.calcTerminalLabelPosition(s.arrowTypeEnd?10:0,"end_right",a);e=c.x,i=c.y}r.attr("transform",`translate(${e}, ${i})`)}},"positionEdgeLabel"),hr=d((s,t)=>{const a=s.x,l=s.y,n=Math.abs(t.x-a),r=Math.abs(t.y-l),e=s.width/2,i=s.height/2;return n>=e||r>=i},"outsideNode"),or=d((s,t,a)=>{u.debug(`intersection calc abc89: +import{_ as d,j as T,l as u,d as _,ad as H,ae as it,ac as yt,u as U,af as ft,a0 as xt,a6 as gt,ag as ut,ah as J,i as K}from"../app.XeY7gsc2.js";var bt=d((s,t,a,l)=>{t.forEach(n=>{Mt[n](s,a,l)})},"insertMarkers"),wt=d((s,t,a)=>{u.trace("Making markers for ",a),s.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),s.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),mt=d((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),vt=d((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),kt=d((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),s.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Lt=d((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),s.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),St=d((s,t,a)=>{s.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),s.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),_t=d((s,t,a)=>{s.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),s.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),Bt=d((s,t,a)=>{s.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),s.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),Et=d((s,t,a)=>{s.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),Mt={extension:wt,composition:mt,aggregation:vt,dependency:kt,lollipop:Lt,point:St,circle:_t,cross:Bt,barb:Et},pr=bt;function Q(s,t){t&&s.attr("style",t)}d(Q,"applyStyle");function lt(s){const t=T(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),a=t.append("xhtml:div"),l=s.label,n=s.isNode?"nodeLabel":"edgeLabel",r=a.append("span");return r.html(l),Q(r,s.labelStyle),r.attr("class",n),Q(a,s.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap"),a.attr("xmlns","http://www.w3.org/1999/xhtml"),t.node()}d(lt,"addHtmlLabel");var Tt=d((s,t,a,l)=>{let n=s||"";if(typeof n=="object"&&(n=n[0]),H(_().flowchart.htmlLabels)){n=n.replace(/\\n|\n/g,"
"),u.debug("vertexText"+n);const r={isNode:l,label:ut(J(n)),labelStyle:t.replace("fill:","color:")};return lt(r)}else{const r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("style",t.replace("color:","fill:"));let e=[];typeof n=="string"?e=n.split(/\\n|\n|/gi):Array.isArray(n)?e=n:e=[];for(const i of e){const c=document.createElementNS("http://www.w3.org/2000/svg","tspan");c.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),c.setAttribute("dy","1em"),c.setAttribute("x","0"),a?c.setAttribute("class","title-row"):c.setAttribute("class","row"),c.textContent=i.trim(),r.appendChild(c)}return r}},"createLabel"),I=Tt,B=d(async(s,t,a,l)=>{const n=_();let r;const e=t.useHtmlLabels||H(n.flowchart.htmlLabels);a?r=a:r="node default";const i=s.insert("g").attr("class",r).attr("id",t.domId||t.id),c=i.insert("g").attr("class","label").attr("style",t.labelStyle);let o;t.labelText===void 0?o="":o=typeof t.labelText=="string"?t.labelText:t.labelText[0];const h=c.node();let p;t.labelType==="markdown"?p=it(c,K(J(o),n),{useHtmlLabels:e,width:t.width||n.flowchart.wrappingWidth,classes:"markdown-node-label"},n):p=h.appendChild(I(K(J(o),n),t.labelStyle,!1,l));let y=p.getBBox();const f=t.padding/2;if(H(n.flowchart.htmlLabels)){const g=p.children[0],v=T(p),x=g.getElementsByTagName("img");if(x){const E=o.replace(/]*>/g,"").trim()==="";await Promise.all([...x].map(b=>new Promise(C=>{function S(){if(b.style.display="flex",b.style.flexDirection="column",E){const D=n.fontSize?n.fontSize:window.getComputedStyle(document.body).fontSize,O=parseInt(D,10)*5+"px";b.style.minWidth=O,b.style.maxWidth=O}else b.style.width="100%";C(b)}d(S,"setupImage"),setTimeout(()=>{b.complete&&S()}),b.addEventListener("error",S),b.addEventListener("load",S)})))}y=g.getBoundingClientRect(),v.attr("width",y.width),v.attr("height",y.height)}return e?c.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"):c.attr("transform","translate(0, "+-y.height/2+")"),t.centerLabel&&c.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),c.insert("rect",":first-child"),{shapeSvg:i,bbox:y,halfPadding:f,label:c}},"labelHelper"),m=d((s,t)=>{const a=t.node().getBBox();s.width=a.width,s.height=a.height},"updateNodeBounds");function R(s,t,a,l){return s.insert("polygon",":first-child").attr("points",l.map(function(n){return n.x+","+n.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}d(R,"insertPolygonShape");var Ct=d(s=>{const t=new Set;for(const a of s)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},"expandAndDeduplicateDirections"),$t=d((s,t,a)=>{const l=Ct(s),n=2,r=t.height+2*a.padding,e=r/n,i=t.width+2*e+a.padding,c=a.padding/2;return l.has("right")&&l.has("left")&&l.has("up")&&l.has("down")?[{x:0,y:0},{x:e,y:0},{x:i/2,y:2*c},{x:i-e,y:0},{x:i,y:0},{x:i,y:-r/3},{x:i+2*c,y:-r/2},{x:i,y:-2*r/3},{x:i,y:-r},{x:i-e,y:-r},{x:i/2,y:-r-2*c},{x:e,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*c,y:-r/2},{x:0,y:-r/3}]:l.has("right")&&l.has("left")&&l.has("up")?[{x:e,y:0},{x:i-e,y:0},{x:i,y:-r/2},{x:i-e,y:-r},{x:e,y:-r},{x:0,y:-r/2}]:l.has("right")&&l.has("left")&&l.has("down")?[{x:0,y:0},{x:e,y:-r},{x:i-e,y:-r},{x:i,y:0}]:l.has("right")&&l.has("up")&&l.has("down")?[{x:0,y:0},{x:i,y:-e},{x:i,y:-r+e},{x:0,y:-r}]:l.has("left")&&l.has("up")&&l.has("down")?[{x:i,y:0},{x:0,y:-e},{x:0,y:-r+e},{x:i,y:-r}]:l.has("right")&&l.has("left")?[{x:e,y:0},{x:e,y:-c},{x:i-e,y:-c},{x:i-e,y:0},{x:i,y:-r/2},{x:i-e,y:-r},{x:i-e,y:-r+c},{x:e,y:-r+c},{x:e,y:-r},{x:0,y:-r/2}]:l.has("up")&&l.has("down")?[{x:i/2,y:0},{x:0,y:-c},{x:e,y:-c},{x:e,y:-r+c},{x:0,y:-r+c},{x:i/2,y:-r},{x:i,y:-r+c},{x:i-e,y:-r+c},{x:i-e,y:-c},{x:i,y:-c}]:l.has("right")&&l.has("up")?[{x:0,y:0},{x:i,y:-e},{x:0,y:-r}]:l.has("right")&&l.has("down")?[{x:0,y:0},{x:i,y:0},{x:0,y:-r}]:l.has("left")&&l.has("up")?[{x:i,y:0},{x:0,y:-e},{x:i,y:-r}]:l.has("left")&&l.has("down")?[{x:i,y:0},{x:0,y:0},{x:i,y:-r}]:l.has("right")?[{x:e,y:-c},{x:e,y:-c},{x:i-e,y:-c},{x:i-e,y:0},{x:i,y:-r/2},{x:i-e,y:-r},{x:i-e,y:-r+c},{x:e,y:-r+c},{x:e,y:-r+c}]:l.has("left")?[{x:e,y:0},{x:e,y:-c},{x:i-e,y:-c},{x:i-e,y:-r+c},{x:e,y:-r+c},{x:e,y:-r},{x:0,y:-r/2}]:l.has("up")?[{x:e,y:-c},{x:e,y:-r+c},{x:0,y:-r+c},{x:i/2,y:-r},{x:i,y:-r+c},{x:i-e,y:-r+c},{x:i-e,y:-c}]:l.has("down")?[{x:i/2,y:0},{x:0,y:-c},{x:e,y:-c},{x:e,y:-r+c},{x:i-e,y:-r+c},{x:i-e,y:-c},{x:i,y:-c}]:[{x:0,y:0}]},"getArrowPoints");function nt(s,t){return s.intersect(t)}d(nt,"intersectNode");var Nt=nt;function ct(s,t,a,l){var n=s.x,r=s.y,e=n-l.x,i=r-l.y,c=Math.sqrt(t*t*i*i+a*a*e*e),o=Math.abs(t*a*e/c);l.x0}d(V,"sameSign");var Rt=dt,Ht=pt;function pt(s,t,a){var l=s.x,n=s.y,r=[],e=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(g){e=Math.min(e,g.x),i=Math.min(i,g.y)}):(e=Math.min(e,t.x),i=Math.min(i,t.y));for(var c=l-s.width/2-e,o=n-s.height/2-i,h=0;h1&&r.sort(function(g,v){var x=g.x-a.x,E=g.y-a.y,b=Math.sqrt(x*x+E*E),C=v.x-a.x,S=v.y-a.y,D=Math.sqrt(C*C+S*S);return b{var a=s.x,l=s.y,n=t.x-a,r=t.y-l,e=s.width/2,i=s.height/2,c,o;return Math.abs(r)*e>Math.abs(n)*i?(r<0&&(i=-i),c=r===0?0:i*n/r,o=i):(n<0&&(e=-e),c=e,o=n===0?0:e*r/n),{x:a+c,y:l+o}},"intersectRect"),Dt=Wt,w={node:Nt,circle:It,ellipse:ht,polygon:Ht,rect:Dt},At=d(async(s,t)=>{t.useHtmlLabels||_().flowchart.htmlLabels||(t.centerLabel=!0);const{shapeSvg:l,bbox:n,halfPadding:r}=await B(s,t,"node "+t.classes,!0);u.info("Classes = ",t.classes);const e=l.insert("rect",":first-child");return e.attr("rx",t.rx).attr("ry",t.ry).attr("x",-n.width/2-r).attr("y",-n.height/2-r).attr("width",n.width+t.padding).attr("height",n.height+t.padding),m(t,e),t.intersect=function(i){return w.rect(t,i)},l},"note"),Xt=At,P=d(s=>s?" "+s:"","formatClass"),N=d((s,t)=>`${t||"node default"}${P(s.classes)} ${P(s.class)}`,"getClassesFromNode"),tt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=n+r,i=[{x:e/2,y:0},{x:e,y:-e/2},{x:e/2,y:-e},{x:0,y:-e/2}];u.info("Question main (Circle)");const c=R(a,e,e,i);return c.attr("style",t.style),m(t,c),t.intersect=function(o){return u.warn("Intersect called"),w.polygon(t,i,o)},a},"question"),Yt=d((s,t)=>{const a=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=28,n=[{x:0,y:l/2},{x:l/2,y:0},{x:0,y:-l/2},{x:-l/2,y:0}];return a.insert("polygon",":first-child").attr("points",n.map(function(e){return e.x+","+e.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(e){return w.circle(t,14,e)},a},"choice"),Ut=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=4,r=l.height+t.padding,e=r/n,i=l.width+2*e+t.padding,c=[{x:e,y:0},{x:i-e,y:0},{x:i,y:-r/2},{x:i-e,y:-r},{x:e,y:-r},{x:0,y:-r/2}],o=R(a,i,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},"hexagon"),jt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,void 0,!0),n=2,r=l.height+2*t.padding,e=r/n,i=l.width+2*e+t.padding,c=$t(t.directions,l,t),o=R(a,i,r,c);return o.attr("style",t.style),m(t,o),t.intersect=function(h){return w.polygon(t,c,h)},a},"block_arrow"),Ot=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:-r/2,y:0},{x:n,y:0},{x:n,y:-r},{x:-r/2,y:-r},{x:0,y:-r/2}];return R(a,n,r,e).attr("style",t.style),t.width=n+r,t.height=r,t.intersect=function(c){return w.polygon(t,e,c)},a},"rect_left_inv_arrow"),zt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:-2*r/6,y:0},{x:n-r/6,y:0},{x:n+2*r/6,y:-r},{x:r/6,y:-r}],i=R(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"lean_right"),Zt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:2*r/6,y:0},{x:n+r/6,y:0},{x:n-2*r/6,y:-r},{x:-r/6,y:-r}],i=R(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"lean_left"),Ft=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:-2*r/6,y:0},{x:n+2*r/6,y:0},{x:n-r/6,y:-r},{x:r/6,y:-r}],i=R(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"trapezoid"),qt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:r/6,y:0},{x:n-r/6,y:0},{x:n+2*r/6,y:-r},{x:-2*r/6,y:-r}],i=R(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"inv_trapezoid"),Jt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:0,y:0},{x:n+r/2,y:0},{x:n,y:-r/2},{x:n+r/2,y:-r},{x:0,y:-r}],i=R(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"rect_right_inv_arrow"),Qt=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=n/2,e=r/(2.5+n/50),i=l.height+e+t.padding,c="M 0,"+e+" a "+r+","+e+" 0,0,0 "+n+" 0 a "+r+","+e+" 0,0,0 "+-n+" 0 l 0,"+i+" a "+r+","+e+" 0,0,0 "+n+" 0 l 0,"+-i,o=a.attr("label-offset-y",e).insert("path",":first-child").attr("style",t.style).attr("d",c).attr("transform","translate("+-n/2+","+-(i/2+e)+")");return m(t,o),t.intersect=function(h){const p=w.rect(t,h),y=p.x-t.x;if(r!=0&&(Math.abs(y)t.height/2-e)){let f=e*e*(1-y*y/(r*r));f!=0&&(f=Math.sqrt(f)),f=e-f,h.y-t.y>0&&(f=-f),p.y+=f}return p},a},"cylinder"),Vt=d(async(s,t)=>{const{shapeSvg:a,bbox:l,halfPadding:n}=await B(s,t,"node "+t.classes+" "+t.class,!0),r=a.insert("rect",":first-child"),e=t.positioned?t.width:l.width+t.padding,i=t.positioned?t.height:l.height+t.padding,c=t.positioned?-e/2:-l.width/2-n,o=t.positioned?-i/2:-l.height/2-n;if(r.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",e).attr("height",i),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(Z(r,t.props.borders,e,i),h.delete("borders")),h.forEach(p=>{u.warn(`Unknown node property ${p}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},"rect"),Gt=d(async(s,t)=>{const{shapeSvg:a,bbox:l,halfPadding:n}=await B(s,t,"node "+t.classes,!0),r=a.insert("rect",":first-child"),e=t.positioned?t.width:l.width+t.padding,i=t.positioned?t.height:l.height+t.padding,c=t.positioned?-e/2:-l.width/2-n,o=t.positioned?-i/2:-l.height/2-n;if(r.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",c).attr("y",o).attr("width",e).attr("height",i),t.props){const h=new Set(Object.keys(t.props));t.props.borders&&(Z(r,t.props.borders,e,i),h.delete("borders")),h.forEach(p=>{u.warn(`Unknown node property ${p}`)})}return m(t,r),t.intersect=function(h){return w.rect(t,h)},a},"composite"),Kt=d(async(s,t)=>{const{shapeSvg:a}=await B(s,t,"label",!0);u.trace("Classes = ",t.class);const l=a.insert("rect",":first-child"),n=0,r=0;if(l.attr("width",n).attr("height",r),a.attr("class","label edgeLabel"),t.props){const e=new Set(Object.keys(t.props));t.props.borders&&(Z(l,t.props.borders,n,r),e.delete("borders")),e.forEach(i=>{u.warn(`Unknown node property ${i}`)})}return m(t,l),t.intersect=function(e){return w.rect(t,e)},a},"labelRect");function Z(s,t,a,l){const n=[],r=d(i=>{n.push(i,0)},"addBorder"),e=d(i=>{n.push(0,i)},"skipBorder");t.includes("t")?(u.debug("add top border"),r(a)):e(a),t.includes("r")?(u.debug("add right border"),r(l)):e(l),t.includes("b")?(u.debug("add bottom border"),r(a)):e(a),t.includes("l")?(u.debug("add left border"),r(l)):e(l),s.attr("stroke-dasharray",n.join(" "))}d(Z,"applyNodePropertyBorders");var Pt=d((s,t)=>{let a;t.classes?a="node "+t.classes:a="node default";const l=s.insert("g").attr("class",a).attr("id",t.domId||t.id),n=l.insert("rect",":first-child"),r=l.insert("line"),e=l.insert("g").attr("class","label"),i=t.labelText.flat?t.labelText.flat():t.labelText;let c="";typeof i=="object"?c=i[0]:c=i,u.info("Label text abc79",c,i,typeof i=="object");const o=e.node().appendChild(I(c,t.labelStyle,!0,!0));let h={width:0,height:0};if(H(_().flowchart.htmlLabels)){const v=o.children[0],x=T(o);h=v.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}u.info("Text 2",i);const p=i.slice(1,i.length);let y=o.getBBox();const f=e.node().appendChild(I(p.join?p.join("
"):p,t.labelStyle,!0,!0));if(H(_().flowchart.htmlLabels)){const v=f.children[0],x=T(f);h=v.getBoundingClientRect(),x.attr("width",h.width),x.attr("height",h.height)}const g=t.padding/2;return T(f).attr("transform","translate( "+(h.width>y.width?0:(y.width-h.width)/2)+", "+(y.height+g+5)+")"),T(o).attr("transform","translate( "+(h.width{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.height+t.padding,r=l.width+n/4+t.padding,e=a.insert("rect",":first-child").attr("style",t.style).attr("rx",n/2).attr("ry",n/2).attr("x",-r/2).attr("y",-n/2).attr("width",r).attr("height",n);return m(t,e),t.intersect=function(i){return w.rect(t,i)},a},"stadium"),rr=d(async(s,t)=>{const{shapeSvg:a,bbox:l,halfPadding:n}=await B(s,t,N(t,void 0),!0),r=a.insert("circle",":first-child");return r.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+n).attr("width",l.width+t.padding).attr("height",l.height+t.padding),u.info("Circle main"),m(t,r),t.intersect=function(e){return u.info("Circle intersect",t,l.width/2+n,e),w.circle(t,l.width/2+n,e)},a},"circle"),ar=d(async(s,t)=>{const{shapeSvg:a,bbox:l,halfPadding:n}=await B(s,t,N(t,void 0),!0),r=5,e=a.insert("g",":first-child"),i=e.insert("circle"),c=e.insert("circle");return e.attr("class",t.class),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+n+r).attr("width",l.width+t.padding+r*2).attr("height",l.height+t.padding+r*2),c.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",l.width/2+n).attr("width",l.width+t.padding).attr("height",l.height+t.padding),u.info("DoubleCircle main"),m(t,i),t.intersect=function(o){return u.info("DoubleCircle intersect",t,l.width/2+n+r,o),w.circle(t,l.width/2+n+r,o)},a},"doublecircle"),er=d(async(s,t)=>{const{shapeSvg:a,bbox:l}=await B(s,t,N(t,void 0),!0),n=l.width+t.padding,r=l.height+t.padding,e=[{x:0,y:0},{x:n,y:0},{x:n,y:-r},{x:0,y:-r},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-r},{x:-8,y:-r},{x:-8,y:0}],i=R(a,n,r,e);return i.attr("style",t.style),m(t,i),t.intersect=function(c){return w.polygon(t,e,c)},a},"subroutine"),sr=d((s,t)=>{const a=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=a.insert("circle",":first-child");return l.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),m(t,l),t.intersect=function(n){return w.circle(t,7,n)},a},"start"),rt=d((s,t,a)=>{const l=s.insert("g").attr("class","node default").attr("id",t.domId||t.id);let n=70,r=10;a==="LR"&&(n=10,r=70);const e=l.append("rect").attr("x",-1*n/2).attr("y",-1*r/2).attr("width",n).attr("height",r).attr("class","fork-join");return m(t,e),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(i){return w.rect(t,i)},l},"forkJoin"),ir=d((s,t)=>{const a=s.insert("g").attr("class","node default").attr("id",t.domId||t.id),l=a.insert("circle",":first-child"),n=a.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),l.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),m(t,n),t.intersect=function(r){return w.circle(t,7,r)},a},"end"),lr=d((s,t)=>{var G;const a=t.padding/2,l=4,n=8;let r;t.classes?r="node "+t.classes:r="node default";const e=s.insert("g").attr("class",r).attr("id",t.domId||t.id),i=e.insert("rect",":first-child"),c=e.insert("line"),o=e.insert("line");let h=0,p=l;const y=e.insert("g").attr("class","label");let f=0;const g=(G=t.classData.annotations)==null?void 0:G[0],v=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",x=y.node().appendChild(I(v,t.labelStyle,!0,!0));let E=x.getBBox();if(H(_().flowchart.htmlLabels)){const k=x.children[0],L=T(x);E=k.getBoundingClientRect(),L.attr("width",E.width),L.attr("height",E.height)}t.classData.annotations[0]&&(p+=E.height+l,h+=E.width);let b=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(_().flowchart.htmlLabels?b+="<"+t.classData.type+">":b+="<"+t.classData.type+">");const C=y.node().appendChild(I(b,t.labelStyle,!0,!0));T(C).attr("class","classTitle");let S=C.getBBox();if(H(_().flowchart.htmlLabels)){const k=C.children[0],L=T(C);S=k.getBoundingClientRect(),L.attr("width",S.width),L.attr("height",S.height)}p+=S.height+l,S.width>h&&(h=S.width);const D=[];t.classData.members.forEach(k=>{const L=k.getDisplayDetails();let A=L.displayText;_().flowchart.htmlLabels&&(A=A.replace(//g,">"));const W=y.node().appendChild(I(A,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=W.getBBox();if(H(_().flowchart.htmlLabels)){const q=W.children[0],Y=T(W);$=q.getBoundingClientRect(),Y.attr("width",$.width),Y.attr("height",$.height)}$.width>h&&(h=$.width),p+=$.height+l,D.push(W)}),p+=n;const F=[];if(t.classData.methods.forEach(k=>{const L=k.getDisplayDetails();let A=L.displayText;_().flowchart.htmlLabels&&(A=A.replace(//g,">"));const W=y.node().appendChild(I(A,L.cssStyle?L.cssStyle:t.labelStyle,!0,!0));let $=W.getBBox();if(H(_().flowchart.htmlLabels)){const q=W.children[0],Y=T(W);$=q.getBoundingClientRect(),Y.attr("width",$.width),Y.attr("height",$.height)}$.width>h&&(h=$.width),p+=$.height+l,F.push(W)}),p+=n,g){let k=(h-E.width)/2;T(x).attr("transform","translate( "+(-1*h/2+k)+", "+-1*p/2+")"),f=E.height+l}let O=(h-S.width)/2;return T(C).attr("transform","translate( "+(-1*h/2+O)+", "+(-1*p/2+f)+")"),f+=S.height+l,c.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-p/2-a+n+f).attr("y2",-p/2-a+n+f),f+=n,D.forEach(k=>{T(k).attr("transform","translate( "+-h/2+", "+(-1*p/2+f+n/2)+")");const L=k==null?void 0:k.getBBox();f+=((L==null?void 0:L.height)??0)+l}),f+=n,o.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-p/2-a+n+f).attr("y2",-p/2-a+n+f),f+=n,F.forEach(k=>{T(k).attr("transform","translate( "+-h/2+", "+(-1*p/2+f)+")");const L=k==null?void 0:k.getBBox();f+=((L==null?void 0:L.height)??0)+l}),i.attr("style",t.style).attr("class","outer title-state").attr("x",-h/2-a).attr("y",-(p/2)-a).attr("width",h+t.padding).attr("height",p+t.padding),m(t,i),t.intersect=function(k){return w.rect(t,k)},e},"class_box"),at={rhombus:tt,composite:Gt,question:tt,rect:Vt,labelRect:Kt,rectWithTitle:Pt,choice:Yt,circle:rr,doublecircle:ar,stadium:tr,hexagon:Ut,block_arrow:jt,rect_left_inv_arrow:Ot,lean_right:zt,lean_left:Zt,trapezoid:Ft,inv_trapezoid:qt,rect_right_inv_arrow:Jt,cylinder:Qt,start:sr,end:ir,note:Xt,subroutine:er,fork:rt,join:rt,class_box:lr},X={},yr=d(async(s,t,a)=>{let l,n;if(t.link){let r;_().securityLevel==="sandbox"?r="_top":t.linkTarget&&(r=t.linkTarget||"_blank"),l=s.insert("svg:a").attr("xlink:href",t.link).attr("target",r),n=await at[t.shape](l,t,a)}else n=await at[t.shape](s,t,a),l=n;return t.tooltip&&n.attr("title",t.tooltip),t.class&&n.attr("class","node default "+t.class),X[t.id]=l,t.haveCallback&&X[t.id].attr("class",X[t.id].attr("class")+" clickable"),l},"insertNode"),fr=d((s,t)=>{X[t.id]=s},"setNodeElem"),xr=d(()=>{X={}},"clear"),gr=d(s=>{const t=X[s.id];u.trace("Transforming node",s.diff,s,"translate("+(s.x-s.width/2-5)+", "+s.width/2+")");const a=8,l=s.diff||0;return s.clusterNode?t.attr("transform","translate("+(s.x+l-s.width/2)+", "+(s.y-s.height/2-a)+")"):t.attr("transform","translate("+s.x+", "+s.y+")"),l},"positionNode"),nr=d((s,t,a,l,n)=>{t.arrowTypeStart&&et(s,"start",t.arrowTypeStart,a,l,n),t.arrowTypeEnd&&et(s,"end",t.arrowTypeEnd,a,l,n)},"addEdgeMarkers"),cr={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},et=d((s,t,a,l,n,r)=>{const e=cr[a];if(!e){u.warn(`Unknown arrow type: ${a}`);return}const i=t==="start"?"Start":"End";s.attr(`marker-${t}`,`url(${l}#${n}_${r}-${e}${i})`)},"addEdgeMarker"),z={},M={},ur=d(()=>{z={},M={}},"clear"),br=d((s,t)=>{const a=_(),l=H(a.flowchart.htmlLabels),n=t.labelType==="markdown"?it(s,t.label,{style:t.labelStyle,useHtmlLabels:l,addSvgBackground:!0},a):I(t.label,t.labelStyle),r=s.insert("g").attr("class","edgeLabel"),e=r.insert("g").attr("class","label");e.node().appendChild(n);let i=n.getBBox();if(l){const o=n.children[0],h=T(n);i=o.getBoundingClientRect(),h.attr("width",i.width),h.attr("height",i.height)}e.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),z[t.id]=r,t.width=i.width,t.height=i.height;let c;if(t.startLabelLeft){const o=I(t.startLabelLeft,t.labelStyle),h=s.insert("g").attr("class","edgeTerminals"),p=h.insert("g").attr("class","inner");c=p.node().appendChild(o);const y=o.getBBox();p.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),M[t.id]||(M[t.id]={}),M[t.id].startLeft=h,j(c,t.startLabelLeft)}if(t.startLabelRight){const o=I(t.startLabelRight,t.labelStyle),h=s.insert("g").attr("class","edgeTerminals"),p=h.insert("g").attr("class","inner");c=h.node().appendChild(o),p.node().appendChild(o);const y=o.getBBox();p.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),M[t.id]||(M[t.id]={}),M[t.id].startRight=h,j(c,t.startLabelRight)}if(t.endLabelLeft){const o=I(t.endLabelLeft,t.labelStyle),h=s.insert("g").attr("class","edgeTerminals"),p=h.insert("g").attr("class","inner");c=p.node().appendChild(o);const y=o.getBBox();p.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),h.node().appendChild(o),M[t.id]||(M[t.id]={}),M[t.id].endLeft=h,j(c,t.endLabelLeft)}if(t.endLabelRight){const o=I(t.endLabelRight,t.labelStyle),h=s.insert("g").attr("class","edgeTerminals"),p=h.insert("g").attr("class","inner");c=p.node().appendChild(o);const y=o.getBBox();p.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),h.node().appendChild(o),M[t.id]||(M[t.id]={}),M[t.id].endRight=h,j(c,t.endLabelRight)}return n},"insertEdgeLabel");function j(s,t){_().flowchart.htmlLabels&&s&&(s.style.width=t.length*9+"px",s.style.height="12px")}d(j,"setTerminalWidth");var wr=d((s,t)=>{u.debug("Moving label abc88 ",s.id,s.label,z[s.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath;const l=_(),{subGraphTitleTotalMargin:n}=yt(l);if(s.label){const r=z[s.id];let e=s.x,i=s.y;if(a){const c=U.calcLabelPosition(a);u.debug("Moving label "+s.label+" from (",e,",",i,") to (",c.x,",",c.y,") abc88"),t.updatedPath&&(e=c.x,i=c.y)}r.attr("transform",`translate(${e}, ${i+n/2})`)}if(s.startLabelLeft){const r=M[s.id].startLeft;let e=s.x,i=s.y;if(a){const c=U.calcTerminalLabelPosition(s.arrowTypeStart?10:0,"start_left",a);e=c.x,i=c.y}r.attr("transform",`translate(${e}, ${i})`)}if(s.startLabelRight){const r=M[s.id].startRight;let e=s.x,i=s.y;if(a){const c=U.calcTerminalLabelPosition(s.arrowTypeStart?10:0,"start_right",a);e=c.x,i=c.y}r.attr("transform",`translate(${e}, ${i})`)}if(s.endLabelLeft){const r=M[s.id].endLeft;let e=s.x,i=s.y;if(a){const c=U.calcTerminalLabelPosition(s.arrowTypeEnd?10:0,"end_left",a);e=c.x,i=c.y}r.attr("transform",`translate(${e}, ${i})`)}if(s.endLabelRight){const r=M[s.id].endRight;let e=s.x,i=s.y;if(a){const c=U.calcTerminalLabelPosition(s.arrowTypeEnd?10:0,"end_right",a);e=c.x,i=c.y}r.attr("transform",`translate(${e}, ${i})`)}},"positionEdgeLabel"),hr=d((s,t)=>{const a=s.x,l=s.y,n=Math.abs(t.x-a),r=Math.abs(t.y-l),e=s.width/2,i=s.height/2;return n>=e||r>=i},"outsideNode"),or=d((s,t,a)=>{u.debug(`intersection calc abc89: outsidePoint: ${JSON.stringify(t)} insidePoint : ${JSON.stringify(a)} node : x:${s.x} y:${s.y} w:${s.width} h:${s.height}`);const l=s.x,n=s.y,r=Math.abs(l-a.x),e=s.width/2;let i=a.xMath.abs(l-t.x)*c){let p=a.y{u.debug("abc88 cutPathAtIntersect",s,t);let a=[],l=s[0],n=!1;return s.forEach(r=>{if(!hr(t,r)&&!n){const e=or(t,l,r);let i=!1;a.forEach(c=>{i=i||c.x===e.x&&c.y===e.y}),a.some(c=>c.x===e.x&&c.y===e.y)||a.push(e),n=!0}else l=r,n||a.push(r)}),a},"cutPathAtIntersect"),mr=d(function(s,t,a,l,n,r,e){let i=a.points;u.debug("abc88 InsertEdge: edge=",a,"e=",t);let c=!1;const o=r.node(t.v);var h=r.node(t.w);h!=null&&h.intersect&&(o!=null&&o.intersect)&&(i=i.slice(1,a.points.length-1),i.unshift(o.intersect(i[0])),i.push(h.intersect(i[i.length-1]))),a.toCluster&&(u.debug("to cluster abc88",l[a.toCluster]),i=st(a.points,l[a.toCluster].node),c=!0),a.fromCluster&&(u.debug("from cluster abc88",l[a.fromCluster]),i=st(i.reverse(),l[a.fromCluster].node).reverse(),c=!0);const p=i.filter(S=>!Number.isNaN(S.y));let y=gt;a.curve&&(n==="graph"||n==="flowchart")&&(y=a.curve);const{x:f,y:g}=ft(a),v=xt().x(f).y(g).curve(y);let x;switch(a.thickness){case"normal":x="edge-thickness-normal";break;case"thick":x="edge-thickness-thick";break;case"invisible":x="edge-thickness-thick";break;default:x=""}switch(a.pattern){case"solid":x+=" edge-pattern-solid";break;case"dotted":x+=" edge-pattern-dotted";break;case"dashed":x+=" edge-pattern-dashed";break}const E=s.append("path").attr("d",v(p)).attr("id",a.id).attr("class"," "+x+(a.classes?" "+a.classes:"")).attr("style",a.style);let b="";(_().flowchart.arrowMarkerAbsolute||_().state.arrowMarkerAbsolute)&&(b=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,b=b.replace(/\(/g,"\\("),b=b.replace(/\)/g,"\\)")),nr(E,a,b,e,n);let C={};return c&&(C.updatedPath=i),C.originalPath=a.points,C},"insertEdge");export{ur as a,br as b,xr as c,mr as d,wr as e,I as f,Dt as g,yr as i,pr as m,gr as p,fr as s,m as u}; diff --git a/assets/chunks/chunk-RYO7GUH3.Bj74XpVL.js b/assets/chunks/chunk-RYO7GUH3.Cq4tzjLf.js similarity index 77% rename from assets/chunks/chunk-RYO7GUH3.Bj74XpVL.js rename to assets/chunks/chunk-RYO7GUH3.Cq4tzjLf.js index 7398a91a4..f97fd1a3c 100644 --- a/assets/chunks/chunk-RYO7GUH3.Bj74XpVL.js +++ b/assets/chunks/chunk-RYO7GUH3.Cq4tzjLf.js @@ -1 +1 @@ -import{_ as l}from"../app.B4W5LDy6.js";function m(e,c){var i,t,o;e.accDescr&&((i=c.setAccDescription)==null||i.call(c,e.accDescr)),e.accTitle&&((t=c.setAccTitle)==null||t.call(c,e.accTitle)),e.title&&((o=c.setDiagramTitle)==null||o.call(c,e.title))}l(m,"populateCommonDb");export{m as p}; +import{_ as l}from"../app.XeY7gsc2.js";function m(e,c){var i,t,o;e.accDescr&&((i=c.setAccDescription)==null||i.call(c,e.accDescr)),e.accTitle&&((t=c.setAccTitle)==null||t.call(c,e.accTitle)),e.title&&((o=c.setDiagramTitle)==null||o.call(c,e.title))}l(m,"populateCommonDb");export{m as p}; diff --git a/assets/chunks/chunk-V35ELUW5.DnZkrfgD.js b/assets/chunks/chunk-V35ELUW5.Bo_-Vqpn.js similarity index 95% rename from assets/chunks/chunk-V35ELUW5.DnZkrfgD.js rename to assets/chunks/chunk-V35ELUW5.Bo_-Vqpn.js index 8b2a6c590..c6ce40158 100644 --- a/assets/chunks/chunk-V35ELUW5.DnZkrfgD.js +++ b/assets/chunks/chunk-V35ELUW5.Bo_-Vqpn.js @@ -1 +1 @@ -import{_ as n,n as c,m as l}from"../app.B4W5LDy6.js";var o=n((a,t)=>{const e=a.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(const r in t.attrs)e.attr(r,t.attrs[r]);return t.class&&e.attr("class",t.class),e},"drawRect"),d=n((a,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};o(a,e).lower()},"drawBackgroundRect"),g=n((a,t)=>{const e=t.text.replace(c," "),r=a.append("text");r.attr("x",t.x),r.attr("y",t.y),r.attr("class","legend"),r.style("text-anchor",t.anchor),t.class&&r.attr("class",t.class);const s=r.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),r},"drawText"),m=n((a,t,e,r)=>{const s=a.append("image");s.attr("x",t),s.attr("y",e);const i=l(r);s.attr("xlink:href",i)},"drawImage"),h=n((a,t,e,r)=>{const s=a.append("use");s.attr("x",t),s.attr("y",e);const i=l(r);s.attr("xlink:href",`#${i}`)},"drawEmbeddedImage"),y=n(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=n(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj");export{p as a,d as b,h as c,o as d,m as e,g as f,y as g}; +import{_ as n,n as c,m as l}from"../app.XeY7gsc2.js";var o=n((a,t)=>{const e=a.append("rect");if(e.attr("x",t.x),e.attr("y",t.y),e.attr("fill",t.fill),e.attr("stroke",t.stroke),e.attr("width",t.width),e.attr("height",t.height),t.name&&e.attr("name",t.name),t.rx&&e.attr("rx",t.rx),t.ry&&e.attr("ry",t.ry),t.attrs!==void 0)for(const r in t.attrs)e.attr(r,t.attrs[r]);return t.class&&e.attr("class",t.class),e},"drawRect"),d=n((a,t)=>{const e={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};o(a,e).lower()},"drawBackgroundRect"),g=n((a,t)=>{const e=t.text.replace(c," "),r=a.append("text");r.attr("x",t.x),r.attr("y",t.y),r.attr("class","legend"),r.style("text-anchor",t.anchor),t.class&&r.attr("class",t.class);const s=r.append("tspan");return s.attr("x",t.x+t.textMargin*2),s.text(e),r},"drawText"),m=n((a,t,e,r)=>{const s=a.append("image");s.attr("x",t),s.attr("y",e);const i=l(r);s.attr("xlink:href",i)},"drawImage"),h=n((a,t,e,r)=>{const s=a.append("use");s.attr("x",t),s.attr("y",e);const i=l(r);s.attr("xlink:href",`#${i}`)},"drawEmbeddedImage"),y=n(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=n(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj");export{p as a,d as b,h as c,o as d,m as e,g as f,y as g}; diff --git a/assets/chunks/classDiagram-Q73GJZWF.CfYKzVQe.js b/assets/chunks/classDiagram-Q73GJZWF.RbneuW3E.js similarity index 96% rename from assets/chunks/classDiagram-Q73GJZWF.CfYKzVQe.js rename to assets/chunks/classDiagram-Q73GJZWF.RbneuW3E.js index d27cd83c0..775275515 100644 --- a/assets/chunks/classDiagram-Q73GJZWF.CfYKzVQe.js +++ b/assets/chunks/classDiagram-Q73GJZWF.RbneuW3E.js @@ -1,2 +1,2 @@ -import{c as G,a as N,s as I}from"./chunk-NGC4727B.Y5EkXXl7.js";import{_ as f,d as S,l as u,j as B,k as W,a0 as P,a6 as R,u as _,a7 as X}from"../app.B4W5LDy6.js";import{G as Y}from"./graph.BWNVXCq5.js";import{l as $}from"./layout.tjTIlxV4.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";import"./baseUniq.Cpp3LtUr.js";import"./basePickBy.Cv297fiu.js";var H=0,J=f(function(i,a,t,o,p){const g=f(function(e){switch(e){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}},"getRelationType");a.points=a.points.filter(e=>!Number.isNaN(e.y));const s=a.points,c=P().x(function(e){return e.x}).y(function(e){return e.y}).curve(R),n=i.append("path").attr("d",c(s)).attr("id","edge"+H).attr("class","relation");let r="";o.arrowMarkerAbsolute&&(r=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,r=r.replace(/\(/g,"\\("),r=r.replace(/\)/g,"\\)")),t.relation.lineType==1&&n.attr("class","relation dashed-line"),t.relation.lineType==10&&n.attr("class","relation dotted-line"),t.relation.type1!=="none"&&n.attr("marker-start","url("+r+"#"+g(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&n.attr("marker-end","url("+r+"#"+g(t.relation.type2)+"End)");let m,h;const x=a.points.length;let b=_.calcLabelPosition(a.points);m=b.x,h=b.y;let y,w,k,v;if(x%2!==0&&x>1){let e=_.calcCardinalityPosition(t.relation.type1!=="none",a.points,a.points[0]),d=_.calcCardinalityPosition(t.relation.type2!=="none",a.points,a.points[x-1]);u.debug("cardinality_1_point "+JSON.stringify(e)),u.debug("cardinality_2_point "+JSON.stringify(d)),y=e.x,w=e.y,k=d.x,v=d.y}if(t.title!==void 0){const e=i.append("g").attr("class","classLabel"),d=e.append("text").attr("class","label").attr("x",m).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=d;const l=d.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",l.x-o.padding/2).attr("y",l.y-o.padding/2).attr("width",l.width+o.padding).attr("height",l.height+o.padding)}u.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",y).attr("y",w).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",k).attr("y",v).attr("fill","black").attr("font-size","6").text(t.relationTitle2),H++},"drawEdge"),O=f(function(i,a,t,o){u.debug("Rendering class ",a,t);const p=a.id,g={id:p,label:a.id,width:0,height:0},s=i.append("g").attr("id",o.db.lookUpDomId(p)).attr("class","classGroup");let c;a.link?c=s.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let n=!0;a.annotations.forEach(function(d){const l=c.append("tspan").text("«"+d+"»");n||l.attr("dy",t.textHeight),n=!1});let r=A(a);const m=c.append("tspan").text(r).attr("class","title");n||m.attr("dy",t.textHeight);const h=c.node().getBBox().height;let x,b,y;if(a.members.length>0){x=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin/2).attr("y2",t.padding+h+t.dividerMargin/2);const d=s.append("text").attr("x",t.padding).attr("y",h+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.members.forEach(function(l){C(d,l,n,t),n=!1}),b=d.node().getBBox()}if(a.methods.length>0){y=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin+b.height).attr("y2",t.padding+h+t.dividerMargin+b.height);const d=s.append("text").attr("x",t.padding).attr("y",h+2*t.dividerMargin+b.height+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.methods.forEach(function(l){C(d,l,n,t),n=!1})}const w=s.node().getBBox();var k=" ";a.cssClasses.length>0&&(k=k+a.cssClasses.join(" "));const e=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",w.width+2*t.padding).attr("height",w.height+t.padding+.5*t.dividerMargin).attr("class",k).node().getBBox().width;return c.node().childNodes.forEach(function(d){d.setAttribute("x",(e-d.getBBox().width)/2)}),a.tooltip&&c.insert("title").text(a.tooltip),x&&x.attr("x2",e),y&&y.attr("x2",e),g.width=e,g.height=w.height+t.padding+.5*t.dividerMargin,g},"drawClass"),A=f(function(i){let a=i.id;return i.type&&(a+="<"+X(i.type)+">"),a},"getClassTitleString"),Z=f(function(i,a,t,o){u.debug("Rendering note ",a,t);const p=a.id,g={id:p,text:a.text,width:0,height:0},s=i.append("g").attr("id",p).attr("class","classGroup");let c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const n=JSON.parse(`"${a.text}"`).split(` +import{c as G,a as N,s as I}from"./chunk-NGC4727B.IB0FxRyG.js";import{_ as f,d as S,l as u,j as B,k as W,a0 as P,a6 as R,u as _,a7 as X}from"../app.XeY7gsc2.js";import{G as Y}from"./graph.jRtFwrS7.js";import{l as $}from"./layout.CM1i2aqJ.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./baseUniq.D3QFBTuJ.js";import"./basePickBy.DQSVnGZT.js";var H=0,J=f(function(i,a,t,o,p){const g=f(function(e){switch(e){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}},"getRelationType");a.points=a.points.filter(e=>!Number.isNaN(e.y));const s=a.points,c=P().x(function(e){return e.x}).y(function(e){return e.y}).curve(R),n=i.append("path").attr("d",c(s)).attr("id","edge"+H).attr("class","relation");let r="";o.arrowMarkerAbsolute&&(r=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,r=r.replace(/\(/g,"\\("),r=r.replace(/\)/g,"\\)")),t.relation.lineType==1&&n.attr("class","relation dashed-line"),t.relation.lineType==10&&n.attr("class","relation dotted-line"),t.relation.type1!=="none"&&n.attr("marker-start","url("+r+"#"+g(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&n.attr("marker-end","url("+r+"#"+g(t.relation.type2)+"End)");let m,h;const x=a.points.length;let b=_.calcLabelPosition(a.points);m=b.x,h=b.y;let y,w,k,v;if(x%2!==0&&x>1){let e=_.calcCardinalityPosition(t.relation.type1!=="none",a.points,a.points[0]),d=_.calcCardinalityPosition(t.relation.type2!=="none",a.points,a.points[x-1]);u.debug("cardinality_1_point "+JSON.stringify(e)),u.debug("cardinality_2_point "+JSON.stringify(d)),y=e.x,w=e.y,k=d.x,v=d.y}if(t.title!==void 0){const e=i.append("g").attr("class","classLabel"),d=e.append("text").attr("class","label").attr("x",m).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=d;const l=d.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",l.x-o.padding/2).attr("y",l.y-o.padding/2).attr("width",l.width+o.padding).attr("height",l.height+o.padding)}u.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",y).attr("y",w).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",k).attr("y",v).attr("fill","black").attr("font-size","6").text(t.relationTitle2),H++},"drawEdge"),O=f(function(i,a,t,o){u.debug("Rendering class ",a,t);const p=a.id,g={id:p,label:a.id,width:0,height:0},s=i.append("g").attr("id",o.db.lookUpDomId(p)).attr("class","classGroup");let c;a.link?c=s.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let n=!0;a.annotations.forEach(function(d){const l=c.append("tspan").text("«"+d+"»");n||l.attr("dy",t.textHeight),n=!1});let r=A(a);const m=c.append("tspan").text(r).attr("class","title");n||m.attr("dy",t.textHeight);const h=c.node().getBBox().height;let x,b,y;if(a.members.length>0){x=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin/2).attr("y2",t.padding+h+t.dividerMargin/2);const d=s.append("text").attr("x",t.padding).attr("y",h+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.members.forEach(function(l){C(d,l,n,t),n=!1}),b=d.node().getBBox()}if(a.methods.length>0){y=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin+b.height).attr("y2",t.padding+h+t.dividerMargin+b.height);const d=s.append("text").attr("x",t.padding).attr("y",h+2*t.dividerMargin+b.height+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.methods.forEach(function(l){C(d,l,n,t),n=!1})}const w=s.node().getBBox();var k=" ";a.cssClasses.length>0&&(k=k+a.cssClasses.join(" "));const e=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",w.width+2*t.padding).attr("height",w.height+t.padding+.5*t.dividerMargin).attr("class",k).node().getBBox().width;return c.node().childNodes.forEach(function(d){d.setAttribute("x",(e-d.getBBox().width)/2)}),a.tooltip&&c.insert("title").text(a.tooltip),x&&x.attr("x2",e),y&&y.attr("x2",e),g.width=e,g.height=w.height+t.padding+.5*t.dividerMargin,g},"drawClass"),A=f(function(i){let a=i.id;return i.type&&(a+="<"+X(i.type)+">"),a},"getClassTitleString"),Z=f(function(i,a,t,o){u.debug("Rendering note ",a,t);const p=a.id,g={id:p,text:a.text,width:0,height:0},s=i.append("g").attr("id",p).attr("class","classGroup");let c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const n=JSON.parse(`"${a.text}"`).split(` `);n.forEach(function(x){u.debug(`Adding line: ${x}`),c.append("tspan").text(x).attr("class","title").attr("dy",t.textHeight)});const r=s.node().getBBox(),h=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",r.width+2*t.padding).attr("height",r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin).node().getBBox().width;return c.node().childNodes.forEach(function(x){x.setAttribute("x",(h-x.getBBox().width)/2)}),g.width=h,g.height=r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin,g},"drawNote"),C=f(function(i,a,t,o){const{displayText:p,cssStyle:g}=a.getDisplayDetails(),s=i.append("tspan").attr("x",o.padding).text(p);g!==""&&s.attr("style",a.cssStyle),t||s.attr("dy",o.textHeight)},"addTspan"),M={getClassTitleString:A,drawClass:O,drawEdge:J,drawNote:Z},L={},E=20,T=f(function(i){const a=Object.entries(L).find(t=>t[1].label===i);if(a)return a[0]},"getGraphId"),F=f(function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),U=f(function(i,a,t,o){const p=S().class;L={},u.info("Rendering diagram "+i);const g=S().securityLevel;let s;g==="sandbox"&&(s=B("#i"+a));const c=g==="sandbox"?B(s.nodes()[0].contentDocument.body):B("body"),n=c.select(`[id='${a}']`);F(n);const r=new Y({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});const m=o.db.getClasses(),h=[...m.keys()];for(const e of h){const d=m.get(e),l=M.drawClass(n,d,p,o);L[l.id]=l,r.setNode(l.id,l),u.info("Org height: "+l.height)}o.db.getRelations().forEach(function(e){u.info("tjoho"+T(e.id1)+T(e.id2)+JSON.stringify(e)),r.setEdge(T(e.id1),T(e.id2),{relation:e},e.title||"DEFAULT")}),o.db.getNotes().forEach(function(e){u.debug(`Adding note: ${JSON.stringify(e)}`);const d=M.drawNote(n,e,p,o);L[d.id]=d,r.setNode(d.id,d),e.class&&m.has(e.class)&&r.setEdge(e.id,T(e.class),{relation:{id1:e.id,id2:e.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),$(r),r.nodes().forEach(function(e){e!==void 0&&r.node(e)!==void 0&&(u.debug("Node "+e+": "+JSON.stringify(r.node(e))),c.select("#"+(o.db.lookUpDomId(e)||e)).attr("transform","translate("+(r.node(e).x-r.node(e).width/2)+","+(r.node(e).y-r.node(e).height/2)+" )"))}),r.edges().forEach(function(e){e!==void 0&&r.edge(e)!==void 0&&(u.debug("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(r.edge(e))),M.drawEdge(n,r.edge(e),r.edge(e).relation,p,o))});const y=n.node().getBBox(),w=y.width+E*2,k=y.height+E*2;W(n,k,w,p.useMaxWidth);const v=`${y.x-E} ${y.y-E} ${w} ${k}`;u.debug(`viewBox ${v}`),n.attr("viewBox",v)},"draw"),z={draw:U},at={parser:G,db:N,renderer:z,styles:I,init:f(i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,N.clear()},"init")};export{at as diagram}; diff --git a/assets/chunks/classDiagram-v2-C6QPLPW4.CLiBdUiW.js b/assets/chunks/classDiagram-v2-C6QPLPW4.DcYNi2R5.js similarity index 96% rename from assets/chunks/classDiagram-v2-C6QPLPW4.CLiBdUiW.js rename to assets/chunks/classDiagram-v2-C6QPLPW4.DcYNi2R5.js index 8e7cfb3f4..1e4790470 100644 --- a/assets/chunks/classDiagram-v2-C6QPLPW4.CLiBdUiW.js +++ b/assets/chunks/classDiagram-v2-C6QPLPW4.DcYNi2R5.js @@ -1,2 +1,2 @@ -import{m as tt,c as et,a as nt,u as it,s as st,i as at,b as rt,p as G,d as lt,e as ot,f as F,g as R}from"./chunk-REEJFE46.BkQveCwl.js";import{c as ct,a as M,s as dt}from"./chunk-NGC4727B.Y5EkXXl7.js";import{_ as g,l as s,d as m,j as T,u as ft,a8 as ut,a9 as $,aa as H,ab as z,x as ht,e as W,ac as J,ad as B,ae as gt}from"../app.B4W5LDy6.js";import{G as q}from"./graph.BWNVXCq5.js";import{l as wt}from"./layout.tjTIlxV4.js";import{w as S}from"./json.mbpuitjH.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";import"./baseUniq.Cpp3LtUr.js";import"./basePickBy.Cv297fiu.js";import"./clone.Orx1AHso.js";var u={},x={},V={},yt=g(()=>{x={},V={},u={}},"clear"),L=g((e,t)=>(s.trace("In isDescendant",t," ",e," = ",x[t].includes(e)),!!x[t].includes(e)),"isDescendant"),bt=g((e,t)=>(s.info("Descendants of ",t," is ",x[t]),s.info("Edge is ",e),e.v===t||e.w===t?!1:x[t]?x[t].includes(e.v)||L(e.v,t)||L(e.w,t)||x[t].includes(e.w):(s.debug("Tilt, ",t,",not in descendants"),!1)),"edgeInCluster"),j=g((e,t,n,l)=>{s.warn("Copying children of ",e,"root",l,"data",t.node(e),l);const i=t.children(e)||[];e!==l&&i.push(e),s.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(a=>{if(t.children(a).length>0)j(a,t,n,l);else{const r=t.node(a);s.info("cp ",a," to ",l," with parent ",e),n.setNode(a,r),l!==t.parent(a)&&(s.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==l&&a!==e?(s.debug("Setting parent",a,e),n.setParent(a,e)):(s.info("In copy ",e,"root",l,"data",t.node(e),l),s.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==l,"node!==clusterId",a!==e));const f=t.edges(a);s.debug("Copying Edges",f),f.forEach(d=>{s.info("Edge",d);const h=t.edge(d.v,d.w,d.name);s.info("Edge data",h,l);try{bt(d,l)?(s.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),s.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",l," clusterId:",e)}catch(b){s.error(b)}})}s.debug("Removing node",a),t.removeNode(a)})},"copy"),K=g((e,t)=>{const n=t.children(e);let l=[...n];for(const i of n)V[i]=e,l=[...l,...K(i,t)];return l},"extractDescendants"),k=g((e,t)=>{s.trace("Searching",e);const n=t.children(e);if(s.trace("Searching children of id ",e,n),n.length<1)return s.trace("This is a valid node",e),e;for(const l of n){const i=k(l,t);if(i)return s.trace("Found replacement for",e," => ",i),i}},"findNonClusterChild"),X=g(e=>!u[e]||!u[e].externalConnections?e:u[e]?u[e].id:e,"getAnchorId"),mt=g((e,t)=>{if(!e||t>10){s.debug("Opting out, no graph ");return}else s.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(s.warn("Cluster identified",n," Replacement id in edges: ",k(n,e)),x[n]=K(n,e),u[n]={id:k(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const l=e.children(n),i=e.edges();l.length>0?(s.debug("Cluster identified",n,x),i.forEach(a=>{if(a.v!==n&&a.w!==n){const r=L(a.v,n),f=L(a.w,n);r^f&&(s.warn("Edge: ",a," leaves cluster ",n),s.warn("Descendants of XXX ",n,": ",x[n]),u[n].externalConnections=!0)}})):s.debug("Not a cluster ",n,x)});for(let n of Object.keys(u)){const l=u[n].id,i=e.parent(l);i!==n&&u[i]&&!u[i].externalConnections&&(u[n].id=i)}e.edges().forEach(function(n){const l=e.edge(n);s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(s.warn("Fix XXX",u,"ids:",n.v,n.w,"Translating: ",u[n.v]," --- ",u[n.w]),u[n.v]&&u[n.w]&&u[n.v]===u[n.w]){s.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name);const r=n.w+"---"+n.v;e.setNode(r,{domId:r,id:r,labelStyle:"",labelText:l.label,padding:0,shape:"labelRect",style:""});const f=structuredClone(l),d=structuredClone(l);f.label="",f.arrowTypeEnd="none",d.label="",f.fromCluster=n.v,d.toCluster=n.v,e.setEdge(i,r,f,n.name+"-cyclic-special"),e.setEdge(r,a,d,n.name+"-cyclic-special")}else if(u[n.v]||u[n.w]){if(s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){const r=e.parent(i);u[r].externalConnections=!0,l.fromCluster=n.v}if(a!==n.w){const r=e.parent(a);u[r].externalConnections=!0,l.toCluster=n.w}s.warn("Fix Replacing with XXX",i,a,n.name),e.setEdge(i,a,l,n.name)}}),s.warn("Adjusted Graph",S(e)),Q(e,0),s.trace(u)},"adjustClustersAndEdges"),Q=g((e,t)=>{var i,a;if(s.warn("extractor - ",t,S(e),e.children("D")),t>10){s.error("Bailing out");return}let n=e.nodes(),l=!1;for(const r of n){const f=e.children(r);l=l||f.length>0}if(!l){s.debug("Done, no node has children",e.nodes());return}s.debug("Nodes = ",n,t);for(const r of n)if(s.debug("Extracting node",r,u,u[r]&&!u[r].externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),!u[r])s.debug("Not a cluster",r,t);else if(!u[r].externalConnections&&e.children(r)&&e.children(r).length>0){s.warn("Cluster without external connections, without a parent and with children",r,t);let d=e.graph().rankdir==="TB"?"LR":"TB";(a=(i=u[r])==null?void 0:i.clusterData)!=null&&a.dir&&(d=u[r].clusterData.dir,s.warn("Fixing dir",u[r].clusterData.dir,d));const h=new q({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.warn("Old graph before copy",S(e)),j(r,e,h,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:u[r].clusterData,labelText:u[r].labelText,graph:h}),s.warn("New graph after copy node: (",r,")",S(h)),s.debug("Old graph after copy",S(e))}else s.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!u[r].externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),s.debug(u);n=e.nodes(),s.warn("New list of nodes",n);for(const r of n){const f=e.node(r);s.warn(" Now next level",r,f),f.clusterNode&&Q(f.graph,t+1)}},"extractor"),U=g((e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(l=>{const i=e.children(l),a=U(e,i);n=[...n,...a]}),n},"sorter"),vt=g(e=>U(e,e.children()),"sortNodesByHierarchy"),pt=g((e,t)=>{s.info("Creating subgraph rect for ",t.id,t);const n=m(),l=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),i=l.insert("rect",":first-child"),a=B(n.flowchart.htmlLabels),r=l.insert("g").attr("class","cluster-label"),f=t.labelType==="markdown"?gt(r,t.labelText,{style:t.labelStyle,useHtmlLabels:a},n):r.node().appendChild(F(t.labelText,t.labelStyle,void 0,!0));let d=f.getBBox();if(B(n.flowchart.htmlLabels)){const c=f.children[0],o=T(f);d=c.getBoundingClientRect(),o.attr("width",d.width),o.attr("height",d.height)}const h=0*t.padding,b=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,s.trace("Data ",t,JSON.stringify(t)),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-b).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:v}=J(n);a?r.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+v})`):r.attr("transform",`translate(${t.x}, ${t.y-t.height/2+v})`);const w=i.node().getBBox();return t.width=w.width,t.height=w.height,t.intersect=function(c){return R(t,c)},l},"rect"),xt=g((e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),l=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;l.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");const r=l.node().getBBox();return t.width=r.width,t.height=r.height,t.intersect=function(f){return R(t,f)},n},"noteGroup"),St=g((e,t)=>{const n=m(),l=e.insert("g").attr("class",t.classes).attr("id",t.id),i=l.insert("rect",":first-child"),a=l.insert("g").attr("class","cluster-label"),r=l.append("rect"),f=a.node().appendChild(F(t.labelText,t.labelStyle,void 0,!0));let d=f.getBBox();if(B(n.flowchart.htmlLabels)){const c=f.children[0],o=T(f);d=c.getBoundingClientRect(),o.attr("width",d.width),o.attr("height",d.height)}d=f.getBBox();const h=0*t.padding,b=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,i.attr("class","outer").attr("x",t.x-y/2-b).attr("y",t.y-t.height/2-b).attr("width",y+h).attr("height",t.height+h),r.attr("class","inner").attr("x",t.x-y/2-b).attr("y",t.y-t.height/2-b+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:v}=J(n);a.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(B(n.flowchart.htmlLabels)?5:3)+v})`);const w=i.node().getBBox();return t.height=w.height,t.intersect=function(c){return R(t,c)},l},"roundedWithTitle"),Nt=g((e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),l=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;l.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);const r=l.node().getBBox();return t.width=r.width,t.height=r.height,t.diff=-t.padding/2,t.intersect=function(f){return R(t,f)},n},"divider"),Et={rect:pt,roundedWithTitle:St,noteGroup:xt,divider:Nt},Y={},Ct=g((e,t)=>{s.trace("Inserting cluster");const n=t.shape||"rect";Y[t.id]=Et[n](e,t)},"insertCluster"),Tt=g(()=>{Y={}},"clear"),Z=g(async(e,t,n,l,i,a)=>{s.info("Graph in recursive render: XXX",S(t),i);const r=t.graph().rankdir;s.trace("Dir in recursive render - dir:",r);const f=e.insert("g").attr("class","root");t.nodes()?s.info("Recursive render XXX",t.nodes()):s.info("No nodes found for",t),t.edges().length>0&&s.trace("Recursive edges",t.edge(t.edges()[0]));const d=f.insert("g").attr("class","clusters"),h=f.insert("g").attr("class","edgePaths"),b=f.insert("g").attr("class","edgeLabels"),y=f.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(c){const o=t.node(c);if(i!==void 0){const p=JSON.parse(JSON.stringify(i.clusterData));s.info("Setting data for cluster XXX (",c,") ",p,i),t.setNode(i.id,p),t.parent(c)||(s.trace("Setting parent",c,i.id),t.setParent(c,i.id,p))}if(s.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o!=null&&o.clusterNode){s.info("Cluster identified",c,o.width,t.node(c));const{ranksep:p,nodesep:E}=t.graph();o.graph.setGraph({...o.graph.graph(),ranksep:p,nodesep:E});const D=await Z(y,o.graph,n,l,t.node(c),a),N=D.elem;it(o,N),o.diff=D.diff||0,s.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),st(N,o),s.warn("Recursive render complete ",N,o)}else t.children(c).length>0?(s.info("Cluster - the non recursive path XXX",c,o.id,o,t),s.info(k(o.id,t)),u[o.id]={id:k(o.id,t),node:o}):(s.info("Node - the non recursive path",c,o.id,o),await at(y,t.node(c),{config:a,dir:r}))})),t.edges().forEach(async function(c){const o=t.edge(c.v,c.w,c.name);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),s.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),s.info("Fix",u,"ids:",c.v,c.w,"Translating: ",u[c.v],u[c.w]),await rt(b,o)}),t.edges().forEach(function(c){s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),s.info("Graph before layout:",JSON.stringify(S(t))),s.info("#############################################"),s.info("### Layout ###"),s.info("#############################################"),s.info(t),wt(t),s.info("Graph after layout:",JSON.stringify(S(t)));let v=0;const{subGraphTitleTotalMargin:w}=J(a);return vt(t).forEach(function(c){const o=t.node(c);s.info("Position "+c+": "+JSON.stringify(t.node(c))),s.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o!=null&&o.clusterNode?(o.y+=w,G(o)):t.children(c).length>0?(o.height+=w,Ct(d,o),u[o.id].node=o):(o.y+=w/2,G(o))}),t.edges().forEach(function(c){const o=t.edge(c);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o),o.points.forEach(E=>E.y+=w/2);const p=lt(h,c,o,u,n,t,l);ot(o,p)}),t.nodes().forEach(function(c){const o=t.node(c);s.info(c,o.type,o.diff),o.type==="group"&&(v=o.diff)}),{elem:f,diff:v}},"recursiveRender"),kt=g(async(e,t,n,l,i)=>{tt(e,n,l,i),et(),nt(),Tt(),yt(),s.warn("Graph at first:",JSON.stringify(S(t))),mt(t),s.warn("Graph after:",JSON.stringify(S(t)));const a=m();await Z(e,t,l,i,void 0,a)},"render"),O=g(e=>W.sanitizeText(e,m()),"sanitizeText"),_={dividerMargin:10,padding:5,textHeight:10,curve:void 0},Dt=g(function(e,t,n,l){s.info("keys:",[...e.keys()]),s.info(e),e.forEach(function(i){var f,d;const r={shape:"rect",id:i.id,domId:i.domId,labelText:O(i.id),labelStyle:"",style:"fill: none; stroke: black",padding:((f=m().flowchart)==null?void 0:f.padding)??((d=m().class)==null?void 0:d.padding)};t.setNode(i.id,r),I(i.classes,t,n,l,i.id),s.info("setNode",r)})},"addNamespaces"),I=g(function(e,t,n,l,i){s.info("keys:",[...e.keys()]),s.info(e),[...e.values()].filter(a=>a.parent===i).forEach(function(a){var v,w;const r=a.cssClasses.join(" "),f=$(a.styles),d=a.label??a.id,h=0,y={labelStyle:f.labelStyle,shape:"class_box",labelText:O(d),classData:a,rx:h,ry:h,class:r,style:f.style,id:a.id,domId:a.domId,tooltip:l.db.getTooltip(a.id,i)||"",haveCallback:a.haveCallback,link:a.link,width:a.type==="group"?500:void 0,type:a.type,padding:((v=m().flowchart)==null?void 0:v.padding)??((w=m().class)==null?void 0:w.padding)};t.setNode(a.id,y),i&&t.setParent(a.id,i),s.info("setNode",y)})},"addClasses"),Xt=g(function(e,t,n,l){s.info(e),e.forEach(function(i,a){var o,p;const r=i,f="",d={labelStyle:"",style:""},h=r.text,b=0,v={labelStyle:d.labelStyle,shape:"note",labelText:O(h),noteData:r,rx:b,ry:b,class:f,style:d.style,id:r.id,domId:r.id,tooltip:"",type:"note",padding:((o=m().flowchart)==null?void 0:o.padding)??((p=m().class)==null?void 0:p.padding)};if(t.setNode(r.id,v),s.info("setNode",v),!r.class||!l.has(r.class))return;const w=n+a,c={id:`edgeNote${w}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:H(_.curve,z)};t.setEdge(r.id,r.class,c,w)})},"addNotes"),Bt=g(function(e,t){const n=m().flowchart;let l=0;e.forEach(function(i){var r;l++;const a={classes:"relation",pattern:i.relation.lineType==1?"dashed":"solid",id:ht(i.id1,i.id2,{prefix:"id",counter:l}),arrowhead:i.type==="arrow_open"?"none":"normal",startLabelRight:i.relationTitle1==="none"?"":i.relationTitle1,endLabelLeft:i.relationTitle2==="none"?"":i.relationTitle2,arrowTypeStart:A(i.relation.type1),arrowTypeEnd:A(i.relation.type2),style:"fill:none",labelStyle:"",curve:H(n==null?void 0:n.curve,z)};if(s.info(a,i),i.style!==void 0){const f=$(i.style);a.style=f.style,a.labelStyle=f.labelStyle}i.text=i.title,i.text===void 0?i.style!==void 0&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",a.labelpos="c",((r=m().flowchart)==null?void 0:r.htmlLabels)??m().htmlLabels?(a.labelType="html",a.label=''+i.text+""):(a.labelType="text",a.label=i.text.replace(W.lineBreakRegex,` +import{m as tt,c as et,a as nt,u as it,s as st,i as at,b as rt,p as G,d as lt,e as ot,f as F,g as R}from"./chunk-REEJFE46.w4u18u_I.js";import{c as ct,a as M,s as dt}from"./chunk-NGC4727B.IB0FxRyG.js";import{_ as g,l as s,d as m,j as T,u as ft,a8 as ut,a9 as $,aa as H,ab as z,x as ht,e as W,ac as J,ad as B,ae as gt}from"../app.XeY7gsc2.js";import{G as q}from"./graph.jRtFwrS7.js";import{l as wt}from"./layout.CM1i2aqJ.js";import{w as S}from"./json.M8LmYDKW.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./baseUniq.D3QFBTuJ.js";import"./basePickBy.DQSVnGZT.js";import"./clone.DN5RQA0U.js";var u={},x={},V={},yt=g(()=>{x={},V={},u={}},"clear"),L=g((e,t)=>(s.trace("In isDescendant",t," ",e," = ",x[t].includes(e)),!!x[t].includes(e)),"isDescendant"),bt=g((e,t)=>(s.info("Descendants of ",t," is ",x[t]),s.info("Edge is ",e),e.v===t||e.w===t?!1:x[t]?x[t].includes(e.v)||L(e.v,t)||L(e.w,t)||x[t].includes(e.w):(s.debug("Tilt, ",t,",not in descendants"),!1)),"edgeInCluster"),j=g((e,t,n,l)=>{s.warn("Copying children of ",e,"root",l,"data",t.node(e),l);const i=t.children(e)||[];e!==l&&i.push(e),s.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(a=>{if(t.children(a).length>0)j(a,t,n,l);else{const r=t.node(a);s.info("cp ",a," to ",l," with parent ",e),n.setNode(a,r),l!==t.parent(a)&&(s.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==l&&a!==e?(s.debug("Setting parent",a,e),n.setParent(a,e)):(s.info("In copy ",e,"root",l,"data",t.node(e),l),s.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==l,"node!==clusterId",a!==e));const f=t.edges(a);s.debug("Copying Edges",f),f.forEach(d=>{s.info("Edge",d);const h=t.edge(d.v,d.w,d.name);s.info("Edge data",h,l);try{bt(d,l)?(s.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),s.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):s.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",l," clusterId:",e)}catch(b){s.error(b)}})}s.debug("Removing node",a),t.removeNode(a)})},"copy"),K=g((e,t)=>{const n=t.children(e);let l=[...n];for(const i of n)V[i]=e,l=[...l,...K(i,t)];return l},"extractDescendants"),k=g((e,t)=>{s.trace("Searching",e);const n=t.children(e);if(s.trace("Searching children of id ",e,n),n.length<1)return s.trace("This is a valid node",e),e;for(const l of n){const i=k(l,t);if(i)return s.trace("Found replacement for",e," => ",i),i}},"findNonClusterChild"),X=g(e=>!u[e]||!u[e].externalConnections?e:u[e]?u[e].id:e,"getAnchorId"),mt=g((e,t)=>{if(!e||t>10){s.debug("Opting out, no graph ");return}else s.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(s.warn("Cluster identified",n," Replacement id in edges: ",k(n,e)),x[n]=K(n,e),u[n]={id:k(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const l=e.children(n),i=e.edges();l.length>0?(s.debug("Cluster identified",n,x),i.forEach(a=>{if(a.v!==n&&a.w!==n){const r=L(a.v,n),f=L(a.w,n);r^f&&(s.warn("Edge: ",a," leaves cluster ",n),s.warn("Descendants of XXX ",n,": ",x[n]),u[n].externalConnections=!0)}})):s.debug("Not a cluster ",n,x)});for(let n of Object.keys(u)){const l=u[n].id,i=e.parent(l);i!==n&&u[i]&&!u[i].externalConnections&&(u[n].id=i)}e.edges().forEach(function(n){const l=e.edge(n);s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),s.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(s.warn("Fix XXX",u,"ids:",n.v,n.w,"Translating: ",u[n.v]," --- ",u[n.w]),u[n.v]&&u[n.w]&&u[n.v]===u[n.w]){s.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name);const r=n.w+"---"+n.v;e.setNode(r,{domId:r,id:r,labelStyle:"",labelText:l.label,padding:0,shape:"labelRect",style:""});const f=structuredClone(l),d=structuredClone(l);f.label="",f.arrowTypeEnd="none",d.label="",f.fromCluster=n.v,d.toCluster=n.v,e.setEdge(i,r,f,n.name+"-cyclic-special"),e.setEdge(r,a,d,n.name+"-cyclic-special")}else if(u[n.v]||u[n.w]){if(s.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),i=X(n.v),a=X(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){const r=e.parent(i);u[r].externalConnections=!0,l.fromCluster=n.v}if(a!==n.w){const r=e.parent(a);u[r].externalConnections=!0,l.toCluster=n.w}s.warn("Fix Replacing with XXX",i,a,n.name),e.setEdge(i,a,l,n.name)}}),s.warn("Adjusted Graph",S(e)),Q(e,0),s.trace(u)},"adjustClustersAndEdges"),Q=g((e,t)=>{var i,a;if(s.warn("extractor - ",t,S(e),e.children("D")),t>10){s.error("Bailing out");return}let n=e.nodes(),l=!1;for(const r of n){const f=e.children(r);l=l||f.length>0}if(!l){s.debug("Done, no node has children",e.nodes());return}s.debug("Nodes = ",n,t);for(const r of n)if(s.debug("Extracting node",r,u,u[r]&&!u[r].externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),!u[r])s.debug("Not a cluster",r,t);else if(!u[r].externalConnections&&e.children(r)&&e.children(r).length>0){s.warn("Cluster without external connections, without a parent and with children",r,t);let d=e.graph().rankdir==="TB"?"LR":"TB";(a=(i=u[r])==null?void 0:i.clusterData)!=null&&a.dir&&(d=u[r].clusterData.dir,s.warn("Fixing dir",u[r].clusterData.dir,d));const h=new q({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});s.warn("Old graph before copy",S(e)),j(r,e,h,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:u[r].clusterData,labelText:u[r].labelText,graph:h}),s.warn("New graph after copy node: (",r,")",S(h)),s.debug("Old graph after copy",S(e))}else s.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!u[r].externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),s.debug(u);n=e.nodes(),s.warn("New list of nodes",n);for(const r of n){const f=e.node(r);s.warn(" Now next level",r,f),f.clusterNode&&Q(f.graph,t+1)}},"extractor"),U=g((e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(l=>{const i=e.children(l),a=U(e,i);n=[...n,...a]}),n},"sorter"),vt=g(e=>U(e,e.children()),"sortNodesByHierarchy"),pt=g((e,t)=>{s.info("Creating subgraph rect for ",t.id,t);const n=m(),l=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),i=l.insert("rect",":first-child"),a=B(n.flowchart.htmlLabels),r=l.insert("g").attr("class","cluster-label"),f=t.labelType==="markdown"?gt(r,t.labelText,{style:t.labelStyle,useHtmlLabels:a},n):r.node().appendChild(F(t.labelText,t.labelStyle,void 0,!0));let d=f.getBBox();if(B(n.flowchart.htmlLabels)){const c=f.children[0],o=T(f);d=c.getBoundingClientRect(),o.attr("width",d.width),o.attr("height",d.height)}const h=0*t.padding,b=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,s.trace("Data ",t,JSON.stringify(t)),i.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-b).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:v}=J(n);a?r.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+v})`):r.attr("transform",`translate(${t.x}, ${t.y-t.height/2+v})`);const w=i.node().getBBox();return t.width=w.width,t.height=w.height,t.intersect=function(c){return R(t,c)},l},"rect"),xt=g((e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),l=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;l.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2-a).attr("width",t.width+i).attr("height",t.height+i).attr("fill","none");const r=l.node().getBBox();return t.width=r.width,t.height=r.height,t.intersect=function(f){return R(t,f)},n},"noteGroup"),St=g((e,t)=>{const n=m(),l=e.insert("g").attr("class",t.classes).attr("id",t.id),i=l.insert("rect",":first-child"),a=l.insert("g").attr("class","cluster-label"),r=l.append("rect"),f=a.node().appendChild(F(t.labelText,t.labelStyle,void 0,!0));let d=f.getBBox();if(B(n.flowchart.htmlLabels)){const c=f.children[0],o=T(f);d=c.getBoundingClientRect(),o.attr("width",d.width),o.attr("height",d.height)}d=f.getBBox();const h=0*t.padding,b=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,i.attr("class","outer").attr("x",t.x-y/2-b).attr("y",t.y-t.height/2-b).attr("width",y+h).attr("height",t.height+h),r.attr("class","inner").attr("x",t.x-y/2-b).attr("y",t.y-t.height/2-b+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:v}=J(n);a.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(B(n.flowchart.htmlLabels)?5:3)+v})`);const w=i.node().getBBox();return t.height=w.height,t.intersect=function(c){return R(t,c)},l},"roundedWithTitle"),Nt=g((e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),l=n.insert("rect",":first-child"),i=0*t.padding,a=i/2;l.attr("class","divider").attr("x",t.x-t.width/2-a).attr("y",t.y-t.height/2).attr("width",t.width+i).attr("height",t.height+i);const r=l.node().getBBox();return t.width=r.width,t.height=r.height,t.diff=-t.padding/2,t.intersect=function(f){return R(t,f)},n},"divider"),Et={rect:pt,roundedWithTitle:St,noteGroup:xt,divider:Nt},Y={},Ct=g((e,t)=>{s.trace("Inserting cluster");const n=t.shape||"rect";Y[t.id]=Et[n](e,t)},"insertCluster"),Tt=g(()=>{Y={}},"clear"),Z=g(async(e,t,n,l,i,a)=>{s.info("Graph in recursive render: XXX",S(t),i);const r=t.graph().rankdir;s.trace("Dir in recursive render - dir:",r);const f=e.insert("g").attr("class","root");t.nodes()?s.info("Recursive render XXX",t.nodes()):s.info("No nodes found for",t),t.edges().length>0&&s.trace("Recursive edges",t.edge(t.edges()[0]));const d=f.insert("g").attr("class","clusters"),h=f.insert("g").attr("class","edgePaths"),b=f.insert("g").attr("class","edgeLabels"),y=f.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(c){const o=t.node(c);if(i!==void 0){const p=JSON.parse(JSON.stringify(i.clusterData));s.info("Setting data for cluster XXX (",c,") ",p,i),t.setNode(i.id,p),t.parent(c)||(s.trace("Setting parent",c,i.id),t.setParent(c,i.id,p))}if(s.info("(Insert) Node XXX"+c+": "+JSON.stringify(t.node(c))),o!=null&&o.clusterNode){s.info("Cluster identified",c,o.width,t.node(c));const{ranksep:p,nodesep:E}=t.graph();o.graph.setGraph({...o.graph.graph(),ranksep:p,nodesep:E});const D=await Z(y,o.graph,n,l,t.node(c),a),N=D.elem;it(o,N),o.diff=D.diff||0,s.info("Node bounds (abc123)",c,o,o.width,o.x,o.y),st(N,o),s.warn("Recursive render complete ",N,o)}else t.children(c).length>0?(s.info("Cluster - the non recursive path XXX",c,o.id,o,t),s.info(k(o.id,t)),u[o.id]={id:k(o.id,t),node:o}):(s.info("Node - the non recursive path",c,o.id,o),await at(y,t.node(c),{config:a,dir:r}))})),t.edges().forEach(async function(c){const o=t.edge(c.v,c.w,c.name);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),s.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(t.edge(c))),s.info("Fix",u,"ids:",c.v,c.w,"Translating: ",u[c.v],u[c.w]),await rt(b,o)}),t.edges().forEach(function(c){s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c))}),s.info("Graph before layout:",JSON.stringify(S(t))),s.info("#############################################"),s.info("### Layout ###"),s.info("#############################################"),s.info(t),wt(t),s.info("Graph after layout:",JSON.stringify(S(t)));let v=0;const{subGraphTitleTotalMargin:w}=J(a);return vt(t).forEach(function(c){const o=t.node(c);s.info("Position "+c+": "+JSON.stringify(t.node(c))),s.info("Position "+c+": ("+o.x,","+o.y,") width: ",o.width," height: ",o.height),o!=null&&o.clusterNode?(o.y+=w,G(o)):t.children(c).length>0?(o.height+=w,Ct(d,o),u[o.id].node=o):(o.y+=w/2,G(o))}),t.edges().forEach(function(c){const o=t.edge(c);s.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(o),o),o.points.forEach(E=>E.y+=w/2);const p=lt(h,c,o,u,n,t,l);ot(o,p)}),t.nodes().forEach(function(c){const o=t.node(c);s.info(c,o.type,o.diff),o.type==="group"&&(v=o.diff)}),{elem:f,diff:v}},"recursiveRender"),kt=g(async(e,t,n,l,i)=>{tt(e,n,l,i),et(),nt(),Tt(),yt(),s.warn("Graph at first:",JSON.stringify(S(t))),mt(t),s.warn("Graph after:",JSON.stringify(S(t)));const a=m();await Z(e,t,l,i,void 0,a)},"render"),O=g(e=>W.sanitizeText(e,m()),"sanitizeText"),_={dividerMargin:10,padding:5,textHeight:10,curve:void 0},Dt=g(function(e,t,n,l){s.info("keys:",[...e.keys()]),s.info(e),e.forEach(function(i){var f,d;const r={shape:"rect",id:i.id,domId:i.domId,labelText:O(i.id),labelStyle:"",style:"fill: none; stroke: black",padding:((f=m().flowchart)==null?void 0:f.padding)??((d=m().class)==null?void 0:d.padding)};t.setNode(i.id,r),I(i.classes,t,n,l,i.id),s.info("setNode",r)})},"addNamespaces"),I=g(function(e,t,n,l,i){s.info("keys:",[...e.keys()]),s.info(e),[...e.values()].filter(a=>a.parent===i).forEach(function(a){var v,w;const r=a.cssClasses.join(" "),f=$(a.styles),d=a.label??a.id,h=0,y={labelStyle:f.labelStyle,shape:"class_box",labelText:O(d),classData:a,rx:h,ry:h,class:r,style:f.style,id:a.id,domId:a.domId,tooltip:l.db.getTooltip(a.id,i)||"",haveCallback:a.haveCallback,link:a.link,width:a.type==="group"?500:void 0,type:a.type,padding:((v=m().flowchart)==null?void 0:v.padding)??((w=m().class)==null?void 0:w.padding)};t.setNode(a.id,y),i&&t.setParent(a.id,i),s.info("setNode",y)})},"addClasses"),Xt=g(function(e,t,n,l){s.info(e),e.forEach(function(i,a){var o,p;const r=i,f="",d={labelStyle:"",style:""},h=r.text,b=0,v={labelStyle:d.labelStyle,shape:"note",labelText:O(h),noteData:r,rx:b,ry:b,class:f,style:d.style,id:r.id,domId:r.id,tooltip:"",type:"note",padding:((o=m().flowchart)==null?void 0:o.padding)??((p=m().class)==null?void 0:p.padding)};if(t.setNode(r.id,v),s.info("setNode",v),!r.class||!l.has(r.class))return;const w=n+a,c={id:`edgeNote${w}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:H(_.curve,z)};t.setEdge(r.id,r.class,c,w)})},"addNotes"),Bt=g(function(e,t){const n=m().flowchart;let l=0;e.forEach(function(i){var r;l++;const a={classes:"relation",pattern:i.relation.lineType==1?"dashed":"solid",id:ht(i.id1,i.id2,{prefix:"id",counter:l}),arrowhead:i.type==="arrow_open"?"none":"normal",startLabelRight:i.relationTitle1==="none"?"":i.relationTitle1,endLabelLeft:i.relationTitle2==="none"?"":i.relationTitle2,arrowTypeStart:A(i.relation.type1),arrowTypeEnd:A(i.relation.type2),style:"fill:none",labelStyle:"",curve:H(n==null?void 0:n.curve,z)};if(s.info(a,i),i.style!==void 0){const f=$(i.style);a.style=f.style,a.labelStyle=f.labelStyle}i.text=i.title,i.text===void 0?i.style!==void 0&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",a.labelpos="c",((r=m().flowchart)==null?void 0:r.htmlLabels)??m().htmlLabels?(a.labelType="html",a.label=''+i.text+""):(a.labelType="text",a.label=i.text.replace(W.lineBreakRegex,` `),i.style===void 0&&(a.style=a.style||"stroke: #333; stroke-width: 1.5px;fill:none"),a.labelStyle=a.labelStyle.replace("color:","fill:"))),t.setEdge(i.id1,i.id2,a,l)})},"addRelations"),Lt=g(function(e){_={..._,...e}},"setConf"),Rt=g(async function(e,t,n,l){s.info("Drawing class - ",t);const i=m().flowchart??m().class,a=m().securityLevel;s.info("config:",i);const r=(i==null?void 0:i.nodeSpacing)??50,f=(i==null?void 0:i.rankSpacing)??50,d=new q({multigraph:!0,compound:!0}).setGraph({rankdir:l.db.getDirection(),nodesep:r,ranksep:f,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),h=l.db.getNamespaces(),b=l.db.getClasses(),y=l.db.getRelations(),v=l.db.getNotes();s.info(y),Dt(h,d,t,l),I(b,d,t,l),Bt(y,d),Xt(v,d,y.length+1,b);let w;a==="sandbox"&&(w=T("#i"+t));const c=a==="sandbox"?T(w.nodes()[0].contentDocument.body):T("body"),o=c.select(`[id="${t}"]`),p=c.select("#"+t+" g");if(await kt(p,d,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",t),ft.insertTitle(o,"classTitleText",(i==null?void 0:i.titleTopMargin)??5,l.db.getDiagramTitle()),ut(d,o,i==null?void 0:i.diagramPadding,i==null?void 0:i.useMaxWidth),!(i!=null&&i.htmlLabels)){const E=a==="sandbox"?w.nodes()[0].contentDocument:document,D=E.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const N of D){const P=N.getBBox(),C=E.createElementNS("http://www.w3.org/2000/svg","rect");C.setAttribute("rx",0),C.setAttribute("ry",0),C.setAttribute("width",P.width),C.setAttribute("height",P.height),N.insertBefore(C,N.firstChild)}}},"draw");function A(e){let t;switch(e){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}g(A,"getArrowMarker");var _t={setConf:Lt,draw:Rt},qt={parser:ct,db:M,renderer:_t,styles:dt,init:g(e=>{e.class||(e.class={}),e.class.arrowMarkerAbsolute=e.arrowMarkerAbsolute,M.clear()},"init")};export{qt as diagram}; diff --git a/assets/chunks/clone.DN5RQA0U.js b/assets/chunks/clone.DN5RQA0U.js new file mode 100644 index 000000000..048039911 --- /dev/null +++ b/assets/chunks/clone.DN5RQA0U.js @@ -0,0 +1 @@ +import{b as r}from"./baseUniq.D3QFBTuJ.js";var e=4;function a(o){return r(o,e)}export{a as c}; diff --git a/assets/chunks/clone.Orx1AHso.js b/assets/chunks/clone.Orx1AHso.js deleted file mode 100644 index 9dd577382..000000000 --- a/assets/chunks/clone.Orx1AHso.js +++ /dev/null @@ -1 +0,0 @@ -import{b as r}from"./baseUniq.Cpp3LtUr.js";var e=4;function a(o){return r(o,e)}export{a as c}; diff --git a/assets/chunks/constants.BZ-q9XpV.js b/assets/chunks/constants.BZ-q9XpV.js deleted file mode 100644 index 33be998d2..000000000 --- a/assets/chunks/constants.BZ-q9XpV.js +++ /dev/null @@ -1 +0,0 @@ -const o=Object.freeze({golangVersion:"go1.22.3",nodeVersion:"21.7.2",yarnVersion:"1.22.19",rollkitLatestTag:"v0.14.1",rollkitLatestSha:"5a8693e",rollkitCosmosSDKVersion:"v0.50.6-rollkit-v0.13.3-no-fraud-proofs",rollkitIgniteAppVersion:"rollkit/v0.2.1",localDALatestTag:"v0.3.1",goSequencingLatestTag:"v0.4.1",igniteVersionTag:"v28.5.3"});export{o as c}; diff --git a/assets/chunks/constants.pTZQtKJL.js b/assets/chunks/constants.pTZQtKJL.js new file mode 100644 index 000000000..0d6bbe999 --- /dev/null +++ b/assets/chunks/constants.pTZQtKJL.js @@ -0,0 +1 @@ +const e=Object.freeze({golangVersion:"go1.22.3",nodeVersion:"21.7.2",yarnVersion:"1.22.19",rollkitLatestTag:"v0.14.1",rollkitLatestSha:"5a8693e",rollkitCosmosSDKVersion:"v0.50.6-rollkit-v0.13.3-no-fraud-proofs",rollkitIgniteAppVersion:"rollkit/v0.2.1",localDALatestTag:"v0.3.1",goSequencingLatestTag:"v0.4.1",centralizedSequencerLatestTag:"v0.4.0",igniteVersionTag:"v28.5.3"});export{e as c}; diff --git a/assets/chunks/dagre-7KT5K2WU.Bt3L10G_.js b/assets/chunks/dagre-7KT5K2WU.DHjBN_P2.js similarity index 97% rename from assets/chunks/dagre-7KT5K2WU.Bt3L10G_.js rename to assets/chunks/dagre-7KT5K2WU.DHjBN_P2.js index 8fd4da00d..6391b0d13 100644 --- a/assets/chunks/dagre-7KT5K2WU.Bt3L10G_.js +++ b/assets/chunks/dagre-7KT5K2WU.DHjBN_P2.js @@ -1,4 +1,4 @@ -import{_ as X,ao as M,ap as F,aq as Y,ar as _,l as i,d as j,as as H,at as q,au as z,ac as K,av as O,aw as Q,ax as U,ay as V,az as W}from"../app.B4W5LDy6.js";import{G as k}from"./graph.BWNVXCq5.js";import{l as Z}from"./layout.tjTIlxV4.js";import{w as N}from"./json.mbpuitjH.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";import"./baseUniq.Cpp3LtUr.js";import"./basePickBy.Cv297fiu.js";import"./clone.Orx1AHso.js";var f=new Map,p=new Map,B=new Map,$=X(()=>{p.clear(),B.clear(),f.clear()},"clear"),D=X((e,t)=>{const n=p.get(t)||[];return i.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),I=X((e,t)=>{const n=p.get(t)||[];return i.info("Descendants of ",t," is ",n),i.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||D(e.v,t)||D(e.w,t)||n.includes(e.w):(i.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),A=X((e,t,n,o)=>{i.warn("Copying children of ",e,"root",o,"data",t.node(e),o);const d=t.children(e)||[];e!==o&&d.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",d),d.forEach(c=>{if(t.children(c).length>0)A(c,t,n,o);else{const r=t.node(c);i.info("cp ",c," to ",o," with parent ",e),n.setNode(c,r),o!==t.parent(c)&&(i.warn("Setting parent",c,t.parent(c)),n.setParent(c,t.parent(c))),e!==o&&c!==e?(i.debug("Setting parent",c,e),n.setParent(c,e)):(i.info("In copy ",e,"root",o,"data",t.node(e),o),i.debug("Not Setting parent for node=",c,"cluster!==rootId",e!==o,"node!==clusterId",c!==e));const u=t.edges(c);i.debug("Copying Edges",u),u.forEach(l=>{i.info("Edge",l);const v=t.edge(l.v,l.w,l.name);i.info("Edge data",v,o);try{I(l,o)?(i.info("Copying as ",l.v,l.w,v,l.name),n.setEdge(l.v,l.w,v,l.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",o," clusterId:",e)}catch(C){i.error(C)}})}i.debug("Removing node",c),t.removeNode(c)})},"copy"),J=X((e,t)=>{const n=t.children(e);let o=[...n];for(const d of n)B.set(d,e),o=[...o,...J(d,t)];return o},"extractDescendants"),L=X((e,t,n)=>{const o=e.edges().filter(l=>l.v===t||l.w===t),d=e.edges().filter(l=>l.v===n||l.w===n),c=o.map(l=>({v:l.v===t?n:l.v,w:l.w===t?t:l.w})),r=d.map(l=>({v:l.v,w:l.w}));return c.filter(l=>r.some(v=>l.v===v.v&&l.w===v.w))},"findCommonEdges"),S=X((e,t,n)=>{const o=t.children(e);if(i.trace("Searching children of id ",e,o),o.length<1)return e;let d;for(const c of o){const r=S(c,t,n),u=L(t,n,r);if(r)if(u.length>0)d=r;else return r}return d},"findNonClusterChild"),P=X(e=>!f.has(e)||!f.get(e).externalConnections?e:f.has(e)?f.get(e).id:e,"getAnchorId"),ee=X((e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",S(n,e,n)),p.set(n,J(n,e)),f.set(n,{id:S(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const o=e.children(n),d=e.edges();o.length>0?(i.debug("Cluster identified",n,p),d.forEach(c=>{const r=D(c.v,n),u=D(c.w,n);r^u&&(i.warn("Edge: ",c," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",p.get(n)),f.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,p)});for(let n of f.keys()){const o=f.get(n).id,d=e.parent(o);d!==n&&f.has(d)&&!f.get(d).externalConnections&&(f.get(n).id=d)}e.edges().forEach(function(n){const o=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let d=n.v,c=n.w;if(i.warn("Fix XXX",f,"ids:",n.v,n.w,"Translating: ",f.get(n.v)," --- ",f.get(n.w)),f.get(n.v)||f.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),d=P(n.v),c=P(n.w),e.removeEdge(n.v,n.w,n.name),d!==n.v){const r=e.parent(d);f.get(r).externalConnections=!0,o.fromCluster=n.v}if(c!==n.w){const r=e.parent(c);f.get(r).externalConnections=!0,o.toCluster=n.w}i.warn("Fix Replacing with XXX",d,c,n.name),e.setEdge(d,c,o,n.name)}}),i.warn("Adjusted Graph",N(e)),G(e,0),i.trace(f)},"adjustClustersAndEdges"),G=X((e,t)=>{var d,c;if(i.warn("extractor - ",t,N(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),o=!1;for(const r of n){const u=e.children(r);o=o||u.length>0}if(!o){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const r of n)if(i.debug("Extracting node",r,f,f.has(r)&&!f.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),!f.has(r))i.debug("Not a cluster",r,t);else if(!f.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){i.warn("Cluster without external connections, without a parent and with children",r,t);let l=e.graph().rankdir==="TB"?"LR":"TB";(c=(d=f.get(r))==null?void 0:d.clusterData)!=null&&c.dir&&(l=f.get(r).clusterData.dir,i.warn("Fixing dir",f.get(r).clusterData.dir,l));const v=new k({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",N(e)),A(r,e,v,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:f.get(r).clusterData,label:f.get(r).label,graph:v}),i.warn("New graph after copy node: (",r,")",N(v)),i.debug("Old graph after copy",N(e))}else i.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!f.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),i.debug(f);n=e.nodes(),i.warn("New list of nodes",n);for(const r of n){const u=e.node(r);i.warn(" Now next level",r,u),u!=null&&u.clusterNode&&G(u.graph,t+1)}},"extractor"),R=X((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(o=>{const d=e.children(o),c=R(e,d);n=[...n,...c]}),n},"sorter"),ne=X(e=>R(e,e.children()),"sortNodesByHierarchy"),T=X(async(e,t,n,o,d,c)=>{i.warn("Graph in recursive render:XAX",N(t),d);const r=t.graph().rankdir;i.trace("Dir in recursive render - dir:",r);const u=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.info("Recursive edges",t.edge(t.edges()[0]));const l=u.insert("g").attr("class","clusters"),v=u.insert("g").attr("class","edgePaths"),C=u.insert("g").attr("class","edgeLabels"),g=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(a){const s=t.node(a);if(d!==void 0){const m=JSON.parse(JSON.stringify(d.clusterData));i.trace(`Setting data for parent cluster XXX +import{_ as X,ao as M,ap as F,aq as Y,ar as _,l as i,d as j,as as H,at as q,au as z,ac as K,av as O,aw as Q,ax as U,ay as V,az as W}from"../app.XeY7gsc2.js";import{G as k}from"./graph.jRtFwrS7.js";import{l as Z}from"./layout.CM1i2aqJ.js";import{w as N}from"./json.M8LmYDKW.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./baseUniq.D3QFBTuJ.js";import"./basePickBy.DQSVnGZT.js";import"./clone.DN5RQA0U.js";var f=new Map,p=new Map,B=new Map,$=X(()=>{p.clear(),B.clear(),f.clear()},"clear"),D=X((e,t)=>{const n=p.get(t)||[];return i.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),I=X((e,t)=>{const n=p.get(t)||[];return i.info("Descendants of ",t," is ",n),i.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||D(e.v,t)||D(e.w,t)||n.includes(e.w):(i.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),A=X((e,t,n,o)=>{i.warn("Copying children of ",e,"root",o,"data",t.node(e),o);const d=t.children(e)||[];e!==o&&d.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",d),d.forEach(c=>{if(t.children(c).length>0)A(c,t,n,o);else{const r=t.node(c);i.info("cp ",c," to ",o," with parent ",e),n.setNode(c,r),o!==t.parent(c)&&(i.warn("Setting parent",c,t.parent(c)),n.setParent(c,t.parent(c))),e!==o&&c!==e?(i.debug("Setting parent",c,e),n.setParent(c,e)):(i.info("In copy ",e,"root",o,"data",t.node(e),o),i.debug("Not Setting parent for node=",c,"cluster!==rootId",e!==o,"node!==clusterId",c!==e));const u=t.edges(c);i.debug("Copying Edges",u),u.forEach(l=>{i.info("Edge",l);const v=t.edge(l.v,l.w,l.name);i.info("Edge data",v,o);try{I(l,o)?(i.info("Copying as ",l.v,l.w,v,l.name),n.setEdge(l.v,l.w,v,l.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",o," clusterId:",e)}catch(C){i.error(C)}})}i.debug("Removing node",c),t.removeNode(c)})},"copy"),J=X((e,t)=>{const n=t.children(e);let o=[...n];for(const d of n)B.set(d,e),o=[...o,...J(d,t)];return o},"extractDescendants"),L=X((e,t,n)=>{const o=e.edges().filter(l=>l.v===t||l.w===t),d=e.edges().filter(l=>l.v===n||l.w===n),c=o.map(l=>({v:l.v===t?n:l.v,w:l.w===t?t:l.w})),r=d.map(l=>({v:l.v,w:l.w}));return c.filter(l=>r.some(v=>l.v===v.v&&l.w===v.w))},"findCommonEdges"),S=X((e,t,n)=>{const o=t.children(e);if(i.trace("Searching children of id ",e,o),o.length<1)return e;let d;for(const c of o){const r=S(c,t,n),u=L(t,n,r);if(r)if(u.length>0)d=r;else return r}return d},"findNonClusterChild"),P=X(e=>!f.has(e)||!f.get(e).externalConnections?e:f.has(e)?f.get(e).id:e,"getAnchorId"),ee=X((e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",S(n,e,n)),p.set(n,J(n,e)),f.set(n,{id:S(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const o=e.children(n),d=e.edges();o.length>0?(i.debug("Cluster identified",n,p),d.forEach(c=>{const r=D(c.v,n),u=D(c.w,n);r^u&&(i.warn("Edge: ",c," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",p.get(n)),f.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,p)});for(let n of f.keys()){const o=f.get(n).id,d=e.parent(o);d!==n&&f.has(d)&&!f.get(d).externalConnections&&(f.get(n).id=d)}e.edges().forEach(function(n){const o=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let d=n.v,c=n.w;if(i.warn("Fix XXX",f,"ids:",n.v,n.w,"Translating: ",f.get(n.v)," --- ",f.get(n.w)),f.get(n.v)||f.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),d=P(n.v),c=P(n.w),e.removeEdge(n.v,n.w,n.name),d!==n.v){const r=e.parent(d);f.get(r).externalConnections=!0,o.fromCluster=n.v}if(c!==n.w){const r=e.parent(c);f.get(r).externalConnections=!0,o.toCluster=n.w}i.warn("Fix Replacing with XXX",d,c,n.name),e.setEdge(d,c,o,n.name)}}),i.warn("Adjusted Graph",N(e)),G(e,0),i.trace(f)},"adjustClustersAndEdges"),G=X((e,t)=>{var d,c;if(i.warn("extractor - ",t,N(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),o=!1;for(const r of n){const u=e.children(r);o=o||u.length>0}if(!o){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const r of n)if(i.debug("Extracting node",r,f,f.has(r)&&!f.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),!f.has(r))i.debug("Not a cluster",r,t);else if(!f.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){i.warn("Cluster without external connections, without a parent and with children",r,t);let l=e.graph().rankdir==="TB"?"LR":"TB";(c=(d=f.get(r))==null?void 0:d.clusterData)!=null&&c.dir&&(l=f.get(r).clusterData.dir,i.warn("Fixing dir",f.get(r).clusterData.dir,l));const v=new k({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",N(e)),A(r,e,v,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:f.get(r).clusterData,label:f.get(r).label,graph:v}),i.warn("New graph after copy node: (",r,")",N(v)),i.debug("Old graph after copy",N(e))}else i.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!f.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),i.debug(f);n=e.nodes(),i.warn("New list of nodes",n);for(const r of n){const u=e.node(r);i.warn(" Now next level",r,u),u!=null&&u.clusterNode&&G(u.graph,t+1)}},"extractor"),R=X((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(o=>{const d=e.children(o),c=R(e,d);n=[...n,...c]}),n},"sorter"),ne=X(e=>R(e,e.children()),"sortNodesByHierarchy"),T=X(async(e,t,n,o,d,c)=>{i.warn("Graph in recursive render:XAX",N(t),d);const r=t.graph().rankdir;i.trace("Dir in recursive render - dir:",r);const u=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.info("Recursive edges",t.edge(t.edges()[0]));const l=u.insert("g").attr("class","clusters"),v=u.insert("g").attr("class","edgePaths"),C=u.insert("g").attr("class","edgeLabels"),g=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(a){const s=t.node(a);if(d!==void 0){const m=JSON.parse(JSON.stringify(d.clusterData));i.trace(`Setting data for parent cluster XXX Node.id = `,a,` data=`,m.height,` Parent cluster`,d.height),t.setNode(d.id,m),t.parent(a)||(i.trace("Setting parent",a,d.id),t.setParent(a,d.id,m))}if(i.info("(Insert) Node XXX"+a+": "+JSON.stringify(t.node(a))),s!=null&&s.clusterNode){i.info("Cluster identified XBX",a,s.width,t.node(a));const{ranksep:m,nodesep:h}=t.graph();s.graph.setGraph({...s.graph.graph(),ranksep:m+25,nodesep:h});const b=await T(g,s.graph,n,o,t.node(a),c),x=b.elem;H(s,x),s.diff=b.diff||0,i.info("New compound node after recursive render XAX",a,"width",s.width,"height",s.height),q(x,s)}else t.children(a).length>0?(i.trace("Cluster - the non recursive path XBX",a,s.id,s,s.width,"Graph:",t),i.trace(S(s.id,t)),f.set(s.id,{id:S(s.id,t),node:s})):(i.trace("Node - the non recursive path XAX",a,g,t.node(a),r),await z(g,t.node(a),{config:c,dir:r}))})),await X(async()=>{const a=t.edges().map(async function(s){const m=t.edge(s.v,s.w,s.name);i.info("Edge "+s.v+" -> "+s.w+": "+JSON.stringify(s)),i.info("Edge "+s.v+" -> "+s.w+": ",s," ",JSON.stringify(t.edge(s))),i.info("Fix",f,"ids:",s.v,s.w,"Translating: ",f.get(s.v),f.get(s.w)),await W(C,m)});await Promise.all(a)},"processEdges")(),i.info("Graph before layout:",JSON.stringify(N(t))),i.info("############################################# XXX"),i.info("### Layout ### XXX"),i.info("############################################# XXX"),Z(t),i.info("Graph after layout:",JSON.stringify(N(t)));let E=0,{subGraphTitleTotalMargin:y}=K(c);return await Promise.all(ne(t).map(async function(a){var m;const s=t.node(a);if(i.info("Position XBX => "+a+": ("+s.x,","+s.y,") width: ",s.width," height: ",s.height),s!=null&&s.clusterNode)s.y+=y,i.info("A tainted cluster node XBX1",a,s.id,s.width,s.height,s.x,s.y,t.parent(a)),f.get(s.id).node=s,O(s);else if(t.children(a).length>0){i.info("A pure cluster node XBX1",a,s.id,s.x,s.y,s.width,s.height,t.parent(a)),s.height+=y,t.node(s.parentId);const h=(s==null?void 0:s.padding)/2||0,b=((m=s==null?void 0:s.labelBBox)==null?void 0:m.height)||0,x=b-h||0;i.debug("OffsetY",x,"labelHeight",b,"halfPadding",h),await Q(l,s),f.get(s.id).node=s}else{const h=t.node(s.parentId);s.y+=y/2,i.info("A regular node XBX1 - using the padding",s.id,"parent",s.parentId,s.width,s.height,s.x,s.y,"offsetY",s.offsetY,"parent",h,h==null?void 0:h.offsetY,s),O(s)}})),t.edges().forEach(function(a){const s=t.edge(a);i.info("Edge "+a.v+" -> "+a.w+": "+JSON.stringify(s),s),s.points.forEach(x=>x.y+=y/2);const m=t.node(a.v);var h=t.node(a.w);const b=U(v,s,f,n,m,h,o);V(s,b)}),t.nodes().forEach(function(a){const s=t.node(a);i.info(a,s.type,s.diff),s.isGroup&&(E=s.diff)}),i.warn("Returning from recursive render XAX",u,E),{elem:u,diff:E}},"recursiveRender"),fe=X(async(e,t)=>{var c,r,u,l,v,C;const n=new k({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:((c=e.config)==null?void 0:c.nodeSpacing)||((u=(r=e.config)==null?void 0:r.flowchart)==null?void 0:u.nodeSpacing)||e.nodeSpacing,ranksep:((l=e.config)==null?void 0:l.rankSpacing)||((C=(v=e.config)==null?void 0:v.flowchart)==null?void 0:C.rankSpacing)||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),o=t.select("g");M(o,e.markers,e.type,e.diagramId),F(),Y(),_(),$(),e.nodes.forEach(g=>{n.setNode(g.id,{...g}),g.parentId&&n.setParent(g.id,g.parentId)}),i.debug("Edges:",e.edges),e.edges.forEach(g=>{if(g.start===g.end){const w=g.start,E=w+"---"+w+"---1",y=w+"---"+w+"---2",a=n.node(w);n.setNode(E,{domId:E,id:E,parentId:a.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(E,a.parentId),n.setNode(y,{domId:y,id:y,parentId:a.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(y,a.parentId);const s=structuredClone(g),m=structuredClone(g),h=structuredClone(g);s.label="",s.arrowTypeEnd="none",s.id=w+"-cyclic-special-1",m.arrowTypeEnd="none",m.id=w+"-cyclic-special-mid",h.label="",a.isGroup&&(s.fromCluster=w,h.toCluster=w),h.id=w+"-cyclic-special-2",n.setEdge(w,E,s,w+"-cyclic-special-0"),n.setEdge(E,y,m,w+"-cyclic-special-1"),n.setEdge(y,w,h,w+"-cyc{const t=x({...L,...T().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),H=n(()=>m.packet,"getPacket"),I=n(t=>{t.length>0&&m.packet.push(t)},"pushWord"),M=n(()=>{E(),m=structuredClone(C)},"clear"),h={pushWord:I,getPacket:H,getConfig:Y,clear:M,setAccTitle:S,getAccTitle:F,setDiagramTitle:z,getDiagramTitle:P,getAccDescription:W,setAccDescription:D},O=1e4,q=n(t=>{w(t,h);let e=-1,o=[],s=1;const{bitsPerRow:i}=h.getConfig();for(let{start:a,end:r,label:p}of t.blocks){if(r&&r{if(t.end===void 0&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*o?[t,void 0]:[{start:t.start,end:e*o-1,label:t.label},{start:e*o,end:t.end,label:t.label}]},"getNextFittingBlock"),K={parse:n(async t=>{const e=await N("packet",t);v.debug(e),q(e)},"parse")},R=n((t,e,o,s)=>{const i=s.db,a=i.getConfig(),{rowHeight:r,paddingY:p,bitWidth:b,bitsPerRow:c}=a,u=i.getPacket(),l=i.getDiagramTitle(),g=r+p,d=g*(u.length+1)-(l?0:r),k=b*c+2,f=_(e);f.attr("viewbox",`0 0 ${k} ${d}`),A(f,d,k,a.useMaxWidth);for(const[$,y]of u.entries())U(f,y,$,a);f.append("text").text(l).attr("x",k/2).attr("y",d-g/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),U=n((t,e,o,{rowHeight:s,paddingX:i,paddingY:a,bitWidth:r,bitsPerRow:p,showBits:b})=>{const c=t.append("g"),u=o*(s+a)+a;for(const l of e){const g=l.start%p*r+1,d=(l.end-l.start+1)*r-i;if(c.append("rect").attr("x",g).attr("y",u).attr("width",d).attr("height",s).attr("class","packetBlock"),c.append("text").attr("x",g+d/2).attr("y",u+s/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(l.label),!b)continue;const k=l.end===l.start,f=u-2;c.append("text").attr("x",g+(k?d/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(l.start),k||c.append("text").attr("x",g+d).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(l.end)}},"drawWord"),X={draw:R},j={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},J=n(({packet:t}={})=>{const e=x(j,t);return` +import{p as w}from"./chunk-RYO7GUH3.Cq4tzjLf.js";import{B,s as S,g as F,q as z,r as P,b as W,c as D,_ as n,l as v,D as x,E as T,v as E,H as _,k as A}from"../app.XeY7gsc2.js";import{p as N}from"./gitGraph-YCYPL57B.BBU61gGy.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./baseUniq.D3QFBTuJ.js";import"./basePickBy.DQSVnGZT.js";import"./clone.DN5RQA0U.js";var C={packet:[]},m=structuredClone(C),L=B.packet,Y=n(()=>{const t=x({...L,...T().packet});return t.showBits&&(t.paddingY+=10),t},"getConfig"),H=n(()=>m.packet,"getPacket"),I=n(t=>{t.length>0&&m.packet.push(t)},"pushWord"),M=n(()=>{E(),m=structuredClone(C)},"clear"),h={pushWord:I,getPacket:H,getConfig:Y,clear:M,setAccTitle:S,getAccTitle:F,setDiagramTitle:z,getDiagramTitle:P,getAccDescription:W,setAccDescription:D},O=1e4,q=n(t=>{w(t,h);let e=-1,o=[],s=1;const{bitsPerRow:i}=h.getConfig();for(let{start:a,end:r,label:p}of t.blocks){if(r&&r{if(t.end===void 0&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*o?[t,void 0]:[{start:t.start,end:e*o-1,label:t.label},{start:e*o,end:t.end,label:t.label}]},"getNextFittingBlock"),K={parse:n(async t=>{const e=await N("packet",t);v.debug(e),q(e)},"parse")},R=n((t,e,o,s)=>{const i=s.db,a=i.getConfig(),{rowHeight:r,paddingY:p,bitWidth:b,bitsPerRow:c}=a,u=i.getPacket(),l=i.getDiagramTitle(),g=r+p,d=g*(u.length+1)-(l?0:r),k=b*c+2,f=_(e);f.attr("viewbox",`0 0 ${k} ${d}`),A(f,d,k,a.useMaxWidth);for(const[$,y]of u.entries())U(f,y,$,a);f.append("text").text(l).attr("x",k/2).attr("y",d-g/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),U=n((t,e,o,{rowHeight:s,paddingX:i,paddingY:a,bitWidth:r,bitsPerRow:p,showBits:b})=>{const c=t.append("g"),u=o*(s+a)+a;for(const l of e){const g=l.start%p*r+1,d=(l.end-l.start+1)*r-i;if(c.append("rect").attr("x",g).attr("y",u).attr("width",d).attr("height",s).attr("class","packetBlock"),c.append("text").attr("x",g+d/2).attr("y",u+s/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(l.label),!b)continue;const k=l.end===l.start,f=u-2;c.append("text").attr("x",g+(k?d/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(l.start),k||c.append("text").attr("x",g+d).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(l.end)}},"drawWord"),X={draw:R},j={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},J=n(({packet:t}={})=>{const e=x(j,t);return` .packetByte { font-size: ${e.byteFontSize}; } diff --git a/assets/chunks/erDiagram-DKC2X5TE.CdySuqQr.js b/assets/chunks/erDiagram-DKC2X5TE.DHW4vUz5.js similarity index 99% rename from assets/chunks/erDiagram-DKC2X5TE.CdySuqQr.js rename to assets/chunks/erDiagram-DKC2X5TE.DHW4vUz5.js index d7d4fb552..0dfd1e8e9 100644 --- a/assets/chunks/erDiagram-DKC2X5TE.CdySuqQr.js +++ b/assets/chunks/erDiagram-DKC2X5TE.DHW4vUz5.js @@ -1,4 +1,4 @@ -import{_ as u,d as U,s as kt,g as xt,c as Rt,b as Ot,q as bt,r as Nt,l as X,v as Tt,j as at,u as At,k as Mt,a0 as vt,a6 as St,a7 as wt}from"../app.B4W5LDy6.js";import{G as It}from"./graph.BWNVXCq5.js";import{l as Dt}from"./layout.tjTIlxV4.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";import"./baseUniq.Cpp3LtUr.js";import"./basePickBy.Cv297fiu.js";const Lt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Bt(t){return typeof t=="string"&&Lt.test(t)}const v=[];for(let t=0;t<256;++t)v.push((t+256).toString(16).slice(1));function Ct(t,e=0){return v[t[e+0]]+v[t[e+1]]+v[t[e+2]]+v[t[e+3]]+"-"+v[t[e+4]]+v[t[e+5]]+"-"+v[t[e+6]]+v[t[e+7]]+"-"+v[t[e+8]]+v[t[e+9]]+"-"+v[t[e+10]]+v[t[e+11]]+v[t[e+12]]+v[t[e+13]]+v[t[e+14]]+v[t[e+15]]}function Pt(t){if(!Bt(t))throw TypeError("Invalid UUID");let e;const r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}function Yt(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r>>32-e}function Ht(t){const e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const y=unescape(encodeURIComponent(t));t=[];for(let o=0;o>>0;x=k,k=m,m=it(g,30)>>>0,g=h,h=b}r[0]=r[0]+h>>>0,r[1]=r[1]+g>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+k>>>0,r[4]=r[4]+x>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}const zt=Wt("v5",80,Ht);var nt=function(){var t=u(function(w,i,n,l){for(n=n||{},l=w.length;l--;n[w[l]]=i);return n},"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],f=[1,11],c=[1,12],_=[1,13],y=[1,14],o=[1,15],h=[1,21],g=[1,22],m=[1,23],k=[1,24],x=[1,25],p=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],O=[1,34],b=[27,28,46,47],Y=[41,42,43,44,45],Z=[17,34],F=[1,54],M=[1,53],S=[17,34,36,38],N={trace:u(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:u(function(i,n,l,d,E,a,V){var s=a.length-1;switch(E){case 1:break;case 2:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 6:case 7:this.$=[];break;case 8:d.addEntity(a[s-4]),d.addEntity(a[s-2]),d.addRelationship(a[s-4],a[s],a[s-2],a[s-3]);break;case 9:d.addEntity(a[s-3]),d.addAttributes(a[s-3],a[s-1]);break;case 10:d.addEntity(a[s-2]);break;case 11:d.addEntity(a[s]);break;case 12:d.addEntity(a[s-6],a[s-4]),d.addAttributes(a[s-6],a[s-1]);break;case 13:d.addEntity(a[s-5],a[s-3]);break;case 14:d.addEntity(a[s-3],a[s-1]);break;case 15:case 16:this.$=a[s].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),d.setAccDescription(this.$);break;case 19:case 43:this.$=a[s];break;case 20:case 41:case 42:this.$=a[s].replace(/"/g,"");break;case 21:case 29:this.$=[a[s]];break;case 22:a[s].push(a[s-1]),this.$=a[s];break;case 23:this.$={attributeType:a[s-1],attributeName:a[s]};break;case 24:this.$={attributeType:a[s-2],attributeName:a[s-1],attributeKeyTypeList:a[s]};break;case 25:this.$={attributeType:a[s-2],attributeName:a[s-1],attributeComment:a[s]};break;case 26:this.$={attributeType:a[s-3],attributeName:a[s-2],attributeKeyTypeList:a[s-1],attributeComment:a[s]};break;case 27:case 28:case 31:this.$=a[s];break;case 30:a[s-2].push(a[s]),this.$=a[s-2];break;case 32:this.$=a[s].replace(/"/g,"");break;case 33:this.$={cardA:a[s],relType:a[s-1],cardB:a[s-2]};break;case 34:this.$=d.Cardinality.ZERO_OR_ONE;break;case 35:this.$=d.Cardinality.ZERO_OR_MORE;break;case 36:this.$=d.Cardinality.ONE_OR_MORE;break;case 37:this.$=d.Cardinality.ONLY_ONE;break;case 38:this.$=d.Cardinality.MD_PARENT;break;case 39:this.$=d.Identification.NON_IDENTIFYING;break;case 40:this.$=d.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:f,24:c,26:_,27:y,28:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:f,24:c,26:_,27:y,28:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:h,42:g,43:m,44:k,45:x}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(p,[2,19]),t(p,[2,20]),t(e,[2,4]),{11:29,27:y,28:o},{16:30,17:[1,31],29:32,30:33,34:O},{11:35,27:y,28:o},{40:36,46:[1,37],47:[1,38]},t(b,[2,34]),t(b,[2,35]),t(b,[2,36]),t(b,[2,37]),t(b,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:O},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:h,42:g,43:m,44:k,45:x},t(Y,[2,39]),t(Y,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(Z,[2,23],{32:50,33:51,35:52,37:F,38:M}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(Z,[2,24],{33:56,36:[1,57],38:M}),t(Z,[2,25]),t(S,[2,29]),t(Z,[2,32]),t(S,[2,31]),{16:58,17:[1,59],29:32,30:33,34:O},t(Z,[2,26]),{35:60,37:F},{17:[1,61]},t(e,[2,13]),t(S,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:u(function(i,n){if(n.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=n,l}},"parseError"),parse:u(function(i){var n=this,l=[0],d=[],E=[null],a=[],V=this.table,s="",j=0,lt=0,_t=2,ct=1,Et=a.slice.call(arguments,1),A=Object.create(this.lexer),H={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(H.yy[$]=this.yy[$]);A.setInput(i,H.yy),H.yy.lexer=A,H.yy.parser=this,typeof A.yylloc>"u"&&(A.yylloc={});var tt=A.yylloc;a.push(tt);var gt=A.options&&A.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function mt(D){l.length=l.length-2*D,E.length=E.length-D,a.length=a.length-D}u(mt,"popStack");function ht(){var D;return D=d.pop()||A.lex()||ct,typeof D!="number"&&(D instanceof Array&&(d=D,D=d.pop()),D=n.symbols_[D]||D),D}u(ht,"lex");for(var I,z,B,et,K={},q,W,dt,J;;){if(z=l[l.length-1],this.defaultActions[z]?B=this.defaultActions[z]:((I===null||typeof I>"u")&&(I=ht()),B=V[z]&&V[z][I]),typeof B>"u"||!B.length||!B[0]){var rt="";J=[];for(q in V[z])this.terminals_[q]&&q>_t&&J.push("'"+this.terminals_[q]+"'");A.showPosition?rt="Parse error on line "+(j+1)+`: +import{_ as u,d as U,s as kt,g as xt,c as Rt,b as Ot,q as bt,r as Nt,l as X,v as Tt,j as at,u as At,k as Mt,a0 as vt,a6 as St,a7 as wt}from"../app.XeY7gsc2.js";import{G as It}from"./graph.jRtFwrS7.js";import{l as Dt}from"./layout.CM1i2aqJ.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./baseUniq.D3QFBTuJ.js";import"./basePickBy.DQSVnGZT.js";const Lt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Bt(t){return typeof t=="string"&&Lt.test(t)}const v=[];for(let t=0;t<256;++t)v.push((t+256).toString(16).slice(1));function Ct(t,e=0){return v[t[e+0]]+v[t[e+1]]+v[t[e+2]]+v[t[e+3]]+"-"+v[t[e+4]]+v[t[e+5]]+"-"+v[t[e+6]]+v[t[e+7]]+"-"+v[t[e+8]]+v[t[e+9]]+"-"+v[t[e+10]]+v[t[e+11]]+v[t[e+12]]+v[t[e+13]]+v[t[e+14]]+v[t[e+15]]}function Pt(t){if(!Bt(t))throw TypeError("Invalid UUID");let e;const r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=e&255,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=e&255,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=e&255,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=e&255,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=e&255,r}function Yt(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r>>32-e}function Ht(t){const e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){const y=unescape(encodeURIComponent(t));t=[];for(let o=0;o>>0;x=k,k=m,m=it(g,30)>>>0,g=h,h=b}r[0]=r[0]+h>>>0,r[1]=r[1]+g>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+k>>>0,r[4]=r[4]+x>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,r[0]&255,r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,r[1]&255,r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,r[2]&255,r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,r[3]&255,r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,r[4]&255]}const zt=Wt("v5",80,Ht);var nt=function(){var t=u(function(w,i,n,l){for(n=n||{},l=w.length;l--;n[w[l]]=i);return n},"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],f=[1,11],c=[1,12],_=[1,13],y=[1,14],o=[1,15],h=[1,21],g=[1,22],m=[1,23],k=[1,24],x=[1,25],p=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],O=[1,34],b=[27,28,46,47],Y=[41,42,43,44,45],Z=[17,34],F=[1,54],M=[1,53],S=[17,34,36,38],N={trace:u(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:u(function(i,n,l,d,E,a,V){var s=a.length-1;switch(E){case 1:break;case 2:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 6:case 7:this.$=[];break;case 8:d.addEntity(a[s-4]),d.addEntity(a[s-2]),d.addRelationship(a[s-4],a[s],a[s-2],a[s-3]);break;case 9:d.addEntity(a[s-3]),d.addAttributes(a[s-3],a[s-1]);break;case 10:d.addEntity(a[s-2]);break;case 11:d.addEntity(a[s]);break;case 12:d.addEntity(a[s-6],a[s-4]),d.addAttributes(a[s-6],a[s-1]);break;case 13:d.addEntity(a[s-5],a[s-3]);break;case 14:d.addEntity(a[s-3],a[s-1]);break;case 15:case 16:this.$=a[s].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),d.setAccDescription(this.$);break;case 19:case 43:this.$=a[s];break;case 20:case 41:case 42:this.$=a[s].replace(/"/g,"");break;case 21:case 29:this.$=[a[s]];break;case 22:a[s].push(a[s-1]),this.$=a[s];break;case 23:this.$={attributeType:a[s-1],attributeName:a[s]};break;case 24:this.$={attributeType:a[s-2],attributeName:a[s-1],attributeKeyTypeList:a[s]};break;case 25:this.$={attributeType:a[s-2],attributeName:a[s-1],attributeComment:a[s]};break;case 26:this.$={attributeType:a[s-3],attributeName:a[s-2],attributeKeyTypeList:a[s-1],attributeComment:a[s]};break;case 27:case 28:case 31:this.$=a[s];break;case 30:a[s-2].push(a[s]),this.$=a[s-2];break;case 32:this.$=a[s].replace(/"/g,"");break;case 33:this.$={cardA:a[s],relType:a[s-1],cardB:a[s-2]};break;case 34:this.$=d.Cardinality.ZERO_OR_ONE;break;case 35:this.$=d.Cardinality.ZERO_OR_MORE;break;case 36:this.$=d.Cardinality.ONE_OR_MORE;break;case 37:this.$=d.Cardinality.ONLY_ONE;break;case 38:this.$=d.Cardinality.MD_PARENT;break;case 39:this.$=d.Identification.NON_IDENTIFYING;break;case 40:this.$=d.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:f,24:c,26:_,27:y,28:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:f,24:c,26:_,27:y,28:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:h,42:g,43:m,44:k,45:x}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(p,[2,19]),t(p,[2,20]),t(e,[2,4]),{11:29,27:y,28:o},{16:30,17:[1,31],29:32,30:33,34:O},{11:35,27:y,28:o},{40:36,46:[1,37],47:[1,38]},t(b,[2,34]),t(b,[2,35]),t(b,[2,36]),t(b,[2,37]),t(b,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:O},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:h,42:g,43:m,44:k,45:x},t(Y,[2,39]),t(Y,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(Z,[2,23],{32:50,33:51,35:52,37:F,38:M}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(Z,[2,24],{33:56,36:[1,57],38:M}),t(Z,[2,25]),t(S,[2,29]),t(Z,[2,32]),t(S,[2,31]),{16:58,17:[1,59],29:32,30:33,34:O},t(Z,[2,26]),{35:60,37:F},{17:[1,61]},t(e,[2,13]),t(S,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:u(function(i,n){if(n.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=n,l}},"parseError"),parse:u(function(i){var n=this,l=[0],d=[],E=[null],a=[],V=this.table,s="",j=0,lt=0,_t=2,ct=1,Et=a.slice.call(arguments,1),A=Object.create(this.lexer),H={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(H.yy[$]=this.yy[$]);A.setInput(i,H.yy),H.yy.lexer=A,H.yy.parser=this,typeof A.yylloc>"u"&&(A.yylloc={});var tt=A.yylloc;a.push(tt);var gt=A.options&&A.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function mt(D){l.length=l.length-2*D,E.length=E.length-D,a.length=a.length-D}u(mt,"popStack");function ht(){var D;return D=d.pop()||A.lex()||ct,typeof D!="number"&&(D instanceof Array&&(d=D,D=d.pop()),D=n.symbols_[D]||D),D}u(ht,"lex");for(var I,z,B,et,K={},q,W,dt,J;;){if(z=l[l.length-1],this.defaultActions[z]?B=this.defaultActions[z]:((I===null||typeof I>"u")&&(I=ht()),B=V[z]&&V[z][I]),typeof B>"u"||!B.length||!B[0]){var rt="";J=[];for(q in V[z])this.terminals_[q]&&q>_t&&J.push("'"+this.terminals_[q]+"'");A.showPosition?rt="Parse error on line "+(j+1)+`: `+A.showPosition()+` Expecting `+J.join(", ")+", got '"+(this.terminals_[I]||I)+"'":rt="Parse error on line "+(j+1)+": Unexpected "+(I==ct?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(rt,{text:A.match,token:this.terminals_[I]||I,line:A.yylineno,loc:tt,expected:J})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+I);switch(B[0]){case 1:l.push(I),E.push(A.yytext),a.push(A.yylloc),l.push(B[1]),I=null,lt=A.yyleng,s=A.yytext,j=A.yylineno,tt=A.yylloc;break;case 2:if(W=this.productions_[B[1]][1],K.$=E[E.length-W],K._$={first_line:a[a.length-(W||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(W||1)].first_column,last_column:a[a.length-1].last_column},gt&&(K._$.range=[a[a.length-(W||1)].range[0],a[a.length-1].range[1]]),et=this.performAction.apply(K,[s,lt,j,H.yy,B[1],E,a].concat(Et)),typeof et<"u")return et;W&&(l=l.slice(0,-1*W*2),E=E.slice(0,-1*W),a=a.slice(0,-1*W)),l.push(this.productions_[B[1]][0]),E.push(K.$),a.push(K._$),dt=V[l[l.length-2]][l[l.length-1]],l.push(dt);break;case 3:return!0}}return!0},"parse")},T=function(){var w={EOF:1,parseError:u(function(n,l){if(this.yy.parser)this.yy.parser.parseError(n,l);else throw new Error(n)},"parseError"),setInput:u(function(i,n){return this.yy=n||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:u(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var n=i.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:u(function(i){var n=i.length,l=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===d.length?this.yylloc.first_column:0)+d[d.length-l.length].length-l[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:u(function(){return this._more=!0,this},"more"),reject:u(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:u(function(i){this.unput(this.match.slice(i))},"less"),pastInput:u(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:u(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:u(function(){var i=this.pastInput(),n=new Array(i.length+1).join("-");return i+this.upcomingInput()+` diff --git a/assets/chunks/flowDiagram-NWEUNK3L.BsT7CT9e.js b/assets/chunks/flowDiagram-NWEUNK3L.CByD9WLQ.js similarity index 99% rename from assets/chunks/flowDiagram-NWEUNK3L.BsT7CT9e.js rename to assets/chunks/flowDiagram-NWEUNK3L.CByD9WLQ.js index 0d18dfcbd..31c691ee2 100644 --- a/assets/chunks/flowDiagram-NWEUNK3L.BsT7CT9e.js +++ b/assets/chunks/flowDiagram-NWEUNK3L.CByD9WLQ.js @@ -1,4 +1,4 @@ -import{g as gt,s as At}from"./chunk-4LC2V6XN.B8hKw3ZB.js";import{d as U1,_ as l,o as Ze,p as bt,s as kt,g as mt,b as Et,c as St,q as Dt,r as Ct,t as xt,J as Tt,l as e1,u as ge,v as yt,x as Ft,j as x1,y as vt,z as _t,e as Bt,A as Vt}from"../app.B4W5LDy6.js";import{c as Lt}from"./channel.Bhr7ocrP.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";var wt="flowchart-",$e=0,G1=U1(),b1=new Map,K=[],K1=new Map,p1=[],Ae=new Map,be=new Map,ee=0,pe=!0,J,se,re=[],ie=l(e=>Bt.sanitizeText(e,G1),"sanitizeText"),ae=l(function(e){for(const r of b1.values())if(r.id===e)return r.domId;return e},"lookUpDomId"),It=l(function(e,r,i,a,u,d,g={},D){var _,z;if(!e||e.trim().length===0)return;let c,o=b1.get(e);if(o===void 0&&(o={id:e,labelType:"text",domId:wt+e+"-"+$e,styles:[],classes:[]},b1.set(e,o)),$e++,r!==void 0?(G1=U1(),c=ie(r.text.trim()),o.labelType=r.type,c.startsWith('"')&&c.endsWith('"')&&(c=c.substring(1,c.length-1)),o.text=c):o.text===void 0&&(o.text=e),i!==void 0&&(o.type=i),a!=null&&a.forEach(function(v){o.styles.push(v)}),u!=null&&u.forEach(function(v){o.classes.push(v)}),d!==void 0&&(o.dir=d),o.props===void 0?o.props=g:g!==void 0&&Object.assign(o.props,g),D!==void 0){let v;D.includes(` +import{g as gt,s as At}from"./chunk-4LC2V6XN.BzSTI6dc.js";import{d as U1,_ as l,o as Ze,p as bt,s as kt,g as mt,b as Et,c as St,q as Dt,r as Ct,t as xt,J as Tt,l as e1,u as ge,v as yt,x as Ft,j as x1,y as vt,z as _t,e as Bt,A as Vt}from"../app.XeY7gsc2.js";import{c as Lt}from"./channel.xdHs8zqC.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";var wt="flowchart-",$e=0,G1=U1(),b1=new Map,K=[],K1=new Map,p1=[],Ae=new Map,be=new Map,ee=0,pe=!0,J,se,re=[],ie=l(e=>Bt.sanitizeText(e,G1),"sanitizeText"),ae=l(function(e){for(const r of b1.values())if(r.id===e)return r.domId;return e},"lookUpDomId"),It=l(function(e,r,i,a,u,d,g={},D){var _,z;if(!e||e.trim().length===0)return;let c,o=b1.get(e);if(o===void 0&&(o={id:e,labelType:"text",domId:wt+e+"-"+$e,styles:[],classes:[]},b1.set(e,o)),$e++,r!==void 0?(G1=U1(),c=ie(r.text.trim()),o.labelType=r.type,c.startsWith('"')&&c.endsWith('"')&&(c=c.substring(1,c.length-1)),o.text=c):o.text===void 0&&(o.text=e),i!==void 0&&(o.type=i),a!=null&&a.forEach(function(v){o.styles.push(v)}),u!=null&&u.forEach(function(v){o.classes.push(v)}),d!==void 0&&(o.dir=d),o.props===void 0?o.props=g:g!==void 0&&Object.assign(o.props,g),D!==void 0){let v;D.includes(` `)?v=D+` `:v=`{ `+D+` diff --git a/assets/chunks/ganttDiagram-HLVPPPRE.CBltqDFq.js b/assets/chunks/ganttDiagram-HLVPPPRE.BEOtZZ2V.js similarity index 99% rename from assets/chunks/ganttDiagram-HLVPPPRE.CBltqDFq.js rename to assets/chunks/ganttDiagram-HLVPPPRE.BEOtZZ2V.js index 0ae771887..559bdea98 100644 --- a/assets/chunks/ganttDiagram-HLVPPPRE.CBltqDFq.js +++ b/assets/chunks/ganttDiagram-HLVPPPRE.BEOtZZ2V.js @@ -1,4 +1,4 @@ -import{aV as ir,aW as sr,aX as or,aY as cr,aZ as Wr,a_ as ct,a$ as Or,_ as f,b0 as ae,d as Ye,s as Hr,g as Nr,q as Vr,r as Pr,c as zr,b as Rr,v as Br,m as Zr,l as tt,j as je,k as qr,e as Xr,u as Gr}from"../app.B4W5LDy6.js";import{b as Qr,t as Vt,c as jr,a as Jr,l as $r}from"./linear.CPyRlV9U.js";import{i as Kr}from"./init.Gi6I4Gst.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";function en(e,t){let r;if(t===void 0)for(const n of e)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let a of e)(a=t(a,++n,e))!=null&&(r=a)&&(r=a)}return r}function tn(e,t){let r;if(t===void 0)for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let a of e)(a=t(a,++n,e))!=null&&(r>a||r===void 0&&a>=a)&&(r=a)}return r}function rn(e){return e}var $e=1,lt=2,bt=3,Je=4,Pt=1e-6;function nn(e){return"translate("+e+",0)"}function an(e){return"translate(0,"+e+")"}function sn(e){return t=>+e(t)}function on(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),r=>+e(r)+t}function cn(){return!this.__axis}function lr(e,t){var r=[],n=null,a=null,i=6,s=6,g=3,k=typeof window<"u"&&window.devicePixelRatio>1?0:.5,v=e===$e||e===Je?-1:1,y=e===Je||e===lt?"x":"y",S=e===$e||e===bt?nn:an;function C(p){var N=n??(t.ticks?t.ticks.apply(t,r):t.domain()),M=a??(t.tickFormat?t.tickFormat.apply(t,r):rn),B=Math.max(i,0)+g,Q=t.range(),K=+Q[0]+k,R=+Q[Q.length-1]+k,Z=(t.bandwidth?on:sn)(t.copy(),k),j=p.selection?p.selection():p,w=j.selectAll(".domain").data([null]),L=j.selectAll(".tick").data(N,t).order(),D=L.exit(),F=L.enter().append("g").attr("class","tick"),_=L.select("line"),Y=L.select("text");w=w.merge(w.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),L=L.merge(F),_=_.merge(F.append("line").attr("stroke","currentColor").attr(y+"2",v*i)),Y=Y.merge(F.append("text").attr("fill","currentColor").attr(y,v*B).attr("dy",e===$e?"0em":e===bt?"0.71em":"0.32em")),p!==j&&(w=w.transition(p),L=L.transition(p),_=_.transition(p),Y=Y.transition(p),D=D.transition(p).attr("opacity",Pt).attr("transform",function(x){return isFinite(x=Z(x))?S(x+k):this.getAttribute("transform")}),F.attr("opacity",Pt).attr("transform",function(x){var A=this.parentNode.__axis;return S((A&&isFinite(A=A(x))?A:Z(x))+k)})),D.remove(),w.attr("d",e===Je||e===lt?s?"M"+v*s+","+K+"H"+k+"V"+R+"H"+v*s:"M"+k+","+K+"V"+R:s?"M"+K+","+v*s+"V"+k+"H"+R+"V"+v*s:"M"+K+","+k+"H"+R),L.attr("opacity",1).attr("transform",function(x){return S(Z(x)+k)}),_.attr(y+"2",v*i),Y.attr(y,v*B).text(M),j.filter(cn).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===lt?"start":e===Je?"end":"middle"),j.each(function(){this.__axis=Z})}return C.scale=function(p){return arguments.length?(t=p,C):t},C.ticks=function(){return r=Array.from(arguments),C},C.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),C):r.slice()},C.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),C):n&&n.slice()},C.tickFormat=function(p){return arguments.length?(a=p,C):a},C.tickSize=function(p){return arguments.length?(i=s=+p,C):i},C.tickSizeInner=function(p){return arguments.length?(i=+p,C):i},C.tickSizeOuter=function(p){return arguments.length?(s=+p,C):s},C.tickPadding=function(p){return arguments.length?(g=+p,C):g},C.offset=function(p){return arguments.length?(k=+p,C):k},C}function ln(e){return lr($e,e)}function un(e){return lr(bt,e)}const fn=Math.PI/180,hn=180/Math.PI,rt=18,ur=.96422,fr=1,hr=.82521,dr=4/29,Fe=6/29,mr=3*Fe*Fe,dn=Fe*Fe*Fe;function gr(e){if(e instanceof fe)return new fe(e.l,e.a,e.b,e.opacity);if(e instanceof ge)return yr(e);e instanceof or||(e=Wr(e));var t=dt(e.r),r=dt(e.g),n=dt(e.b),a=ut((.2225045*t+.7168786*r+.0606169*n)/fr),i,s;return t===r&&r===n?i=s=a:(i=ut((.4360747*t+.3850649*r+.1430804*n)/ur),s=ut((.0139322*t+.0971045*r+.7141733*n)/hr)),new fe(116*a-16,500*(i-a),200*(a-s),e.opacity)}function mn(e,t,r,n){return arguments.length===1?gr(e):new fe(e,t,r,n??1)}function fe(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}ir(fe,mn,sr(cr,{brighter(e){return new fe(this.l+rt*(e??1),this.a,this.b,this.opacity)},darker(e){return new fe(this.l-rt*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=ur*ft(t),e=fr*ft(e),r=hr*ft(r),new or(ht(3.1338561*t-1.6168667*e-.4906146*r),ht(-.9787684*t+1.9161415*e+.033454*r),ht(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));function ut(e){return e>dn?Math.pow(e,1/3):e/mr+dr}function ft(e){return e>Fe?e*e*e:mr*(e-dr)}function ht(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function dt(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function gn(e){if(e instanceof ge)return new ge(e.h,e.c,e.l,e.opacity);if(e instanceof fe||(e=gr(e)),e.a===0&&e.b===0)return new ge(NaN,0(e(i=new Date(+i)),i),a.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),a.round=i=>{const s=a(i),g=a.ceil(i);return i-s(t(i=new Date(+i),s==null?1:Math.floor(s)),i),a.range=(i,s,g)=>{const k=[];if(i=a.ceil(i),g=g==null?1:Math.floor(g),!(i0))return k;let v;do k.push(v=new Date(+i)),t(i,g),e(i);while(v$(s=>{if(s>=s)for(;e(s),!i(s);)s.setTime(s-1)},(s,g)=>{if(s>=s)if(g<0)for(;++g<=0;)for(;t(s,-1),!i(s););else for(;--g>=0;)for(;t(s,1),!i(s););}),r&&(a.count=(i,s)=>(mt.setTime(+i),gt.setTime(+s),e(mt),e(gt),Math.floor(r(mt,gt))),a.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(n?s=>n(s)%i===0:s=>a.count(0,s)%i===0):a)),a}const Ee=$(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Ee.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?$(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Ee);Ee.range;const ye=1e3,se=ye*60,ke=se*60,ve=ke*24,St=ve*7,zt=ve*30,yt=ve*365,Te=$(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*ye)},(e,t)=>(t-e)/ye,e=>e.getUTCSeconds());Te.range;const Ve=$(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*ye)},(e,t)=>{e.setTime(+e+t*se)},(e,t)=>(t-e)/se,e=>e.getMinutes());Ve.range;const pn=$(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*se)},(e,t)=>(t-e)/se,e=>e.getUTCMinutes());pn.range;const Pe=$(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*ye-e.getMinutes()*se)},(e,t)=>{e.setTime(+e+t*ke)},(e,t)=>(t-e)/ke,e=>e.getHours());Pe.range;const Tn=$(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*ke)},(e,t)=>(t-e)/ke,e=>e.getUTCHours());Tn.range;const xe=$(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*se)/ve,e=>e.getDate()-1);xe.range;const _t=$(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ve,e=>e.getUTCDate()-1);_t.range;const bn=$(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ve,e=>Math.floor(e/ve));bn.range;function Ce(e){return $(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*se)/St)}const Be=Ce(0),ze=Ce(1),kr=Ce(2),vr=Ce(3),we=Ce(4),pr=Ce(5),Tr=Ce(6);Be.range;ze.range;kr.range;vr.range;we.range;pr.range;Tr.range;function Me(e){return $(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/St)}const br=Me(0),nt=Me(1),xn=Me(2),wn=Me(3),Ie=Me(4),Dn=Me(5),Cn=Me(6);br.range;nt.range;xn.range;wn.range;Ie.range;Dn.range;Cn.range;const Re=$(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Re.range;const Mn=$(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());Mn.range;const pe=$(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());pe.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:$(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});pe.range;const De=$(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());De.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:$(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});De.range;function Sn(e,t,r,n,a,i){const s=[[Te,1,ye],[Te,5,5*ye],[Te,15,15*ye],[Te,30,30*ye],[i,1,se],[i,5,5*se],[i,15,15*se],[i,30,30*se],[a,1,ke],[a,3,3*ke],[a,6,6*ke],[a,12,12*ke],[n,1,ve],[n,2,2*ve],[r,1,St],[t,1,zt],[t,3,3*zt],[e,1,yt]];function g(v,y,S){const C=yB).right(s,C);if(p===s.length)return e.every(Vt(v/yt,y/yt,S));if(p===0)return Ee.every(Math.max(Vt(v,y,S),1));const[N,M]=s[C/s[p-1][2]53)return null;"w"in l||(l.w=1),"Z"in l?(U=vt(Le(l.y,0,1)),G=U.getUTCDay(),U=G>4||G===0?nt.ceil(U):nt(U),U=_t.offset(U,(l.V-1)*7),l.y=U.getUTCFullYear(),l.m=U.getUTCMonth(),l.d=U.getUTCDate()+(l.w+6)%7):(U=kt(Le(l.y,0,1)),G=U.getDay(),U=G>4||G===0?ze.ceil(U):ze(U),U=xe.offset(U,(l.V-1)*7),l.y=U.getFullYear(),l.m=U.getMonth(),l.d=U.getDate()+(l.w+6)%7)}else("W"in l||"U"in l)&&("w"in l||(l.w="u"in l?l.u%7:"W"in l?1:0),G="Z"in l?vt(Le(l.y,0,1)).getUTCDay():kt(Le(l.y,0,1)).getDay(),l.m=0,l.d="W"in l?(l.w+6)%7+l.W*7-(G+5)%7:l.w+l.U*7-(G+6)%7);return"Z"in l?(l.H+=l.Z/100|0,l.M+=l.Z%100,vt(l)):kt(l)}}function D(T,I,W,l){for(var re=0,U=I.length,G=W.length,z,ce;re=G)return-1;if(z=I.charCodeAt(re++),z===37){if(z=I.charAt(re++),ce=j[z in Rt?I.charAt(re++):z],!ce||(l=ce(T,W,l))<0)return-1}else if(z!=W.charCodeAt(l++))return-1}return l}function F(T,I,W){var l=v.exec(I.slice(W));return l?(T.p=y.get(l[0].toLowerCase()),W+l[0].length):-1}function _(T,I,W){var l=p.exec(I.slice(W));return l?(T.w=N.get(l[0].toLowerCase()),W+l[0].length):-1}function Y(T,I,W){var l=S.exec(I.slice(W));return l?(T.w=C.get(l[0].toLowerCase()),W+l[0].length):-1}function x(T,I,W){var l=Q.exec(I.slice(W));return l?(T.m=K.get(l[0].toLowerCase()),W+l[0].length):-1}function A(T,I,W){var l=M.exec(I.slice(W));return l?(T.m=B.get(l[0].toLowerCase()),W+l[0].length):-1}function u(T,I,W){return D(T,t,I,W)}function d(T,I,W){return D(T,r,I,W)}function b(T,I,W){return D(T,n,I,W)}function m(T){return s[T.getDay()]}function E(T){return i[T.getDay()]}function c(T){return k[T.getMonth()]}function h(T){return g[T.getMonth()]}function o(T){return a[+(T.getHours()>=12)]}function P(T){return 1+~~(T.getMonth()/3)}function O(T){return s[T.getUTCDay()]}function V(T){return i[T.getUTCDay()]}function ee(T){return k[T.getUTCMonth()]}function q(T){return g[T.getUTCMonth()]}function X(T){return a[+(T.getUTCHours()>=12)]}function oe(T){return 1+~~(T.getUTCMonth()/3)}return{format:function(T){var I=w(T+="",R);return I.toString=function(){return T},I},parse:function(T){var I=L(T+="",!1);return I.toString=function(){return T},I},utcFormat:function(T){var I=w(T+="",Z);return I.toString=function(){return T},I},utcParse:function(T){var I=L(T+="",!0);return I.toString=function(){return T},I}}}var Rt={"-":"",_:" ",0:"0"},te=/^\s*\d+/,Un=/^%/,En=/[\\^$*+?|[\]().{}]/g;function H(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",i=a.length;return n+(i[t.toLowerCase(),r]))}function An(e,t,r){var n=te.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function Ln(e,t,r){var n=te.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function Wn(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function On(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function Hn(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function Bt(e,t,r){var n=te.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function Zt(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Nn(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Vn(e,t,r){var n=te.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function Pn(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function qt(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function zn(e,t,r){var n=te.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function Xt(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function Rn(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function Bn(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function Zn(e,t,r){var n=te.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function qn(e,t,r){var n=te.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function Xn(e,t,r){var n=Un.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function Gn(e,t,r){var n=te.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function Qn(e,t,r){var n=te.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function Gt(e,t){return H(e.getDate(),t,2)}function jn(e,t){return H(e.getHours(),t,2)}function Jn(e,t){return H(e.getHours()%12||12,t,2)}function $n(e,t){return H(1+xe.count(pe(e),e),t,3)}function xr(e,t){return H(e.getMilliseconds(),t,3)}function Kn(e,t){return xr(e,t)+"000"}function ea(e,t){return H(e.getMonth()+1,t,2)}function ta(e,t){return H(e.getMinutes(),t,2)}function ra(e,t){return H(e.getSeconds(),t,2)}function na(e){var t=e.getDay();return t===0?7:t}function aa(e,t){return H(Be.count(pe(e)-1,e),t,2)}function wr(e){var t=e.getDay();return t>=4||t===0?we(e):we.ceil(e)}function ia(e,t){return e=wr(e),H(we.count(pe(e),e)+(pe(e).getDay()===4),t,2)}function sa(e){return e.getDay()}function oa(e,t){return H(ze.count(pe(e)-1,e),t,2)}function ca(e,t){return H(e.getFullYear()%100,t,2)}function la(e,t){return e=wr(e),H(e.getFullYear()%100,t,2)}function ua(e,t){return H(e.getFullYear()%1e4,t,4)}function fa(e,t){var r=e.getDay();return e=r>=4||r===0?we(e):we.ceil(e),H(e.getFullYear()%1e4,t,4)}function ha(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+H(t/60|0,"0",2)+H(t%60,"0",2)}function Qt(e,t){return H(e.getUTCDate(),t,2)}function da(e,t){return H(e.getUTCHours(),t,2)}function ma(e,t){return H(e.getUTCHours()%12||12,t,2)}function ga(e,t){return H(1+_t.count(De(e),e),t,3)}function Dr(e,t){return H(e.getUTCMilliseconds(),t,3)}function ya(e,t){return Dr(e,t)+"000"}function ka(e,t){return H(e.getUTCMonth()+1,t,2)}function va(e,t){return H(e.getUTCMinutes(),t,2)}function pa(e,t){return H(e.getUTCSeconds(),t,2)}function Ta(e){var t=e.getUTCDay();return t===0?7:t}function ba(e,t){return H(br.count(De(e)-1,e),t,2)}function Cr(e){var t=e.getUTCDay();return t>=4||t===0?Ie(e):Ie.ceil(e)}function xa(e,t){return e=Cr(e),H(Ie.count(De(e),e)+(De(e).getUTCDay()===4),t,2)}function wa(e){return e.getUTCDay()}function Da(e,t){return H(nt.count(De(e)-1,e),t,2)}function Ca(e,t){return H(e.getUTCFullYear()%100,t,2)}function Ma(e,t){return e=Cr(e),H(e.getUTCFullYear()%100,t,2)}function Sa(e,t){return H(e.getUTCFullYear()%1e4,t,4)}function _a(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Ie(e):Ie.ceil(e),H(e.getUTCFullYear()%1e4,t,4)}function Ya(){return"+0000"}function jt(){return"%"}function Jt(e){return+e}function $t(e){return Math.floor(+e/1e3)}var _e,at;Fa({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Fa(e){return _e=Fn(e),at=_e.format,_e.parse,_e.utcFormat,_e.utcParse,_e}function Ua(e){return new Date(e)}function Ea(e){return e instanceof Date?+e:+new Date(+e)}function Mr(e,t,r,n,a,i,s,g,k,v){var y=jr(),S=y.invert,C=y.domain,p=v(".%L"),N=v(":%S"),M=v("%I:%M"),B=v("%I %p"),Q=v("%a %d"),K=v("%b %d"),R=v("%B"),Z=v("%Y");function j(w){return(k(w)4&&(S+=7),y.add(S,pt)},a=function(k){return k.add(4-k.isoWeekday(),pt)},i=t.prototype;i.isoWeekYear=function(){var g=a(this);return g.year()},i.isoWeek=function(g){if(!this.$utils().u(g))return this.add((g-this.isoWeek())*7,pt);var k=a(this),v=n(this.isoWeekYear(),this.$u);return k.diff(v,Aa)+1},i.isoWeekday=function(g){return this.$utils().u(g)?this.day()||7:this.day(this.day()%7?g:g-7)};var s=i.startOf;i.startOf=function(g,k){var v=this.$utils(),y=v.u(k)?!0:k,S=v.p(g);return S===Oa?y?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(g,k)}};var Na=function(t){return t.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(r,n,a){return n||a.slice(1)})},Va={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Pa=function(t,r){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(n,a,i){var s=i&&i.toUpperCase();return a||r[i]||Va[i]||Na(r[s])})},za=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,Kt=/\d/,He=/\d\d/,Ra=/\d{3}/,Ba=/\d{4}/,le=/\d\d?/,Za=/[+-]?\d+/,qa=/[+-]\d\d:?(\d\d)?|Z/,Ne=/\d*[^-_:/,()\s\d]+/,be={},Sr=function(t){return t=+t,t+(t>68?1900:2e3)};function Xa(e){if(!e||e==="Z")return 0;var t=e.match(/([+-]|\d\d)/g),r=+(t[1]*60)+(+t[2]||0);return r===0?0:t[0]==="+"?-r:r}var ne=function(t){return function(r){this[t]=+r}},er=[qa,function(e){var t=this.zone||(this.zone={});t.offset=Xa(e)}],Tt=function(t){var r=be[t];return r&&(r.indexOf?r:r.s.concat(r.f))},tr=function(t,r){var n,a=be,i=a.meridiem;if(!i)n=t===(r?"pm":"PM");else for(var s=1;s<=24;s+=1)if(t.indexOf(i(s,0,r))>-1){n=s>12;break}return n},Ga={A:[Ne,function(e){this.afternoon=tr(e,!1)}],a:[Ne,function(e){this.afternoon=tr(e,!0)}],Q:[Kt,function(e){this.month=(e-1)*3+1}],S:[Kt,function(e){this.milliseconds=+e*100}],SS:[He,function(e){this.milliseconds=+e*10}],SSS:[Ra,function(e){this.milliseconds=+e}],s:[le,ne("seconds")],ss:[le,ne("seconds")],m:[le,ne("minutes")],mm:[le,ne("minutes")],H:[le,ne("hours")],h:[le,ne("hours")],HH:[le,ne("hours")],hh:[le,ne("hours")],D:[le,ne("day")],DD:[He,ne("day")],Do:[Ne,function(e){var t=be,r=t.ordinal,n=e.match(/\d+/);if(this.day=n[0],!!r)for(var a=1;a<=31;a+=1)r(a).replace(/\[|\]/g,"")===e&&(this.day=a)}],w:[le,ne("week")],ww:[He,ne("week")],M:[le,ne("month")],MM:[He,ne("month")],MMM:[Ne,function(e){var t=Tt("months"),r=Tt("monthsShort"),n=(r||t.map(function(a){return a.slice(0,3)})).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[Ne,function(e){var t=Tt("months"),r=t.indexOf(e)+1;if(r<1)throw new Error;this.month=r%12||r}],Y:[Za,ne("year")],YY:[He,function(e){this.year=Sr(e)}],YYYY:[Ba,ne("year")],Z:er,ZZ:er};function Qa(e){var t=e.afternoon;if(t!==void 0){var r=e.hours;t?r<12&&(e.hours+=12):r===12&&(e.hours=0),delete e.afternoon}}function ja(e){e=Pa(e,be&&be.formats);for(var t=e.match(za),r=t.length,n=0;n-1)return new Date((r==="X"?1e3:1)*t);var i=ja(r),s=i(t),g=s.year,k=s.month,v=s.day,y=s.hours,S=s.minutes,C=s.seconds,p=s.milliseconds,N=s.zone,M=s.week,B=new Date,Q=v||(!g&&!k?B.getDate():1),K=g||B.getFullYear(),R=0;g&&!k||(R=k>0?k-1:B.getMonth());var Z=y||0,j=S||0,w=C||0,L=p||0;if(N)return new Date(Date.UTC(K,R,Q,Z,j,w,L+N.offset*60*1e3));if(n)return new Date(Date.UTC(K,R,Q,Z,j,w,L));var D;return D=new Date(K,R,Q,Z,j,w,L),M&&(D=a(D).week(M).toDate()),D}catch{return new Date("")}};const $a=function(e,t,r){r.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(Sr=e.parseTwoDigitYear);var n=t.prototype,a=n.parse;n.parse=function(i){var s=i.date,g=i.utc,k=i.args;this.$u=g;var v=k[1];if(typeof v=="string"){var y=k[2]===!0,S=k[3]===!0,C=y||S,p=k[2];S&&(p=k[2]),be=this.$locale(),!y&&p&&(be=r.Ls[p]),this.$d=Ja(s,v,g,r),this.init(),p&&p!==!0&&(this.$L=this.locale(p).$L),C&&s!=this.format(v)&&(this.$d=new Date("")),be={}}else if(v instanceof Array)for(var N=v.length,M=1;M<=N;M+=1){k[1]=v[M-1];var B=r.apply(this,k);if(B.isValid()){this.$d=B.$d,this.$L=B.$L,this.init();break}M===N&&(this.$d=new Date(""))}else a.call(this,i)}},Ka=function(e,t){var r=t.prototype,n=r.format;r.format=function(a){var i=this,s=this.$locale();if(!this.isValid())return n.bind(this)(a);var g=this.$utils(),k=a||Wa,v=k.replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(y){switch(y){case"Q":return Math.ceil((i.$M+1)/3);case"Do":return s.ordinal(i.$D);case"gggg":return i.weekYear();case"GGGG":return i.isoWeekYear();case"wo":return s.ordinal(i.week(),"W");case"w":case"ww":return g.s(i.week(),y==="w"?1:2,"0");case"W":case"WW":return g.s(i.isoWeek(),y==="W"?1:2,"0");case"k":case"kk":return g.s(String(i.$H===0?24:i.$H),y==="k"?1:2,"0");case"X":return Math.floor(i.$d.getTime()/1e3);case"x":return i.$d.getTime();case"z":return"["+i.offsetName()+"]";case"zzz":return"["+i.offsetName("long")+"]";default:return y}});return n.bind(this)(v)}};var wt=function(){var e=f(function(A,u,d,b){for(d=d||{},b=A.length;b--;d[A[b]]=u);return d},"o"),t=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],a=[1,28],i=[1,29],s=[1,30],g=[1,31],k=[1,32],v=[1,33],y=[1,34],S=[1,9],C=[1,10],p=[1,11],N=[1,12],M=[1,13],B=[1,14],Q=[1,15],K=[1,16],R=[1,19],Z=[1,20],j=[1,21],w=[1,22],L=[1,23],D=[1,25],F=[1,35],_={trace:f(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:f(function(u,d,b,m,E,c,h){var o=c.length-1;switch(E){case 1:return c[o-1];case 2:this.$=[];break;case 3:c[o-1].push(c[o]),this.$=c[o-1];break;case 4:case 5:this.$=c[o];break;case 6:case 7:this.$=[];break;case 8:m.setWeekday("monday");break;case 9:m.setWeekday("tuesday");break;case 10:m.setWeekday("wednesday");break;case 11:m.setWeekday("thursday");break;case 12:m.setWeekday("friday");break;case 13:m.setWeekday("saturday");break;case 14:m.setWeekday("sunday");break;case 15:m.setWeekend("friday");break;case 16:m.setWeekend("saturday");break;case 17:m.setDateFormat(c[o].substr(11)),this.$=c[o].substr(11);break;case 18:m.enableInclusiveEndDates(),this.$=c[o].substr(18);break;case 19:m.TopAxis(),this.$=c[o].substr(8);break;case 20:m.setAxisFormat(c[o].substr(11)),this.$=c[o].substr(11);break;case 21:m.setTickInterval(c[o].substr(13)),this.$=c[o].substr(13);break;case 22:m.setExcludes(c[o].substr(9)),this.$=c[o].substr(9);break;case 23:m.setIncludes(c[o].substr(9)),this.$=c[o].substr(9);break;case 24:m.setTodayMarker(c[o].substr(12)),this.$=c[o].substr(12);break;case 27:m.setDiagramTitle(c[o].substr(6)),this.$=c[o].substr(6);break;case 28:this.$=c[o].trim(),m.setAccTitle(this.$);break;case 29:case 30:this.$=c[o].trim(),m.setAccDescription(this.$);break;case 31:m.addSection(c[o].substr(8)),this.$=c[o].substr(8);break;case 33:m.addTask(c[o-1],c[o]),this.$="task";break;case 34:this.$=c[o-1],m.setClickEvent(c[o-1],c[o],null);break;case 35:this.$=c[o-2],m.setClickEvent(c[o-2],c[o-1],c[o]);break;case 36:this.$=c[o-2],m.setClickEvent(c[o-2],c[o-1],null),m.setLink(c[o-2],c[o]);break;case 37:this.$=c[o-3],m.setClickEvent(c[o-3],c[o-2],c[o-1]),m.setLink(c[o-3],c[o]);break;case 38:this.$=c[o-2],m.setClickEvent(c[o-2],c[o],null),m.setLink(c[o-2],c[o-1]);break;case 39:this.$=c[o-3],m.setClickEvent(c[o-3],c[o-1],c[o]),m.setLink(c[o-3],c[o-2]);break;case 40:this.$=c[o-1],m.setLink(c[o-1],c[o]);break;case 41:case 47:this.$=c[o-1]+" "+c[o];break;case 42:case 43:case 45:this.$=c[o-2]+" "+c[o-1]+" "+c[o];break;case 44:case 46:this.$=c[o-3]+" "+c[o-2]+" "+c[o-1]+" "+c[o];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},e(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:a,15:i,16:s,17:g,18:k,19:18,20:v,21:y,22:S,23:C,24:p,25:N,26:M,27:B,28:Q,29:K,30:R,31:Z,33:j,35:w,36:L,37:24,38:D,40:F},e(t,[2,7],{1:[2,1]}),e(t,[2,3]),{9:36,11:17,12:r,13:n,14:a,15:i,16:s,17:g,18:k,19:18,20:v,21:y,22:S,23:C,24:p,25:N,26:M,27:B,28:Q,29:K,30:R,31:Z,33:j,35:w,36:L,37:24,38:D,40:F},e(t,[2,5]),e(t,[2,6]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,20]),e(t,[2,21]),e(t,[2,22]),e(t,[2,23]),e(t,[2,24]),e(t,[2,25]),e(t,[2,26]),e(t,[2,27]),{32:[1,37]},{34:[1,38]},e(t,[2,30]),e(t,[2,31]),e(t,[2,32]),{39:[1,39]},e(t,[2,8]),e(t,[2,9]),e(t,[2,10]),e(t,[2,11]),e(t,[2,12]),e(t,[2,13]),e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),{41:[1,40],43:[1,41]},e(t,[2,4]),e(t,[2,28]),e(t,[2,29]),e(t,[2,33]),e(t,[2,34],{42:[1,42],43:[1,43]}),e(t,[2,40],{41:[1,44]}),e(t,[2,35],{43:[1,45]}),e(t,[2,36]),e(t,[2,38],{42:[1,46]}),e(t,[2,37]),e(t,[2,39])],defaultActions:{},parseError:f(function(u,d){if(d.recoverable)this.trace(u);else{var b=new Error(u);throw b.hash=d,b}},"parseError"),parse:f(function(u){var d=this,b=[0],m=[],E=[null],c=[],h=this.table,o="",P=0,O=0,V=2,ee=1,q=c.slice.call(arguments,1),X=Object.create(this.lexer),oe={yy:{}};for(var T in this.yy)Object.prototype.hasOwnProperty.call(this.yy,T)&&(oe.yy[T]=this.yy[T]);X.setInput(u,oe.yy),oe.yy.lexer=X,oe.yy.parser=this,typeof X.yylloc>"u"&&(X.yylloc={});var I=X.yylloc;c.push(I);var W=X.options&&X.options.ranges;typeof oe.yy.parseError=="function"?this.parseError=oe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function l(ie){b.length=b.length-2*ie,E.length=E.length-ie,c.length=c.length-ie}f(l,"popStack");function re(){var ie;return ie=m.pop()||X.lex()||ee,typeof ie!="number"&&(ie instanceof Array&&(m=ie,ie=m.pop()),ie=d.symbols_[ie]||ie),ie}f(re,"lex");for(var U,G,z,ce,he={},Ge,de,Nt,Qe;;){if(G=b[b.length-1],this.defaultActions[G]?z=this.defaultActions[G]:((U===null||typeof U>"u")&&(U=re()),z=h[G]&&h[G][U]),typeof z>"u"||!z.length||!z[0]){var ot="";Qe=[];for(Ge in h[G])this.terminals_[Ge]&&Ge>V&&Qe.push("'"+this.terminals_[Ge]+"'");X.showPosition?ot="Parse error on line "+(P+1)+`: +import{aV as ir,aW as sr,aX as or,aY as cr,aZ as Wr,a_ as ct,a$ as Or,_ as f,b0 as ae,d as Ye,s as Hr,g as Nr,q as Vr,r as Pr,c as zr,b as Rr,v as Br,m as Zr,l as tt,j as je,k as qr,e as Xr,u as Gr}from"../app.XeY7gsc2.js";import{b as Qr,t as Vt,c as jr,a as Jr,l as $r}from"./linear.CCNQpCSX.js";import{i as Kr}from"./init.Gi6I4Gst.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";function en(e,t){let r;if(t===void 0)for(const n of e)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let a of e)(a=t(a,++n,e))!=null&&(r=a)&&(r=a)}return r}function tn(e,t){let r;if(t===void 0)for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let a of e)(a=t(a,++n,e))!=null&&(r>a||r===void 0&&a>=a)&&(r=a)}return r}function rn(e){return e}var $e=1,lt=2,bt=3,Je=4,Pt=1e-6;function nn(e){return"translate("+e+",0)"}function an(e){return"translate(0,"+e+")"}function sn(e){return t=>+e(t)}function on(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),r=>+e(r)+t}function cn(){return!this.__axis}function lr(e,t){var r=[],n=null,a=null,i=6,s=6,g=3,k=typeof window<"u"&&window.devicePixelRatio>1?0:.5,v=e===$e||e===Je?-1:1,y=e===Je||e===lt?"x":"y",S=e===$e||e===bt?nn:an;function C(p){var N=n??(t.ticks?t.ticks.apply(t,r):t.domain()),M=a??(t.tickFormat?t.tickFormat.apply(t,r):rn),B=Math.max(i,0)+g,Q=t.range(),K=+Q[0]+k,R=+Q[Q.length-1]+k,Z=(t.bandwidth?on:sn)(t.copy(),k),j=p.selection?p.selection():p,w=j.selectAll(".domain").data([null]),L=j.selectAll(".tick").data(N,t).order(),D=L.exit(),F=L.enter().append("g").attr("class","tick"),_=L.select("line"),Y=L.select("text");w=w.merge(w.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),L=L.merge(F),_=_.merge(F.append("line").attr("stroke","currentColor").attr(y+"2",v*i)),Y=Y.merge(F.append("text").attr("fill","currentColor").attr(y,v*B).attr("dy",e===$e?"0em":e===bt?"0.71em":"0.32em")),p!==j&&(w=w.transition(p),L=L.transition(p),_=_.transition(p),Y=Y.transition(p),D=D.transition(p).attr("opacity",Pt).attr("transform",function(x){return isFinite(x=Z(x))?S(x+k):this.getAttribute("transform")}),F.attr("opacity",Pt).attr("transform",function(x){var A=this.parentNode.__axis;return S((A&&isFinite(A=A(x))?A:Z(x))+k)})),D.remove(),w.attr("d",e===Je||e===lt?s?"M"+v*s+","+K+"H"+k+"V"+R+"H"+v*s:"M"+k+","+K+"V"+R:s?"M"+K+","+v*s+"V"+k+"H"+R+"V"+v*s:"M"+K+","+k+"H"+R),L.attr("opacity",1).attr("transform",function(x){return S(Z(x)+k)}),_.attr(y+"2",v*i),Y.attr(y,v*B).text(M),j.filter(cn).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===lt?"start":e===Je?"end":"middle"),j.each(function(){this.__axis=Z})}return C.scale=function(p){return arguments.length?(t=p,C):t},C.ticks=function(){return r=Array.from(arguments),C},C.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),C):r.slice()},C.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),C):n&&n.slice()},C.tickFormat=function(p){return arguments.length?(a=p,C):a},C.tickSize=function(p){return arguments.length?(i=s=+p,C):i},C.tickSizeInner=function(p){return arguments.length?(i=+p,C):i},C.tickSizeOuter=function(p){return arguments.length?(s=+p,C):s},C.tickPadding=function(p){return arguments.length?(g=+p,C):g},C.offset=function(p){return arguments.length?(k=+p,C):k},C}function ln(e){return lr($e,e)}function un(e){return lr(bt,e)}const fn=Math.PI/180,hn=180/Math.PI,rt=18,ur=.96422,fr=1,hr=.82521,dr=4/29,Fe=6/29,mr=3*Fe*Fe,dn=Fe*Fe*Fe;function gr(e){if(e instanceof fe)return new fe(e.l,e.a,e.b,e.opacity);if(e instanceof ge)return yr(e);e instanceof or||(e=Wr(e));var t=dt(e.r),r=dt(e.g),n=dt(e.b),a=ut((.2225045*t+.7168786*r+.0606169*n)/fr),i,s;return t===r&&r===n?i=s=a:(i=ut((.4360747*t+.3850649*r+.1430804*n)/ur),s=ut((.0139322*t+.0971045*r+.7141733*n)/hr)),new fe(116*a-16,500*(i-a),200*(a-s),e.opacity)}function mn(e,t,r,n){return arguments.length===1?gr(e):new fe(e,t,r,n??1)}function fe(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}ir(fe,mn,sr(cr,{brighter(e){return new fe(this.l+rt*(e??1),this.a,this.b,this.opacity)},darker(e){return new fe(this.l-rt*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=ur*ft(t),e=fr*ft(e),r=hr*ft(r),new or(ht(3.1338561*t-1.6168667*e-.4906146*r),ht(-.9787684*t+1.9161415*e+.033454*r),ht(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));function ut(e){return e>dn?Math.pow(e,1/3):e/mr+dr}function ft(e){return e>Fe?e*e*e:mr*(e-dr)}function ht(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function dt(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function gn(e){if(e instanceof ge)return new ge(e.h,e.c,e.l,e.opacity);if(e instanceof fe||(e=gr(e)),e.a===0&&e.b===0)return new ge(NaN,0(e(i=new Date(+i)),i),a.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),a.round=i=>{const s=a(i),g=a.ceil(i);return i-s(t(i=new Date(+i),s==null?1:Math.floor(s)),i),a.range=(i,s,g)=>{const k=[];if(i=a.ceil(i),g=g==null?1:Math.floor(g),!(i0))return k;let v;do k.push(v=new Date(+i)),t(i,g),e(i);while(v$(s=>{if(s>=s)for(;e(s),!i(s);)s.setTime(s-1)},(s,g)=>{if(s>=s)if(g<0)for(;++g<=0;)for(;t(s,-1),!i(s););else for(;--g>=0;)for(;t(s,1),!i(s););}),r&&(a.count=(i,s)=>(mt.setTime(+i),gt.setTime(+s),e(mt),e(gt),Math.floor(r(mt,gt))),a.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(n?s=>n(s)%i===0:s=>a.count(0,s)%i===0):a)),a}const Ee=$(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Ee.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?$(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Ee);Ee.range;const ye=1e3,se=ye*60,ke=se*60,ve=ke*24,St=ve*7,zt=ve*30,yt=ve*365,Te=$(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*ye)},(e,t)=>(t-e)/ye,e=>e.getUTCSeconds());Te.range;const Ve=$(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*ye)},(e,t)=>{e.setTime(+e+t*se)},(e,t)=>(t-e)/se,e=>e.getMinutes());Ve.range;const pn=$(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*se)},(e,t)=>(t-e)/se,e=>e.getUTCMinutes());pn.range;const Pe=$(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*ye-e.getMinutes()*se)},(e,t)=>{e.setTime(+e+t*ke)},(e,t)=>(t-e)/ke,e=>e.getHours());Pe.range;const Tn=$(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*ke)},(e,t)=>(t-e)/ke,e=>e.getUTCHours());Tn.range;const xe=$(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*se)/ve,e=>e.getDate()-1);xe.range;const _t=$(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ve,e=>e.getUTCDate()-1);_t.range;const bn=$(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/ve,e=>Math.floor(e/ve));bn.range;function Ce(e){return $(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*se)/St)}const Be=Ce(0),ze=Ce(1),kr=Ce(2),vr=Ce(3),we=Ce(4),pr=Ce(5),Tr=Ce(6);Be.range;ze.range;kr.range;vr.range;we.range;pr.range;Tr.range;function Me(e){return $(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/St)}const br=Me(0),nt=Me(1),xn=Me(2),wn=Me(3),Ie=Me(4),Dn=Me(5),Cn=Me(6);br.range;nt.range;xn.range;wn.range;Ie.range;Dn.range;Cn.range;const Re=$(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Re.range;const Mn=$(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());Mn.range;const pe=$(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());pe.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:$(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});pe.range;const De=$(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());De.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:$(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});De.range;function Sn(e,t,r,n,a,i){const s=[[Te,1,ye],[Te,5,5*ye],[Te,15,15*ye],[Te,30,30*ye],[i,1,se],[i,5,5*se],[i,15,15*se],[i,30,30*se],[a,1,ke],[a,3,3*ke],[a,6,6*ke],[a,12,12*ke],[n,1,ve],[n,2,2*ve],[r,1,St],[t,1,zt],[t,3,3*zt],[e,1,yt]];function g(v,y,S){const C=yB).right(s,C);if(p===s.length)return e.every(Vt(v/yt,y/yt,S));if(p===0)return Ee.every(Math.max(Vt(v,y,S),1));const[N,M]=s[C/s[p-1][2]53)return null;"w"in l||(l.w=1),"Z"in l?(U=vt(Le(l.y,0,1)),G=U.getUTCDay(),U=G>4||G===0?nt.ceil(U):nt(U),U=_t.offset(U,(l.V-1)*7),l.y=U.getUTCFullYear(),l.m=U.getUTCMonth(),l.d=U.getUTCDate()+(l.w+6)%7):(U=kt(Le(l.y,0,1)),G=U.getDay(),U=G>4||G===0?ze.ceil(U):ze(U),U=xe.offset(U,(l.V-1)*7),l.y=U.getFullYear(),l.m=U.getMonth(),l.d=U.getDate()+(l.w+6)%7)}else("W"in l||"U"in l)&&("w"in l||(l.w="u"in l?l.u%7:"W"in l?1:0),G="Z"in l?vt(Le(l.y,0,1)).getUTCDay():kt(Le(l.y,0,1)).getDay(),l.m=0,l.d="W"in l?(l.w+6)%7+l.W*7-(G+5)%7:l.w+l.U*7-(G+6)%7);return"Z"in l?(l.H+=l.Z/100|0,l.M+=l.Z%100,vt(l)):kt(l)}}function D(T,I,W,l){for(var re=0,U=I.length,G=W.length,z,ce;re=G)return-1;if(z=I.charCodeAt(re++),z===37){if(z=I.charAt(re++),ce=j[z in Rt?I.charAt(re++):z],!ce||(l=ce(T,W,l))<0)return-1}else if(z!=W.charCodeAt(l++))return-1}return l}function F(T,I,W){var l=v.exec(I.slice(W));return l?(T.p=y.get(l[0].toLowerCase()),W+l[0].length):-1}function _(T,I,W){var l=p.exec(I.slice(W));return l?(T.w=N.get(l[0].toLowerCase()),W+l[0].length):-1}function Y(T,I,W){var l=S.exec(I.slice(W));return l?(T.w=C.get(l[0].toLowerCase()),W+l[0].length):-1}function x(T,I,W){var l=Q.exec(I.slice(W));return l?(T.m=K.get(l[0].toLowerCase()),W+l[0].length):-1}function A(T,I,W){var l=M.exec(I.slice(W));return l?(T.m=B.get(l[0].toLowerCase()),W+l[0].length):-1}function u(T,I,W){return D(T,t,I,W)}function d(T,I,W){return D(T,r,I,W)}function b(T,I,W){return D(T,n,I,W)}function m(T){return s[T.getDay()]}function E(T){return i[T.getDay()]}function c(T){return k[T.getMonth()]}function h(T){return g[T.getMonth()]}function o(T){return a[+(T.getHours()>=12)]}function P(T){return 1+~~(T.getMonth()/3)}function O(T){return s[T.getUTCDay()]}function V(T){return i[T.getUTCDay()]}function ee(T){return k[T.getUTCMonth()]}function q(T){return g[T.getUTCMonth()]}function X(T){return a[+(T.getUTCHours()>=12)]}function oe(T){return 1+~~(T.getUTCMonth()/3)}return{format:function(T){var I=w(T+="",R);return I.toString=function(){return T},I},parse:function(T){var I=L(T+="",!1);return I.toString=function(){return T},I},utcFormat:function(T){var I=w(T+="",Z);return I.toString=function(){return T},I},utcParse:function(T){var I=L(T+="",!0);return I.toString=function(){return T},I}}}var Rt={"-":"",_:" ",0:"0"},te=/^\s*\d+/,Un=/^%/,En=/[\\^$*+?|[\]().{}]/g;function H(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",i=a.length;return n+(i[t.toLowerCase(),r]))}function An(e,t,r){var n=te.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function Ln(e,t,r){var n=te.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function Wn(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function On(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function Hn(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function Bt(e,t,r){var n=te.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function Zt(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Nn(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Vn(e,t,r){var n=te.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function Pn(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function qt(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function zn(e,t,r){var n=te.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function Xt(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function Rn(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function Bn(e,t,r){var n=te.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function Zn(e,t,r){var n=te.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function qn(e,t,r){var n=te.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function Xn(e,t,r){var n=Un.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function Gn(e,t,r){var n=te.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function Qn(e,t,r){var n=te.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function Gt(e,t){return H(e.getDate(),t,2)}function jn(e,t){return H(e.getHours(),t,2)}function Jn(e,t){return H(e.getHours()%12||12,t,2)}function $n(e,t){return H(1+xe.count(pe(e),e),t,3)}function xr(e,t){return H(e.getMilliseconds(),t,3)}function Kn(e,t){return xr(e,t)+"000"}function ea(e,t){return H(e.getMonth()+1,t,2)}function ta(e,t){return H(e.getMinutes(),t,2)}function ra(e,t){return H(e.getSeconds(),t,2)}function na(e){var t=e.getDay();return t===0?7:t}function aa(e,t){return H(Be.count(pe(e)-1,e),t,2)}function wr(e){var t=e.getDay();return t>=4||t===0?we(e):we.ceil(e)}function ia(e,t){return e=wr(e),H(we.count(pe(e),e)+(pe(e).getDay()===4),t,2)}function sa(e){return e.getDay()}function oa(e,t){return H(ze.count(pe(e)-1,e),t,2)}function ca(e,t){return H(e.getFullYear()%100,t,2)}function la(e,t){return e=wr(e),H(e.getFullYear()%100,t,2)}function ua(e,t){return H(e.getFullYear()%1e4,t,4)}function fa(e,t){var r=e.getDay();return e=r>=4||r===0?we(e):we.ceil(e),H(e.getFullYear()%1e4,t,4)}function ha(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+H(t/60|0,"0",2)+H(t%60,"0",2)}function Qt(e,t){return H(e.getUTCDate(),t,2)}function da(e,t){return H(e.getUTCHours(),t,2)}function ma(e,t){return H(e.getUTCHours()%12||12,t,2)}function ga(e,t){return H(1+_t.count(De(e),e),t,3)}function Dr(e,t){return H(e.getUTCMilliseconds(),t,3)}function ya(e,t){return Dr(e,t)+"000"}function ka(e,t){return H(e.getUTCMonth()+1,t,2)}function va(e,t){return H(e.getUTCMinutes(),t,2)}function pa(e,t){return H(e.getUTCSeconds(),t,2)}function Ta(e){var t=e.getUTCDay();return t===0?7:t}function ba(e,t){return H(br.count(De(e)-1,e),t,2)}function Cr(e){var t=e.getUTCDay();return t>=4||t===0?Ie(e):Ie.ceil(e)}function xa(e,t){return e=Cr(e),H(Ie.count(De(e),e)+(De(e).getUTCDay()===4),t,2)}function wa(e){return e.getUTCDay()}function Da(e,t){return H(nt.count(De(e)-1,e),t,2)}function Ca(e,t){return H(e.getUTCFullYear()%100,t,2)}function Ma(e,t){return e=Cr(e),H(e.getUTCFullYear()%100,t,2)}function Sa(e,t){return H(e.getUTCFullYear()%1e4,t,4)}function _a(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Ie(e):Ie.ceil(e),H(e.getUTCFullYear()%1e4,t,4)}function Ya(){return"+0000"}function jt(){return"%"}function Jt(e){return+e}function $t(e){return Math.floor(+e/1e3)}var _e,at;Fa({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Fa(e){return _e=Fn(e),at=_e.format,_e.parse,_e.utcFormat,_e.utcParse,_e}function Ua(e){return new Date(e)}function Ea(e){return e instanceof Date?+e:+new Date(+e)}function Mr(e,t,r,n,a,i,s,g,k,v){var y=jr(),S=y.invert,C=y.domain,p=v(".%L"),N=v(":%S"),M=v("%I:%M"),B=v("%I %p"),Q=v("%a %d"),K=v("%b %d"),R=v("%B"),Z=v("%Y");function j(w){return(k(w)4&&(S+=7),y.add(S,pt)},a=function(k){return k.add(4-k.isoWeekday(),pt)},i=t.prototype;i.isoWeekYear=function(){var g=a(this);return g.year()},i.isoWeek=function(g){if(!this.$utils().u(g))return this.add((g-this.isoWeek())*7,pt);var k=a(this),v=n(this.isoWeekYear(),this.$u);return k.diff(v,Aa)+1},i.isoWeekday=function(g){return this.$utils().u(g)?this.day()||7:this.day(this.day()%7?g:g-7)};var s=i.startOf;i.startOf=function(g,k){var v=this.$utils(),y=v.u(k)?!0:k,S=v.p(g);return S===Oa?y?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(g,k)}};var Na=function(t){return t.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(r,n,a){return n||a.slice(1)})},Va={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Pa=function(t,r){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(n,a,i){var s=i&&i.toUpperCase();return a||r[i]||Va[i]||Na(r[s])})},za=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,Kt=/\d/,He=/\d\d/,Ra=/\d{3}/,Ba=/\d{4}/,le=/\d\d?/,Za=/[+-]?\d+/,qa=/[+-]\d\d:?(\d\d)?|Z/,Ne=/\d*[^-_:/,()\s\d]+/,be={},Sr=function(t){return t=+t,t+(t>68?1900:2e3)};function Xa(e){if(!e||e==="Z")return 0;var t=e.match(/([+-]|\d\d)/g),r=+(t[1]*60)+(+t[2]||0);return r===0?0:t[0]==="+"?-r:r}var ne=function(t){return function(r){this[t]=+r}},er=[qa,function(e){var t=this.zone||(this.zone={});t.offset=Xa(e)}],Tt=function(t){var r=be[t];return r&&(r.indexOf?r:r.s.concat(r.f))},tr=function(t,r){var n,a=be,i=a.meridiem;if(!i)n=t===(r?"pm":"PM");else for(var s=1;s<=24;s+=1)if(t.indexOf(i(s,0,r))>-1){n=s>12;break}return n},Ga={A:[Ne,function(e){this.afternoon=tr(e,!1)}],a:[Ne,function(e){this.afternoon=tr(e,!0)}],Q:[Kt,function(e){this.month=(e-1)*3+1}],S:[Kt,function(e){this.milliseconds=+e*100}],SS:[He,function(e){this.milliseconds=+e*10}],SSS:[Ra,function(e){this.milliseconds=+e}],s:[le,ne("seconds")],ss:[le,ne("seconds")],m:[le,ne("minutes")],mm:[le,ne("minutes")],H:[le,ne("hours")],h:[le,ne("hours")],HH:[le,ne("hours")],hh:[le,ne("hours")],D:[le,ne("day")],DD:[He,ne("day")],Do:[Ne,function(e){var t=be,r=t.ordinal,n=e.match(/\d+/);if(this.day=n[0],!!r)for(var a=1;a<=31;a+=1)r(a).replace(/\[|\]/g,"")===e&&(this.day=a)}],w:[le,ne("week")],ww:[He,ne("week")],M:[le,ne("month")],MM:[He,ne("month")],MMM:[Ne,function(e){var t=Tt("months"),r=Tt("monthsShort"),n=(r||t.map(function(a){return a.slice(0,3)})).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[Ne,function(e){var t=Tt("months"),r=t.indexOf(e)+1;if(r<1)throw new Error;this.month=r%12||r}],Y:[Za,ne("year")],YY:[He,function(e){this.year=Sr(e)}],YYYY:[Ba,ne("year")],Z:er,ZZ:er};function Qa(e){var t=e.afternoon;if(t!==void 0){var r=e.hours;t?r<12&&(e.hours+=12):r===12&&(e.hours=0),delete e.afternoon}}function ja(e){e=Pa(e,be&&be.formats);for(var t=e.match(za),r=t.length,n=0;n-1)return new Date((r==="X"?1e3:1)*t);var i=ja(r),s=i(t),g=s.year,k=s.month,v=s.day,y=s.hours,S=s.minutes,C=s.seconds,p=s.milliseconds,N=s.zone,M=s.week,B=new Date,Q=v||(!g&&!k?B.getDate():1),K=g||B.getFullYear(),R=0;g&&!k||(R=k>0?k-1:B.getMonth());var Z=y||0,j=S||0,w=C||0,L=p||0;if(N)return new Date(Date.UTC(K,R,Q,Z,j,w,L+N.offset*60*1e3));if(n)return new Date(Date.UTC(K,R,Q,Z,j,w,L));var D;return D=new Date(K,R,Q,Z,j,w,L),M&&(D=a(D).week(M).toDate()),D}catch{return new Date("")}};const $a=function(e,t,r){r.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(Sr=e.parseTwoDigitYear);var n=t.prototype,a=n.parse;n.parse=function(i){var s=i.date,g=i.utc,k=i.args;this.$u=g;var v=k[1];if(typeof v=="string"){var y=k[2]===!0,S=k[3]===!0,C=y||S,p=k[2];S&&(p=k[2]),be=this.$locale(),!y&&p&&(be=r.Ls[p]),this.$d=Ja(s,v,g,r),this.init(),p&&p!==!0&&(this.$L=this.locale(p).$L),C&&s!=this.format(v)&&(this.$d=new Date("")),be={}}else if(v instanceof Array)for(var N=v.length,M=1;M<=N;M+=1){k[1]=v[M-1];var B=r.apply(this,k);if(B.isValid()){this.$d=B.$d,this.$L=B.$L,this.init();break}M===N&&(this.$d=new Date(""))}else a.call(this,i)}},Ka=function(e,t){var r=t.prototype,n=r.format;r.format=function(a){var i=this,s=this.$locale();if(!this.isValid())return n.bind(this)(a);var g=this.$utils(),k=a||Wa,v=k.replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(y){switch(y){case"Q":return Math.ceil((i.$M+1)/3);case"Do":return s.ordinal(i.$D);case"gggg":return i.weekYear();case"GGGG":return i.isoWeekYear();case"wo":return s.ordinal(i.week(),"W");case"w":case"ww":return g.s(i.week(),y==="w"?1:2,"0");case"W":case"WW":return g.s(i.isoWeek(),y==="W"?1:2,"0");case"k":case"kk":return g.s(String(i.$H===0?24:i.$H),y==="k"?1:2,"0");case"X":return Math.floor(i.$d.getTime()/1e3);case"x":return i.$d.getTime();case"z":return"["+i.offsetName()+"]";case"zzz":return"["+i.offsetName("long")+"]";default:return y}});return n.bind(this)(v)}};var wt=function(){var e=f(function(A,u,d,b){for(d=d||{},b=A.length;b--;d[A[b]]=u);return d},"o"),t=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],a=[1,28],i=[1,29],s=[1,30],g=[1,31],k=[1,32],v=[1,33],y=[1,34],S=[1,9],C=[1,10],p=[1,11],N=[1,12],M=[1,13],B=[1,14],Q=[1,15],K=[1,16],R=[1,19],Z=[1,20],j=[1,21],w=[1,22],L=[1,23],D=[1,25],F=[1,35],_={trace:f(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:f(function(u,d,b,m,E,c,h){var o=c.length-1;switch(E){case 1:return c[o-1];case 2:this.$=[];break;case 3:c[o-1].push(c[o]),this.$=c[o-1];break;case 4:case 5:this.$=c[o];break;case 6:case 7:this.$=[];break;case 8:m.setWeekday("monday");break;case 9:m.setWeekday("tuesday");break;case 10:m.setWeekday("wednesday");break;case 11:m.setWeekday("thursday");break;case 12:m.setWeekday("friday");break;case 13:m.setWeekday("saturday");break;case 14:m.setWeekday("sunday");break;case 15:m.setWeekend("friday");break;case 16:m.setWeekend("saturday");break;case 17:m.setDateFormat(c[o].substr(11)),this.$=c[o].substr(11);break;case 18:m.enableInclusiveEndDates(),this.$=c[o].substr(18);break;case 19:m.TopAxis(),this.$=c[o].substr(8);break;case 20:m.setAxisFormat(c[o].substr(11)),this.$=c[o].substr(11);break;case 21:m.setTickInterval(c[o].substr(13)),this.$=c[o].substr(13);break;case 22:m.setExcludes(c[o].substr(9)),this.$=c[o].substr(9);break;case 23:m.setIncludes(c[o].substr(9)),this.$=c[o].substr(9);break;case 24:m.setTodayMarker(c[o].substr(12)),this.$=c[o].substr(12);break;case 27:m.setDiagramTitle(c[o].substr(6)),this.$=c[o].substr(6);break;case 28:this.$=c[o].trim(),m.setAccTitle(this.$);break;case 29:case 30:this.$=c[o].trim(),m.setAccDescription(this.$);break;case 31:m.addSection(c[o].substr(8)),this.$=c[o].substr(8);break;case 33:m.addTask(c[o-1],c[o]),this.$="task";break;case 34:this.$=c[o-1],m.setClickEvent(c[o-1],c[o],null);break;case 35:this.$=c[o-2],m.setClickEvent(c[o-2],c[o-1],c[o]);break;case 36:this.$=c[o-2],m.setClickEvent(c[o-2],c[o-1],null),m.setLink(c[o-2],c[o]);break;case 37:this.$=c[o-3],m.setClickEvent(c[o-3],c[o-2],c[o-1]),m.setLink(c[o-3],c[o]);break;case 38:this.$=c[o-2],m.setClickEvent(c[o-2],c[o],null),m.setLink(c[o-2],c[o-1]);break;case 39:this.$=c[o-3],m.setClickEvent(c[o-3],c[o-1],c[o]),m.setLink(c[o-3],c[o-2]);break;case 40:this.$=c[o-1],m.setLink(c[o-1],c[o]);break;case 41:case 47:this.$=c[o-1]+" "+c[o];break;case 42:case 43:case 45:this.$=c[o-2]+" "+c[o-1]+" "+c[o];break;case 44:case 46:this.$=c[o-3]+" "+c[o-2]+" "+c[o-1]+" "+c[o];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},e(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:a,15:i,16:s,17:g,18:k,19:18,20:v,21:y,22:S,23:C,24:p,25:N,26:M,27:B,28:Q,29:K,30:R,31:Z,33:j,35:w,36:L,37:24,38:D,40:F},e(t,[2,7],{1:[2,1]}),e(t,[2,3]),{9:36,11:17,12:r,13:n,14:a,15:i,16:s,17:g,18:k,19:18,20:v,21:y,22:S,23:C,24:p,25:N,26:M,27:B,28:Q,29:K,30:R,31:Z,33:j,35:w,36:L,37:24,38:D,40:F},e(t,[2,5]),e(t,[2,6]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,20]),e(t,[2,21]),e(t,[2,22]),e(t,[2,23]),e(t,[2,24]),e(t,[2,25]),e(t,[2,26]),e(t,[2,27]),{32:[1,37]},{34:[1,38]},e(t,[2,30]),e(t,[2,31]),e(t,[2,32]),{39:[1,39]},e(t,[2,8]),e(t,[2,9]),e(t,[2,10]),e(t,[2,11]),e(t,[2,12]),e(t,[2,13]),e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),{41:[1,40],43:[1,41]},e(t,[2,4]),e(t,[2,28]),e(t,[2,29]),e(t,[2,33]),e(t,[2,34],{42:[1,42],43:[1,43]}),e(t,[2,40],{41:[1,44]}),e(t,[2,35],{43:[1,45]}),e(t,[2,36]),e(t,[2,38],{42:[1,46]}),e(t,[2,37]),e(t,[2,39])],defaultActions:{},parseError:f(function(u,d){if(d.recoverable)this.trace(u);else{var b=new Error(u);throw b.hash=d,b}},"parseError"),parse:f(function(u){var d=this,b=[0],m=[],E=[null],c=[],h=this.table,o="",P=0,O=0,V=2,ee=1,q=c.slice.call(arguments,1),X=Object.create(this.lexer),oe={yy:{}};for(var T in this.yy)Object.prototype.hasOwnProperty.call(this.yy,T)&&(oe.yy[T]=this.yy[T]);X.setInput(u,oe.yy),oe.yy.lexer=X,oe.yy.parser=this,typeof X.yylloc>"u"&&(X.yylloc={});var I=X.yylloc;c.push(I);var W=X.options&&X.options.ranges;typeof oe.yy.parseError=="function"?this.parseError=oe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function l(ie){b.length=b.length-2*ie,E.length=E.length-ie,c.length=c.length-ie}f(l,"popStack");function re(){var ie;return ie=m.pop()||X.lex()||ee,typeof ie!="number"&&(ie instanceof Array&&(m=ie,ie=m.pop()),ie=d.symbols_[ie]||ie),ie}f(re,"lex");for(var U,G,z,ce,he={},Ge,de,Nt,Qe;;){if(G=b[b.length-1],this.defaultActions[G]?z=this.defaultActions[G]:((U===null||typeof U>"u")&&(U=re()),z=h[G]&&h[G][U]),typeof z>"u"||!z.length||!z[0]){var ot="";Qe=[];for(Ge in h[G])this.terminals_[Ge]&&Ge>V&&Qe.push("'"+this.terminals_[Ge]+"'");X.showPosition?ot="Parse error on line "+(P+1)+`: `+X.showPosition()+` Expecting `+Qe.join(", ")+", got '"+(this.terminals_[U]||U)+"'":ot="Parse error on line "+(P+1)+": Unexpected "+(U==ee?"end of input":"'"+(this.terminals_[U]||U)+"'"),this.parseError(ot,{text:X.match,token:this.terminals_[U]||U,line:X.yylineno,loc:I,expected:Qe})}if(z[0]instanceof Array&&z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+U);switch(z[0]){case 1:b.push(U),E.push(X.yytext),c.push(X.yylloc),b.push(z[1]),U=null,O=X.yyleng,o=X.yytext,P=X.yylineno,I=X.yylloc;break;case 2:if(de=this.productions_[z[1]][1],he.$=E[E.length-de],he._$={first_line:c[c.length-(de||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(de||1)].first_column,last_column:c[c.length-1].last_column},W&&(he._$.range=[c[c.length-(de||1)].range[0],c[c.length-1].range[1]]),ce=this.performAction.apply(he,[o,O,P,oe.yy,z[1],E,c].concat(q)),typeof ce<"u")return ce;de&&(b=b.slice(0,-1*de*2),E=E.slice(0,-1*de),c=c.slice(0,-1*de)),b.push(this.productions_[z[1]][0]),E.push(he.$),c.push(he._$),Nt=h[b[b.length-2]][b[b.length-1]],b.push(Nt);break;case 3:return!0}}return!0},"parse")},Y=function(){var A={EOF:1,parseError:f(function(d,b){if(this.yy.parser)this.yy.parser.parseError(d,b);else throw new Error(d)},"parseError"),setInput:f(function(u,d){return this.yy=d||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:f(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var d=u.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:f(function(u){var d=u.length,b=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var m=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),b.length-1&&(this.yylineno-=b.length-1);var E=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:b?(b.length===m.length?this.yylloc.first_column:0)+m[m.length-b.length].length-b[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:f(function(){return this._more=!0,this},"more"),reject:f(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:f(function(u){this.unput(this.match.slice(u))},"less"),pastInput:f(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:f(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:f(function(){var u=this.pastInput(),d=new Array(u.length+1).join("-");return u+this.upcomingInput()+` diff --git a/assets/chunks/gitGraph-YCYPL57B.DzGlZmxr.js b/assets/chunks/gitGraph-YCYPL57B.BBU61gGy.js similarity index 99% rename from assets/chunks/gitGraph-YCYPL57B.DzGlZmxr.js rename to assets/chunks/gitGraph-YCYPL57B.BBU61gGy.js index b74f7e6e5..281852a03 100644 --- a/assets/chunks/gitGraph-YCYPL57B.DzGlZmxr.js +++ b/assets/chunks/gitGraph-YCYPL57B.BBU61gGy.js @@ -1,4 +1,4 @@ -var Fl=Object.defineProperty;var Gl=(n,e,t)=>e in n?Fl(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Je=(n,e,t)=>Gl(n,typeof e!="symbol"?e+"":e,t);import{V as tn}from"./framework.CGQ59HuL.js";import{bz as Ul,bA as Bl,aQ as so,bj as Vl,aU as Wl,aR as Z,aA as jl,aB as Ji,b9 as Hl,bc as ao,bd as oo,bo as Qi,ba as Kl,aD as mt,aE as D,aS as Zi,aM as zl}from"../app.B4W5LDy6.js";import{k as Mt,l as Ti,g as Kt,S as ql,w as Yl,x as Xl,c as co,v as K,y as lo,m as Jl,z as Ql,A as Zl,B as eu,C as tu,a as uo,d as C,i as ze,h as _,r as oe,f as ve,D as q}from"./baseUniq.Cpp3LtUr.js";import{i as Ri,m as S,d as nu,f as Ne,g as Dt,h as Ai,l as Ft,e as ru}from"./basePickBy.Cv297fiu.js";import{c as te}from"./clone.Orx1AHso.js";var iu=Object.prototype,su=iu.hasOwnProperty,Ae=Ul(function(n,e){if(Bl(e)||so(e)){Vl(e,Mt(e),n);return}for(var t in e)su.call(e,t)&&Wl(n,t,e[t])});function fo(n,e,t){var r=-1,i=n.length;e<0&&(e=-e>i?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(i);++r=lu&&(s=Xl,a=!1,e=new ql(e));e:for(;++i-1:!!i&&lo(n,e,t)>-1}function es(n,e,t){var r=n==null?0:n.length;if(!r)return-1;var i=0;return lo(n,e,i)}var Tu="[object RegExp]";function Ru(n){return ao(n)&&oo(n)==Tu}var ts=Qi&&Qi.isRegExp,qe=ts?Kl(ts):Ru,Au="Expected a function";function vu(n){if(typeof n!="function")throw new TypeError(Au);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function Pe(n,e){if(n==null)return{};var t=Jl(Ql(n),function(r){return[r]});return e=Kt(e),nu(n,t,function(r,i){return e(r,i[0])})}function rr(n,e){var t=Z(n)?Zl:eu;return t(n,vu(Kt(e)))}function Eu(n,e){var t;return Ti(n,function(r,i,s){return t=e(r,i,s),!t}),!!t}function ho(n,e,t){var r=Z(n)?tu:Eu;return r(n,Kt(e))}function vi(n){return n&&n.length?uo(n):[]}function ku(n,e){return n&&n.length?uo(n,Kt(e)):[]}function ae(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}function Ge(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}function Su(n){return typeof n=="object"&&n!==null&&typeof n.name=="string"&&typeof n.type=="string"&&typeof n.path=="string"}function xn(n){return typeof n=="object"&&n!==null&&ae(n.container)&&Ge(n.reference)&&typeof n.message=="string"}class po{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return ae(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[t];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,t);return r[t]=s,s}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Gt(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}function mo(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}function go(n){return Gt(n)&&typeof n.fullText=="string"}class ie{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){const e=[],t=this.iterator();let r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){const r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){const t=e[Symbol.iterator]();return new ie(()=>({first:this.startFn(),firstDone:!1}),r=>{let i;if(!r.firstDone){do if(i=this.nextFn(r.first),!i.done)return i;while(!i.done);r.firstDone=!0}do if(i=t.next(),!i.done)return i;while(!i.done);return xe})}join(e=","){const t=this.iterator();let r="",i,s=!1;do i=t.next(),i.done||(s&&(r+=e),r+=Iu(i.value)),s=!0;while(!i.done);return r}indexOf(e,t=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=t&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new ie(this.startFn,t=>{const{done:r,value:i}=this.nextFn(t);return r?xe:{done:!1,value:e(i)}})}filter(e){return new ie(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return xe})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){const r=this.iterator();let i=t,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,t,r);return s===void 0?i.value:t(s,i.value)}find(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new ie(()=>({this:this.startFn()}),t=>{do{if(t.iterator){const s=t.iterator.next();if(s.done)t.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(t.this);if(!r){const s=e(i);if($n(s))t.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(t.iterator);return xe})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const t=e>1?this.flat(e-1):this;return new ie(()=>({this:t.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=t.nextFn(r.this);if(!i)if($n(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return xe})}head(){const t=this.iterator().next();if(!t.done)return t.value}tail(e=1){return new ie(()=>{const t=this.startFn();for(let r=0;r({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?xe:this.nextFn(t.state)))}distinct(e){const t=new Set;return this.filter(r=>{const i=e?e(r):r;return t.has(i)?!1:(t.add(i),!0)})}exclude(e,t){const r=new Set;for(const i of e){const s=t?t(i):i;r.add(s)}return this.filter(i=>{const s=t?t(i):i;return!r.has(s)})}}function Iu(n){return typeof n=="string"?n:typeof n>"u"?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}function $n(n){return!!n&&typeof n[Symbol.iterator]=="function"}const xu=new ie(()=>{},()=>xe),xe=Object.freeze({done:!0,value:void 0});function Q(...n){if(n.length===1){const e=n[0];if(e instanceof ie)return e;if($n(e))return new ie(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new ie(()=>({index:0}),t=>t.index1?new ie(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(t(a.value)[Symbol.iterator]()),a}return xe})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var br;(function(n){function e(s){return s.reduce((a,o)=>a+o,0)}n.sum=e;function t(s){return s.reduce((a,o)=>a*o,0)}n.product=t;function r(s){return s.reduce((a,o)=>Math.min(a,o))}n.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}n.max=i})(br||(br={}));function Pr(n){return new Ei(n,e=>Gt(e)?e.content:[],{includeRoot:!0})}function Nu(n,e){for(;n.container;)if(n=n.container,n===e)return!0;return!1}function Mr(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}function On(n){if(!n)return;const{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}var Ze;(function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside"})(Ze||(Ze={}));function Cu(n,e){if(n.end.linee.end.line||n.start.line===e.end.line&&n.start.character>e.end.character)return Ze.After;const t=n.start.line>e.start.line||n.start.line===e.start.line&&n.start.character>=e.start.character,r=n.end.lineZe.After}const wu=/^[\w\p{L}]$/u;function Lu(n,e){if(n){const t=$u(n,!0);if(t&&ns(t,e))return t;if(go(n)){const r=n.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=n.content[i];if(ns(s,e))return s}}}}function ns(n,e){return mo(n)&&e.includes(n.tokenType.name)}function $u(n,e=!0){for(;n.container;){const t=n.container;let r=t.content.indexOf(n);for(;r>0;){r--;const i=t.content[r];if(e||!i.hidden)return i}n=t}}class yo extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function ir(n){throw new Error("Error! The input value was not handled.")}const Ar="AbstractRule",vr="AbstractType",rs="Condition",Ou="TypeDefinition",is="ValueLiteral",To="AbstractElement";function bu(n){return M.isInstance(n,To)}const Pu="ArrayLiteral",Mu="ArrayType",Ro="BooleanLiteral";function Du(n){return M.isInstance(n,Ro)}const Ao="Conjunction";function Fu(n){return M.isInstance(n,Ao)}const vo="Disjunction";function Gu(n){return M.isInstance(n,vo)}const Uu="Grammar",Eo="InferredType";function ko(n){return M.isInstance(n,Eo)}const So="Interface";function Io(n){return M.isInstance(n,So)}const xo="Negation";function Bu(n){return M.isInstance(n,xo)}const Vu="NumberLiteral",Wu="Parameter",No="ParameterReference";function ju(n){return M.isInstance(n,No)}const Co="ParserRule";function Ce(n){return M.isInstance(n,Co)}const Hu="ReferenceType",Ku="ReturnType";function zu(n){return M.isInstance(n,Ku)}const _o="SimpleType";function qu(n){return M.isInstance(n,_o)}const Yu="StringLiteral",Dr="TerminalRule";function gt(n){return M.isInstance(n,Dr)}const wo="Type";function Lo(n){return M.isInstance(n,wo)}const Xu="UnionType",$o="Action";function sr(n){return M.isInstance(n,$o)}const Oo="Alternatives";function bo(n){return M.isInstance(n,Oo)}const Po="Assignment";function ut(n){return M.isInstance(n,Po)}const Mo="CharacterRange";function Ju(n){return M.isInstance(n,Mo)}const Do="CrossReference";function ki(n){return M.isInstance(n,Do)}const Fo="EndOfFile";function Qu(n){return M.isInstance(n,Fo)}const Go="Group";function Si(n){return M.isInstance(n,Go)}const Uo="Keyword";function dt(n){return M.isInstance(n,Uo)}const Bo="NegatedToken";function Zu(n){return M.isInstance(n,Bo)}const Vo="RegexToken";function ed(n){return M.isInstance(n,Vo)}const Wo="RuleCall";function ft(n){return M.isInstance(n,Wo)}const jo="TerminalAlternatives";function td(n){return M.isInstance(n,jo)}const Ho="TerminalGroup";function nd(n){return M.isInstance(n,Ho)}const Ko="TerminalRuleCall";function rd(n){return M.isInstance(n,Ko)}const zo="UnorderedGroup";function qo(n){return M.isInstance(n,zo)}const Yo="UntilToken";function id(n){return M.isInstance(n,Yo)}const Xo="Wildcard";function sd(n){return M.isInstance(n,Xo)}class Jo extends po{getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayLiteral","ArrayType","Assignment","BooleanLiteral","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","EndOfFile","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","NamedArgument","NegatedToken","Negation","NumberLiteral","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","StringLiteral","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","ValueLiteral","Wildcard"]}computeIsSubtype(e,t){switch(e){case $o:case Oo:case Po:case Mo:case Do:case Fo:case Go:case Uo:case Bo:case Vo:case Wo:case jo:case Ho:case Ko:case zo:case Yo:case Xo:return this.isSubtype(To,t);case Pu:case Vu:case Yu:return this.isSubtype(is,t);case Mu:case Hu:case _o:case Xu:return this.isSubtype(Ou,t);case Ro:return this.isSubtype(rs,t)||this.isSubtype(is,t);case Ao:case vo:case xo:case No:return this.isSubtype(rs,t);case Eo:case So:case wo:return this.isSubtype(vr,t);case Co:return this.isSubtype(Ar,t)||this.isSubtype(vr,t);case Dr:return this.isSubtype(Ar,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return vr;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Ar;case"Grammar:usedGrammars":return Uu;case"NamedArgument:parameter":case"ParameterReference:parameter":return Wu;case"TerminalRuleCall:rule":return Dr;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"AbstractElement":return{name:"AbstractElement",properties:[{name:"cardinality"},{name:"lookahead"}]};case"ArrayLiteral":return{name:"ArrayLiteral",properties:[{name:"elements",defaultValue:[]}]};case"ArrayType":return{name:"ArrayType",properties:[{name:"elementType"}]};case"BooleanLiteral":return{name:"BooleanLiteral",properties:[{name:"true",defaultValue:!1}]};case"Conjunction":return{name:"Conjunction",properties:[{name:"left"},{name:"right"}]};case"Disjunction":return{name:"Disjunction",properties:[{name:"left"},{name:"right"}]};case"Grammar":return{name:"Grammar",properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case"GrammarImport":return{name:"GrammarImport",properties:[{name:"path"}]};case"InferredType":return{name:"InferredType",properties:[{name:"name"}]};case"Interface":return{name:"Interface",properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case"NamedArgument":return{name:"NamedArgument",properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case"Negation":return{name:"Negation",properties:[{name:"value"}]};case"NumberLiteral":return{name:"NumberLiteral",properties:[{name:"value"}]};case"Parameter":return{name:"Parameter",properties:[{name:"name"}]};case"ParameterReference":return{name:"ParameterReference",properties:[{name:"parameter"}]};case"ParserRule":return{name:"ParserRule",properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case"ReferenceType":return{name:"ReferenceType",properties:[{name:"referenceType"}]};case"ReturnType":return{name:"ReturnType",properties:[{name:"name"}]};case"SimpleType":return{name:"SimpleType",properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case"StringLiteral":return{name:"StringLiteral",properties:[{name:"value"}]};case"TerminalRule":return{name:"TerminalRule",properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case"Type":return{name:"Type",properties:[{name:"name"},{name:"type"}]};case"TypeAttribute":return{name:"TypeAttribute",properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case"UnionType":return{name:"UnionType",properties:[{name:"types",defaultValue:[]}]};case"Action":return{name:"Action",properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case"Alternatives":return{name:"Alternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"Assignment":return{name:"Assignment",properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case"CharacterRange":return{name:"CharacterRange",properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case"CrossReference":return{name:"CrossReference",properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case"EndOfFile":return{name:"EndOfFile",properties:[{name:"cardinality"},{name:"lookahead"}]};case"Group":return{name:"Group",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case"Keyword":return{name:"Keyword",properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case"NegatedToken":return{name:"NegatedToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"RegexToken":return{name:"RegexToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case"RuleCall":return{name:"RuleCall",properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalGroup":return{name:"TerminalGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalRuleCall":return{name:"TerminalRuleCall",properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"UnorderedGroup":return{name:"UnorderedGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"UntilToken":return{name:"UntilToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"Wildcard":return{name:"Wildcard",properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const M=new Jo;function ad(n){for(const[e,t]of Object.entries(n))e.startsWith("$")||(Array.isArray(t)?t.forEach((r,i)=>{ae(r)&&(r.$container=n,r.$containerProperty=e,r.$containerIndex=i)}):ae(t)&&(t.$container=n,t.$containerProperty=e))}function ar(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}function Ue(n){const t=od(n).$document;if(!t)throw new Error("AST node has no document.");return t}function od(n){for(;n.$container;)n=n.$container;return n}function Ii(n,e){if(!n)throw new Error("Node must be an AstNode.");const t=e==null?void 0:e.range;return new ie(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndexIi(t,e))}function vt(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new Ei(n,t=>Ii(t,e),{includeRoot:!0})}function ss(n,e){var t;if(!e)return!0;const r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return r?_u(r,e):!1}function Qo(n){return new ie(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexe in n?Fl(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Je=(n,e,t)=>Gl(n,typeof e!="symbol"?e+"":e,t);import{V as tn}from"./framework.CGQ59HuL.js";import{bz as Ul,bA as Bl,aQ as so,bj as Vl,aU as Wl,aR as Z,aA as jl,aB as Ji,b9 as Hl,bc as ao,bd as oo,bo as Qi,ba as Kl,aD as mt,aE as D,aS as Zi,aM as zl}from"../app.XeY7gsc2.js";import{k as Mt,l as Ti,g as Kt,S as ql,w as Yl,x as Xl,c as co,v as K,y as lo,m as Jl,z as Ql,A as Zl,B as eu,C as tu,a as uo,d as C,i as ze,h as _,r as oe,f as ve,D as q}from"./baseUniq.D3QFBTuJ.js";import{i as Ri,m as S,d as nu,f as Ne,g as Dt,h as Ai,l as Ft,e as ru}from"./basePickBy.DQSVnGZT.js";import{c as te}from"./clone.DN5RQA0U.js";var iu=Object.prototype,su=iu.hasOwnProperty,Ae=Ul(function(n,e){if(Bl(e)||so(e)){Vl(e,Mt(e),n);return}for(var t in e)su.call(e,t)&&Wl(n,t,e[t])});function fo(n,e,t){var r=-1,i=n.length;e<0&&(e=-e>i?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(i);++r=lu&&(s=Xl,a=!1,e=new ql(e));e:for(;++i-1:!!i&&lo(n,e,t)>-1}function es(n,e,t){var r=n==null?0:n.length;if(!r)return-1;var i=0;return lo(n,e,i)}var Tu="[object RegExp]";function Ru(n){return ao(n)&&oo(n)==Tu}var ts=Qi&&Qi.isRegExp,qe=ts?Kl(ts):Ru,Au="Expected a function";function vu(n){if(typeof n!="function")throw new TypeError(Au);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function Pe(n,e){if(n==null)return{};var t=Jl(Ql(n),function(r){return[r]});return e=Kt(e),nu(n,t,function(r,i){return e(r,i[0])})}function rr(n,e){var t=Z(n)?Zl:eu;return t(n,vu(Kt(e)))}function Eu(n,e){var t;return Ti(n,function(r,i,s){return t=e(r,i,s),!t}),!!t}function ho(n,e,t){var r=Z(n)?tu:Eu;return r(n,Kt(e))}function vi(n){return n&&n.length?uo(n):[]}function ku(n,e){return n&&n.length?uo(n,Kt(e)):[]}function ae(n){return typeof n=="object"&&n!==null&&typeof n.$type=="string"}function Ge(n){return typeof n=="object"&&n!==null&&typeof n.$refText=="string"}function Su(n){return typeof n=="object"&&n!==null&&typeof n.name=="string"&&typeof n.type=="string"&&typeof n.path=="string"}function xn(n){return typeof n=="object"&&n!==null&&ae(n.container)&&Ge(n.reference)&&typeof n.message=="string"}class po{constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,t){return ae(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});const i=r[t];if(i!==void 0)return i;{const s=this.computeIsSubtype(e,t);return r[t]=s,s}}getAllSubTypes(e){const t=this.allSubtypes[e];if(t)return t;{const r=this.getAllTypes(),i=[];for(const s of r)this.isSubtype(s,e)&&i.push(s);return this.allSubtypes[e]=i,i}}}function Gt(n){return typeof n=="object"&&n!==null&&Array.isArray(n.content)}function mo(n){return typeof n=="object"&&n!==null&&typeof n.tokenType=="object"}function go(n){return Gt(n)&&typeof n.fullText=="string"}class ie{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){const e=[],t=this.iterator();let r;do r=t.next(),r.value!==void 0&&e.push(r.value);while(!r.done);return e}toSet(){return new Set(this)}toMap(e,t){const r=this.map(i=>[e?e(i):i,t?t(i):i]);return new Map(r)}toString(){return this.join()}concat(e){const t=e[Symbol.iterator]();return new ie(()=>({first:this.startFn(),firstDone:!1}),r=>{let i;if(!r.firstDone){do if(i=this.nextFn(r.first),!i.done)return i;while(!i.done);r.firstDone=!0}do if(i=t.next(),!i.done)return i;while(!i.done);return xe})}join(e=","){const t=this.iterator();let r="",i,s=!1;do i=t.next(),i.done||(s&&(r+=e),r+=Iu(i.value)),s=!0;while(!i.done);return r}indexOf(e,t=0){const r=this.iterator();let i=0,s=r.next();for(;!s.done;){if(i>=t&&s.value===e)return i;s=r.next(),i++}return-1}every(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;)e(i.value,r),i=t.next(),r++}map(e){return new ie(this.startFn,t=>{const{done:r,value:i}=this.nextFn(t);return r?xe:{done:!1,value:e(i)}})}filter(e){return new ie(this.startFn,t=>{let r;do if(r=this.nextFn(t),!r.done&&e(r.value))return r;while(!r.done);return xe})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,t){const r=this.iterator();let i=t,s=r.next();for(;!s.done;)i===void 0?i=s.value:i=e(i,s.value),s=r.next();return i}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){const i=e.next();if(i.done)return r;const s=this.recursiveReduce(e,t,r);return s===void 0?i.value:t(s,i.value)}find(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){const t=this.iterator();let r=0,i=t.next();for(;!i.done;){if(e(i.value))return r;i=t.next(),r++}return-1}includes(e){const t=this.iterator();let r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new ie(()=>({this:this.startFn()}),t=>{do{if(t.iterator){const s=t.iterator.next();if(s.done)t.iterator=void 0;else return s}const{done:r,value:i}=this.nextFn(t.this);if(!r){const s=e(i);if($n(s))t.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}}while(t.iterator);return xe})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const t=e>1?this.flat(e-1):this;return new ie(()=>({this:t.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:i,value:s}=t.nextFn(r.this);if(!i)if($n(s))r.iterator=s[Symbol.iterator]();else return{done:!1,value:s}}while(r.iterator);return xe})}head(){const t=this.iterator().next();if(!t.done)return t.value}tail(e=1){return new ie(()=>{const t=this.startFn();for(let r=0;r({size:0,state:this.startFn()}),t=>(t.size++,t.size>e?xe:this.nextFn(t.state)))}distinct(e){const t=new Set;return this.filter(r=>{const i=e?e(r):r;return t.has(i)?!1:(t.add(i),!0)})}exclude(e,t){const r=new Set;for(const i of e){const s=t?t(i):i;r.add(s)}return this.filter(i=>{const s=t?t(i):i;return!r.has(s)})}}function Iu(n){return typeof n=="string"?n:typeof n>"u"?"undefined":typeof n.toString=="function"?n.toString():Object.prototype.toString.call(n)}function $n(n){return!!n&&typeof n[Symbol.iterator]=="function"}const xu=new ie(()=>{},()=>xe),xe=Object.freeze({done:!0,value:void 0});function Q(...n){if(n.length===1){const e=n[0];if(e instanceof ie)return e;if($n(e))return new ie(()=>e[Symbol.iterator](),t=>t.next());if(typeof e.length=="number")return new ie(()=>({index:0}),t=>t.index1?new ie(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex({iterators:r!=null&&r.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const a=i.iterators[i.iterators.length-1].next();if(a.done)i.iterators.pop();else return i.iterators.push(t(a.value)[Symbol.iterator]()),a}return xe})}iterator(){const e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}var br;(function(n){function e(s){return s.reduce((a,o)=>a+o,0)}n.sum=e;function t(s){return s.reduce((a,o)=>a*o,0)}n.product=t;function r(s){return s.reduce((a,o)=>Math.min(a,o))}n.min=r;function i(s){return s.reduce((a,o)=>Math.max(a,o))}n.max=i})(br||(br={}));function Pr(n){return new Ei(n,e=>Gt(e)?e.content:[],{includeRoot:!0})}function Nu(n,e){for(;n.container;)if(n=n.container,n===e)return!0;return!1}function Mr(n){return{start:{character:n.startColumn-1,line:n.startLine-1},end:{character:n.endColumn,line:n.endLine-1}}}function On(n){if(!n)return;const{offset:e,end:t,range:r}=n;return{range:r,offset:e,end:t,length:t-e}}var Ze;(function(n){n[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside"})(Ze||(Ze={}));function Cu(n,e){if(n.end.linee.end.line||n.start.line===e.end.line&&n.start.character>e.end.character)return Ze.After;const t=n.start.line>e.start.line||n.start.line===e.start.line&&n.start.character>=e.start.character,r=n.end.lineZe.After}const wu=/^[\w\p{L}]$/u;function Lu(n,e){if(n){const t=$u(n,!0);if(t&&ns(t,e))return t;if(go(n)){const r=n.content.findIndex(i=>!i.hidden);for(let i=r-1;i>=0;i--){const s=n.content[i];if(ns(s,e))return s}}}}function ns(n,e){return mo(n)&&e.includes(n.tokenType.name)}function $u(n,e=!0){for(;n.container;){const t=n.container;let r=t.content.indexOf(n);for(;r>0;){r--;const i=t.content[r];if(e||!i.hidden)return i}n=t}}class yo extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function ir(n){throw new Error("Error! The input value was not handled.")}const Ar="AbstractRule",vr="AbstractType",rs="Condition",Ou="TypeDefinition",is="ValueLiteral",To="AbstractElement";function bu(n){return M.isInstance(n,To)}const Pu="ArrayLiteral",Mu="ArrayType",Ro="BooleanLiteral";function Du(n){return M.isInstance(n,Ro)}const Ao="Conjunction";function Fu(n){return M.isInstance(n,Ao)}const vo="Disjunction";function Gu(n){return M.isInstance(n,vo)}const Uu="Grammar",Eo="InferredType";function ko(n){return M.isInstance(n,Eo)}const So="Interface";function Io(n){return M.isInstance(n,So)}const xo="Negation";function Bu(n){return M.isInstance(n,xo)}const Vu="NumberLiteral",Wu="Parameter",No="ParameterReference";function ju(n){return M.isInstance(n,No)}const Co="ParserRule";function Ce(n){return M.isInstance(n,Co)}const Hu="ReferenceType",Ku="ReturnType";function zu(n){return M.isInstance(n,Ku)}const _o="SimpleType";function qu(n){return M.isInstance(n,_o)}const Yu="StringLiteral",Dr="TerminalRule";function gt(n){return M.isInstance(n,Dr)}const wo="Type";function Lo(n){return M.isInstance(n,wo)}const Xu="UnionType",$o="Action";function sr(n){return M.isInstance(n,$o)}const Oo="Alternatives";function bo(n){return M.isInstance(n,Oo)}const Po="Assignment";function ut(n){return M.isInstance(n,Po)}const Mo="CharacterRange";function Ju(n){return M.isInstance(n,Mo)}const Do="CrossReference";function ki(n){return M.isInstance(n,Do)}const Fo="EndOfFile";function Qu(n){return M.isInstance(n,Fo)}const Go="Group";function Si(n){return M.isInstance(n,Go)}const Uo="Keyword";function dt(n){return M.isInstance(n,Uo)}const Bo="NegatedToken";function Zu(n){return M.isInstance(n,Bo)}const Vo="RegexToken";function ed(n){return M.isInstance(n,Vo)}const Wo="RuleCall";function ft(n){return M.isInstance(n,Wo)}const jo="TerminalAlternatives";function td(n){return M.isInstance(n,jo)}const Ho="TerminalGroup";function nd(n){return M.isInstance(n,Ho)}const Ko="TerminalRuleCall";function rd(n){return M.isInstance(n,Ko)}const zo="UnorderedGroup";function qo(n){return M.isInstance(n,zo)}const Yo="UntilToken";function id(n){return M.isInstance(n,Yo)}const Xo="Wildcard";function sd(n){return M.isInstance(n,Xo)}class Jo extends po{getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayLiteral","ArrayType","Assignment","BooleanLiteral","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","EndOfFile","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","NamedArgument","NegatedToken","Negation","NumberLiteral","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","StringLiteral","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","ValueLiteral","Wildcard"]}computeIsSubtype(e,t){switch(e){case $o:case Oo:case Po:case Mo:case Do:case Fo:case Go:case Uo:case Bo:case Vo:case Wo:case jo:case Ho:case Ko:case zo:case Yo:case Xo:return this.isSubtype(To,t);case Pu:case Vu:case Yu:return this.isSubtype(is,t);case Mu:case Hu:case _o:case Xu:return this.isSubtype(Ou,t);case Ro:return this.isSubtype(rs,t)||this.isSubtype(is,t);case Ao:case vo:case xo:case No:return this.isSubtype(rs,t);case Eo:case So:case wo:return this.isSubtype(vr,t);case Co:return this.isSubtype(Ar,t)||this.isSubtype(vr,t);case Dr:return this.isSubtype(Ar,t);default:return!1}}getReferenceType(e){const t=`${e.container.$type}:${e.property}`;switch(t){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return vr;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Ar;case"Grammar:usedGrammars":return Uu;case"NamedArgument:parameter":case"ParameterReference:parameter":return Wu;case"TerminalRuleCall:rule":return Dr;default:throw new Error(`${t} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case"AbstractElement":return{name:"AbstractElement",properties:[{name:"cardinality"},{name:"lookahead"}]};case"ArrayLiteral":return{name:"ArrayLiteral",properties:[{name:"elements",defaultValue:[]}]};case"ArrayType":return{name:"ArrayType",properties:[{name:"elementType"}]};case"BooleanLiteral":return{name:"BooleanLiteral",properties:[{name:"true",defaultValue:!1}]};case"Conjunction":return{name:"Conjunction",properties:[{name:"left"},{name:"right"}]};case"Disjunction":return{name:"Disjunction",properties:[{name:"left"},{name:"right"}]};case"Grammar":return{name:"Grammar",properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case"GrammarImport":return{name:"GrammarImport",properties:[{name:"path"}]};case"InferredType":return{name:"InferredType",properties:[{name:"name"}]};case"Interface":return{name:"Interface",properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case"NamedArgument":return{name:"NamedArgument",properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case"Negation":return{name:"Negation",properties:[{name:"value"}]};case"NumberLiteral":return{name:"NumberLiteral",properties:[{name:"value"}]};case"Parameter":return{name:"Parameter",properties:[{name:"name"}]};case"ParameterReference":return{name:"ParameterReference",properties:[{name:"parameter"}]};case"ParserRule":return{name:"ParserRule",properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case"ReferenceType":return{name:"ReferenceType",properties:[{name:"referenceType"}]};case"ReturnType":return{name:"ReturnType",properties:[{name:"name"}]};case"SimpleType":return{name:"SimpleType",properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case"StringLiteral":return{name:"StringLiteral",properties:[{name:"value"}]};case"TerminalRule":return{name:"TerminalRule",properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case"Type":return{name:"Type",properties:[{name:"name"},{name:"type"}]};case"TypeAttribute":return{name:"TypeAttribute",properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case"UnionType":return{name:"UnionType",properties:[{name:"types",defaultValue:[]}]};case"Action":return{name:"Action",properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case"Alternatives":return{name:"Alternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"Assignment":return{name:"Assignment",properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case"CharacterRange":return{name:"CharacterRange",properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case"CrossReference":return{name:"CrossReference",properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case"EndOfFile":return{name:"EndOfFile",properties:[{name:"cardinality"},{name:"lookahead"}]};case"Group":return{name:"Group",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case"Keyword":return{name:"Keyword",properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case"NegatedToken":return{name:"NegatedToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"RegexToken":return{name:"RegexToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case"RuleCall":return{name:"RuleCall",properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalGroup":return{name:"TerminalGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalRuleCall":return{name:"TerminalRuleCall",properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"UnorderedGroup":return{name:"UnorderedGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"UntilToken":return{name:"UntilToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"Wildcard":return{name:"Wildcard",properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}}const M=new Jo;function ad(n){for(const[e,t]of Object.entries(n))e.startsWith("$")||(Array.isArray(t)?t.forEach((r,i)=>{ae(r)&&(r.$container=n,r.$containerProperty=e,r.$containerIndex=i)}):ae(t)&&(t.$container=n,t.$containerProperty=e))}function ar(n,e){let t=n;for(;t;){if(e(t))return t;t=t.$container}}function Ue(n){const t=od(n).$document;if(!t)throw new Error("AST node has no document.");return t}function od(n){for(;n.$container;)n=n.$container;return n}function Ii(n,e){if(!n)throw new Error("Node must be an AstNode.");const t=e==null?void 0:e.range;return new ie(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),r=>{for(;r.keyIndexIi(t,e))}function vt(n,e){if(!n)throw new Error("Root node must be an AstNode.");return new Ei(n,t=>Ii(t,e),{includeRoot:!0})}function ss(n,e){var t;if(!e)return!0;const r=(t=n.$cstNode)===null||t===void 0?void 0:t.range;return r?_u(r,e):!1}function Qo(n){return new ie(()=>({keys:Object.keys(n),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndexer({...yr,...tr().gitGraph}),"getConfig"),i=new F(()=>{const t=z(),r=t.mainBranchName,a=t.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:a}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function j(){return ar({length:7})}h(j,"getID");function N(t,r){const a=Object.create(null);return t.reduce((s,e)=>{const n=r(e);return a[n]||(a[n]=!0,s.push(e)),s},[])}h(N,"uniqBy");var pr=h(function(t){i.records.direction=t},"setDirection"),ur=h(function(t){w.debug("options str",t),t=t==null?void 0:t.trim(),t=t||"{}";try{i.records.options=JSON.parse(t)}catch(r){w.error("error while parsing gitGraph options",r.message)}},"setOptions"),xr=h(function(){return i.records.options},"getOptions"),br=h(function(t){let r=t.msg,a=t.id;const s=t.type;let e=t.tags;w.info("commit",r,a,s,e),w.debug("Entering commit:",r,a,s,e);const n=z();a=B.sanitizeText(a,n),r=B.sanitizeText(r,n),e=e==null?void 0:e.map(o=>B.sanitizeText(o,n));const c={id:a||i.records.seq+"-"+j(),message:r,seq:i.records.seq++,type:s??u.NORMAL,tags:e??[],parents:i.records.head==null?[]:[i.records.head.id],branch:i.records.currBranch};i.records.head=c,w.info("main branch",n.mainBranchName),i.records.commits.set(c.id,c),i.records.branches.set(i.records.currBranch,c.id),w.debug("in pushCommit "+c.id)},"commit"),mr=h(function(t){let r=t.name;const a=t.order;if(r=B.sanitizeText(r,z()),i.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);i.records.branches.set(r,i.records.head!=null?i.records.head.id:null),i.records.branchConfig.set(r,{name:r,order:a}),_(r),w.debug("in createBranch")},"branch"),wr=h(t=>{let r=t.branch,a=t.id;const s=t.type,e=t.tags,n=z();r=B.sanitizeText(r,n),a&&(a=B.sanitizeText(a,n));const c=i.records.branches.get(i.records.currBranch),o=i.records.branches.get(r),$=c?i.records.commits.get(c):void 0,l=o?i.records.commits.get(o):void 0;if($&&l&&$.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(i.records.currBranch===r){const d=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if($===void 0||!$){const d=new Error(`Incorrect usage of "merge". Current branch (${i.records.currBranch})has no commits`);throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},d}if(!i.records.branches.has(r)){const d=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},d}if(l===void 0||!l){const d=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},d}if($===l){const d=new Error('Incorrect usage of "merge". Both branches have same head');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(a&&i.records.commits.has(a)){const d=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw d.hash={text:`merge ${r} ${a} ${s} ${e==null?void 0:e.join(" ")}`,token:`merge ${r} ${a} ${s} ${e==null?void 0:e.join(" ")}`,expected:[`merge ${r} ${a}_UNIQUE ${s} ${e==null?void 0:e.join(" ")}`]},d}const f=o||"",g={id:a||`${i.records.seq}-${j()}`,message:`merged branch ${r} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,f],branch:i.records.currBranch,type:u.MERGE,customType:s,customId:!!a,tags:e??[]};i.records.head=g,i.records.commits.set(g.id,g),i.records.branches.set(i.records.currBranch,g.id),w.debug(i.records.branches),w.debug("in mergeBranch")},"merge"),vr=h(function(t){let r=t.id,a=t.targetId,s=t.tags,e=t.parent;w.debug("Entering cherryPick:",r,a,s);const n=z();if(r=B.sanitizeText(r,n),a=B.sanitizeText(a,n),s=s==null?void 0:s.map($=>B.sanitizeText($,n)),e=B.sanitizeText(e,n),!r||!i.records.commits.has(r)){const $=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw $.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},$}const c=i.records.commits.get(r);if(c===void 0||!c)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(e&&!(Array.isArray(c.parents)&&c.parents.includes(e)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=c.branch;if(c.type===u.MERGE&&!e)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!a||!i.records.commits.has(a)){if(o===i.records.currBranch){const g=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw g.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},g}const $=i.records.branches.get(i.records.currBranch);if($===void 0||!$){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},g}const l=i.records.commits.get($);if(l===void 0||!l){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},g}const f={id:i.records.seq+"-"+j(),message:`cherry-picked ${c==null?void 0:c.message} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,c.id],branch:i.records.currBranch,type:u.CHERRY_PICK,tags:s?s.filter(Boolean):[`cherry-pick:${c.id}${c.type===u.MERGE?`|parent:${e}`:""}`]};i.records.head=f,i.records.commits.set(f.id,f),i.records.branches.set(i.records.currBranch,f.id),w.debug(i.records.branches),w.debug("in cherryPick")}},"cherryPick"),_=h(function(t){if(t=B.sanitizeText(t,z()),i.records.branches.has(t)){i.records.currBranch=t;const r=i.records.branches.get(i.records.currBranch);r===void 0||!r?i.records.head=null:i.records.head=i.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw r.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},r}},"checkout");function A(t,r,a){const s=t.indexOf(r);s===-1?t.push(a):t.splice(s,1,a)}h(A,"upsert");function D(t){const r=t.reduce((e,n)=>e.seq>n.seq?e:n,t[0]);let a="";t.forEach(function(e){e===r?a+=" *":a+=" |"});const s=[a,r.id,r.seq];for(const e in i.records.branches)i.records.branches.get(e)===r.id&&s.push(e);if(w.debug(s.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const e=i.records.commits.get(r.parents[0]);A(t,r,e),r.parents[1]&&t.push(i.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const e=i.records.commits.get(r.parents[0]);A(t,r,e)}}t=N(t,e=>e.id),D(t)}h(D,"prettyPrintCommitHistory");var Cr=h(function(){w.debug(i.records.commits);const t=V()[0];D([t])},"prettyPrint"),Er=h(function(){i.reset(),hr()},"clear"),Br=h(function(){return[...i.records.branchConfig.values()].map((r,a)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${a}`)}).sort((r,a)=>(r.order??0)-(a.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),kr=h(function(){return i.records.branches},"getBranches"),Lr=h(function(){return i.records.commits},"getCommits"),V=h(function(){const t=[...i.records.commits.values()];return t.forEach(function(r){w.debug(r.id)}),t.sort((r,a)=>r.seq-a.seq),t},"getCommitsArray"),Tr=h(function(){return i.records.currBranch},"getCurrentBranch"),Mr=h(function(){return i.records.direction},"getDirection"),Rr=h(function(){return i.records.head},"getHead"),X={commitType:u,getConfig:z,setDirection:pr,setOptions:ur,getOptions:xr,commit:br,branch:mr,merge:wr,cherryPick:vr,checkout:_,prettyPrint:Cr,clear:Er,getBranchesAsObjArray:Br,getBranches:kr,getCommits:Lr,getCommitsArray:V,getCurrentBranch:Tr,getDirection:Mr,getHead:Rr,setAccTitle:nr,getAccTitle:sr,getAccDescription:or,setAccDescription:cr,setDiagramTitle:ir,getDiagramTitle:dr},Ir=h((t,r)=>{Z(t,r),t.dir&&r.setDirection(t.dir);for(const a of t.statements)qr(a,r)},"populate"),qr=h((t,r)=>{const s={Commit:h(e=>r.commit(Or(e)),"Commit"),Branch:h(e=>r.branch(zr(e)),"Branch"),Merge:h(e=>r.merge(Gr(e)),"Merge"),Checkout:h(e=>r.checkout(Hr(e)),"Checkout"),CherryPicking:h(e=>r.cherryPick(Pr(e)),"CherryPicking")}[t.$type];s?s(t):w.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),Or=h(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?u[t.type]:u.NORMAL,tags:t.tags??void 0}),"parseCommit"),zr=h(t=>({name:t.name,order:t.order??0}),"parseBranch"),Gr=h(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?u[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),Hr=h(t=>t.branch,"parseCheckout"),Pr=h(t=>{var a;return{id:t.id,targetId:"",tags:((a=t.tags)==null?void 0:a.length)===0?void 0:t.tags,parent:t.parent}},"parseCherryPicking"),Wr={parse:h(async t=>{const r=await gr("gitGraph",t);w.debug(r),Ir(r,X)},"parse")},S=rr(),b=S==null?void 0:S.gitGraph,R=10,I=40,k=4,L=2,O=8,C=new Map,E=new Map,P=30,G=new Map,W=[],M=0,p="LR",jr=h(()=>{C.clear(),E.clear(),G.clear(),M=0,W=[],p="LR"},"clear"),J=h(t=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(s=>{const e=document.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","0"),e.setAttribute("class","row"),e.textContent=s.trim(),r.appendChild(e)}),r},"drawText"),Q=h(t=>{let r,a,s;return p==="BT"?(a=h((e,n)=>e<=n,"comparisonFunc"),s=1/0):(a=h((e,n)=>e>=n,"comparisonFunc"),s=0),t.forEach(e=>{var c,o;const n=p==="TB"||p=="BT"?(c=E.get(e))==null?void 0:c.y:(o=E.get(e))==null?void 0:o.x;n!==void 0&&a(n,s)&&(r=e,s=n)}),r},"findClosestParent"),Sr=h(t=>{let r="",a=1/0;return t.forEach(s=>{const e=E.get(s).y;e<=a&&(r=s,a=e)}),r||void 0},"findClosestParentBT"),Ar=h((t,r,a)=>{let s=a,e=a;const n=[];t.forEach(c=>{const o=r.get(c);if(!o)throw new Error(`Commit not found for key ${c}`);o.parents.length?(s=Yr(o),e=Math.max(s,e)):n.push(o),Kr(o,s)}),s=e,n.forEach(c=>{Nr(c,s,a)}),t.forEach(c=>{const o=r.get(c);if(o!=null&&o.parents.length){const $=Sr(o.parents);s=E.get($).y-I,s<=e&&(e=s);const l=C.get(o.branch).pos,f=s-R;E.set(o.id,{x:l,y:f})}})},"setParallelBTPos"),Dr=h(t=>{var s;const r=Q(t.parents.filter(e=>e!==null));if(!r)throw new Error(`Closest parent not found for commit ${t.id}`);const a=(s=E.get(r))==null?void 0:s.y;if(a===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return a},"findClosestParentPos"),Yr=h(t=>Dr(t)+I,"calculateCommitPosition"),Kr=h((t,r)=>{const a=C.get(t.branch);if(!a)throw new Error(`Branch not found for commit ${t.id}`);const s=a.pos,e=r+R;return E.set(t.id,{x:s,y:e}),{x:s,y:e}},"setCommitPosition"),Nr=h((t,r,a)=>{const s=C.get(t.branch);if(!s)throw new Error(`Branch not found for commit ${t.id}`);const e=r+a,n=s.pos;E.set(t.id,{x:n,y:e})},"setRootPosition"),_r=h((t,r,a,s,e,n)=>{if(n===u.HIGHLIGHT)t.append("rect").attr("x",a.x-10).attr("y",a.y-10).attr("width",20).attr("height",20).attr("class",`commit ${r.id} commit-highlight${e%O} ${s}-outer`),t.append("rect").attr("x",a.x-6).attr("y",a.y-6).attr("width",12).attr("height",12).attr("class",`commit ${r.id} commit${e%O} ${s}-inner`);else if(n===u.CHERRY_PICK)t.append("circle").attr("cx",a.x).attr("cy",a.y).attr("r",10).attr("class",`commit ${r.id} ${s}`),t.append("circle").attr("cx",a.x-3).attr("cy",a.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${s}`),t.append("circle").attr("cx",a.x+3).attr("cy",a.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${s}`),t.append("line").attr("x1",a.x+3).attr("y1",a.y+1).attr("x2",a.x).attr("y2",a.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${s}`),t.append("line").attr("x1",a.x-3).attr("y1",a.y+1).attr("x2",a.x).attr("y2",a.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${s}`);else{const c=t.append("circle");if(c.attr("cx",a.x),c.attr("cy",a.y),c.attr("r",r.type===u.MERGE?9:10),c.attr("class",`commit ${r.id} commit${e%O}`),n===u.MERGE){const o=t.append("circle");o.attr("cx",a.x),o.attr("cy",a.y),o.attr("r",6),o.attr("class",`commit ${s} ${r.id} commit${e%O}`)}n===u.REVERSE&&t.append("path").attr("d",`M ${a.x-5},${a.y-5}L${a.x+5},${a.y+5}M${a.x-5},${a.y+5}L${a.x+5},${a.y-5}`).attr("class",`commit ${s} ${r.id} commit${e%O}`)}},"drawCommitBullet"),Vr=h((t,r,a,s)=>{var e;if(r.type!==u.CHERRY_PICK&&(r.customId&&r.type===u.MERGE||r.type!==u.MERGE)&&(b!=null&&b.showCommitLabel)){const n=t.append("g"),c=n.insert("rect").attr("class","commit-label-bkg"),o=n.append("text").attr("x",s).attr("y",a.y+25).attr("class","commit-label").text(r.id),$=(e=o.node())==null?void 0:e.getBBox();if($&&(c.attr("x",a.posWithOffset-$.width/2-L).attr("y",a.y+13.5).attr("width",$.width+2*L).attr("height",$.height+2*L),p==="TB"||p==="BT"?(c.attr("x",a.x-($.width+4*k+5)).attr("y",a.y-12),o.attr("x",a.x-($.width+4*k)).attr("y",a.y+$.height-12)):o.attr("x",a.posWithOffset-$.width/2),b.rotateCommitLabel))if(p==="TB"||p==="BT")o.attr("transform","rotate(-45, "+a.x+", "+a.y+")"),c.attr("transform","rotate(-45, "+a.x+", "+a.y+")");else{const l=-7.5-($.width+10)/25*9.5,f=10+$.width/25*8.5;n.attr("transform","translate("+l+", "+f+") rotate(-45, "+s+", "+a.y+")")}}},"drawCommitLabel"),Xr=h((t,r,a,s)=>{var e;if(r.tags.length>0){let n=0,c=0,o=0;const $=[];for(const l of r.tags.reverse()){const f=t.insert("polygon"),g=t.append("circle"),d=t.append("text").attr("y",a.y-16-n).attr("class","tag-label").text(l),y=(e=d.node())==null?void 0:e.getBBox();if(!y)throw new Error("Tag bbox not found");c=Math.max(c,y.width),o=Math.max(o,y.height),d.attr("x",a.posWithOffset-y.width/2),$.push({tag:d,hole:g,rect:f,yOffset:n}),n+=20}for(const{tag:l,hole:f,rect:g,yOffset:d}of $){const y=o/2,x=a.y-19.2-d;if(g.attr("class","tag-label-bkg").attr("points",` +import{p as Z}from"./chunk-RYO7GUH3.Cq4tzjLf.js";import{I as F}from"./chunk-6JKP7OK7.BZQScEOe.js";import{B as U,_ as h,d as rr,D as er,E as tr,F as ar,l as w,s as nr,g as sr,b as or,c as cr,q as ir,r as dr,e as B,v as hr,j as lr,u as $r,G as fr}from"../app.XeY7gsc2.js";import{p as gr}from"./gitGraph-YCYPL57B.BBU61gGy.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./baseUniq.D3QFBTuJ.js";import"./basePickBy.DQSVnGZT.js";import"./clone.DN5RQA0U.js";var u={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},yr=U.gitGraph,z=h(()=>er({...yr,...tr().gitGraph}),"getConfig"),i=new F(()=>{const t=z(),r=t.mainBranchName,a=t.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:a}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function j(){return ar({length:7})}h(j,"getID");function N(t,r){const a=Object.create(null);return t.reduce((s,e)=>{const n=r(e);return a[n]||(a[n]=!0,s.push(e)),s},[])}h(N,"uniqBy");var pr=h(function(t){i.records.direction=t},"setDirection"),ur=h(function(t){w.debug("options str",t),t=t==null?void 0:t.trim(),t=t||"{}";try{i.records.options=JSON.parse(t)}catch(r){w.error("error while parsing gitGraph options",r.message)}},"setOptions"),xr=h(function(){return i.records.options},"getOptions"),br=h(function(t){let r=t.msg,a=t.id;const s=t.type;let e=t.tags;w.info("commit",r,a,s,e),w.debug("Entering commit:",r,a,s,e);const n=z();a=B.sanitizeText(a,n),r=B.sanitizeText(r,n),e=e==null?void 0:e.map(o=>B.sanitizeText(o,n));const c={id:a||i.records.seq+"-"+j(),message:r,seq:i.records.seq++,type:s??u.NORMAL,tags:e??[],parents:i.records.head==null?[]:[i.records.head.id],branch:i.records.currBranch};i.records.head=c,w.info("main branch",n.mainBranchName),i.records.commits.set(c.id,c),i.records.branches.set(i.records.currBranch,c.id),w.debug("in pushCommit "+c.id)},"commit"),mr=h(function(t){let r=t.name;const a=t.order;if(r=B.sanitizeText(r,z()),i.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);i.records.branches.set(r,i.records.head!=null?i.records.head.id:null),i.records.branchConfig.set(r,{name:r,order:a}),_(r),w.debug("in createBranch")},"branch"),wr=h(t=>{let r=t.branch,a=t.id;const s=t.type,e=t.tags,n=z();r=B.sanitizeText(r,n),a&&(a=B.sanitizeText(a,n));const c=i.records.branches.get(i.records.currBranch),o=i.records.branches.get(r),$=c?i.records.commits.get(c):void 0,l=o?i.records.commits.get(o):void 0;if($&&l&&$.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(i.records.currBranch===r){const d=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if($===void 0||!$){const d=new Error(`Incorrect usage of "merge". Current branch (${i.records.currBranch})has no commits`);throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},d}if(!i.records.branches.has(r)){const d=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},d}if(l===void 0||!l){const d=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},d}if($===l){const d=new Error('Incorrect usage of "merge". Both branches have same head');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(a&&i.records.commits.has(a)){const d=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw d.hash={text:`merge ${r} ${a} ${s} ${e==null?void 0:e.join(" ")}`,token:`merge ${r} ${a} ${s} ${e==null?void 0:e.join(" ")}`,expected:[`merge ${r} ${a}_UNIQUE ${s} ${e==null?void 0:e.join(" ")}`]},d}const f=o||"",g={id:a||`${i.records.seq}-${j()}`,message:`merged branch ${r} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,f],branch:i.records.currBranch,type:u.MERGE,customType:s,customId:!!a,tags:e??[]};i.records.head=g,i.records.commits.set(g.id,g),i.records.branches.set(i.records.currBranch,g.id),w.debug(i.records.branches),w.debug("in mergeBranch")},"merge"),vr=h(function(t){let r=t.id,a=t.targetId,s=t.tags,e=t.parent;w.debug("Entering cherryPick:",r,a,s);const n=z();if(r=B.sanitizeText(r,n),a=B.sanitizeText(a,n),s=s==null?void 0:s.map($=>B.sanitizeText($,n)),e=B.sanitizeText(e,n),!r||!i.records.commits.has(r)){const $=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw $.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},$}const c=i.records.commits.get(r);if(c===void 0||!c)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(e&&!(Array.isArray(c.parents)&&c.parents.includes(e)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=c.branch;if(c.type===u.MERGE&&!e)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!a||!i.records.commits.has(a)){if(o===i.records.currBranch){const g=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw g.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},g}const $=i.records.branches.get(i.records.currBranch);if($===void 0||!$){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},g}const l=i.records.commits.get($);if(l===void 0||!l){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${a}`,token:`cherryPick ${r} ${a}`,expected:["cherry-pick abc"]},g}const f={id:i.records.seq+"-"+j(),message:`cherry-picked ${c==null?void 0:c.message} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,c.id],branch:i.records.currBranch,type:u.CHERRY_PICK,tags:s?s.filter(Boolean):[`cherry-pick:${c.id}${c.type===u.MERGE?`|parent:${e}`:""}`]};i.records.head=f,i.records.commits.set(f.id,f),i.records.branches.set(i.records.currBranch,f.id),w.debug(i.records.branches),w.debug("in cherryPick")}},"cherryPick"),_=h(function(t){if(t=B.sanitizeText(t,z()),i.records.branches.has(t)){i.records.currBranch=t;const r=i.records.branches.get(i.records.currBranch);r===void 0||!r?i.records.head=null:i.records.head=i.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw r.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},r}},"checkout");function A(t,r,a){const s=t.indexOf(r);s===-1?t.push(a):t.splice(s,1,a)}h(A,"upsert");function D(t){const r=t.reduce((e,n)=>e.seq>n.seq?e:n,t[0]);let a="";t.forEach(function(e){e===r?a+=" *":a+=" |"});const s=[a,r.id,r.seq];for(const e in i.records.branches)i.records.branches.get(e)===r.id&&s.push(e);if(w.debug(s.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const e=i.records.commits.get(r.parents[0]);A(t,r,e),r.parents[1]&&t.push(i.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const e=i.records.commits.get(r.parents[0]);A(t,r,e)}}t=N(t,e=>e.id),D(t)}h(D,"prettyPrintCommitHistory");var Cr=h(function(){w.debug(i.records.commits);const t=V()[0];D([t])},"prettyPrint"),Er=h(function(){i.reset(),hr()},"clear"),Br=h(function(){return[...i.records.branchConfig.values()].map((r,a)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${a}`)}).sort((r,a)=>(r.order??0)-(a.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),kr=h(function(){return i.records.branches},"getBranches"),Lr=h(function(){return i.records.commits},"getCommits"),V=h(function(){const t=[...i.records.commits.values()];return t.forEach(function(r){w.debug(r.id)}),t.sort((r,a)=>r.seq-a.seq),t},"getCommitsArray"),Tr=h(function(){return i.records.currBranch},"getCurrentBranch"),Mr=h(function(){return i.records.direction},"getDirection"),Rr=h(function(){return i.records.head},"getHead"),X={commitType:u,getConfig:z,setDirection:pr,setOptions:ur,getOptions:xr,commit:br,branch:mr,merge:wr,cherryPick:vr,checkout:_,prettyPrint:Cr,clear:Er,getBranchesAsObjArray:Br,getBranches:kr,getCommits:Lr,getCommitsArray:V,getCurrentBranch:Tr,getDirection:Mr,getHead:Rr,setAccTitle:nr,getAccTitle:sr,getAccDescription:or,setAccDescription:cr,setDiagramTitle:ir,getDiagramTitle:dr},Ir=h((t,r)=>{Z(t,r),t.dir&&r.setDirection(t.dir);for(const a of t.statements)qr(a,r)},"populate"),qr=h((t,r)=>{const s={Commit:h(e=>r.commit(Or(e)),"Commit"),Branch:h(e=>r.branch(zr(e)),"Branch"),Merge:h(e=>r.merge(Gr(e)),"Merge"),Checkout:h(e=>r.checkout(Hr(e)),"Checkout"),CherryPicking:h(e=>r.cherryPick(Pr(e)),"CherryPicking")}[t.$type];s?s(t):w.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),Or=h(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?u[t.type]:u.NORMAL,tags:t.tags??void 0}),"parseCommit"),zr=h(t=>({name:t.name,order:t.order??0}),"parseBranch"),Gr=h(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?u[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),Hr=h(t=>t.branch,"parseCheckout"),Pr=h(t=>{var a;return{id:t.id,targetId:"",tags:((a=t.tags)==null?void 0:a.length)===0?void 0:t.tags,parent:t.parent}},"parseCherryPicking"),Wr={parse:h(async t=>{const r=await gr("gitGraph",t);w.debug(r),Ir(r,X)},"parse")},S=rr(),b=S==null?void 0:S.gitGraph,R=10,I=40,k=4,L=2,O=8,C=new Map,E=new Map,P=30,G=new Map,W=[],M=0,p="LR",jr=h(()=>{C.clear(),E.clear(),G.clear(),M=0,W=[],p="LR"},"clear"),J=h(t=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(s=>{const e=document.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","0"),e.setAttribute("class","row"),e.textContent=s.trim(),r.appendChild(e)}),r},"drawText"),Q=h(t=>{let r,a,s;return p==="BT"?(a=h((e,n)=>e<=n,"comparisonFunc"),s=1/0):(a=h((e,n)=>e>=n,"comparisonFunc"),s=0),t.forEach(e=>{var c,o;const n=p==="TB"||p=="BT"?(c=E.get(e))==null?void 0:c.y:(o=E.get(e))==null?void 0:o.x;n!==void 0&&a(n,s)&&(r=e,s=n)}),r},"findClosestParent"),Sr=h(t=>{let r="",a=1/0;return t.forEach(s=>{const e=E.get(s).y;e<=a&&(r=s,a=e)}),r||void 0},"findClosestParentBT"),Ar=h((t,r,a)=>{let s=a,e=a;const n=[];t.forEach(c=>{const o=r.get(c);if(!o)throw new Error(`Commit not found for key ${c}`);o.parents.length?(s=Yr(o),e=Math.max(s,e)):n.push(o),Kr(o,s)}),s=e,n.forEach(c=>{Nr(c,s,a)}),t.forEach(c=>{const o=r.get(c);if(o!=null&&o.parents.length){const $=Sr(o.parents);s=E.get($).y-I,s<=e&&(e=s);const l=C.get(o.branch).pos,f=s-R;E.set(o.id,{x:l,y:f})}})},"setParallelBTPos"),Dr=h(t=>{var s;const r=Q(t.parents.filter(e=>e!==null));if(!r)throw new Error(`Closest parent not found for commit ${t.id}`);const a=(s=E.get(r))==null?void 0:s.y;if(a===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return a},"findClosestParentPos"),Yr=h(t=>Dr(t)+I,"calculateCommitPosition"),Kr=h((t,r)=>{const a=C.get(t.branch);if(!a)throw new Error(`Branch not found for commit ${t.id}`);const s=a.pos,e=r+R;return E.set(t.id,{x:s,y:e}),{x:s,y:e}},"setCommitPosition"),Nr=h((t,r,a)=>{const s=C.get(t.branch);if(!s)throw new Error(`Branch not found for commit ${t.id}`);const e=r+a,n=s.pos;E.set(t.id,{x:n,y:e})},"setRootPosition"),_r=h((t,r,a,s,e,n)=>{if(n===u.HIGHLIGHT)t.append("rect").attr("x",a.x-10).attr("y",a.y-10).attr("width",20).attr("height",20).attr("class",`commit ${r.id} commit-highlight${e%O} ${s}-outer`),t.append("rect").attr("x",a.x-6).attr("y",a.y-6).attr("width",12).attr("height",12).attr("class",`commit ${r.id} commit${e%O} ${s}-inner`);else if(n===u.CHERRY_PICK)t.append("circle").attr("cx",a.x).attr("cy",a.y).attr("r",10).attr("class",`commit ${r.id} ${s}`),t.append("circle").attr("cx",a.x-3).attr("cy",a.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${s}`),t.append("circle").attr("cx",a.x+3).attr("cy",a.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${s}`),t.append("line").attr("x1",a.x+3).attr("y1",a.y+1).attr("x2",a.x).attr("y2",a.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${s}`),t.append("line").attr("x1",a.x-3).attr("y1",a.y+1).attr("x2",a.x).attr("y2",a.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${s}`);else{const c=t.append("circle");if(c.attr("cx",a.x),c.attr("cy",a.y),c.attr("r",r.type===u.MERGE?9:10),c.attr("class",`commit ${r.id} commit${e%O}`),n===u.MERGE){const o=t.append("circle");o.attr("cx",a.x),o.attr("cy",a.y),o.attr("r",6),o.attr("class",`commit ${s} ${r.id} commit${e%O}`)}n===u.REVERSE&&t.append("path").attr("d",`M ${a.x-5},${a.y-5}L${a.x+5},${a.y+5}M${a.x-5},${a.y+5}L${a.x+5},${a.y-5}`).attr("class",`commit ${s} ${r.id} commit${e%O}`)}},"drawCommitBullet"),Vr=h((t,r,a,s)=>{var e;if(r.type!==u.CHERRY_PICK&&(r.customId&&r.type===u.MERGE||r.type!==u.MERGE)&&(b!=null&&b.showCommitLabel)){const n=t.append("g"),c=n.insert("rect").attr("class","commit-label-bkg"),o=n.append("text").attr("x",s).attr("y",a.y+25).attr("class","commit-label").text(r.id),$=(e=o.node())==null?void 0:e.getBBox();if($&&(c.attr("x",a.posWithOffset-$.width/2-L).attr("y",a.y+13.5).attr("width",$.width+2*L).attr("height",$.height+2*L),p==="TB"||p==="BT"?(c.attr("x",a.x-($.width+4*k+5)).attr("y",a.y-12),o.attr("x",a.x-($.width+4*k)).attr("y",a.y+$.height-12)):o.attr("x",a.posWithOffset-$.width/2),b.rotateCommitLabel))if(p==="TB"||p==="BT")o.attr("transform","rotate(-45, "+a.x+", "+a.y+")"),c.attr("transform","rotate(-45, "+a.x+", "+a.y+")");else{const l=-7.5-($.width+10)/25*9.5,f=10+$.width/25*8.5;n.attr("transform","translate("+l+", "+f+") rotate(-45, "+s+", "+a.y+")")}}},"drawCommitLabel"),Xr=h((t,r,a,s)=>{var e;if(r.tags.length>0){let n=0,c=0,o=0;const $=[];for(const l of r.tags.reverse()){const f=t.insert("polygon"),g=t.append("circle"),d=t.append("text").attr("y",a.y-16-n).attr("class","tag-label").text(l),y=(e=d.node())==null?void 0:e.getBBox();if(!y)throw new Error("Tag bbox not found");c=Math.max(c,y.width),o=Math.max(o,y.height),d.attr("x",a.posWithOffset-y.width/2),$.push({tag:d,hole:g,rect:f,yOffset:n}),n+=20}for(const{tag:l,hole:f,rect:g,yOffset:d}of $){const y=o/2,x=a.y-19.2-d;if(g.attr("class","tag-label-bkg").attr("points",` ${s-c/2-k/2},${x+L} ${s-c/2-k/2},${x-L} ${a.posWithOffset-c/2-k},${x-y-L} diff --git a/assets/chunks/graph.BWNVXCq5.js b/assets/chunks/graph.jRtFwrS7.js similarity index 97% rename from assets/chunks/graph.BWNVXCq5.js rename to assets/chunks/graph.jRtFwrS7.js index 7598406a4..a96fed4fd 100644 --- a/assets/chunks/graph.BWNVXCq5.js +++ b/assets/chunks/graph.jRtFwrS7.js @@ -1 +1 @@ -import{a as O,c as j,h as u,k as l,f as c,d as a,i as f,v as p,r as F}from"./baseUniq.Cpp3LtUr.js";import{aA as y,aB as P,aC as m,aD as E,aE as C}from"../app.B4W5LDy6.js";var M=y(function(d){return O(j(d,1,P,!0))}),A="\0",o="\0",L="";class D{constructor(e={}){this._isDirected=u(e,"directed")?e.directed:!0,this._isMultigraph=u(e,"multigraph")?e.multigraph:!1,this._isCompound=u(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=m(void 0),this._defaultEdgeLabelFn=m(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[o]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return E(e)||(e=m(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return l(this._nodes)}sources(){var e=this;return c(this.nodes(),function(t){return C(e._in[t])})}sinks(){var e=this;return c(this.nodes(),function(t){return C(e._out[t])})}setNodes(e,t){var s=arguments,i=this;return a(e,function(r){s.length>1?i.setNode(r,t):i.setNode(r)}),this}setNode(e,t){return u(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=o,this._children[e]={},this._children[o][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return u(this._nodes,e)}removeNode(e){var t=this;if(u(this._nodes,e)){var s=function(i){t.removeEdge(t._edgeObjs[i])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],a(this.children(e),function(i){t.setParent(i)}),delete this._children[e]),a(l(this._in[e]),s),delete this._in[e],delete this._preds[e],a(l(this._out[e]),s),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(f(t))t=o;else{t+="";for(var s=t;!f(s);s=this.parent(s))if(s===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if(t!==o)return t}}children(e){if(f(e)&&(e=o),this._isCompound){var t=this._children[e];if(t)return l(t)}else{if(e===o)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var t=this._preds[e];if(t)return l(t)}successors(e){var t=this._sucs[e];if(t)return l(t)}neighbors(e){var t=this.predecessors(e);if(t)return M(t,this.successors(e))}isLeaf(e){var t;return this.isDirected()?t=this.successors(e):t=this.neighbors(e),t.length===0}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var s=this;a(this._nodes,function(n,h){e(h)&&t.setNode(h,n)}),a(this._edgeObjs,function(n){t.hasNode(n.v)&&t.hasNode(n.w)&&t.setEdge(n,s.edge(n))});var i={};function r(n){var h=s.parent(n);return h===void 0||t.hasNode(h)?(i[n]=h,h):h in i?i[h]:r(h)}return this._isCompound&&a(t.nodes(),function(n){t.setParent(n,r(n))}),t}setDefaultEdgeLabel(e){return E(e)||(e=m(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return p(this._edgeObjs)}setPath(e,t){var s=this,i=arguments;return F(e,function(r,n){return i.length>1?s.setEdge(r,n,t):s.setEdge(r,n),n}),this}setEdge(){var e,t,s,i,r=!1,n=arguments[0];typeof n=="object"&&n!==null&&"v"in n?(e=n.v,t=n.w,s=n.name,arguments.length===2&&(i=arguments[1],r=!0)):(e=n,t=arguments[1],s=arguments[3],arguments.length>2&&(i=arguments[2],r=!0)),e=""+e,t=""+t,f(s)||(s=""+s);var h=g(this._isDirected,e,t,s);if(u(this._edgeLabels,h))return r&&(this._edgeLabels[h]=i),this;if(!f(s)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[h]=r?i:this._defaultEdgeLabelFn(e,t,s);var _=G(this._isDirected,e,t,s);return e=_.v,t=_.w,Object.freeze(_),this._edgeObjs[h]=_,N(this._preds[t],e),N(this._sucs[e],t),this._in[t][h]=_,this._out[e][h]=_,this._edgeCount++,this}edge(e,t,s){var i=arguments.length===1?b(this._isDirected,arguments[0]):g(this._isDirected,e,t,s);return this._edgeLabels[i]}hasEdge(e,t,s){var i=arguments.length===1?b(this._isDirected,arguments[0]):g(this._isDirected,e,t,s);return u(this._edgeLabels,i)}removeEdge(e,t,s){var i=arguments.length===1?b(this._isDirected,arguments[0]):g(this._isDirected,e,t,s),r=this._edgeObjs[i];return r&&(e=r.v,t=r.w,delete this._edgeLabels[i],delete this._edgeObjs[i],v(this._preds[t],e),v(this._sucs[e],t),delete this._in[t][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,t){var s=this._in[e];if(s){var i=p(s);return t?c(i,function(r){return r.v===t}):i}}outEdges(e,t){var s=this._out[e];if(s){var i=p(s);return t?c(i,function(r){return r.w===t}):i}}nodeEdges(e,t){var s=this.inEdges(e,t);if(s)return s.concat(this.outEdges(e,t))}}D.prototype._nodeCount=0;D.prototype._edgeCount=0;function N(d,e){d[e]?d[e]++:d[e]=1}function v(d,e){--d[e]||delete d[e]}function g(d,e,t,s){var i=""+e,r=""+t;if(!d&&i>r){var n=i;i=r,r=n}return i+L+r+L+(f(s)?A:s)}function G(d,e,t,s){var i=""+e,r=""+t;if(!d&&i>r){var n=i;i=r,r=n}var h={v:i,w:r};return s&&(h.name=s),h}function b(d,e){return g(d,e.v,e.w,e.name)}export{D as G}; +import{a as O,c as j,h as u,k as l,f as c,d as a,i as f,v as p,r as F}from"./baseUniq.D3QFBTuJ.js";import{aA as y,aB as P,aC as m,aD as E,aE as C}from"../app.XeY7gsc2.js";var M=y(function(d){return O(j(d,1,P,!0))}),A="\0",o="\0",L="";class D{constructor(e={}){this._isDirected=u(e,"directed")?e.directed:!0,this._isMultigraph=u(e,"multigraph")?e.multigraph:!1,this._isCompound=u(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=m(void 0),this._defaultEdgeLabelFn=m(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[o]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return E(e)||(e=m(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return l(this._nodes)}sources(){var e=this;return c(this.nodes(),function(t){return C(e._in[t])})}sinks(){var e=this;return c(this.nodes(),function(t){return C(e._out[t])})}setNodes(e,t){var s=arguments,i=this;return a(e,function(r){s.length>1?i.setNode(r,t):i.setNode(r)}),this}setNode(e,t){return u(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=o,this._children[e]={},this._children[o][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return u(this._nodes,e)}removeNode(e){var t=this;if(u(this._nodes,e)){var s=function(i){t.removeEdge(t._edgeObjs[i])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],a(this.children(e),function(i){t.setParent(i)}),delete this._children[e]),a(l(this._in[e]),s),delete this._in[e],delete this._preds[e],a(l(this._out[e]),s),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(f(t))t=o;else{t+="";for(var s=t;!f(s);s=this.parent(s))if(s===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if(t!==o)return t}}children(e){if(f(e)&&(e=o),this._isCompound){var t=this._children[e];if(t)return l(t)}else{if(e===o)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var t=this._preds[e];if(t)return l(t)}successors(e){var t=this._sucs[e];if(t)return l(t)}neighbors(e){var t=this.predecessors(e);if(t)return M(t,this.successors(e))}isLeaf(e){var t;return this.isDirected()?t=this.successors(e):t=this.neighbors(e),t.length===0}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var s=this;a(this._nodes,function(n,h){e(h)&&t.setNode(h,n)}),a(this._edgeObjs,function(n){t.hasNode(n.v)&&t.hasNode(n.w)&&t.setEdge(n,s.edge(n))});var i={};function r(n){var h=s.parent(n);return h===void 0||t.hasNode(h)?(i[n]=h,h):h in i?i[h]:r(h)}return this._isCompound&&a(t.nodes(),function(n){t.setParent(n,r(n))}),t}setDefaultEdgeLabel(e){return E(e)||(e=m(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return p(this._edgeObjs)}setPath(e,t){var s=this,i=arguments;return F(e,function(r,n){return i.length>1?s.setEdge(r,n,t):s.setEdge(r,n),n}),this}setEdge(){var e,t,s,i,r=!1,n=arguments[0];typeof n=="object"&&n!==null&&"v"in n?(e=n.v,t=n.w,s=n.name,arguments.length===2&&(i=arguments[1],r=!0)):(e=n,t=arguments[1],s=arguments[3],arguments.length>2&&(i=arguments[2],r=!0)),e=""+e,t=""+t,f(s)||(s=""+s);var h=g(this._isDirected,e,t,s);if(u(this._edgeLabels,h))return r&&(this._edgeLabels[h]=i),this;if(!f(s)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[h]=r?i:this._defaultEdgeLabelFn(e,t,s);var _=G(this._isDirected,e,t,s);return e=_.v,t=_.w,Object.freeze(_),this._edgeObjs[h]=_,N(this._preds[t],e),N(this._sucs[e],t),this._in[t][h]=_,this._out[e][h]=_,this._edgeCount++,this}edge(e,t,s){var i=arguments.length===1?b(this._isDirected,arguments[0]):g(this._isDirected,e,t,s);return this._edgeLabels[i]}hasEdge(e,t,s){var i=arguments.length===1?b(this._isDirected,arguments[0]):g(this._isDirected,e,t,s);return u(this._edgeLabels,i)}removeEdge(e,t,s){var i=arguments.length===1?b(this._isDirected,arguments[0]):g(this._isDirected,e,t,s),r=this._edgeObjs[i];return r&&(e=r.v,t=r.w,delete this._edgeLabels[i],delete this._edgeObjs[i],v(this._preds[t],e),v(this._sucs[e],t),delete this._in[t][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,t){var s=this._in[e];if(s){var i=p(s);return t?c(i,function(r){return r.v===t}):i}}outEdges(e,t){var s=this._out[e];if(s){var i=p(s);return t?c(i,function(r){return r.w===t}):i}}nodeEdges(e,t){var s=this.inEdges(e,t);if(s)return s.concat(this.outEdges(e,t))}}D.prototype._nodeCount=0;D.prototype._edgeCount=0;function N(d,e){d[e]?d[e]++:d[e]=1}function v(d,e){--d[e]||delete d[e]}function g(d,e,t,s){var i=""+e,r=""+t;if(!d&&i>r){var n=i;i=r,r=n}return i+L+r+L+(f(s)?A:s)}function G(d,e,t,s){var i=""+e,r=""+t;if(!d&&i>r){var n=i;i=r,r=n}var h={v:i,w:r};return s&&(h.name=s),h}function b(d,e){return g(d,e.v,e.w,e.name)}export{D as G}; diff --git a/assets/chunks/infoDiagram-RZZSJVI2.3hqSSmsQ.js b/assets/chunks/infoDiagram-RZZSJVI2.BtikR3J6.js similarity index 54% rename from assets/chunks/infoDiagram-RZZSJVI2.3hqSSmsQ.js rename to assets/chunks/infoDiagram-RZZSJVI2.BtikR3J6.js index 29aef635d..1b8e7ee2e 100644 --- a/assets/chunks/infoDiagram-RZZSJVI2.3hqSSmsQ.js +++ b/assets/chunks/infoDiagram-RZZSJVI2.BtikR3J6.js @@ -1,2 +1,2 @@ -import{_ as e,l as o,H as i,k as n,I as p}from"../app.B4W5LDy6.js";import{p as g}from"./gitGraph-YCYPL57B.DzGlZmxr.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";import"./baseUniq.Cpp3LtUr.js";import"./basePickBy.Cv297fiu.js";import"./clone.Orx1AHso.js";var m={parse:e(async r=>{const a=await g("info",r);o.debug(a)},"parse")},v={version:p},d=e(()=>v.version,"getVersion"),c={getVersion:d},l=e((r,a,s)=>{o.debug(`rendering info diagram +import{_ as e,l as o,H as i,k as n,I as p}from"../app.XeY7gsc2.js";import{p as g}from"./gitGraph-YCYPL57B.BBU61gGy.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./baseUniq.D3QFBTuJ.js";import"./basePickBy.DQSVnGZT.js";import"./clone.DN5RQA0U.js";var m={parse:e(async r=>{const a=await g("info",r);o.debug(a)},"parse")},v={version:p},d=e(()=>v.version,"getVersion"),c={getVersion:d},l=e((r,a,s)=>{o.debug(`rendering info diagram `+r);const t=i(a);n(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${s}`)},"draw"),f={draw:l},D={parser:m,db:c,renderer:f};export{D as diagram}; diff --git a/assets/chunks/journeyDiagram-BLD6N6MZ.DSqOsCoK.js b/assets/chunks/journeyDiagram-BLD6N6MZ.B-kkWoFH.js similarity index 98% rename from assets/chunks/journeyDiagram-BLD6N6MZ.DSqOsCoK.js rename to assets/chunks/journeyDiagram-BLD6N6MZ.B-kkWoFH.js index 576355d20..8c2c6cfbc 100644 --- a/assets/chunks/journeyDiagram-BLD6N6MZ.DSqOsCoK.js +++ b/assets/chunks/journeyDiagram-BLD6N6MZ.B-kkWoFH.js @@ -1,4 +1,4 @@ -import{d as ft,f as gt,g as at,b as mt}from"./chunk-V35ELUW5.DnZkrfgD.js";import{_ as i,d as A,q as xt,r as kt,s as _t,g as vt,c as bt,b as wt,v as Tt,j as W,k as St}from"../app.B4W5LDy6.js";import{d as tt}from"./arc.CiTvs1Z-.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";var H=function(){var t=i(function(g,r,a,l){for(a=a||{},l=g.length;l--;a[g[l]]=r);return a},"o"),e=[6,8,10,11,12,14,16,17,18],n=[1,9],c=[1,10],s=[1,11],u=[1,12],h=[1,13],p=[1,14],d={trace:i(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:i(function(r,a,l,y,f,o,S){var _=o.length-1;switch(f){case 1:return o[_-1];case 2:this.$=[];break;case 3:o[_-1].push(o[_]),this.$=o[_-1];break;case 4:case 5:this.$=o[_];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(o[_].substr(6)),this.$=o[_].substr(6);break;case 9:this.$=o[_].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=o[_].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(o[_].substr(8)),this.$=o[_].substr(8);break;case 13:y.addTask(o[_-1],o[_]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:c,14:s,16:u,17:h,18:p},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:n,12:c,14:s,16:u,17:h,18:p},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:i(function(r,a){if(a.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=a,l}},"parseError"),parse:i(function(r){var a=this,l=[0],y=[],f=[null],o=[],S=this.table,_="",B=0,J=0,ut=2,K=1,yt=o.slice.call(arguments,1),k=Object.create(this.lexer),E={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(E.yy[O]=this.yy[O]);k.setInput(r,E.yy),E.yy.lexer=k,E.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var Y=k.yylloc;o.push(Y);var dt=k.options&&k.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(b){l.length=l.length-2*b,f.length=f.length-b,o.length=o.length-b}i(pt,"popStack");function Q(){var b;return b=y.pop()||k.lex()||K,typeof b!="number"&&(b instanceof Array&&(y=b,b=y.pop()),b=a.symbols_[b]||b),b}i(Q,"lex");for(var v,P,w,q,C={},j,M,D,N;;){if(P=l[l.length-1],this.defaultActions[P]?w=this.defaultActions[P]:((v===null||typeof v>"u")&&(v=Q()),w=S[P]&&S[P][v]),typeof w>"u"||!w.length||!w[0]){var G="";N=[];for(j in S[P])this.terminals_[j]&&j>ut&&N.push("'"+this.terminals_[j]+"'");k.showPosition?G="Parse error on line "+(B+1)+`: +import{d as ft,f as gt,g as at,b as mt}from"./chunk-V35ELUW5.Bo_-Vqpn.js";import{_ as i,d as A,q as xt,r as kt,s as _t,g as vt,c as bt,b as wt,v as Tt,j as W,k as St}from"../app.XeY7gsc2.js";import{d as tt}from"./arc.DDOeaZOx.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";var H=function(){var t=i(function(g,r,a,l){for(a=a||{},l=g.length;l--;a[g[l]]=r);return a},"o"),e=[6,8,10,11,12,14,16,17,18],n=[1,9],c=[1,10],s=[1,11],u=[1,12],h=[1,13],p=[1,14],d={trace:i(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:i(function(r,a,l,y,f,o,S){var _=o.length-1;switch(f){case 1:return o[_-1];case 2:this.$=[];break;case 3:o[_-1].push(o[_]),this.$=o[_-1];break;case 4:case 5:this.$=o[_];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(o[_].substr(6)),this.$=o[_].substr(6);break;case 9:this.$=o[_].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=o[_].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(o[_].substr(8)),this.$=o[_].substr(8);break;case 13:y.addTask(o[_-1],o[_]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:c,14:s,16:u,17:h,18:p},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:n,12:c,14:s,16:u,17:h,18:p},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:i(function(r,a){if(a.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=a,l}},"parseError"),parse:i(function(r){var a=this,l=[0],y=[],f=[null],o=[],S=this.table,_="",B=0,J=0,ut=2,K=1,yt=o.slice.call(arguments,1),k=Object.create(this.lexer),E={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(E.yy[O]=this.yy[O]);k.setInput(r,E.yy),E.yy.lexer=k,E.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var Y=k.yylloc;o.push(Y);var dt=k.options&&k.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pt(b){l.length=l.length-2*b,f.length=f.length-b,o.length=o.length-b}i(pt,"popStack");function Q(){var b;return b=y.pop()||k.lex()||K,typeof b!="number"&&(b instanceof Array&&(y=b,b=y.pop()),b=a.symbols_[b]||b),b}i(Q,"lex");for(var v,P,w,q,C={},j,M,D,N;;){if(P=l[l.length-1],this.defaultActions[P]?w=this.defaultActions[P]:((v===null||typeof v>"u")&&(v=Q()),w=S[P]&&S[P][v]),typeof w>"u"||!w.length||!w[0]){var G="";N=[];for(j in S[P])this.terminals_[j]&&j>ut&&N.push("'"+this.terminals_[j]+"'");k.showPosition?G="Parse error on line "+(B+1)+`: `+k.showPosition()+` Expecting `+N.join(", ")+", got '"+(this.terminals_[v]||v)+"'":G="Parse error on line "+(B+1)+": Unexpected "+(v==K?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(G,{text:k.match,token:this.terminals_[v]||v,line:k.yylineno,loc:Y,expected:N})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+v);switch(w[0]){case 1:l.push(v),f.push(k.yytext),o.push(k.yylloc),l.push(w[1]),v=null,J=k.yyleng,_=k.yytext,B=k.yylineno,Y=k.yylloc;break;case 2:if(M=this.productions_[w[1]][1],C.$=f[f.length-M],C._$={first_line:o[o.length-(M||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(M||1)].first_column,last_column:o[o.length-1].last_column},dt&&(C._$.range=[o[o.length-(M||1)].range[0],o[o.length-1].range[1]]),q=this.performAction.apply(C,[_,J,B,E.yy,w[1],f,o].concat(yt)),typeof q<"u")return q;M&&(l=l.slice(0,-1*M*2),f=f.slice(0,-1*M),o=o.slice(0,-1*M)),l.push(this.productions_[w[1]][0]),f.push(C.$),o.push(C._$),D=S[l[l.length-2]][l[l.length-1]],l.push(D);break;case 3:return!0}}return!0},"parse")},x=function(){var g={EOF:1,parseError:i(function(a,l){if(this.yy.parser)this.yy.parser.parseError(a,l);else throw new Error(a)},"parseError"),setInput:i(function(r,a){return this.yy=a||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:i(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var a=r.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:i(function(r){var a=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===y.length?this.yylloc.first_column:0)+y[y.length-l.length].length-l[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:i(function(){return this._more=!0,this},"more"),reject:i(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:i(function(r){this.unput(this.match.slice(r))},"less"),pastInput:i(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:i(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:i(function(){var r=this.pastInput(),a=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/assets/chunks/json.mbpuitjH.js b/assets/chunks/json.M8LmYDKW.js similarity index 68% rename from assets/chunks/json.mbpuitjH.js rename to assets/chunks/json.M8LmYDKW.js index 4e1952c3d..7013e872f 100644 --- a/assets/chunks/json.mbpuitjH.js +++ b/assets/chunks/json.M8LmYDKW.js @@ -1 +1 @@ -import"./graph.BWNVXCq5.js";import{i as o}from"./baseUniq.Cpp3LtUr.js";import{c as d}from"./clone.Orx1AHso.js";import{m as t}from"./basePickBy.Cv297fiu.js";function v(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:u(e),edges:p(e)};return o(e.graph())||(r.value=d(e.graph())),r}function u(e){return t(e.nodes(),function(r){var i=e.node(r),n=e.parent(r),a={v:r};return o(i)||(a.value=i),o(n)||(a.parent=n),a})}function p(e){return t(e.edges(),function(r){var i=e.edge(r),n={v:r.v,w:r.w};return o(r.name)||(n.name=r.name),o(i)||(n.value=i),n})}export{v as w}; +import"./graph.jRtFwrS7.js";import{i as o}from"./baseUniq.D3QFBTuJ.js";import{c as d}from"./clone.DN5RQA0U.js";import{m as t}from"./basePickBy.DQSVnGZT.js";function v(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:u(e),edges:p(e)};return o(e.graph())||(r.value=d(e.graph())),r}function u(e){return t(e.nodes(),function(r){var i=e.node(r),n=e.parent(r),a={v:r};return o(i)||(a.value=i),o(n)||(a.parent=n),a})}function p(e){return t(e.edges(),function(r){var i=e.edge(r),n={v:r.v,w:r.w};return o(r.name)||(n.name=r.name),o(i)||(n.value=i),n})}export{v as w}; diff --git a/assets/chunks/layout.tjTIlxV4.js b/assets/chunks/layout.CM1i2aqJ.js similarity index 99% rename from assets/chunks/layout.tjTIlxV4.js rename to assets/chunks/layout.CM1i2aqJ.js index 344d6fa4c..d8e42285e 100644 --- a/assets/chunks/layout.tjTIlxV4.js +++ b/assets/chunks/layout.CM1i2aqJ.js @@ -1 +1 @@ -import{G as k}from"./graph.BWNVXCq5.js";import{b as Pn,p as ln,q as vn,g as U,e as en,m as A,o as Sn,s as On,c as Fn,u as Vn,d as s,h as m,i as g,f as I,v as y,r as O}from"./baseUniq.Cpp3LtUr.js";import{f as N,b as pn,a as An,c as Bn,d as Gn,t as B,m as w,e as R,g as X,l as P,h as Yn}from"./basePickBy.Cv297fiu.js";import{b6 as Dn,b7 as qn,b8 as $n,aO as Wn,b9 as jn,aS as mn,aR as wn,ba as zn,aN as W,aA as Un,aU as Xn,aC as Hn,bb as j}from"../app.B4W5LDy6.js";function Jn(n){return Dn(qn(n,void 0,N),n+"")}var Zn=1,Kn=4;function Qn(n){return Pn(n,Zn|Kn)}function ne(n,e){return n==null?n:$n(n,ln(e),Wn)}function ee(n,e){return n&&vn(n,ln(e))}function re(n,e){return n>e}function F(n,e){var r={};return e=U(e),vn(n,function(i,t,a){jn(r,t,e(i,t,a))}),r}function x(n){return n&&n.length?pn(n,mn,re):void 0}function H(n,e){return n&&n.length?pn(n,U(e),An):void 0}function ie(n,e){var r=n.length;for(n.sort(e);r--;)n[r]=n[r].value;return n}function te(n,e){if(n!==e){var r=n!==void 0,i=n===null,t=n===n,a=en(n),o=e!==void 0,u=e===null,d=e===e,f=en(e);if(!u&&!f&&!a&&n>e||a&&o&&d&&!u&&!f||i&&o&&d||!r&&d||!t)return 1;if(!i&&!a&&!f&&n=u)return d;var f=r[i];return d*(f=="desc"?-1:1)}}return n.index-e.index}function oe(n,e,r){e.length?e=A(e,function(a){return wn(a)?function(o){return Sn(o,a.length===1?a[0]:a)}:a}):e=[mn];var i=-1;e=A(e,zn(U));var t=Bn(n,function(a,o,u){var d=A(e,function(f){return f(a)});return{criteria:d,index:++i,value:a}});return ie(t,function(a,o){return ae(a,o,r)})}function ue(n,e){return Gn(n,e,function(r,i){return On(n,i)})}var S=Jn(function(n,e){return n==null?{}:ue(n,e)}),de=Math.ceil,fe=Math.max;function se(n,e,r,i){for(var t=-1,a=fe(de((e-n)/(r||1)),0),o=Array(a);a--;)o[++t]=n,n+=r;return o}function ce(n){return function(e,r,i){return i&&typeof i!="number"&&W(e,r,i)&&(r=i=void 0),e=B(e),r===void 0?(r=e,e=0):r=B(r),i=i===void 0?e1&&W(n,e[0],e[1])?e=[]:r>2&&W(e[0],e[1],e[2])&&(e=[e[0]]),oe(n,Fn(e),[])}),he=0;function J(n){var e=++he;return Vn(n)+e}function le(n,e,r){for(var i=-1,t=n.length,a=e.length,o={};++i0;--u)if(o=e[u].dequeue(),o){i=i.concat(G(n,e,r,o,!0));break}}}return i}function G(n,e,r,i,t){var a=t?[]:void 0;return s(n.inEdges(i.v),function(o){var u=n.edge(o),d=n.node(o.v);t&&a.push({v:o.v,w:o.w}),d.out-=u,z(e,r,d)}),s(n.outEdges(i.v),function(o){var u=n.edge(o),d=o.w,f=n.node(d);f.in-=u,z(e,r,f)}),n.removeNode(i.v),a}function ke(n,e){var r=new k,i=0,t=0;s(n.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),s(n.edges(),function(u){var d=r.edge(u.v,u.w)||0,f=e(u),c=d+f;r.setEdge(u.v,u.w,c),t=Math.max(t,r.node(u.v).out+=f),i=Math.max(i,r.node(u.w).in+=f)});var a=L(t+i+3).map(function(){return new pe}),o=i+1;return s(r.nodes(),function(u){z(a,o,r.node(u))}),{graph:r,buckets:a,zeroIdx:o}}function z(n,e,r){r.out?r.in?n[r.out-r.in+e].enqueue(r):n[n.length-1].enqueue(r):n[0].enqueue(r)}function xe(n){var e=n.graph().acyclicer==="greedy"?be(n,r(n)):Ee(n);s(e,function(i){var t=n.edge(i);n.removeEdge(i),t.forwardName=i.name,t.reversed=!0,n.setEdge(i.w,i.v,t,J("rev"))});function r(i){return function(t){return i.edge(t).weight}}}function Ee(n){var e=[],r={},i={};function t(a){m(i,a)||(i[a]=!0,r[a]=!0,s(n.outEdges(a),function(o){m(r,o.w)?e.push(o):t(o.w)}),delete r[a])}return s(n.nodes(),t),e}function ye(n){s(n.edges(),function(e){var r=n.edge(e);if(r.reversed){n.removeEdge(e);var i=r.forwardName;delete r.reversed,delete r.forwardName,n.setEdge(e.w,e.v,r,i)}})}function C(n,e,r,i){var t;do t=J(i);while(n.hasNode(t));return r.dummy=e,n.setNode(t,r),t}function Le(n){var e=new k().setGraph(n.graph());return s(n.nodes(),function(r){e.setNode(r,n.node(r))}),s(n.edges(),function(r){var i=e.edge(r.v,r.w)||{weight:0,minlen:1},t=n.edge(r);e.setEdge(r.v,r.w,{weight:i.weight+t.weight,minlen:Math.max(i.minlen,t.minlen)})}),e}function bn(n){var e=new k({multigraph:n.isMultigraph()}).setGraph(n.graph());return s(n.nodes(),function(r){n.children(r).length||e.setNode(r,n.node(r))}),s(n.edges(),function(r){e.setEdge(r,n.edge(r))}),e}function tn(n,e){var r=n.x,i=n.y,t=e.x-r,a=e.y-i,o=n.width/2,u=n.height/2;if(!t&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var d,f;return Math.abs(a)*o>Math.abs(t)*u?(a<0&&(u=-u),d=u*t/a,f=u):(t<0&&(o=-o),d=o,f=o*a/t),{x:r+d,y:i+f}}function V(n){var e=w(L(gn(n)+1),function(){return[]});return s(n.nodes(),function(r){var i=n.node(r),t=i.rank;g(t)||(e[t][i.order]=r)}),e}function Ne(n){var e=R(w(n.nodes(),function(r){return n.node(r).rank}));s(n.nodes(),function(r){var i=n.node(r);m(i,"rank")&&(i.rank-=e)})}function Ce(n){var e=R(w(n.nodes(),function(a){return n.node(a).rank})),r=[];s(n.nodes(),function(a){var o=n.node(a).rank-e;r[o]||(r[o]=[]),r[o].push(a)});var i=0,t=n.graph().nodeRankFactor;s(r,function(a,o){g(a)&&o%t!==0?--i:i&&s(a,function(u){n.node(u).rank+=i})})}function an(n,e,r,i){var t={width:0,height:0};return arguments.length>=4&&(t.rank=r,t.order=i),C(n,"border",t,e)}function gn(n){return x(w(n.nodes(),function(e){var r=n.node(e).rank;if(!g(r))return r}))}function _e(n,e){var r={lhs:[],rhs:[]};return s(n,function(i){e(i)?r.lhs.push(i):r.rhs.push(i)}),r}function Re(n,e){return e()}function Te(n){function e(r){var i=n.children(r),t=n.node(r);if(i.length&&s(i,e),m(t,"minRank")){t.borderLeft=[],t.borderRight=[];for(var a=t.minRank,o=t.maxRank+1;ao.lim&&(u=o,d=!0);var f=I(e.edges(),function(c){return d===dn(n,n.node(c.v),u)&&d!==dn(n,n.node(c.w),u)});return H(f,function(c){return T(e,c)})}function Rn(n,e,r,i){var t=r.v,a=r.w;n.removeEdge(t,a),n.setEdge(i.v,i.w,{}),Q(n),K(n,e),We(n,e)}function We(n,e){var r=X(n.nodes(),function(t){return!e.node(t).parent}),i=qe(n,r);i=i.slice(1),s(i,function(t){var a=n.node(t).parent,o=e.edge(t,a),u=!1;o||(o=e.edge(a,t),u=!0),e.node(t).rank=e.node(a).rank+(u?o.minlen:-o.minlen)})}function je(n,e,r){return n.hasEdge(e,r)}function dn(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function ze(n){switch(n.graph().ranker){case"network-simplex":fn(n);break;case"tight-tree":Xe(n);break;case"longest-path":Ue(n);break;default:fn(n)}}var Ue=Z;function Xe(n){Z(n),xn(n)}function fn(n){E(n)}function He(n){var e=C(n,"root",{},"_root"),r=Je(n),i=x(y(r))-1,t=2*i+1;n.graph().nestingRoot=e,s(n.edges(),function(o){n.edge(o).minlen*=t});var a=Ze(n)+1;s(n.children(),function(o){Tn(n,e,t,a,i,r,o)}),n.graph().nodeRankFactor=t}function Tn(n,e,r,i,t,a,o){var u=n.children(o);if(!u.length){o!==e&&n.setEdge(e,o,{weight:0,minlen:r});return}var d=an(n,"_bt"),f=an(n,"_bb"),c=n.node(o);n.setParent(d,o),c.borderTop=d,n.setParent(f,o),c.borderBottom=f,s(u,function(h){Tn(n,e,r,i,t,a,h);var l=n.node(h),v=l.borderTop?l.borderTop:h,p=l.borderBottom?l.borderBottom:h,b=l.borderTop?i:2*i,_=v!==p?1:t-a[o]+1;n.setEdge(d,v,{weight:b,minlen:_,nestingEdge:!0}),n.setEdge(p,f,{weight:b,minlen:_,nestingEdge:!0})}),n.parent(o)||n.setEdge(e,d,{weight:0,minlen:t+a[o]})}function Je(n){var e={};function r(i,t){var a=n.children(i);a&&a.length&&s(a,function(o){r(o,t+1)}),e[i]=t}return s(n.children(),function(i){r(i,1)}),e}function Ze(n){return O(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function Ke(n){var e=n.graph();n.removeNode(e.nestingRoot),delete e.nestingRoot,s(n.edges(),function(r){var i=n.edge(r);i.nestingEdge&&n.removeEdge(r)})}function Qe(n,e,r){var i={},t;s(r,function(a){for(var o=n.parent(a),u,d;o;){if(u=n.parent(o),u?(d=i[u],i[u]=o):(d=t,t=o),d&&d!==o){e.setEdge(d,o);return}o=u}})}function nr(n,e,r){var i=er(n),t=new k({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(function(a){return n.node(a)});return s(n.nodes(),function(a){var o=n.node(a),u=n.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(t.setNode(a),t.setParent(a,u||i),s(n[r](a),function(d){var f=d.v===a?d.w:d.v,c=t.edge(f,a),h=g(c)?0:c.weight;t.setEdge(f,a,{weight:n.edge(d).weight+h})}),m(o,"minRank")&&t.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),t}function er(n){for(var e;n.hasNode(e=J("_root")););return e}function rr(n,e){for(var r=0,i=1;i0;)c%2&&(h+=u[c+1]),c=c-1>>1,u[c]+=f.weight;d+=f.weight*h})),d}function tr(n){var e={},r=I(n.nodes(),function(u){return!n.children(u).length}),i=x(w(r,function(u){return n.node(u).rank})),t=w(L(i+1),function(){return[]});function a(u){if(!m(e,u)){e[u]=!0;var d=n.node(u);t[d.rank].push(u),s(n.successors(u),a)}}var o=M(r,function(u){return n.node(u).rank});return s(o,a),t}function ar(n,e){return w(e,function(r){var i=n.inEdges(r);if(i.length){var t=O(i,function(a,o){var u=n.edge(o),d=n.node(o.v);return{sum:a.sum+u.weight*d.order,weight:a.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:t.sum/t.weight,weight:t.weight}}else return{v:r}})}function or(n,e){var r={};s(n,function(t,a){var o=r[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:a};g(t.barycenter)||(o.barycenter=t.barycenter,o.weight=t.weight)}),s(e.edges(),function(t){var a=r[t.v],o=r[t.w];!g(a)&&!g(o)&&(o.indegree++,a.out.push(r[t.w]))});var i=I(r,function(t){return!t.indegree});return ur(i)}function ur(n){var e=[];function r(a){return function(o){o.merged||(g(o.barycenter)||g(a.barycenter)||o.barycenter>=a.barycenter)&&dr(a,o)}}function i(a){return function(o){o.in.push(a),--o.indegree===0&&n.push(o)}}for(;n.length;){var t=n.pop();e.push(t),s(t.in.reverse(),r(t)),s(t.out,i(t))}return w(I(e,function(a){return!a.merged}),function(a){return S(a,["vs","i","barycenter","weight"])})}function dr(n,e){var r=0,i=0;n.weight&&(r+=n.barycenter*n.weight,i+=n.weight),e.weight&&(r+=e.barycenter*e.weight,i+=e.weight),n.vs=e.vs.concat(n.vs),n.barycenter=r/i,n.weight=i,n.i=Math.min(e.i,n.i),e.merged=!0}function fr(n,e){var r=_e(n,function(c){return m(c,"barycenter")}),i=r.lhs,t=M(r.rhs,function(c){return-c.i}),a=[],o=0,u=0,d=0;i.sort(sr(!!e)),d=sn(a,t,d),s(i,function(c){d+=c.vs.length,a.push(c.vs),o+=c.barycenter*c.weight,u+=c.weight,d=sn(a,t,d)});var f={vs:N(a)};return u&&(f.barycenter=o/u,f.weight=u),f}function sn(n,e,r){for(var i;e.length&&(i=P(e)).i<=r;)e.pop(),n.push(i.vs),r++;return r}function sr(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function In(n,e,r,i){var t=n.children(e),a=n.node(e),o=a?a.borderLeft:void 0,u=a?a.borderRight:void 0,d={};o&&(t=I(t,function(p){return p!==o&&p!==u}));var f=ar(n,t);s(f,function(p){if(n.children(p.v).length){var b=In(n,p.v,r,i);d[p.v]=b,m(b,"barycenter")&&hr(p,b)}});var c=or(f,r);cr(c,d);var h=fr(c,i);if(o&&(h.vs=N([o,h.vs,u]),n.predecessors(o).length)){var l=n.node(n.predecessors(o)[0]),v=n.node(n.predecessors(u)[0]);m(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+l.order+v.order)/(h.weight+2),h.weight+=2}return h}function cr(n,e){s(n,function(r){r.vs=N(r.vs.map(function(i){return e[i]?e[i].vs:i}))})}function hr(n,e){g(n.barycenter)?(n.barycenter=e.barycenter,n.weight=e.weight):(n.barycenter=(n.barycenter*n.weight+e.barycenter*e.weight)/(n.weight+e.weight),n.weight+=e.weight)}function lr(n){var e=gn(n),r=cn(n,L(1,e+1),"inEdges"),i=cn(n,L(e-1,-1,-1),"outEdges"),t=tr(n);hn(n,t);for(var a=Number.POSITIVE_INFINITY,o,u=0,d=0;d<4;++u,++d){vr(u%2?r:i,u%4>=2),t=V(n);var f=rr(n,t);fo||u>e[d].lim));for(f=d,d=i;(d=n.parent(d))!==f;)a.push(d);return{path:t.concat(a.reverse()),lca:f}}function wr(n){var e={},r=0;function i(t){var a=r;s(n.children(t),i),e[t]={low:a,lim:r++}}return s(n.children(),i),e}function br(n,e){var r={};function i(t,a){var o=0,u=0,d=t.length,f=P(a);return s(a,function(c,h){var l=kr(n,c),v=l?n.node(l).order:d;(l||c===f)&&(s(a.slice(u,h+1),function(p){s(n.predecessors(p),function(b){var _=n.node(b),nn=_.order;(nnf)&&Mn(r,l,c)})})}function t(a,o){var u=-1,d,f=0;return s(o,function(c,h){if(n.node(c).dummy==="border"){var l=n.predecessors(c);l.length&&(d=n.node(l[0]).order,i(o,f,h,u,d),f=h,u=d)}i(o,f,o.length,d,a.length)}),o}return O(e,t),r}function kr(n,e){if(n.node(e).dummy)return X(n.predecessors(e),function(r){return n.node(r).dummy})}function Mn(n,e,r){if(e>r){var i=e;e=r,r=i}var t=n[e];t||(n[e]=t={}),t[r]=!0}function xr(n,e,r){if(e>r){var i=e;e=r,r=i}return m(n[e],r)}function Er(n,e,r,i){var t={},a={},o={};return s(e,function(u){s(u,function(d,f){t[d]=d,a[d]=d,o[d]=f})}),s(e,function(u){var d=-1;s(u,function(f){var c=i(f);if(c.length){c=M(c,function(b){return o[b]});for(var h=(c.length-1)/2,l=Math.floor(h),v=Math.ceil(h);l<=v;++l){var p=c[l];a[f]===f&&de}function F(n,e){var r={};return e=U(e),vn(n,function(i,t,a){jn(r,t,e(i,t,a))}),r}function x(n){return n&&n.length?pn(n,mn,re):void 0}function H(n,e){return n&&n.length?pn(n,U(e),An):void 0}function ie(n,e){var r=n.length;for(n.sort(e);r--;)n[r]=n[r].value;return n}function te(n,e){if(n!==e){var r=n!==void 0,i=n===null,t=n===n,a=en(n),o=e!==void 0,u=e===null,d=e===e,f=en(e);if(!u&&!f&&!a&&n>e||a&&o&&d&&!u&&!f||i&&o&&d||!r&&d||!t)return 1;if(!i&&!a&&!f&&n=u)return d;var f=r[i];return d*(f=="desc"?-1:1)}}return n.index-e.index}function oe(n,e,r){e.length?e=A(e,function(a){return wn(a)?function(o){return Sn(o,a.length===1?a[0]:a)}:a}):e=[mn];var i=-1;e=A(e,zn(U));var t=Bn(n,function(a,o,u){var d=A(e,function(f){return f(a)});return{criteria:d,index:++i,value:a}});return ie(t,function(a,o){return ae(a,o,r)})}function ue(n,e){return Gn(n,e,function(r,i){return On(n,i)})}var S=Jn(function(n,e){return n==null?{}:ue(n,e)}),de=Math.ceil,fe=Math.max;function se(n,e,r,i){for(var t=-1,a=fe(de((e-n)/(r||1)),0),o=Array(a);a--;)o[++t]=n,n+=r;return o}function ce(n){return function(e,r,i){return i&&typeof i!="number"&&W(e,r,i)&&(r=i=void 0),e=B(e),r===void 0?(r=e,e=0):r=B(r),i=i===void 0?e1&&W(n,e[0],e[1])?e=[]:r>2&&W(e[0],e[1],e[2])&&(e=[e[0]]),oe(n,Fn(e),[])}),he=0;function J(n){var e=++he;return Vn(n)+e}function le(n,e,r){for(var i=-1,t=n.length,a=e.length,o={};++i0;--u)if(o=e[u].dequeue(),o){i=i.concat(G(n,e,r,o,!0));break}}}return i}function G(n,e,r,i,t){var a=t?[]:void 0;return s(n.inEdges(i.v),function(o){var u=n.edge(o),d=n.node(o.v);t&&a.push({v:o.v,w:o.w}),d.out-=u,z(e,r,d)}),s(n.outEdges(i.v),function(o){var u=n.edge(o),d=o.w,f=n.node(d);f.in-=u,z(e,r,f)}),n.removeNode(i.v),a}function ke(n,e){var r=new k,i=0,t=0;s(n.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),s(n.edges(),function(u){var d=r.edge(u.v,u.w)||0,f=e(u),c=d+f;r.setEdge(u.v,u.w,c),t=Math.max(t,r.node(u.v).out+=f),i=Math.max(i,r.node(u.w).in+=f)});var a=L(t+i+3).map(function(){return new pe}),o=i+1;return s(r.nodes(),function(u){z(a,o,r.node(u))}),{graph:r,buckets:a,zeroIdx:o}}function z(n,e,r){r.out?r.in?n[r.out-r.in+e].enqueue(r):n[n.length-1].enqueue(r):n[0].enqueue(r)}function xe(n){var e=n.graph().acyclicer==="greedy"?be(n,r(n)):Ee(n);s(e,function(i){var t=n.edge(i);n.removeEdge(i),t.forwardName=i.name,t.reversed=!0,n.setEdge(i.w,i.v,t,J("rev"))});function r(i){return function(t){return i.edge(t).weight}}}function Ee(n){var e=[],r={},i={};function t(a){m(i,a)||(i[a]=!0,r[a]=!0,s(n.outEdges(a),function(o){m(r,o.w)?e.push(o):t(o.w)}),delete r[a])}return s(n.nodes(),t),e}function ye(n){s(n.edges(),function(e){var r=n.edge(e);if(r.reversed){n.removeEdge(e);var i=r.forwardName;delete r.reversed,delete r.forwardName,n.setEdge(e.w,e.v,r,i)}})}function C(n,e,r,i){var t;do t=J(i);while(n.hasNode(t));return r.dummy=e,n.setNode(t,r),t}function Le(n){var e=new k().setGraph(n.graph());return s(n.nodes(),function(r){e.setNode(r,n.node(r))}),s(n.edges(),function(r){var i=e.edge(r.v,r.w)||{weight:0,minlen:1},t=n.edge(r);e.setEdge(r.v,r.w,{weight:i.weight+t.weight,minlen:Math.max(i.minlen,t.minlen)})}),e}function bn(n){var e=new k({multigraph:n.isMultigraph()}).setGraph(n.graph());return s(n.nodes(),function(r){n.children(r).length||e.setNode(r,n.node(r))}),s(n.edges(),function(r){e.setEdge(r,n.edge(r))}),e}function tn(n,e){var r=n.x,i=n.y,t=e.x-r,a=e.y-i,o=n.width/2,u=n.height/2;if(!t&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var d,f;return Math.abs(a)*o>Math.abs(t)*u?(a<0&&(u=-u),d=u*t/a,f=u):(t<0&&(o=-o),d=o,f=o*a/t),{x:r+d,y:i+f}}function V(n){var e=w(L(gn(n)+1),function(){return[]});return s(n.nodes(),function(r){var i=n.node(r),t=i.rank;g(t)||(e[t][i.order]=r)}),e}function Ne(n){var e=R(w(n.nodes(),function(r){return n.node(r).rank}));s(n.nodes(),function(r){var i=n.node(r);m(i,"rank")&&(i.rank-=e)})}function Ce(n){var e=R(w(n.nodes(),function(a){return n.node(a).rank})),r=[];s(n.nodes(),function(a){var o=n.node(a).rank-e;r[o]||(r[o]=[]),r[o].push(a)});var i=0,t=n.graph().nodeRankFactor;s(r,function(a,o){g(a)&&o%t!==0?--i:i&&s(a,function(u){n.node(u).rank+=i})})}function an(n,e,r,i){var t={width:0,height:0};return arguments.length>=4&&(t.rank=r,t.order=i),C(n,"border",t,e)}function gn(n){return x(w(n.nodes(),function(e){var r=n.node(e).rank;if(!g(r))return r}))}function _e(n,e){var r={lhs:[],rhs:[]};return s(n,function(i){e(i)?r.lhs.push(i):r.rhs.push(i)}),r}function Re(n,e){return e()}function Te(n){function e(r){var i=n.children(r),t=n.node(r);if(i.length&&s(i,e),m(t,"minRank")){t.borderLeft=[],t.borderRight=[];for(var a=t.minRank,o=t.maxRank+1;ao.lim&&(u=o,d=!0);var f=I(e.edges(),function(c){return d===dn(n,n.node(c.v),u)&&d!==dn(n,n.node(c.w),u)});return H(f,function(c){return T(e,c)})}function Rn(n,e,r,i){var t=r.v,a=r.w;n.removeEdge(t,a),n.setEdge(i.v,i.w,{}),Q(n),K(n,e),We(n,e)}function We(n,e){var r=X(n.nodes(),function(t){return!e.node(t).parent}),i=qe(n,r);i=i.slice(1),s(i,function(t){var a=n.node(t).parent,o=e.edge(t,a),u=!1;o||(o=e.edge(a,t),u=!0),e.node(t).rank=e.node(a).rank+(u?o.minlen:-o.minlen)})}function je(n,e,r){return n.hasEdge(e,r)}function dn(n,e,r){return r.low<=e.lim&&e.lim<=r.lim}function ze(n){switch(n.graph().ranker){case"network-simplex":fn(n);break;case"tight-tree":Xe(n);break;case"longest-path":Ue(n);break;default:fn(n)}}var Ue=Z;function Xe(n){Z(n),xn(n)}function fn(n){E(n)}function He(n){var e=C(n,"root",{},"_root"),r=Je(n),i=x(y(r))-1,t=2*i+1;n.graph().nestingRoot=e,s(n.edges(),function(o){n.edge(o).minlen*=t});var a=Ze(n)+1;s(n.children(),function(o){Tn(n,e,t,a,i,r,o)}),n.graph().nodeRankFactor=t}function Tn(n,e,r,i,t,a,o){var u=n.children(o);if(!u.length){o!==e&&n.setEdge(e,o,{weight:0,minlen:r});return}var d=an(n,"_bt"),f=an(n,"_bb"),c=n.node(o);n.setParent(d,o),c.borderTop=d,n.setParent(f,o),c.borderBottom=f,s(u,function(h){Tn(n,e,r,i,t,a,h);var l=n.node(h),v=l.borderTop?l.borderTop:h,p=l.borderBottom?l.borderBottom:h,b=l.borderTop?i:2*i,_=v!==p?1:t-a[o]+1;n.setEdge(d,v,{weight:b,minlen:_,nestingEdge:!0}),n.setEdge(p,f,{weight:b,minlen:_,nestingEdge:!0})}),n.parent(o)||n.setEdge(e,d,{weight:0,minlen:t+a[o]})}function Je(n){var e={};function r(i,t){var a=n.children(i);a&&a.length&&s(a,function(o){r(o,t+1)}),e[i]=t}return s(n.children(),function(i){r(i,1)}),e}function Ze(n){return O(n.edges(),function(e,r){return e+n.edge(r).weight},0)}function Ke(n){var e=n.graph();n.removeNode(e.nestingRoot),delete e.nestingRoot,s(n.edges(),function(r){var i=n.edge(r);i.nestingEdge&&n.removeEdge(r)})}function Qe(n,e,r){var i={},t;s(r,function(a){for(var o=n.parent(a),u,d;o;){if(u=n.parent(o),u?(d=i[u],i[u]=o):(d=t,t=o),d&&d!==o){e.setEdge(d,o);return}o=u}})}function nr(n,e,r){var i=er(n),t=new k({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(function(a){return n.node(a)});return s(n.nodes(),function(a){var o=n.node(a),u=n.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(t.setNode(a),t.setParent(a,u||i),s(n[r](a),function(d){var f=d.v===a?d.w:d.v,c=t.edge(f,a),h=g(c)?0:c.weight;t.setEdge(f,a,{weight:n.edge(d).weight+h})}),m(o,"minRank")&&t.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))}),t}function er(n){for(var e;n.hasNode(e=J("_root")););return e}function rr(n,e){for(var r=0,i=1;i0;)c%2&&(h+=u[c+1]),c=c-1>>1,u[c]+=f.weight;d+=f.weight*h})),d}function tr(n){var e={},r=I(n.nodes(),function(u){return!n.children(u).length}),i=x(w(r,function(u){return n.node(u).rank})),t=w(L(i+1),function(){return[]});function a(u){if(!m(e,u)){e[u]=!0;var d=n.node(u);t[d.rank].push(u),s(n.successors(u),a)}}var o=M(r,function(u){return n.node(u).rank});return s(o,a),t}function ar(n,e){return w(e,function(r){var i=n.inEdges(r);if(i.length){var t=O(i,function(a,o){var u=n.edge(o),d=n.node(o.v);return{sum:a.sum+u.weight*d.order,weight:a.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:t.sum/t.weight,weight:t.weight}}else return{v:r}})}function or(n,e){var r={};s(n,function(t,a){var o=r[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:a};g(t.barycenter)||(o.barycenter=t.barycenter,o.weight=t.weight)}),s(e.edges(),function(t){var a=r[t.v],o=r[t.w];!g(a)&&!g(o)&&(o.indegree++,a.out.push(r[t.w]))});var i=I(r,function(t){return!t.indegree});return ur(i)}function ur(n){var e=[];function r(a){return function(o){o.merged||(g(o.barycenter)||g(a.barycenter)||o.barycenter>=a.barycenter)&&dr(a,o)}}function i(a){return function(o){o.in.push(a),--o.indegree===0&&n.push(o)}}for(;n.length;){var t=n.pop();e.push(t),s(t.in.reverse(),r(t)),s(t.out,i(t))}return w(I(e,function(a){return!a.merged}),function(a){return S(a,["vs","i","barycenter","weight"])})}function dr(n,e){var r=0,i=0;n.weight&&(r+=n.barycenter*n.weight,i+=n.weight),e.weight&&(r+=e.barycenter*e.weight,i+=e.weight),n.vs=e.vs.concat(n.vs),n.barycenter=r/i,n.weight=i,n.i=Math.min(e.i,n.i),e.merged=!0}function fr(n,e){var r=_e(n,function(c){return m(c,"barycenter")}),i=r.lhs,t=M(r.rhs,function(c){return-c.i}),a=[],o=0,u=0,d=0;i.sort(sr(!!e)),d=sn(a,t,d),s(i,function(c){d+=c.vs.length,a.push(c.vs),o+=c.barycenter*c.weight,u+=c.weight,d=sn(a,t,d)});var f={vs:N(a)};return u&&(f.barycenter=o/u,f.weight=u),f}function sn(n,e,r){for(var i;e.length&&(i=P(e)).i<=r;)e.pop(),n.push(i.vs),r++;return r}function sr(n){return function(e,r){return e.barycenterr.barycenter?1:n?r.i-e.i:e.i-r.i}}function In(n,e,r,i){var t=n.children(e),a=n.node(e),o=a?a.borderLeft:void 0,u=a?a.borderRight:void 0,d={};o&&(t=I(t,function(p){return p!==o&&p!==u}));var f=ar(n,t);s(f,function(p){if(n.children(p.v).length){var b=In(n,p.v,r,i);d[p.v]=b,m(b,"barycenter")&&hr(p,b)}});var c=or(f,r);cr(c,d);var h=fr(c,i);if(o&&(h.vs=N([o,h.vs,u]),n.predecessors(o).length)){var l=n.node(n.predecessors(o)[0]),v=n.node(n.predecessors(u)[0]);m(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+l.order+v.order)/(h.weight+2),h.weight+=2}return h}function cr(n,e){s(n,function(r){r.vs=N(r.vs.map(function(i){return e[i]?e[i].vs:i}))})}function hr(n,e){g(n.barycenter)?(n.barycenter=e.barycenter,n.weight=e.weight):(n.barycenter=(n.barycenter*n.weight+e.barycenter*e.weight)/(n.weight+e.weight),n.weight+=e.weight)}function lr(n){var e=gn(n),r=cn(n,L(1,e+1),"inEdges"),i=cn(n,L(e-1,-1,-1),"outEdges"),t=tr(n);hn(n,t);for(var a=Number.POSITIVE_INFINITY,o,u=0,d=0;d<4;++u,++d){vr(u%2?r:i,u%4>=2),t=V(n);var f=rr(n,t);fo||u>e[d].lim));for(f=d,d=i;(d=n.parent(d))!==f;)a.push(d);return{path:t.concat(a.reverse()),lca:f}}function wr(n){var e={},r=0;function i(t){var a=r;s(n.children(t),i),e[t]={low:a,lim:r++}}return s(n.children(),i),e}function br(n,e){var r={};function i(t,a){var o=0,u=0,d=t.length,f=P(a);return s(a,function(c,h){var l=kr(n,c),v=l?n.node(l).order:d;(l||c===f)&&(s(a.slice(u,h+1),function(p){s(n.predecessors(p),function(b){var _=n.node(b),nn=_.order;(nnf)&&Mn(r,l,c)})})}function t(a,o){var u=-1,d,f=0;return s(o,function(c,h){if(n.node(c).dummy==="border"){var l=n.predecessors(c);l.length&&(d=n.node(l[0]).order,i(o,f,h,u,d),f=h,u=d)}i(o,f,o.length,d,a.length)}),o}return O(e,t),r}function kr(n,e){if(n.node(e).dummy)return X(n.predecessors(e),function(r){return n.node(r).dummy})}function Mn(n,e,r){if(e>r){var i=e;e=r,r=i}var t=n[e];t||(n[e]=t={}),t[r]=!0}function xr(n,e,r){if(e>r){var i=e;e=r,r=i}return m(n[e],r)}function Er(n,e,r,i){var t={},a={},o={};return s(e,function(u){s(u,function(d,f){t[d]=d,a[d]=d,o[d]=f})}),s(e,function(u){var d=-1;s(u,function(f){var c=i(f);if(c.length){c=M(c,function(b){return o[b]});for(var h=(c.length-1)/2,l=Math.floor(h),v=Math.ceil(h);l<=v;++l){var p=c[l];a[f]===f&&dt?1:n>=t?0:NaN}function hn(n,t){return n==null||t==null?NaN:tn?1:t>=n?0:NaN}function _(n){let t,e,r;n.length!==2?(t=F,e=(u,c)=>F(n(u),c),r=(u,c)=>n(u)-c):(t=n===F||n===hn?n:mn,e=n,r=n);function i(u,c,o=0,s=u.length){if(o>>1;e(u[h],c)<0?o=h+1:s=h}while(o>>1;e(u[h],c)<=0?o=h+1:s=h}while(oo&&r(u[h-1],c)>-r(u[h],c)?h-1:h}return{left:i,center:a,right:f}}function mn(){return 0}function ln(n){return n===null?NaN:+n}const sn=_(F),dn=sn.right;_(ln).center;const gn=Math.sqrt(50),yn=Math.sqrt(10),Mn=Math.sqrt(2);function R(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log10(r)),f=r/Math.pow(10,i),a=f>=gn?10:f>=yn?5:f>=Mn?2:1;let u,c,o;return i<0?(o=Math.pow(10,-i)/a,u=Math.round(n*o),c=Math.round(t*o),u/ot&&--c,o=-o):(o=Math.pow(10,i)*a,u=Math.round(n/o),c=Math.round(t/o),u*ot&&--c),c0))return[];if(n===t)return[n];const r=t=i))return[];const u=f-i+1,c=new Array(u);if(r)if(a<0)for(let o=0;o=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function E(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,r=n.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+n.slice(e+1)]}function v(n){return n=E(Math.abs(n)),n?n[1]:NaN}function jn(n,t){return function(e,r){for(var i=e.length,f=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),f.push(e.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return f.reverse().join(t)}}function Pn(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var zn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function D(n){if(!(t=zn.exec(n)))throw new Error("invalid format: "+n);var t;return new B({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}D.prototype=B.prototype;function B(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}B.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function $n(n){n:for(var t=n.length,e=1,r=-1,i;e0&&(r=0);break}return r>0?n.slice(0,r)+n.slice(i+1):n}var nn;function Fn(n,t){var e=E(n,t);if(!e)return n+"";var r=e[0],i=e[1],f=i-(nn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return f===a?r:f>a?r+new Array(f-a+1).join("0"):f>0?r.slice(0,f)+"."+r.slice(f):"0."+new Array(1-f).join("0")+E(n,Math.max(0,t+f-1))[0]}function Z(n,t){var e=E(n,t);if(!e)return n+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const H={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:Sn,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>Z(n*100,t),r:Z,s:Fn,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function J(n){return n}var K=Array.prototype.map,Q=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Rn(n){var t=n.grouping===void 0||n.thousands===void 0?J:jn(K.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",r=n.currency===void 0?"":n.currency[1]+"",i=n.decimal===void 0?".":n.decimal+"",f=n.numerals===void 0?J:Pn(K.call(n.numerals,String)),a=n.percent===void 0?"%":n.percent+"",u=n.minus===void 0?"−":n.minus+"",c=n.nan===void 0?"NaN":n.nan+"";function o(h){h=D(h);var l=h.fill,p=h.align,y=h.sign,b=h.symbol,k=h.zero,S=h.width,T=h.comma,w=h.precision,G=h.trim,d=h.type;d==="n"?(T=!0,d="g"):H[d]||(w===void 0&&(w=12),G=!0,d="g"),(k||l==="0"&&p==="=")&&(k=!0,l="0",p="=");var en=b==="$"?e:b==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():"",on=b==="$"?r:/[%p]/.test(d)?a:"",O=H[d],an=/[defgprs%]/.test(d);w=w===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function V(m){var N=en,g=on,x,X,j;if(d==="c")g=O(m)+g,m="";else{m=+m;var P=m<0||1/m<0;if(m=isNaN(m)?c:O(Math.abs(m),w),G&&(m=$n(m)),P&&+m==0&&y!=="+"&&(P=!1),N=(P?y==="("?y:u:y==="-"||y==="("?"":y)+N,g=(d==="s"?Q[8+nn/3]:"")+g+(P&&y==="("?")":""),an){for(x=-1,X=m.length;++xj||j>57){g=(j===46?i+m.slice(x+1):m.slice(x))+g,m=m.slice(0,x);break}}}T&&!k&&(m=t(m,1/0));var z=N.length+m.length+g.length,M=z>1)+N+m+g+M.slice(z);break;default:m=M+N+m+g;break}return f(m)}return V.toString=function(){return h+""},V}function s(h,l){var p=o((h=D(h),h.type="f",h)),y=Math.max(-8,Math.min(8,Math.floor(v(l)/3)))*3,b=Math.pow(10,-y),k=Q[8+y/3];return function(S){return p(b*S)+k}}return{format:o,formatPrefix:s}}var $,tn,rn;En({thousands:",",grouping:[3],currency:["$",""]});function En(n){return $=Rn(n),tn=$.format,rn=$.formatPrefix,$}function Dn(n){return Math.max(0,-v(Math.abs(n)))}function Tn(n,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(v(t)/3)))*3-v(Math.abs(n)))}function In(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,v(t)-v(n))+1}function Ln(n){return function(){return n}}function qn(n){return+n}var W=[0,1];function A(n){return n}function q(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:Ln(isNaN(t)?NaN:.5)}function Cn(n,t){var e;return n>t&&(e=n,n=t,t=e),function(r){return Math.max(n,Math.min(t,r))}}function Bn(n,t,e){var r=n[0],i=n[1],f=t[0],a=t[1];return i2?Gn:Bn,c=o=null,h}function h(l){return l==null||isNaN(l=+l)?f:(c||(c=u(n.map(r),t,e)))(r(a(l)))}return h.invert=function(l){return a(i((o||(o=u(t,n.map(r),I)))(l)))},h.domain=function(l){return arguments.length?(n=Array.from(l,qn),s()):n.slice()},h.range=function(l){return arguments.length?(t=Array.from(l),s()):t.slice()},h.rangeRound=function(l){return t=Array.from(l),e=bn,s()},h.clamp=function(l){return arguments.length?(a=l?!0:A,s()):a!==A},h.interpolate=function(l){return arguments.length?(e=l,s()):e},h.unknown=function(l){return arguments.length?(f=l,h):f},function(l,p){return r=l,i=p,s()}}function Xn(){return Vn()(A,A)}function Un(n,t,e,r){var i=wn(n,t,e),f;switch(r=D(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(t));return r.precision==null&&!isNaN(f=Tn(i,a))&&(r.precision=f),rn(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(f=In(i,Math.max(Math.abs(n),Math.abs(t))))&&(r.precision=f-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(f=Dn(i))&&(r.precision=f-(r.type==="%")*2);break}}return tn(r)}function Yn(n){var t=n.domain;return n.ticks=function(e){var r=t();return pn(r[0],r[r.length-1],e??10)},n.tickFormat=function(e,r){var i=t();return Un(i[0],i[i.length-1],e??10,r)},n.nice=function(e){e==null&&(e=10);var r=t(),i=0,f=r.length-1,a=r[i],u=r[f],c,o,s=10;for(u0;){if(o=L(a,u,e),o===c)return r[i]=a,r[f]=u,t(r);if(o>0)a=Math.floor(a/o)*o,u=Math.ceil(u/o)*o;else if(o<0)a=Math.ceil(a*o)/o,u=Math.floor(u*o)/o;else break;c=o}return n},n}function Zn(){var n=Xn();return n.copy=function(){return On(n,Zn())},cn.apply(n,arguments),Yn(n)}export{On as a,_ as b,Xn as c,Zn as l,wn as t}; +import{b1 as un,b2 as I,b3 as U,b4 as Y,b5 as fn}from"../app.XeY7gsc2.js";import{i as cn}from"./init.Gi6I4Gst.js";function F(n,t){return n==null||t==null?NaN:nt?1:n>=t?0:NaN}function hn(n,t){return n==null||t==null?NaN:tn?1:t>=n?0:NaN}function _(n){let t,e,r;n.length!==2?(t=F,e=(u,c)=>F(n(u),c),r=(u,c)=>n(u)-c):(t=n===F||n===hn?n:mn,e=n,r=n);function i(u,c,o=0,s=u.length){if(o>>1;e(u[h],c)<0?o=h+1:s=h}while(o>>1;e(u[h],c)<=0?o=h+1:s=h}while(oo&&r(u[h-1],c)>-r(u[h],c)?h-1:h}return{left:i,center:a,right:f}}function mn(){return 0}function ln(n){return n===null?NaN:+n}const sn=_(F),dn=sn.right;_(ln).center;const gn=Math.sqrt(50),yn=Math.sqrt(10),Mn=Math.sqrt(2);function R(n,t,e){const r=(t-n)/Math.max(0,e),i=Math.floor(Math.log10(r)),f=r/Math.pow(10,i),a=f>=gn?10:f>=yn?5:f>=Mn?2:1;let u,c,o;return i<0?(o=Math.pow(10,-i)/a,u=Math.round(n*o),c=Math.round(t*o),u/ot&&--c,o=-o):(o=Math.pow(10,i)*a,u=Math.round(n/o),c=Math.round(t/o),u*ot&&--c),c0))return[];if(n===t)return[n];const r=t=i))return[];const u=f-i+1,c=new Array(u);if(r)if(a<0)for(let o=0;o=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function E(n,t){if((e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"))<0)return null;var e,r=n.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+n.slice(e+1)]}function v(n){return n=E(Math.abs(n)),n?n[1]:NaN}function jn(n,t){return function(e,r){for(var i=e.length,f=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),f.push(e.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return f.reverse().join(t)}}function Pn(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var zn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function D(n){if(!(t=zn.exec(n)))throw new Error("invalid format: "+n);var t;return new B({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}D.prototype=B.prototype;function B(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}B.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function $n(n){n:for(var t=n.length,e=1,r=-1,i;e0&&(r=0);break}return r>0?n.slice(0,r)+n.slice(i+1):n}var nn;function Fn(n,t){var e=E(n,t);if(!e)return n+"";var r=e[0],i=e[1],f=i-(nn=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return f===a?r:f>a?r+new Array(f-a+1).join("0"):f>0?r.slice(0,f)+"."+r.slice(f):"0."+new Array(1-f).join("0")+E(n,Math.max(0,t+f-1))[0]}function Z(n,t){var e=E(n,t);if(!e)return n+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const H={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:Sn,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>Z(n*100,t),r:Z,s:Fn,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function J(n){return n}var K=Array.prototype.map,Q=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Rn(n){var t=n.grouping===void 0||n.thousands===void 0?J:jn(K.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",r=n.currency===void 0?"":n.currency[1]+"",i=n.decimal===void 0?".":n.decimal+"",f=n.numerals===void 0?J:Pn(K.call(n.numerals,String)),a=n.percent===void 0?"%":n.percent+"",u=n.minus===void 0?"−":n.minus+"",c=n.nan===void 0?"NaN":n.nan+"";function o(h){h=D(h);var l=h.fill,p=h.align,y=h.sign,b=h.symbol,k=h.zero,S=h.width,T=h.comma,w=h.precision,G=h.trim,d=h.type;d==="n"?(T=!0,d="g"):H[d]||(w===void 0&&(w=12),G=!0,d="g"),(k||l==="0"&&p==="=")&&(k=!0,l="0",p="=");var en=b==="$"?e:b==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():"",on=b==="$"?r:/[%p]/.test(d)?a:"",O=H[d],an=/[defgprs%]/.test(d);w=w===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function V(m){var N=en,g=on,x,X,j;if(d==="c")g=O(m)+g,m="";else{m=+m;var P=m<0||1/m<0;if(m=isNaN(m)?c:O(Math.abs(m),w),G&&(m=$n(m)),P&&+m==0&&y!=="+"&&(P=!1),N=(P?y==="("?y:u:y==="-"||y==="("?"":y)+N,g=(d==="s"?Q[8+nn/3]:"")+g+(P&&y==="("?")":""),an){for(x=-1,X=m.length;++xj||j>57){g=(j===46?i+m.slice(x+1):m.slice(x))+g,m=m.slice(0,x);break}}}T&&!k&&(m=t(m,1/0));var z=N.length+m.length+g.length,M=z>1)+N+m+g+M.slice(z);break;default:m=M+N+m+g;break}return f(m)}return V.toString=function(){return h+""},V}function s(h,l){var p=o((h=D(h),h.type="f",h)),y=Math.max(-8,Math.min(8,Math.floor(v(l)/3)))*3,b=Math.pow(10,-y),k=Q[8+y/3];return function(S){return p(b*S)+k}}return{format:o,formatPrefix:s}}var $,tn,rn;En({thousands:",",grouping:[3],currency:["$",""]});function En(n){return $=Rn(n),tn=$.format,rn=$.formatPrefix,$}function Dn(n){return Math.max(0,-v(Math.abs(n)))}function Tn(n,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(v(t)/3)))*3-v(Math.abs(n)))}function In(n,t){return n=Math.abs(n),t=Math.abs(t)-n,Math.max(0,v(t)-v(n))+1}function Ln(n){return function(){return n}}function qn(n){return+n}var W=[0,1];function A(n){return n}function q(n,t){return(t-=n=+n)?function(e){return(e-n)/t}:Ln(isNaN(t)?NaN:.5)}function Cn(n,t){var e;return n>t&&(e=n,n=t,t=e),function(r){return Math.max(n,Math.min(t,r))}}function Bn(n,t,e){var r=n[0],i=n[1],f=t[0],a=t[1];return i2?Gn:Bn,c=o=null,h}function h(l){return l==null||isNaN(l=+l)?f:(c||(c=u(n.map(r),t,e)))(r(a(l)))}return h.invert=function(l){return a(i((o||(o=u(t,n.map(r),I)))(l)))},h.domain=function(l){return arguments.length?(n=Array.from(l,qn),s()):n.slice()},h.range=function(l){return arguments.length?(t=Array.from(l),s()):t.slice()},h.rangeRound=function(l){return t=Array.from(l),e=bn,s()},h.clamp=function(l){return arguments.length?(a=l?!0:A,s()):a!==A},h.interpolate=function(l){return arguments.length?(e=l,s()):e},h.unknown=function(l){return arguments.length?(f=l,h):f},function(l,p){return r=l,i=p,s()}}function Xn(){return Vn()(A,A)}function Un(n,t,e,r){var i=wn(n,t,e),f;switch(r=D(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(t));return r.precision==null&&!isNaN(f=Tn(i,a))&&(r.precision=f),rn(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(f=In(i,Math.max(Math.abs(n),Math.abs(t))))&&(r.precision=f-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(f=Dn(i))&&(r.precision=f-(r.type==="%")*2);break}}return tn(r)}function Yn(n){var t=n.domain;return n.ticks=function(e){var r=t();return pn(r[0],r[r.length-1],e??10)},n.tickFormat=function(e,r){var i=t();return Un(i[0],i[i.length-1],e??10,r)},n.nice=function(e){e==null&&(e=10);var r=t(),i=0,f=r.length-1,a=r[i],u=r[f],c,o,s=10;for(u0;){if(o=L(a,u,e),o===c)return r[i]=a,r[f]=u,t(r);if(o>0)a=Math.floor(a/o)*o,u=Math.ceil(u/o)*o;else if(o<0)a=Math.ceil(a*o)/o,u=Math.floor(u*o)/o;else break;c=o}return n},n}function Zn(){var n=Xn();return n.copy=function(){return On(n,Zn())},cn.apply(n,arguments),Yn(n)}export{On as a,_ as b,Xn as c,Zn as l,wn as t}; diff --git a/assets/chunks/mindmap-definition-OEB2RXX2.GLvTLMoi.js b/assets/chunks/mindmap-definition-OEB2RXX2.B0ecx9Es.js similarity index 99% rename from assets/chunks/mindmap-definition-OEB2RXX2.GLvTLMoi.js rename to assets/chunks/mindmap-definition-OEB2RXX2.B0ecx9Es.js index c19ee3eeb..44b267da0 100644 --- a/assets/chunks/mindmap-definition-OEB2RXX2.GLvTLMoi.js +++ b/assets/chunks/mindmap-definition-OEB2RXX2.B0ecx9Es.js @@ -1,4 +1,4 @@ -import{aH as at,aI as Nt,_ as S,l as z,j as mt,ae as Dt,a4 as Ot,d as ot,H as At,a8 as It,B as tt,i as et,al as Ct,am as Rt,an as xt}from"../app.B4W5LDy6.js";import{c as pt}from"./cytoscape.esm.otp_DSkq.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";var dt={exports:{}},it={exports:{}},nt={exports:{}},ut;function Mt(){return ut||(ut=1,function(I,w){(function(D,y){I.exports=y()})(at,function(){return function(f){var D={};function y(r){if(D[r])return D[r].exports;var t=D[r]={i:r,l:!1,exports:{}};return f[r].call(t.exports,t,t.exports,y),t.l=!0,t.exports}return y.m=f,y.c=D,y.i=function(r){return r},y.d=function(r,t,e){y.o(r,t)||Object.defineProperty(r,t,{configurable:!1,enumerable:!0,get:e})},y.n=function(r){var t=r&&r.__esModule?function(){return r.default}:function(){return r};return y.d(t,"a",t),t},y.o=function(r,t){return Object.prototype.hasOwnProperty.call(r,t)},y.p="",y(y.s=26)}([function(f,D,y){function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,f.exports=r},function(f,D,y){var r=y(2),t=y(8),e=y(9);function i(g,a,v){r.call(this,v),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=v,this.bendpoints=[],this.source=g,this.target=a}i.prototype=Object.create(r.prototype);for(var o in r)i[o]=r[o];i.prototype.getSource=function(){return this.source},i.prototype.getTarget=function(){return this.target},i.prototype.isInterGraph=function(){return this.isInterGraph},i.prototype.getLength=function(){return this.length},i.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},i.prototype.getBendpoints=function(){return this.bendpoints},i.prototype.getLca=function(){return this.lca},i.prototype.getSourceInLca=function(){return this.sourceInLca},i.prototype.getTargetInLca=function(){return this.targetInLca},i.prototype.getOtherEnd=function(g){if(this.source===g)return this.target;if(this.target===g)return this.source;throw"Node is not incident with this edge"},i.prototype.getOtherEndInGraph=function(g,a){for(var v=this.getOtherEnd(g),n=a.getGraphManager().getRoot();;){if(v.getOwner()==a)return v;if(v.getOwner()==n)break;v=v.getOwner().getParent()}return null},i.prototype.updateLength=function(){var g=new Array(4);this.isOverlapingSourceAndTarget=t.getIntersection(this.target.getRect(),this.source.getRect(),g),this.isOverlapingSourceAndTarget||(this.lengthX=g[0]-g[2],this.lengthY=g[1]-g[3],Math.abs(this.lengthX)<1&&(this.lengthX=e.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=e.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},i.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=e.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=e.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},f.exports=i},function(f,D,y){function r(t){this.vGraphObject=t}f.exports=r},function(f,D,y){var r=y(2),t=y(10),e=y(13),i=y(0),o=y(16),g=y(4);function a(n,c,l,E){l==null&&E==null&&(E=c),r.call(this,E),n.graphManager!=null&&(n=n.graphManager),this.estimatedSize=t.MIN_VALUE,this.inclusionTreeDepth=t.MAX_VALUE,this.vGraphObject=E,this.edges=[],this.graphManager=n,l!=null&&c!=null?this.rect=new e(c.x,c.y,l.width,l.height):this.rect=new e}a.prototype=Object.create(r.prototype);for(var v in r)a[v]=r[v];a.prototype.getEdges=function(){return this.edges},a.prototype.getChild=function(){return this.child},a.prototype.getOwner=function(){return this.owner},a.prototype.getWidth=function(){return this.rect.width},a.prototype.setWidth=function(n){this.rect.width=n},a.prototype.getHeight=function(){return this.rect.height},a.prototype.setHeight=function(n){this.rect.height=n},a.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},a.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},a.prototype.getCenter=function(){return new g(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},a.prototype.getLocation=function(){return new g(this.rect.x,this.rect.y)},a.prototype.getRect=function(){return this.rect},a.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},a.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},a.prototype.setRect=function(n,c){this.rect.x=n.x,this.rect.y=n.y,this.rect.width=c.width,this.rect.height=c.height},a.prototype.setCenter=function(n,c){this.rect.x=n-this.rect.width/2,this.rect.y=c-this.rect.height/2},a.prototype.setLocation=function(n,c){this.rect.x=n,this.rect.y=c},a.prototype.moveBy=function(n,c){this.rect.x+=n,this.rect.y+=c},a.prototype.getEdgeListToNode=function(n){var c=[],l=this;return l.edges.forEach(function(E){if(E.target==n){if(E.source!=l)throw"Incorrect edge source!";c.push(E)}}),c},a.prototype.getEdgesBetween=function(n){var c=[],l=this;return l.edges.forEach(function(E){if(!(E.source==l||E.target==l))throw"Incorrect edge source and/or target";(E.target==n||E.source==n)&&c.push(E)}),c},a.prototype.getNeighborsList=function(){var n=new Set,c=this;return c.edges.forEach(function(l){if(l.source==c)n.add(l.target);else{if(l.target!=c)throw"Incorrect incidency!";n.add(l.source)}}),n},a.prototype.withChildren=function(){var n=new Set,c,l;if(n.add(this),this.child!=null)for(var E=this.child.getNodes(),T=0;Tc&&(this.rect.x-=(this.labelWidth-c)/2,this.setWidth(this.labelWidth)),this.labelHeight>l&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-l)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-l),this.setHeight(this.labelHeight))}}},a.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==t.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},a.prototype.transform=function(n){var c=this.rect.x;c>i.WORLD_BOUNDARY?c=i.WORLD_BOUNDARY:c<-i.WORLD_BOUNDARY&&(c=-i.WORLD_BOUNDARY);var l=this.rect.y;l>i.WORLD_BOUNDARY?l=i.WORLD_BOUNDARY:l<-i.WORLD_BOUNDARY&&(l=-i.WORLD_BOUNDARY);var E=new g(c,l),T=n.inverseTransformPoint(E);this.setLocation(T.x,T.y)},a.prototype.getLeft=function(){return this.rect.x},a.prototype.getRight=function(){return this.rect.x+this.rect.width},a.prototype.getTop=function(){return this.rect.y},a.prototype.getBottom=function(){return this.rect.y+this.rect.height},a.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},f.exports=a},function(f,D,y){function r(t,e){t==null&&e==null?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},f.exports=r},function(f,D,y){var r=y(2),t=y(10),e=y(0),i=y(6),o=y(3),g=y(1),a=y(13),v=y(12),n=y(11);function c(E,T,m){r.call(this,m),this.estimatedSize=t.MIN_VALUE,this.margin=e.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=E,T!=null&&T instanceof i?this.graphManager=T:T!=null&&T instanceof Layout&&(this.graphManager=T.graphManager)}c.prototype=Object.create(r.prototype);for(var l in r)c[l]=r[l];c.prototype.getNodes=function(){return this.nodes},c.prototype.getEdges=function(){return this.edges},c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getParent=function(){return this.parent},c.prototype.getLeft=function(){return this.left},c.prototype.getRight=function(){return this.right},c.prototype.getTop=function(){return this.top},c.prototype.getBottom=function(){return this.bottom},c.prototype.isConnected=function(){return this.isConnected},c.prototype.add=function(E,T,m){if(T==null&&m==null){var L=E;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(L)>-1)throw"Node already in graph!";return L.owner=this,this.getNodes().push(L),L}else{var O=E;if(!(this.getNodes().indexOf(T)>-1&&this.getNodes().indexOf(m)>-1))throw"Source or target not in graph!";if(!(T.owner==m.owner&&T.owner==this))throw"Both owners must be this graph!";return T.owner!=m.owner?null:(O.source=T,O.target=m,O.isInterGraph=!1,this.getEdges().push(O),T.edges.push(O),m!=T&&m.edges.push(O),O)}},c.prototype.remove=function(E){var T=E;if(E instanceof o){if(T==null)throw"Node is null!";if(!(T.owner!=null&&T.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var m=T.edges.slice(),L,O=m.length,d=0;d-1&&h>-1))throw"Source and/or target doesn't know this edge!";L.source.edges.splice(s,1),L.target!=L.source&&L.target.edges.splice(h,1);var N=L.source.owner.getEdges().indexOf(L);if(N==-1)throw"Not in owner's edge list!";L.source.owner.getEdges().splice(N,1)}},c.prototype.updateLeftTop=function(){for(var E=t.MAX_VALUE,T=t.MAX_VALUE,m,L,O,d=this.getNodes(),N=d.length,s=0;sm&&(E=m),T>L&&(T=L)}return E==t.MAX_VALUE?null:(d[0].getParent().paddingLeft!=null?O=d[0].getParent().paddingLeft:O=this.margin,this.left=T-O,this.top=E-O,new v(this.left,this.top))},c.prototype.updateBounds=function(E){for(var T=t.MAX_VALUE,m=-t.MAX_VALUE,L=t.MAX_VALUE,O=-t.MAX_VALUE,d,N,s,h,u,p=this.nodes,A=p.length,C=0;Cd&&(T=d),ms&&(L=s),Od&&(T=d),ms&&(L=s),O=this.nodes.length){var A=0;m.forEach(function(C){C.owner==E&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},f.exports=c},function(f,D,y){var r,t=y(1);function e(i){r=y(5),this.layout=i,this.graphs=[],this.edges=[]}e.prototype.addRoot=function(){var i=this.layout.newGraph(),o=this.layout.newNode(null),g=this.add(i,o);return this.setRootGraph(g),this.rootGraph},e.prototype.add=function(i,o,g,a,v){if(g==null&&a==null&&v==null){if(i==null)throw"Graph is null!";if(o==null)throw"Parent node is null!";if(this.graphs.indexOf(i)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(i),i.parent!=null)throw"Already has a parent!";if(o.child!=null)throw"Already has a child!";return i.parent=o,o.child=i,i}else{v=g,a=o,g=i;var n=a.getOwner(),c=v.getOwner();if(!(n!=null&&n.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(c!=null&&c.getGraphManager()==this))throw"Target not in this graph mgr!";if(n==c)return g.isInterGraph=!1,n.add(g,a,v);if(g.isInterGraph=!0,g.source=a,g.target=v,this.edges.indexOf(g)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(g),!(g.source!=null&&g.target!=null))throw"Edge source and/or target is null!";if(!(g.source.edges.indexOf(g)==-1&&g.target.edges.indexOf(g)==-1))throw"Edge already in source and/or target incidency list!";return g.source.edges.push(g),g.target.edges.push(g),g}},e.prototype.remove=function(i){if(i instanceof r){var o=i;if(o.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(o==this.rootGraph||o.parent!=null&&o.parent.graphManager==this))throw"Invalid parent node!";var g=[];g=g.concat(o.getEdges());for(var a,v=g.length,n=0;n=i.getRight()?o[0]+=Math.min(i.getX()-e.getX(),e.getRight()-i.getRight()):i.getX()<=e.getX()&&i.getRight()>=e.getRight()&&(o[0]+=Math.min(e.getX()-i.getX(),i.getRight()-e.getRight())),e.getY()<=i.getY()&&e.getBottom()>=i.getBottom()?o[1]+=Math.min(i.getY()-e.getY(),e.getBottom()-i.getBottom()):i.getY()<=e.getY()&&i.getBottom()>=e.getBottom()&&(o[1]+=Math.min(e.getY()-i.getY(),i.getBottom()-e.getBottom()));var v=Math.abs((i.getCenterY()-e.getCenterY())/(i.getCenterX()-e.getCenterX()));i.getCenterY()===e.getCenterY()&&i.getCenterX()===e.getCenterX()&&(v=1);var n=v*o[0],c=o[1]/v;o[0]n)return o[0]=g,o[1]=l,o[2]=v,o[3]=p,!1;if(av)return o[0]=c,o[1]=a,o[2]=h,o[3]=n,!1;if(gv?(o[0]=T,o[1]=m,x=!0):(o[0]=E,o[1]=l,x=!0):U===M&&(g>v?(o[0]=c,o[1]=l,x=!0):(o[0]=L,o[1]=m,x=!0)),-X===M?v>g?(o[2]=u,o[3]=p,_=!0):(o[2]=h,o[3]=s,_=!0):X===M&&(v>g?(o[2]=N,o[3]=s,_=!0):(o[2]=A,o[3]=p,_=!0)),x&&_)return!1;if(g>v?a>n?(G=this.getCardinalDirection(U,M,4),F=this.getCardinalDirection(X,M,2)):(G=this.getCardinalDirection(-U,M,3),F=this.getCardinalDirection(-X,M,1)):a>n?(G=this.getCardinalDirection(-U,M,1),F=this.getCardinalDirection(-X,M,3)):(G=this.getCardinalDirection(U,M,2),F=this.getCardinalDirection(X,M,4)),!x)switch(G){case 1:Y=l,b=g+-d/M,o[0]=b,o[1]=Y;break;case 2:b=L,Y=a+O*M,o[0]=b,o[1]=Y;break;case 3:Y=m,b=g+d/M,o[0]=b,o[1]=Y;break;case 4:b=T,Y=a+-O*M,o[0]=b,o[1]=Y;break}if(!_)switch(F){case 1:H=s,k=v+-R/M,o[2]=k,o[3]=H;break;case 2:k=A,H=n+C*M,o[2]=k,o[3]=H;break;case 3:H=p,k=v+R/M,o[2]=k,o[3]=H;break;case 4:k=u,H=n+-C*M,o[2]=k,o[3]=H;break}}return!1},t.getCardinalDirection=function(e,i,o){return e>i?o:1+o%4},t.getIntersection=function(e,i,o,g){if(g==null)return this.getIntersection2(e,i,o);var a=e.x,v=e.y,n=i.x,c=i.y,l=o.x,E=o.y,T=g.x,m=g.y,L=void 0,O=void 0,d=void 0,N=void 0,s=void 0,h=void 0,u=void 0,p=void 0,A=void 0;return d=c-v,s=a-n,u=n*v-a*c,N=m-E,h=l-T,p=T*E-l*m,A=d*h-N*s,A===0?null:(L=(s*p-h*u)/A,O=(N*u-d*p)/A,new r(L,O))},t.angleOfVector=function(e,i,o,g){var a=void 0;return e!==o?(a=Math.atan((g-i)/(o-e)),o0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},f.exports=r},function(f,D,y){function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,f.exports=r},function(f,D,y){var r=function(){function a(v,n){for(var c=0;c"u"?"undefined":r(e);return e==null||i!="object"&&i!="function"},f.exports=t},function(f,D,y){function r(l){if(Array.isArray(l)){for(var E=0,T=Array(l.length);E0&&E;){for(d.push(s[0]);d.length>0&&E;){var h=d[0];d.splice(0,1),O.add(h);for(var u=h.getEdges(),L=0;L-1&&s.splice(R,1)}O=new Set,N=new Map}}return l},c.prototype.createDummyNodesForBendpoints=function(l){for(var E=[],T=l.source,m=this.graphManager.calcLowestCommonAncestor(l.source,l.target),L=0;L0){for(var m=this.edgeToDummyNodes.get(T),L=0;L=0&&E.splice(p,1);var A=N.getNeighborsList();A.forEach(function(x){if(T.indexOf(x)<0){var _=m.get(x),U=_-1;U==1&&h.push(x),m.set(x,U)}})}T=T.concat(h),(E.length==1||E.length==2)&&(L=!0,O=E[0])}return O},c.prototype.setGraphManager=function(l){this.graphManager=l},f.exports=c},function(f,D,y){function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=Math.sin(r.seed++)*1e4,r.x-Math.floor(r.x)},f.exports=r},function(f,D,y){var r=y(4);function t(e,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}t.prototype.getWorldOrgX=function(){return this.lworldOrgX},t.prototype.setWorldOrgX=function(e){this.lworldOrgX=e},t.prototype.getWorldOrgY=function(){return this.lworldOrgY},t.prototype.setWorldOrgY=function(e){this.lworldOrgY=e},t.prototype.getWorldExtX=function(){return this.lworldExtX},t.prototype.setWorldExtX=function(e){this.lworldExtX=e},t.prototype.getWorldExtY=function(){return this.lworldExtY},t.prototype.setWorldExtY=function(e){this.lworldExtY=e},t.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},t.prototype.setDeviceOrgX=function(e){this.ldeviceOrgX=e},t.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},t.prototype.setDeviceOrgY=function(e){this.ldeviceOrgY=e},t.prototype.getDeviceExtX=function(){return this.ldeviceExtX},t.prototype.setDeviceExtX=function(e){this.ldeviceExtX=e},t.prototype.getDeviceExtY=function(){return this.ldeviceExtY},t.prototype.setDeviceExtY=function(e){this.ldeviceExtY=e},t.prototype.transformX=function(e){var i=0,o=this.lworldExtX;return o!=0&&(i=this.ldeviceOrgX+(e-this.lworldOrgX)*this.ldeviceExtX/o),i},t.prototype.transformY=function(e){var i=0,o=this.lworldExtY;return o!=0&&(i=this.ldeviceOrgY+(e-this.lworldOrgY)*this.ldeviceExtY/o),i},t.prototype.inverseTransformX=function(e){var i=0,o=this.ldeviceExtX;return o!=0&&(i=this.lworldOrgX+(e-this.ldeviceOrgX)*this.lworldExtX/o),i},t.prototype.inverseTransformY=function(e){var i=0,o=this.ldeviceExtY;return o!=0&&(i=this.lworldOrgY+(e-this.ldeviceOrgY)*this.lworldExtY/o),i},t.prototype.inverseTransformPoint=function(e){var i=new r(this.inverseTransformX(e.x),this.inverseTransformY(e.y));return i},f.exports=t},function(f,D,y){function r(n){if(Array.isArray(n)){for(var c=0,l=Array(n.length);ce.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*e.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(n-e.ADAPTATION_LOWER_NODE_LIMIT)/(e.ADAPTATION_UPPER_NODE_LIMIT-e.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-e.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=e.MAX_NODE_DISPLACEMENT_INCREMENTAL):(n>e.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(e.COOLING_ADAPTATION_FACTOR,1-(n-e.ADAPTATION_LOWER_NODE_LIMIT)/(e.ADAPTATION_UPPER_NODE_LIMIT-e.ADAPTATION_LOWER_NODE_LIMIT)*(1-e.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=e.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},a.prototype.calcSpringForces=function(){for(var n=this.getAllEdges(),c,l=0;l0&&arguments[0]!==void 0?arguments[0]:!0,c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l,E,T,m,L=this.getAllNodes(),O;if(this.useFRGridVariant)for(this.totalIterations%e.GRID_CALCULATION_CHECK_PERIOD==1&&n&&this.updateGrid(),O=new Set,l=0;ld||O>d)&&(n.gravitationForceX=-this.gravityConstant*T,n.gravitationForceY=-this.gravityConstant*m)):(d=c.getEstimatedSize()*this.compoundGravityRangeFactor,(L>d||O>d)&&(n.gravitationForceX=-this.gravityConstant*T*this.compoundGravityConstant,n.gravitationForceY=-this.gravityConstant*m*this.compoundGravityConstant))},a.prototype.isConverged=function(){var n,c=!1;return this.totalIterations>this.maxIterations/3&&(c=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),n=this.totalDisplacement=L.length||d>=L[0].length)){for(var N=0;Na}}]),o}();f.exports=i},function(f,D,y){var r=function(){function i(o,g){for(var a=0;a2&&arguments[2]!==void 0?arguments[2]:1,v=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;t(this,i),this.sequence1=o,this.sequence2=g,this.match_score=a,this.mismatch_penalty=v,this.gap_penalty=n,this.iMax=o.length+1,this.jMax=g.length+1,this.grid=new Array(this.iMax);for(var c=0;c=0;o--){var g=this.listeners[o];g.event===e&&g.callback===i&&this.listeners.splice(o,1)}},t.emit=function(e,i){for(var o=0;og.coolingFactor*g.maxNodeDisplacement&&(this.displacementX=g.coolingFactor*g.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>g.coolingFactor*g.maxNodeDisplacement&&(this.displacementY=g.coolingFactor*g.maxNodeDisplacement*e.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),g.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},i.prototype.propogateDisplacementToChildren=function(g,a){for(var v=this.getChild().getNodes(),n,c=0;c0)this.positionNodesRadially(s);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var h=new Set(this.getAllNodes()),u=this.nodesWithGravity.filter(function(p){return h.has(p)});this.graphManager.setAllNodesToApplyGravitation(u),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},d.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%v.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var s=new Set(this.getAllNodes()),h=this.nodesWithGravity.filter(function(A){return s.has(A)});this.graphManager.setAllNodesToApplyGravitation(h),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=v.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=v.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var u=!this.isTreeGrowing&&!this.isGrowthFinished,p=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(u,p),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},d.prototype.getPositionsData=function(){for(var s=this.graphManager.getAllNodes(),h={},u=0;u1){var x;for(x=0;xp&&(p=Math.floor(R.y)),C=Math.floor(R.x+a.DEFAULT_COMPONENT_SEPERATION)}this.transform(new l(n.WORLD_CENTER_X-R.x/2,n.WORLD_CENTER_Y-R.y/2))},d.radialLayout=function(s,h,u){var p=Math.max(this.maxDiagonalInTree(s),a.DEFAULT_RADIAL_SEPARATION);d.branchRadialLayout(h,null,0,359,0,p);var A=L.calculateBounds(s),C=new O;C.setDeviceOrgX(A.getMinX()),C.setDeviceOrgY(A.getMinY()),C.setWorldOrgX(u.x),C.setWorldOrgY(u.y);for(var R=0;R1;){var H=k[0];k.splice(0,1);var P=M.indexOf(H);P>=0&&M.splice(P,1),b--,G--}h!=null?Y=(M.indexOf(k[0])+1)%b:Y=0;for(var B=Math.abs(p-u)/G,$=Y;F!=G;$=++$%b){var K=M[$].getOtherEnd(s);if(K!=h){var Q=(u+F*B)%360,J=(Q+B)%360;d.branchRadialLayout(K,s,Q,J,A+C,C),F++}}},d.maxDiagonalInTree=function(s){for(var h=T.MIN_VALUE,u=0;uh&&(h=A)}return h},d.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},d.prototype.groupZeroDegreeMembers=function(){var s=this,h={};this.memberGroups={},this.idToDummyNode={};for(var u=[],p=this.graphManager.getAllNodes(),A=0;A"u"&&(h[x]=[]),h[x]=h[x].concat(C)}Object.keys(h).forEach(function(_){if(h[_].length>1){var U="DummyCompound_"+_;s.memberGroups[U]=h[_];var X=h[_][0].getParent(),M=new o(s.graphManager);M.id=U,M.paddingLeft=X.paddingLeft||0,M.paddingRight=X.paddingRight||0,M.paddingBottom=X.paddingBottom||0,M.paddingTop=X.paddingTop||0,s.idToDummyNode[U]=M;var G=s.getGraphManager().add(s.newGraph(),M),F=X.getChild();F.add(M);for(var b=0;b=0;s--){var h=this.compoundOrder[s],u=h.id,p=h.paddingLeft,A=h.paddingTop;this.adjustLocations(this.tiledMemberPack[u],h.rect.x,h.rect.y,p,A)}},d.prototype.repopulateZeroDegreeMembers=function(){var s=this,h=this.tiledZeroDegreePack;Object.keys(h).forEach(function(u){var p=s.idToDummyNode[u],A=p.paddingLeft,C=p.paddingTop;s.adjustLocations(h[u],p.rect.x,p.rect.y,A,C)})},d.prototype.getToBeTiled=function(s){var h=s.id;if(this.toBeTiled[h]!=null)return this.toBeTiled[h];var u=s.getChild();if(u==null)return this.toBeTiled[h]=!1,!1;for(var p=u.getNodes(),A=0;A0)return this.toBeTiled[h]=!1,!1;if(C.getChild()==null){this.toBeTiled[C.id]=!1;continue}if(!this.getToBeTiled(C))return this.toBeTiled[h]=!1,!1}return this.toBeTiled[h]=!0,!0},d.prototype.getNodeDegree=function(s){s.id;for(var h=s.getEdges(),u=0,p=0;p_&&(_=X.rect.height)}u+=_+s.verticalPadding}},d.prototype.tileCompoundMembers=function(s,h){var u=this;this.tiledMemberPack=[],Object.keys(s).forEach(function(p){var A=h[p];u.tiledMemberPack[p]=u.tileNodes(s[p],A.paddingLeft+A.paddingRight),A.rect.width=u.tiledMemberPack[p].width,A.rect.height=u.tiledMemberPack[p].height})},d.prototype.tileNodes=function(s,h){var u=a.TILING_PADDING_VERTICAL,p=a.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:h,verticalPadding:u,horizontalPadding:p};s.sort(function(x,_){return x.rect.width*x.rect.height>_.rect.width*_.rect.height?-1:x.rect.width*x.rect.height<_.rect.width*_.rect.height?1:0});for(var C=0;C0&&(R+=s.horizontalPadding),s.rowWidth[u]=R,s.width0&&(x+=s.verticalPadding);var _=0;x>s.rowHeight[u]&&(_=s.rowHeight[u],s.rowHeight[u]=x,_=s.rowHeight[u]-_),s.height+=_,s.rows[u].push(h)},d.prototype.getShortestRowIndex=function(s){for(var h=-1,u=Number.MAX_VALUE,p=0;pu&&(h=p,u=s.rowWidth[p]);return h},d.prototype.canAddHorizontal=function(s,h,u){var p=this.getShortestRowIndex(s);if(p<0)return!0;var A=s.rowWidth[p];if(A+s.horizontalPadding+h<=s.width)return!0;var C=0;s.rowHeight[p]0&&(C=u+s.verticalPadding-s.rowHeight[p]);var R;s.width-A>=h+s.horizontalPadding?R=(s.height+C)/(A+h+s.horizontalPadding):R=(s.height+C)/s.width,C=u+s.verticalPadding;var x;return s.widthC&&h!=u){p.splice(-1,1),s.rows[u].push(A),s.rowWidth[h]=s.rowWidth[h]-C,s.rowWidth[u]=s.rowWidth[u]+C,s.width=s.rowWidth[instance.getLongestRowIndex(s)];for(var R=Number.MIN_VALUE,x=0;xR&&(R=p[x].height);h>0&&(R+=s.verticalPadding);var _=s.rowHeight[h]+s.rowHeight[u];s.rowHeight[h]=R,s.rowHeight[u]0)for(var F=A;F<=C;F++)G[0]+=this.grid[F][R-1].length+this.grid[F][R].length-1;if(C0)for(var F=R;F<=x;F++)G[3]+=this.grid[A-1][F].length+this.grid[A][F].length-1;for(var b=T.MAX_VALUE,Y,k,H=0;H0){var x;x=O.getGraphManager().add(O.newGraph(),u),this.processChildrenList(x,h,O)}}},l.prototype.stop=function(){return this.stopped=!0,this};var T=function(L){L("layout","cose-bilkent",l)};typeof cytoscape<"u"&&T(cytoscape),D.exports=T}])})})(dt);var St=dt.exports;const Gt=Nt(St);var st=function(){var I=S(function(O,d,N,s){for(N=N||{},s=O.length;s--;N[O[s]]=d);return N},"o"),w=[1,4],f=[1,13],D=[1,12],y=[1,15],r=[1,16],t=[1,20],e=[1,19],i=[6,7,8],o=[1,26],g=[1,24],a=[1,25],v=[6,7,11],n=[1,6,13,15,16,19,22],c=[1,33],l=[1,34],E=[1,6,7,11,13,15,16,19,22],T={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:S(function(d,N,s,h,u,p,A){var C=p.length-1;switch(u){case 6:case 7:return h;case 8:h.getLogger().trace("Stop NL ");break;case 9:h.getLogger().trace("Stop EOF ");break;case 11:h.getLogger().trace("Stop NL2 ");break;case 12:h.getLogger().trace("Stop EOF2 ");break;case 15:h.getLogger().info("Node: ",p[C].id),h.addNode(p[C-1].length,p[C].id,p[C].descr,p[C].type);break;case 16:h.getLogger().trace("Icon: ",p[C]),h.decorateNode({icon:p[C]});break;case 17:case 21:h.decorateNode({class:p[C]});break;case 18:h.getLogger().trace("SPACELIST");break;case 19:h.getLogger().trace("Node: ",p[C].id),h.addNode(0,p[C].id,p[C].descr,p[C].type);break;case 20:h.decorateNode({icon:p[C]});break;case 25:h.getLogger().trace("node found ..",p[C-2]),this.$={id:p[C-1],descr:p[C-1],type:h.getType(p[C-2],p[C])};break;case 26:this.$={id:p[C],descr:p[C],type:h.nodeType.DEFAULT};break;case 27:h.getLogger().trace("node found ..",p[C-3]),this.$={id:p[C-3],descr:p[C-1],type:h.getType(p[C-2],p[C])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:w},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:w},{6:f,7:[1,10],9:9,12:11,13:D,14:14,15:y,16:r,17:17,18:18,19:t,22:e},I(i,[2,3]),{1:[2,2]},I(i,[2,4]),I(i,[2,5]),{1:[2,6],6:f,12:21,13:D,14:14,15:y,16:r,17:17,18:18,19:t,22:e},{6:f,9:22,12:11,13:D,14:14,15:y,16:r,17:17,18:18,19:t,22:e},{6:o,7:g,10:23,11:a},I(v,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:t,22:e}),I(v,[2,18]),I(v,[2,19]),I(v,[2,20]),I(v,[2,21]),I(v,[2,23]),I(v,[2,24]),I(v,[2,26],{19:[1,30]}),{20:[1,31]},{6:o,7:g,10:32,11:a},{1:[2,7],6:f,12:21,13:D,14:14,15:y,16:r,17:17,18:18,19:t,22:e},I(n,[2,14],{7:c,11:l}),I(E,[2,8]),I(E,[2,9]),I(E,[2,10]),I(v,[2,15]),I(v,[2,16]),I(v,[2,17]),{20:[1,35]},{21:[1,36]},I(n,[2,13],{7:c,11:l}),I(E,[2,11]),I(E,[2,12]),{21:[1,37]},I(v,[2,25]),I(v,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(d,N){if(N.recoverable)this.trace(d);else{var s=new Error(d);throw s.hash=N,s}},"parseError"),parse:S(function(d){var N=this,s=[0],h=[],u=[null],p=[],A=this.table,C="",R=0,x=0,_=2,U=1,X=p.slice.call(arguments,1),M=Object.create(this.lexer),G={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(G.yy[F]=this.yy[F]);M.setInput(d,G.yy),G.yy.lexer=M,G.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var b=M.yylloc;p.push(b);var Y=M.options&&M.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function k(V){s.length=s.length-2*V,u.length=u.length-V,p.length=p.length-V}S(k,"popStack");function H(){var V;return V=h.pop()||M.lex()||U,typeof V!="number"&&(V instanceof Array&&(h=V,V=h.pop()),V=N.symbols_[V]||V),V}S(H,"lex");for(var P,B,$,K,Q={},J,j,gt,q;;){if(B=s[s.length-1],this.defaultActions[B]?$=this.defaultActions[B]:((P===null||typeof P>"u")&&(P=H()),$=A[B]&&A[B][P]),typeof $>"u"||!$.length||!$[0]){var rt="";q=[];for(J in A[B])this.terminals_[J]&&J>_&&q.push("'"+this.terminals_[J]+"'");M.showPosition?rt="Parse error on line "+(R+1)+`: +import{aH as at,aI as Nt,_ as S,l as z,j as mt,ae as Dt,a4 as Ot,d as ot,H as At,a8 as It,B as tt,i as et,al as Ct,am as Rt,an as xt}from"../app.XeY7gsc2.js";import{c as pt}from"./cytoscape.esm.otp_DSkq.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";var dt={exports:{}},it={exports:{}},nt={exports:{}},ut;function Mt(){return ut||(ut=1,function(I,w){(function(D,y){I.exports=y()})(at,function(){return function(f){var D={};function y(r){if(D[r])return D[r].exports;var t=D[r]={i:r,l:!1,exports:{}};return f[r].call(t.exports,t,t.exports,y),t.l=!0,t.exports}return y.m=f,y.c=D,y.i=function(r){return r},y.d=function(r,t,e){y.o(r,t)||Object.defineProperty(r,t,{configurable:!1,enumerable:!0,get:e})},y.n=function(r){var t=r&&r.__esModule?function(){return r.default}:function(){return r};return y.d(t,"a",t),t},y.o=function(r,t){return Object.prototype.hasOwnProperty.call(r,t)},y.p="",y(y.s=26)}([function(f,D,y){function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,f.exports=r},function(f,D,y){var r=y(2),t=y(8),e=y(9);function i(g,a,v){r.call(this,v),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=v,this.bendpoints=[],this.source=g,this.target=a}i.prototype=Object.create(r.prototype);for(var o in r)i[o]=r[o];i.prototype.getSource=function(){return this.source},i.prototype.getTarget=function(){return this.target},i.prototype.isInterGraph=function(){return this.isInterGraph},i.prototype.getLength=function(){return this.length},i.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},i.prototype.getBendpoints=function(){return this.bendpoints},i.prototype.getLca=function(){return this.lca},i.prototype.getSourceInLca=function(){return this.sourceInLca},i.prototype.getTargetInLca=function(){return this.targetInLca},i.prototype.getOtherEnd=function(g){if(this.source===g)return this.target;if(this.target===g)return this.source;throw"Node is not incident with this edge"},i.prototype.getOtherEndInGraph=function(g,a){for(var v=this.getOtherEnd(g),n=a.getGraphManager().getRoot();;){if(v.getOwner()==a)return v;if(v.getOwner()==n)break;v=v.getOwner().getParent()}return null},i.prototype.updateLength=function(){var g=new Array(4);this.isOverlapingSourceAndTarget=t.getIntersection(this.target.getRect(),this.source.getRect(),g),this.isOverlapingSourceAndTarget||(this.lengthX=g[0]-g[2],this.lengthY=g[1]-g[3],Math.abs(this.lengthX)<1&&(this.lengthX=e.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=e.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},i.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=e.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=e.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},f.exports=i},function(f,D,y){function r(t){this.vGraphObject=t}f.exports=r},function(f,D,y){var r=y(2),t=y(10),e=y(13),i=y(0),o=y(16),g=y(4);function a(n,c,l,E){l==null&&E==null&&(E=c),r.call(this,E),n.graphManager!=null&&(n=n.graphManager),this.estimatedSize=t.MIN_VALUE,this.inclusionTreeDepth=t.MAX_VALUE,this.vGraphObject=E,this.edges=[],this.graphManager=n,l!=null&&c!=null?this.rect=new e(c.x,c.y,l.width,l.height):this.rect=new e}a.prototype=Object.create(r.prototype);for(var v in r)a[v]=r[v];a.prototype.getEdges=function(){return this.edges},a.prototype.getChild=function(){return this.child},a.prototype.getOwner=function(){return this.owner},a.prototype.getWidth=function(){return this.rect.width},a.prototype.setWidth=function(n){this.rect.width=n},a.prototype.getHeight=function(){return this.rect.height},a.prototype.setHeight=function(n){this.rect.height=n},a.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},a.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},a.prototype.getCenter=function(){return new g(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},a.prototype.getLocation=function(){return new g(this.rect.x,this.rect.y)},a.prototype.getRect=function(){return this.rect},a.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},a.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},a.prototype.setRect=function(n,c){this.rect.x=n.x,this.rect.y=n.y,this.rect.width=c.width,this.rect.height=c.height},a.prototype.setCenter=function(n,c){this.rect.x=n-this.rect.width/2,this.rect.y=c-this.rect.height/2},a.prototype.setLocation=function(n,c){this.rect.x=n,this.rect.y=c},a.prototype.moveBy=function(n,c){this.rect.x+=n,this.rect.y+=c},a.prototype.getEdgeListToNode=function(n){var c=[],l=this;return l.edges.forEach(function(E){if(E.target==n){if(E.source!=l)throw"Incorrect edge source!";c.push(E)}}),c},a.prototype.getEdgesBetween=function(n){var c=[],l=this;return l.edges.forEach(function(E){if(!(E.source==l||E.target==l))throw"Incorrect edge source and/or target";(E.target==n||E.source==n)&&c.push(E)}),c},a.prototype.getNeighborsList=function(){var n=new Set,c=this;return c.edges.forEach(function(l){if(l.source==c)n.add(l.target);else{if(l.target!=c)throw"Incorrect incidency!";n.add(l.source)}}),n},a.prototype.withChildren=function(){var n=new Set,c,l;if(n.add(this),this.child!=null)for(var E=this.child.getNodes(),T=0;Tc&&(this.rect.x-=(this.labelWidth-c)/2,this.setWidth(this.labelWidth)),this.labelHeight>l&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-l)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-l),this.setHeight(this.labelHeight))}}},a.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==t.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},a.prototype.transform=function(n){var c=this.rect.x;c>i.WORLD_BOUNDARY?c=i.WORLD_BOUNDARY:c<-i.WORLD_BOUNDARY&&(c=-i.WORLD_BOUNDARY);var l=this.rect.y;l>i.WORLD_BOUNDARY?l=i.WORLD_BOUNDARY:l<-i.WORLD_BOUNDARY&&(l=-i.WORLD_BOUNDARY);var E=new g(c,l),T=n.inverseTransformPoint(E);this.setLocation(T.x,T.y)},a.prototype.getLeft=function(){return this.rect.x},a.prototype.getRight=function(){return this.rect.x+this.rect.width},a.prototype.getTop=function(){return this.rect.y},a.prototype.getBottom=function(){return this.rect.y+this.rect.height},a.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},f.exports=a},function(f,D,y){function r(t,e){t==null&&e==null?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},f.exports=r},function(f,D,y){var r=y(2),t=y(10),e=y(0),i=y(6),o=y(3),g=y(1),a=y(13),v=y(12),n=y(11);function c(E,T,m){r.call(this,m),this.estimatedSize=t.MIN_VALUE,this.margin=e.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=E,T!=null&&T instanceof i?this.graphManager=T:T!=null&&T instanceof Layout&&(this.graphManager=T.graphManager)}c.prototype=Object.create(r.prototype);for(var l in r)c[l]=r[l];c.prototype.getNodes=function(){return this.nodes},c.prototype.getEdges=function(){return this.edges},c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getParent=function(){return this.parent},c.prototype.getLeft=function(){return this.left},c.prototype.getRight=function(){return this.right},c.prototype.getTop=function(){return this.top},c.prototype.getBottom=function(){return this.bottom},c.prototype.isConnected=function(){return this.isConnected},c.prototype.add=function(E,T,m){if(T==null&&m==null){var L=E;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(L)>-1)throw"Node already in graph!";return L.owner=this,this.getNodes().push(L),L}else{var O=E;if(!(this.getNodes().indexOf(T)>-1&&this.getNodes().indexOf(m)>-1))throw"Source or target not in graph!";if(!(T.owner==m.owner&&T.owner==this))throw"Both owners must be this graph!";return T.owner!=m.owner?null:(O.source=T,O.target=m,O.isInterGraph=!1,this.getEdges().push(O),T.edges.push(O),m!=T&&m.edges.push(O),O)}},c.prototype.remove=function(E){var T=E;if(E instanceof o){if(T==null)throw"Node is null!";if(!(T.owner!=null&&T.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var m=T.edges.slice(),L,O=m.length,d=0;d-1&&h>-1))throw"Source and/or target doesn't know this edge!";L.source.edges.splice(s,1),L.target!=L.source&&L.target.edges.splice(h,1);var N=L.source.owner.getEdges().indexOf(L);if(N==-1)throw"Not in owner's edge list!";L.source.owner.getEdges().splice(N,1)}},c.prototype.updateLeftTop=function(){for(var E=t.MAX_VALUE,T=t.MAX_VALUE,m,L,O,d=this.getNodes(),N=d.length,s=0;sm&&(E=m),T>L&&(T=L)}return E==t.MAX_VALUE?null:(d[0].getParent().paddingLeft!=null?O=d[0].getParent().paddingLeft:O=this.margin,this.left=T-O,this.top=E-O,new v(this.left,this.top))},c.prototype.updateBounds=function(E){for(var T=t.MAX_VALUE,m=-t.MAX_VALUE,L=t.MAX_VALUE,O=-t.MAX_VALUE,d,N,s,h,u,p=this.nodes,A=p.length,C=0;Cd&&(T=d),ms&&(L=s),Od&&(T=d),ms&&(L=s),O=this.nodes.length){var A=0;m.forEach(function(C){C.owner==E&&A++}),A==this.nodes.length&&(this.isConnected=!0)}},f.exports=c},function(f,D,y){var r,t=y(1);function e(i){r=y(5),this.layout=i,this.graphs=[],this.edges=[]}e.prototype.addRoot=function(){var i=this.layout.newGraph(),o=this.layout.newNode(null),g=this.add(i,o);return this.setRootGraph(g),this.rootGraph},e.prototype.add=function(i,o,g,a,v){if(g==null&&a==null&&v==null){if(i==null)throw"Graph is null!";if(o==null)throw"Parent node is null!";if(this.graphs.indexOf(i)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(i),i.parent!=null)throw"Already has a parent!";if(o.child!=null)throw"Already has a child!";return i.parent=o,o.child=i,i}else{v=g,a=o,g=i;var n=a.getOwner(),c=v.getOwner();if(!(n!=null&&n.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(c!=null&&c.getGraphManager()==this))throw"Target not in this graph mgr!";if(n==c)return g.isInterGraph=!1,n.add(g,a,v);if(g.isInterGraph=!0,g.source=a,g.target=v,this.edges.indexOf(g)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(g),!(g.source!=null&&g.target!=null))throw"Edge source and/or target is null!";if(!(g.source.edges.indexOf(g)==-1&&g.target.edges.indexOf(g)==-1))throw"Edge already in source and/or target incidency list!";return g.source.edges.push(g),g.target.edges.push(g),g}},e.prototype.remove=function(i){if(i instanceof r){var o=i;if(o.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(o==this.rootGraph||o.parent!=null&&o.parent.graphManager==this))throw"Invalid parent node!";var g=[];g=g.concat(o.getEdges());for(var a,v=g.length,n=0;n=i.getRight()?o[0]+=Math.min(i.getX()-e.getX(),e.getRight()-i.getRight()):i.getX()<=e.getX()&&i.getRight()>=e.getRight()&&(o[0]+=Math.min(e.getX()-i.getX(),i.getRight()-e.getRight())),e.getY()<=i.getY()&&e.getBottom()>=i.getBottom()?o[1]+=Math.min(i.getY()-e.getY(),e.getBottom()-i.getBottom()):i.getY()<=e.getY()&&i.getBottom()>=e.getBottom()&&(o[1]+=Math.min(e.getY()-i.getY(),i.getBottom()-e.getBottom()));var v=Math.abs((i.getCenterY()-e.getCenterY())/(i.getCenterX()-e.getCenterX()));i.getCenterY()===e.getCenterY()&&i.getCenterX()===e.getCenterX()&&(v=1);var n=v*o[0],c=o[1]/v;o[0]n)return o[0]=g,o[1]=l,o[2]=v,o[3]=p,!1;if(av)return o[0]=c,o[1]=a,o[2]=h,o[3]=n,!1;if(gv?(o[0]=T,o[1]=m,x=!0):(o[0]=E,o[1]=l,x=!0):U===M&&(g>v?(o[0]=c,o[1]=l,x=!0):(o[0]=L,o[1]=m,x=!0)),-X===M?v>g?(o[2]=u,o[3]=p,_=!0):(o[2]=h,o[3]=s,_=!0):X===M&&(v>g?(o[2]=N,o[3]=s,_=!0):(o[2]=A,o[3]=p,_=!0)),x&&_)return!1;if(g>v?a>n?(G=this.getCardinalDirection(U,M,4),F=this.getCardinalDirection(X,M,2)):(G=this.getCardinalDirection(-U,M,3),F=this.getCardinalDirection(-X,M,1)):a>n?(G=this.getCardinalDirection(-U,M,1),F=this.getCardinalDirection(-X,M,3)):(G=this.getCardinalDirection(U,M,2),F=this.getCardinalDirection(X,M,4)),!x)switch(G){case 1:Y=l,b=g+-d/M,o[0]=b,o[1]=Y;break;case 2:b=L,Y=a+O*M,o[0]=b,o[1]=Y;break;case 3:Y=m,b=g+d/M,o[0]=b,o[1]=Y;break;case 4:b=T,Y=a+-O*M,o[0]=b,o[1]=Y;break}if(!_)switch(F){case 1:H=s,k=v+-R/M,o[2]=k,o[3]=H;break;case 2:k=A,H=n+C*M,o[2]=k,o[3]=H;break;case 3:H=p,k=v+R/M,o[2]=k,o[3]=H;break;case 4:k=u,H=n+-C*M,o[2]=k,o[3]=H;break}}return!1},t.getCardinalDirection=function(e,i,o){return e>i?o:1+o%4},t.getIntersection=function(e,i,o,g){if(g==null)return this.getIntersection2(e,i,o);var a=e.x,v=e.y,n=i.x,c=i.y,l=o.x,E=o.y,T=g.x,m=g.y,L=void 0,O=void 0,d=void 0,N=void 0,s=void 0,h=void 0,u=void 0,p=void 0,A=void 0;return d=c-v,s=a-n,u=n*v-a*c,N=m-E,h=l-T,p=T*E-l*m,A=d*h-N*s,A===0?null:(L=(s*p-h*u)/A,O=(N*u-d*p)/A,new r(L,O))},t.angleOfVector=function(e,i,o,g){var a=void 0;return e!==o?(a=Math.atan((g-i)/(o-e)),o0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},f.exports=r},function(f,D,y){function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,f.exports=r},function(f,D,y){var r=function(){function a(v,n){for(var c=0;c"u"?"undefined":r(e);return e==null||i!="object"&&i!="function"},f.exports=t},function(f,D,y){function r(l){if(Array.isArray(l)){for(var E=0,T=Array(l.length);E0&&E;){for(d.push(s[0]);d.length>0&&E;){var h=d[0];d.splice(0,1),O.add(h);for(var u=h.getEdges(),L=0;L-1&&s.splice(R,1)}O=new Set,N=new Map}}return l},c.prototype.createDummyNodesForBendpoints=function(l){for(var E=[],T=l.source,m=this.graphManager.calcLowestCommonAncestor(l.source,l.target),L=0;L0){for(var m=this.edgeToDummyNodes.get(T),L=0;L=0&&E.splice(p,1);var A=N.getNeighborsList();A.forEach(function(x){if(T.indexOf(x)<0){var _=m.get(x),U=_-1;U==1&&h.push(x),m.set(x,U)}})}T=T.concat(h),(E.length==1||E.length==2)&&(L=!0,O=E[0])}return O},c.prototype.setGraphManager=function(l){this.graphManager=l},f.exports=c},function(f,D,y){function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=Math.sin(r.seed++)*1e4,r.x-Math.floor(r.x)},f.exports=r},function(f,D,y){var r=y(4);function t(e,i){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}t.prototype.getWorldOrgX=function(){return this.lworldOrgX},t.prototype.setWorldOrgX=function(e){this.lworldOrgX=e},t.prototype.getWorldOrgY=function(){return this.lworldOrgY},t.prototype.setWorldOrgY=function(e){this.lworldOrgY=e},t.prototype.getWorldExtX=function(){return this.lworldExtX},t.prototype.setWorldExtX=function(e){this.lworldExtX=e},t.prototype.getWorldExtY=function(){return this.lworldExtY},t.prototype.setWorldExtY=function(e){this.lworldExtY=e},t.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},t.prototype.setDeviceOrgX=function(e){this.ldeviceOrgX=e},t.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},t.prototype.setDeviceOrgY=function(e){this.ldeviceOrgY=e},t.prototype.getDeviceExtX=function(){return this.ldeviceExtX},t.prototype.setDeviceExtX=function(e){this.ldeviceExtX=e},t.prototype.getDeviceExtY=function(){return this.ldeviceExtY},t.prototype.setDeviceExtY=function(e){this.ldeviceExtY=e},t.prototype.transformX=function(e){var i=0,o=this.lworldExtX;return o!=0&&(i=this.ldeviceOrgX+(e-this.lworldOrgX)*this.ldeviceExtX/o),i},t.prototype.transformY=function(e){var i=0,o=this.lworldExtY;return o!=0&&(i=this.ldeviceOrgY+(e-this.lworldOrgY)*this.ldeviceExtY/o),i},t.prototype.inverseTransformX=function(e){var i=0,o=this.ldeviceExtX;return o!=0&&(i=this.lworldOrgX+(e-this.ldeviceOrgX)*this.lworldExtX/o),i},t.prototype.inverseTransformY=function(e){var i=0,o=this.ldeviceExtY;return o!=0&&(i=this.lworldOrgY+(e-this.ldeviceOrgY)*this.lworldExtY/o),i},t.prototype.inverseTransformPoint=function(e){var i=new r(this.inverseTransformX(e.x),this.inverseTransformY(e.y));return i},f.exports=t},function(f,D,y){function r(n){if(Array.isArray(n)){for(var c=0,l=Array(n.length);ce.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*e.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(n-e.ADAPTATION_LOWER_NODE_LIMIT)/(e.ADAPTATION_UPPER_NODE_LIMIT-e.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-e.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=e.MAX_NODE_DISPLACEMENT_INCREMENTAL):(n>e.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(e.COOLING_ADAPTATION_FACTOR,1-(n-e.ADAPTATION_LOWER_NODE_LIMIT)/(e.ADAPTATION_UPPER_NODE_LIMIT-e.ADAPTATION_LOWER_NODE_LIMIT)*(1-e.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=e.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},a.prototype.calcSpringForces=function(){for(var n=this.getAllEdges(),c,l=0;l0&&arguments[0]!==void 0?arguments[0]:!0,c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l,E,T,m,L=this.getAllNodes(),O;if(this.useFRGridVariant)for(this.totalIterations%e.GRID_CALCULATION_CHECK_PERIOD==1&&n&&this.updateGrid(),O=new Set,l=0;ld||O>d)&&(n.gravitationForceX=-this.gravityConstant*T,n.gravitationForceY=-this.gravityConstant*m)):(d=c.getEstimatedSize()*this.compoundGravityRangeFactor,(L>d||O>d)&&(n.gravitationForceX=-this.gravityConstant*T*this.compoundGravityConstant,n.gravitationForceY=-this.gravityConstant*m*this.compoundGravityConstant))},a.prototype.isConverged=function(){var n,c=!1;return this.totalIterations>this.maxIterations/3&&(c=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),n=this.totalDisplacement=L.length||d>=L[0].length)){for(var N=0;Na}}]),o}();f.exports=i},function(f,D,y){var r=function(){function i(o,g){for(var a=0;a2&&arguments[2]!==void 0?arguments[2]:1,v=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,n=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;t(this,i),this.sequence1=o,this.sequence2=g,this.match_score=a,this.mismatch_penalty=v,this.gap_penalty=n,this.iMax=o.length+1,this.jMax=g.length+1,this.grid=new Array(this.iMax);for(var c=0;c=0;o--){var g=this.listeners[o];g.event===e&&g.callback===i&&this.listeners.splice(o,1)}},t.emit=function(e,i){for(var o=0;og.coolingFactor*g.maxNodeDisplacement&&(this.displacementX=g.coolingFactor*g.maxNodeDisplacement*e.sign(this.displacementX)),Math.abs(this.displacementY)>g.coolingFactor*g.maxNodeDisplacement&&(this.displacementY=g.coolingFactor*g.maxNodeDisplacement*e.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),g.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},i.prototype.propogateDisplacementToChildren=function(g,a){for(var v=this.getChild().getNodes(),n,c=0;c0)this.positionNodesRadially(s);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var h=new Set(this.getAllNodes()),u=this.nodesWithGravity.filter(function(p){return h.has(p)});this.graphManager.setAllNodesToApplyGravitation(u),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},d.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%v.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var s=new Set(this.getAllNodes()),h=this.nodesWithGravity.filter(function(A){return s.has(A)});this.graphManager.setAllNodesToApplyGravitation(h),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=v.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=v.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var u=!this.isTreeGrowing&&!this.isGrowthFinished,p=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(u,p),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},d.prototype.getPositionsData=function(){for(var s=this.graphManager.getAllNodes(),h={},u=0;u1){var x;for(x=0;xp&&(p=Math.floor(R.y)),C=Math.floor(R.x+a.DEFAULT_COMPONENT_SEPERATION)}this.transform(new l(n.WORLD_CENTER_X-R.x/2,n.WORLD_CENTER_Y-R.y/2))},d.radialLayout=function(s,h,u){var p=Math.max(this.maxDiagonalInTree(s),a.DEFAULT_RADIAL_SEPARATION);d.branchRadialLayout(h,null,0,359,0,p);var A=L.calculateBounds(s),C=new O;C.setDeviceOrgX(A.getMinX()),C.setDeviceOrgY(A.getMinY()),C.setWorldOrgX(u.x),C.setWorldOrgY(u.y);for(var R=0;R1;){var H=k[0];k.splice(0,1);var P=M.indexOf(H);P>=0&&M.splice(P,1),b--,G--}h!=null?Y=(M.indexOf(k[0])+1)%b:Y=0;for(var B=Math.abs(p-u)/G,$=Y;F!=G;$=++$%b){var K=M[$].getOtherEnd(s);if(K!=h){var Q=(u+F*B)%360,J=(Q+B)%360;d.branchRadialLayout(K,s,Q,J,A+C,C),F++}}},d.maxDiagonalInTree=function(s){for(var h=T.MIN_VALUE,u=0;uh&&(h=A)}return h},d.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},d.prototype.groupZeroDegreeMembers=function(){var s=this,h={};this.memberGroups={},this.idToDummyNode={};for(var u=[],p=this.graphManager.getAllNodes(),A=0;A"u"&&(h[x]=[]),h[x]=h[x].concat(C)}Object.keys(h).forEach(function(_){if(h[_].length>1){var U="DummyCompound_"+_;s.memberGroups[U]=h[_];var X=h[_][0].getParent(),M=new o(s.graphManager);M.id=U,M.paddingLeft=X.paddingLeft||0,M.paddingRight=X.paddingRight||0,M.paddingBottom=X.paddingBottom||0,M.paddingTop=X.paddingTop||0,s.idToDummyNode[U]=M;var G=s.getGraphManager().add(s.newGraph(),M),F=X.getChild();F.add(M);for(var b=0;b=0;s--){var h=this.compoundOrder[s],u=h.id,p=h.paddingLeft,A=h.paddingTop;this.adjustLocations(this.tiledMemberPack[u],h.rect.x,h.rect.y,p,A)}},d.prototype.repopulateZeroDegreeMembers=function(){var s=this,h=this.tiledZeroDegreePack;Object.keys(h).forEach(function(u){var p=s.idToDummyNode[u],A=p.paddingLeft,C=p.paddingTop;s.adjustLocations(h[u],p.rect.x,p.rect.y,A,C)})},d.prototype.getToBeTiled=function(s){var h=s.id;if(this.toBeTiled[h]!=null)return this.toBeTiled[h];var u=s.getChild();if(u==null)return this.toBeTiled[h]=!1,!1;for(var p=u.getNodes(),A=0;A0)return this.toBeTiled[h]=!1,!1;if(C.getChild()==null){this.toBeTiled[C.id]=!1;continue}if(!this.getToBeTiled(C))return this.toBeTiled[h]=!1,!1}return this.toBeTiled[h]=!0,!0},d.prototype.getNodeDegree=function(s){s.id;for(var h=s.getEdges(),u=0,p=0;p_&&(_=X.rect.height)}u+=_+s.verticalPadding}},d.prototype.tileCompoundMembers=function(s,h){var u=this;this.tiledMemberPack=[],Object.keys(s).forEach(function(p){var A=h[p];u.tiledMemberPack[p]=u.tileNodes(s[p],A.paddingLeft+A.paddingRight),A.rect.width=u.tiledMemberPack[p].width,A.rect.height=u.tiledMemberPack[p].height})},d.prototype.tileNodes=function(s,h){var u=a.TILING_PADDING_VERTICAL,p=a.TILING_PADDING_HORIZONTAL,A={rows:[],rowWidth:[],rowHeight:[],width:0,height:h,verticalPadding:u,horizontalPadding:p};s.sort(function(x,_){return x.rect.width*x.rect.height>_.rect.width*_.rect.height?-1:x.rect.width*x.rect.height<_.rect.width*_.rect.height?1:0});for(var C=0;C0&&(R+=s.horizontalPadding),s.rowWidth[u]=R,s.width0&&(x+=s.verticalPadding);var _=0;x>s.rowHeight[u]&&(_=s.rowHeight[u],s.rowHeight[u]=x,_=s.rowHeight[u]-_),s.height+=_,s.rows[u].push(h)},d.prototype.getShortestRowIndex=function(s){for(var h=-1,u=Number.MAX_VALUE,p=0;pu&&(h=p,u=s.rowWidth[p]);return h},d.prototype.canAddHorizontal=function(s,h,u){var p=this.getShortestRowIndex(s);if(p<0)return!0;var A=s.rowWidth[p];if(A+s.horizontalPadding+h<=s.width)return!0;var C=0;s.rowHeight[p]0&&(C=u+s.verticalPadding-s.rowHeight[p]);var R;s.width-A>=h+s.horizontalPadding?R=(s.height+C)/(A+h+s.horizontalPadding):R=(s.height+C)/s.width,C=u+s.verticalPadding;var x;return s.widthC&&h!=u){p.splice(-1,1),s.rows[u].push(A),s.rowWidth[h]=s.rowWidth[h]-C,s.rowWidth[u]=s.rowWidth[u]+C,s.width=s.rowWidth[instance.getLongestRowIndex(s)];for(var R=Number.MIN_VALUE,x=0;xR&&(R=p[x].height);h>0&&(R+=s.verticalPadding);var _=s.rowHeight[h]+s.rowHeight[u];s.rowHeight[h]=R,s.rowHeight[u]0)for(var F=A;F<=C;F++)G[0]+=this.grid[F][R-1].length+this.grid[F][R].length-1;if(C0)for(var F=R;F<=x;F++)G[3]+=this.grid[A-1][F].length+this.grid[A][F].length-1;for(var b=T.MAX_VALUE,Y,k,H=0;H0){var x;x=O.getGraphManager().add(O.newGraph(),u),this.processChildrenList(x,h,O)}}},l.prototype.stop=function(){return this.stopped=!0,this};var T=function(L){L("layout","cose-bilkent",l)};typeof cytoscape<"u"&&T(cytoscape),D.exports=T}])})})(dt);var St=dt.exports;const Gt=Nt(St);var st=function(){var I=S(function(O,d,N,s){for(N=N||{},s=O.length;s--;N[O[s]]=d);return N},"o"),w=[1,4],f=[1,13],D=[1,12],y=[1,15],r=[1,16],t=[1,20],e=[1,19],i=[6,7,8],o=[1,26],g=[1,24],a=[1,25],v=[6,7,11],n=[1,6,13,15,16,19,22],c=[1,33],l=[1,34],E=[1,6,7,11,13,15,16,19,22],T={trace:S(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:S(function(d,N,s,h,u,p,A){var C=p.length-1;switch(u){case 6:case 7:return h;case 8:h.getLogger().trace("Stop NL ");break;case 9:h.getLogger().trace("Stop EOF ");break;case 11:h.getLogger().trace("Stop NL2 ");break;case 12:h.getLogger().trace("Stop EOF2 ");break;case 15:h.getLogger().info("Node: ",p[C].id),h.addNode(p[C-1].length,p[C].id,p[C].descr,p[C].type);break;case 16:h.getLogger().trace("Icon: ",p[C]),h.decorateNode({icon:p[C]});break;case 17:case 21:h.decorateNode({class:p[C]});break;case 18:h.getLogger().trace("SPACELIST");break;case 19:h.getLogger().trace("Node: ",p[C].id),h.addNode(0,p[C].id,p[C].descr,p[C].type);break;case 20:h.decorateNode({icon:p[C]});break;case 25:h.getLogger().trace("node found ..",p[C-2]),this.$={id:p[C-1],descr:p[C-1],type:h.getType(p[C-2],p[C])};break;case 26:this.$={id:p[C],descr:p[C],type:h.nodeType.DEFAULT};break;case 27:h.getLogger().trace("node found ..",p[C-3]),this.$={id:p[C-3],descr:p[C-1],type:h.getType(p[C-2],p[C])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:w},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:w},{6:f,7:[1,10],9:9,12:11,13:D,14:14,15:y,16:r,17:17,18:18,19:t,22:e},I(i,[2,3]),{1:[2,2]},I(i,[2,4]),I(i,[2,5]),{1:[2,6],6:f,12:21,13:D,14:14,15:y,16:r,17:17,18:18,19:t,22:e},{6:f,9:22,12:11,13:D,14:14,15:y,16:r,17:17,18:18,19:t,22:e},{6:o,7:g,10:23,11:a},I(v,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:t,22:e}),I(v,[2,18]),I(v,[2,19]),I(v,[2,20]),I(v,[2,21]),I(v,[2,23]),I(v,[2,24]),I(v,[2,26],{19:[1,30]}),{20:[1,31]},{6:o,7:g,10:32,11:a},{1:[2,7],6:f,12:21,13:D,14:14,15:y,16:r,17:17,18:18,19:t,22:e},I(n,[2,14],{7:c,11:l}),I(E,[2,8]),I(E,[2,9]),I(E,[2,10]),I(v,[2,15]),I(v,[2,16]),I(v,[2,17]),{20:[1,35]},{21:[1,36]},I(n,[2,13],{7:c,11:l}),I(E,[2,11]),I(E,[2,12]),{21:[1,37]},I(v,[2,25]),I(v,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:S(function(d,N){if(N.recoverable)this.trace(d);else{var s=new Error(d);throw s.hash=N,s}},"parseError"),parse:S(function(d){var N=this,s=[0],h=[],u=[null],p=[],A=this.table,C="",R=0,x=0,_=2,U=1,X=p.slice.call(arguments,1),M=Object.create(this.lexer),G={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(G.yy[F]=this.yy[F]);M.setInput(d,G.yy),G.yy.lexer=M,G.yy.parser=this,typeof M.yylloc>"u"&&(M.yylloc={});var b=M.yylloc;p.push(b);var Y=M.options&&M.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function k(V){s.length=s.length-2*V,u.length=u.length-V,p.length=p.length-V}S(k,"popStack");function H(){var V;return V=h.pop()||M.lex()||U,typeof V!="number"&&(V instanceof Array&&(h=V,V=h.pop()),V=N.symbols_[V]||V),V}S(H,"lex");for(var P,B,$,K,Q={},J,j,gt,q;;){if(B=s[s.length-1],this.defaultActions[B]?$=this.defaultActions[B]:((P===null||typeof P>"u")&&(P=H()),$=A[B]&&A[B][P]),typeof $>"u"||!$.length||!$[0]){var rt="";q=[];for(J in A[B])this.terminals_[J]&&J>_&&q.push("'"+this.terminals_[J]+"'");M.showPosition?rt="Parse error on line "+(R+1)+`: `+M.showPosition()+` Expecting `+q.join(", ")+", got '"+(this.terminals_[P]||P)+"'":rt="Parse error on line "+(R+1)+": Unexpected "+(P==U?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(rt,{text:M.match,token:this.terminals_[P]||P,line:M.yylineno,loc:b,expected:q})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+B+", token: "+P);switch($[0]){case 1:s.push(P),u.push(M.yytext),p.push(M.yylloc),s.push($[1]),P=null,x=M.yyleng,C=M.yytext,R=M.yylineno,b=M.yylloc;break;case 2:if(j=this.productions_[$[1]][1],Q.$=u[u.length-j],Q._$={first_line:p[p.length-(j||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(j||1)].first_column,last_column:p[p.length-1].last_column},Y&&(Q._$.range=[p[p.length-(j||1)].range[0],p[p.length-1].range[1]]),K=this.performAction.apply(Q,[C,x,R,G.yy,$[1],u,p].concat(X)),typeof K<"u")return K;j&&(s=s.slice(0,-1*j*2),u=u.slice(0,-1*j),p=p.slice(0,-1*j)),s.push(this.productions_[$[1]][0]),u.push(Q.$),p.push(Q._$),gt=A[s[s.length-2]][s[s.length-1]],s.push(gt);break;case 3:return!0}}return!0},"parse")},m=function(){var O={EOF:1,parseError:S(function(N,s){if(this.yy.parser)this.yy.parser.parseError(N,s);else throw new Error(N)},"parseError"),setInput:S(function(d,N){return this.yy=N||this.yy||{},this._input=d,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:S(function(){var d=this._input[0];this.yytext+=d,this.yyleng++,this.offset++,this.match+=d,this.matched+=d;var N=d.match(/(?:\r\n?|\n).*/g);return N?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),d},"input"),unput:S(function(d){var N=d.length,s=d.split(/(?:\r\n?|\n)/g);this._input=d+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-N),this.offset-=N;var h=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var u=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===h.length?this.yylloc.first_column:0)+h[h.length-s.length].length-s[0].length:this.yylloc.first_column-N},this.options.ranges&&(this.yylloc.range=[u[0],u[0]+this.yyleng-N]),this.yyleng=this.yytext.length,this},"unput"),more:S(function(){return this._more=!0,this},"more"),reject:S(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:S(function(d){this.unput(this.match.slice(d))},"less"),pastInput:S(function(){var d=this.matched.substr(0,this.matched.length-this.match.length);return(d.length>20?"...":"")+d.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:S(function(){var d=this.match;return d.length<20&&(d+=this._input.substr(0,20-d.length)),(d.substr(0,20)+(d.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:S(function(){var d=this.pastInput(),N=new Array(d.length+1).join("-");return d+this.upcomingInput()+` diff --git a/assets/chunks/pieDiagram-X7YZ5ZEZ.DdolosuG.js b/assets/chunks/pieDiagram-X7YZ5ZEZ.CuZ1OWgC.js similarity index 93% rename from assets/chunks/pieDiagram-X7YZ5ZEZ.DdolosuG.js rename to assets/chunks/pieDiagram-X7YZ5ZEZ.CuZ1OWgC.js index 4d331478e..bc89b0731 100644 --- a/assets/chunks/pieDiagram-X7YZ5ZEZ.DdolosuG.js +++ b/assets/chunks/pieDiagram-X7YZ5ZEZ.CuZ1OWgC.js @@ -1,4 +1,4 @@ -import{p as U}from"./chunk-RYO7GUH3.Bj74XpVL.js";import{W as y,N as z,aG as j,B as q,q as H,r as Z,s as J,g as K,c as Q,b as X,_ as p,l as G,v as Y,d as tt,D as et,H as at,a4 as rt,k as nt}from"../app.B4W5LDy6.js";import{p as it}from"./gitGraph-YCYPL57B.DzGlZmxr.js";import{d as P}from"./arc.CiTvs1Z-.js";import{o as st}from"./ordinal.BYWQX77i.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";import"./baseUniq.Cpp3LtUr.js";import"./basePickBy.Cv297fiu.js";import"./clone.Orx1AHso.js";import"./init.Gi6I4Gst.js";function ot(t,a){return at?1:a>=t?0:NaN}function lt(t){return t}function ct(){var t=lt,a=ot,m=null,o=y(0),g=y(z),x=y(0);function i(e){var r,l=(e=j(e)).length,c,A,h=0,u=new Array(l),n=new Array(l),v=+o.apply(this,arguments),w=Math.min(z,Math.max(-z,g.apply(this,arguments)-v)),f,T=Math.min(Math.abs(w)/l,x.apply(this,arguments)),$=T*(w<0?-1:1),d;for(r=0;r0&&(h+=d);for(a!=null?u.sort(function(S,D){return a(n[S],n[D])}):m!=null&&u.sort(function(S,D){return m(e[S],e[D])}),r=0,A=h?(w-l*$)/h:0;r0?d*A:0)+$,n[c]={data:e[c],index:r,value:d,startAngle:v,endAngle:f,padAngle:T};return n}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:y(+e),i):t},i.sortValues=function(e){return arguments.length?(a=e,m=null,i):a},i.sort=function(e){return arguments.length?(m=e,a=null,i):m},i.startAngle=function(e){return arguments.length?(o=typeof e=="function"?e:y(+e),i):o},i.endAngle=function(e){return arguments.length?(g=typeof e=="function"?e:y(+e),i):g},i.padAngle=function(e){return arguments.length?(x=typeof e=="function"?e:y(+e),i):x},i}var R=q.pie,W={sections:new Map,showData:!1,config:R},b=W.sections,F=W.showData,ut=structuredClone(R),pt=p(()=>structuredClone(ut),"getConfig"),gt=p(()=>{b=new Map,F=W.showData,Y()},"clear"),dt=p(({label:t,value:a})=>{b.has(t)||(b.set(t,a),G.debug(`added new section: ${t}, with value: ${a}`))},"addSection"),ft=p(()=>b,"getSections"),mt=p(t=>{F=t},"setShowData"),ht=p(()=>F,"getShowData"),I={getConfig:pt,clear:gt,setDiagramTitle:H,getDiagramTitle:Z,setAccTitle:J,getAccTitle:K,setAccDescription:Q,getAccDescription:X,addSection:dt,getSections:ft,setShowData:mt,getShowData:ht},vt=p((t,a)=>{U(t,a),a.setShowData(t.showData),t.sections.map(a.addSection)},"populateDb"),St={parse:p(async t=>{const a=await it("pie",t);G.debug(a),vt(a,I)},"parse")},yt=p(t=>` +import{p as U}from"./chunk-RYO7GUH3.Cq4tzjLf.js";import{W as y,N as z,aG as j,B as q,q as H,r as Z,s as J,g as K,c as Q,b as X,_ as p,l as G,v as Y,d as tt,D as et,H as at,a4 as rt,k as nt}from"../app.XeY7gsc2.js";import{p as it}from"./gitGraph-YCYPL57B.BBU61gGy.js";import{d as P}from"./arc.DDOeaZOx.js";import{o as st}from"./ordinal.BYWQX77i.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./baseUniq.D3QFBTuJ.js";import"./basePickBy.DQSVnGZT.js";import"./clone.DN5RQA0U.js";import"./init.Gi6I4Gst.js";function ot(t,a){return at?1:a>=t?0:NaN}function lt(t){return t}function ct(){var t=lt,a=ot,m=null,o=y(0),g=y(z),x=y(0);function i(e){var r,l=(e=j(e)).length,c,A,h=0,u=new Array(l),n=new Array(l),v=+o.apply(this,arguments),w=Math.min(z,Math.max(-z,g.apply(this,arguments)-v)),f,T=Math.min(Math.abs(w)/l,x.apply(this,arguments)),$=T*(w<0?-1:1),d;for(r=0;r0&&(h+=d);for(a!=null?u.sort(function(S,D){return a(n[S],n[D])}):m!=null&&u.sort(function(S,D){return m(e[S],e[D])}),r=0,A=h?(w-l*$)/h:0;r0?d*A:0)+$,n[c]={data:e[c],index:r,value:d,startAngle:v,endAngle:f,padAngle:T};return n}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:y(+e),i):t},i.sortValues=function(e){return arguments.length?(a=e,m=null,i):a},i.sort=function(e){return arguments.length?(m=e,a=null,i):m},i.startAngle=function(e){return arguments.length?(o=typeof e=="function"?e:y(+e),i):o},i.endAngle=function(e){return arguments.length?(g=typeof e=="function"?e:y(+e),i):g},i.padAngle=function(e){return arguments.length?(x=typeof e=="function"?e:y(+e),i):x},i}var R=q.pie,W={sections:new Map,showData:!1,config:R},b=W.sections,F=W.showData,ut=structuredClone(R),pt=p(()=>structuredClone(ut),"getConfig"),gt=p(()=>{b=new Map,F=W.showData,Y()},"clear"),dt=p(({label:t,value:a})=>{b.has(t)||(b.set(t,a),G.debug(`added new section: ${t}, with value: ${a}`))},"addSection"),ft=p(()=>b,"getSections"),mt=p(t=>{F=t},"setShowData"),ht=p(()=>F,"getShowData"),I={getConfig:pt,clear:gt,setDiagramTitle:H,getDiagramTitle:Z,setAccTitle:J,getAccTitle:K,setAccDescription:Q,getAccDescription:X,addSection:dt,getSections:ft,setShowData:mt,getShowData:ht},vt=p((t,a)=>{U(t,a),a.setShowData(t.showData),t.sections.map(a.addSection)},"populateDb"),St={parse:p(async t=>{const a=await it("pie",t);G.debug(a),vt(a,I)},"parse")},yt=p(t=>` .pieCircle{ stroke: ${t.pieStrokeColor}; stroke-width : ${t.pieStrokeWidth}; diff --git a/assets/chunks/quadrantDiagram-F36EZAVT.DRQXII3L.js b/assets/chunks/quadrantDiagram-F36EZAVT.DeYzdc6h.js similarity index 99% rename from assets/chunks/quadrantDiagram-F36EZAVT.DRQXII3L.js rename to assets/chunks/quadrantDiagram-F36EZAVT.DeYzdc6h.js index b0fc13684..c0239cf3b 100644 --- a/assets/chunks/quadrantDiagram-F36EZAVT.DRQXII3L.js +++ b/assets/chunks/quadrantDiagram-F36EZAVT.DeYzdc6h.js @@ -1,4 +1,4 @@ -import{_ as o,$ as _e,B as D,l as At,d as wt,i as Ae,r as ie,s as ke,g as Fe,q as Pe,b as ve,c as Ce,v as Le,j as zt,k as Ee}from"../app.B4W5LDy6.js";import{l as ee}from"./linear.CPyRlV9U.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";import"./init.Gi6I4Gst.js";var Vt=function(){var t=o(function(j,r,l,g){for(l=l||{},g=j.length;g--;l[j[g]]=r);return l},"o"),n=[1,3],u=[1,4],c=[1,5],h=[1,6],p=[1,7],y=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],S=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],A=[2,36],d=[1,37],T=[1,36],q=[1,38],m=[1,35],b=[1,43],x=[1,41],O=[1,14],Y=[1,23],G=[1,18],yt=[1,19],Tt=[1,20],dt=[1,21],Ft=[1,22],ut=[1,24],xt=[1,25],ft=[1,26],gt=[1,27],i=[1,28],Bt=[1,29],W=[1,32],U=[1,33],k=[1,34],F=[1,39],P=[1,40],v=[1,42],C=[1,44],H=[1,62],X=[1,61],L=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],Rt=[1,65],Nt=[1,66],Wt=[1,67],Ut=[1,68],Qt=[1,69],Ot=[1,70],Ht=[1,71],Xt=[1,72],Mt=[1,73],Yt=[1,74],jt=[1,75],Gt=[1,76],I=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,90],$=[1,91],tt=[1,92],et=[1,99],it=[1,93],at=[1,96],nt=[1,94],st=[1,95],rt=[1,97],ot=[1,98],Pt=[1,102],Kt=[10,55,56,57],R=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],vt={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(r,l,g,f,_,e,pt){var s=e.length-1;switch(_){case 23:this.$=e[s];break;case 24:this.$=e[s-1]+""+e[s];break;case 26:this.$=e[s-1]+e[s];break;case 27:this.$=[e[s].trim()];break;case 28:e[s-2].push(e[s].trim()),this.$=e[s-2];break;case 29:this.$=e[s-4],f.addClass(e[s-2],e[s]);break;case 37:this.$=[];break;case 42:this.$=e[s].trim(),f.setDiagramTitle(this.$);break;case 43:this.$=e[s].trim(),f.setAccTitle(this.$);break;case 44:case 45:this.$=e[s].trim(),f.setAccDescription(this.$);break;case 46:f.addSection(e[s].substr(8)),this.$=e[s].substr(8);break;case 47:f.addPoint(e[s-3],"",e[s-1],e[s],[]);break;case 48:f.addPoint(e[s-4],e[s-3],e[s-1],e[s],[]);break;case 49:f.addPoint(e[s-4],"",e[s-2],e[s-1],e[s]);break;case 50:f.addPoint(e[s-5],e[s-4],e[s-2],e[s-1],e[s]);break;case 51:f.setXAxisLeftText(e[s-2]),f.setXAxisRightText(e[s]);break;case 52:e[s-1].text+=" ⟶ ",f.setXAxisLeftText(e[s-1]);break;case 53:f.setXAxisLeftText(e[s]);break;case 54:f.setYAxisBottomText(e[s-2]),f.setYAxisTopText(e[s]);break;case 55:e[s-1].text+=" ⟶ ",f.setYAxisBottomText(e[s-1]);break;case 56:f.setYAxisBottomText(e[s]);break;case 57:f.setQuadrant1Text(e[s]);break;case 58:f.setQuadrant2Text(e[s]);break;case 59:f.setQuadrant3Text(e[s]);break;case 60:f.setQuadrant4Text(e[s]);break;case 64:this.$={text:e[s],type:"text"};break;case 65:this.$={text:e[s-1].text+""+e[s],type:e[s-1].type};break;case 66:this.$={text:e[s],type:"text"};break;case 67:this.$={text:e[s],type:"markdown"};break;case 68:this.$=e[s];break;case 69:this.$=e[s-1]+""+e[s];break}},"anonymous"),table:[{18:n,26:1,27:2,28:u,55:c,56:h,57:p},{1:[3]},{18:n,26:8,27:2,28:u,55:c,56:h,57:p},{18:n,26:9,27:2,28:u,55:c,56:h,57:p},t(y,[2,33],{29:10}),t(S,[2,61]),t(S,[2,62]),t(S,[2,63]),{1:[2,30]},{1:[2,31]},t(a,A,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:T,10:q,12:m,13:b,14:x,18:O,25:Y,35:G,37:yt,39:Tt,41:dt,42:Ft,48:ut,50:xt,51:ft,52:gt,53:i,54:Bt,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),t(y,[2,34]),{27:45,55:c,56:h,57:p},t(a,[2,37]),t(a,A,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:d,5:T,10:q,12:m,13:b,14:x,18:O,25:Y,35:G,37:yt,39:Tt,41:dt,42:Ft,48:ut,50:xt,51:ft,52:gt,53:i,54:Bt,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(a,[2,45]),t(a,[2,46]),{18:[1,50]},{4:d,5:T,10:q,12:m,13:b,14:x,43:51,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:q,12:m,13:b,14:x,43:52,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:q,12:m,13:b,14:x,43:53,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:q,12:m,13:b,14:x,43:54,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:q,12:m,13:b,14:x,43:55,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:q,12:m,13:b,14:x,43:56,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,44:[1,57],47:[1,58],58:60,59:59,63:k,64:F,65:P,66:v,67:C},t(L,[2,64]),t(L,[2,66]),t(L,[2,67]),t(L,[2,70]),t(L,[2,71]),t(L,[2,72]),t(L,[2,73]),t(L,[2,74]),t(L,[2,75]),t(L,[2,76]),t(L,[2,77]),t(L,[2,78]),t(L,[2,79]),t(L,[2,80]),t(y,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:64,4:Rt,5:Nt,6:Wt,7:Ut,8:Qt,9:Ot,10:Ht,11:Xt,12:Mt,13:Yt,14:jt,15:Gt,21:63},t(a,[2,53],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,49:[1,77],63:k,64:F,65:P,66:v,67:C}),t(a,[2,56],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,49:[1,78],63:k,64:F,65:P,66:v,67:C}),t(a,[2,57],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,58],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,59],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,60],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),{45:[1,79]},{44:[1,80]},t(L,[2,65]),t(L,[2,81]),t(L,[2,82]),t(L,[2,83]),{3:82,4:Rt,5:Nt,6:Wt,7:Ut,8:Qt,9:Ot,10:Ht,11:Xt,12:Mt,13:Yt,14:jt,15:Gt,18:[1,81]},t(I,[2,23]),t(I,[2,1]),t(I,[2,2]),t(I,[2,3]),t(I,[2,4]),t(I,[2,5]),t(I,[2,6]),t(I,[2,7]),t(I,[2,8]),t(I,[2,9]),t(I,[2,10]),t(I,[2,11]),t(I,[2,12]),t(a,[2,52],{58:31,43:83,4:d,5:T,10:q,12:m,13:b,14:x,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),t(a,[2,55],{58:31,43:84,4:d,5:T,10:q,12:m,13:b,14:x,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),{46:[1,85]},{45:[1,86]},{4:J,5:$,6:tt,8:et,11:it,13:at,16:89,17:nt,18:st,19:rt,20:ot,22:88,23:87},t(I,[2,24]),t(a,[2,51],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,54],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,47],{22:88,16:89,23:100,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{46:[1,101]},t(a,[2,29],{10:Pt}),t(Kt,[2,27],{16:103,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),t(R,[2,25]),t(R,[2,13]),t(R,[2,14]),t(R,[2,15]),t(R,[2,16]),t(R,[2,17]),t(R,[2,18]),t(R,[2,19]),t(R,[2,20]),t(R,[2,21]),t(R,[2,22]),t(a,[2,49],{10:Pt}),t(a,[2,48],{22:88,16:89,23:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{4:J,5:$,6:tt,8:et,11:it,13:at,16:89,17:nt,18:st,19:rt,20:ot,22:105},t(R,[2,26]),t(a,[2,50],{10:Pt}),t(Kt,[2,28],{16:103,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(r,l){if(l.recoverable)this.trace(r);else{var g=new Error(r);throw g.hash=l,g}},"parseError"),parse:o(function(r){var l=this,g=[0],f=[],_=[null],e=[],pt=this.table,s="",mt=0,Zt=0,qe=2,Jt=1,me=e.slice.call(arguments,1),E=Object.create(this.lexer),K={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(K.yy[Ct]=this.yy[Ct]);E.setInput(r,K.yy),K.yy.lexer=E,K.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var Lt=E.yylloc;e.push(Lt);var be=E.options&&E.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Se(B){g.length=g.length-2*B,_.length=_.length-B,e.length=e.length-B}o(Se,"popStack");function $t(){var B;return B=f.pop()||E.lex()||Jt,typeof B!="number"&&(B instanceof Array&&(f=B,B=f.pop()),B=l.symbols_[B]||B),B}o($t,"lex");for(var w,Z,N,Et,lt={},bt,M,te,St;;){if(Z=g[g.length-1],this.defaultActions[Z]?N=this.defaultActions[Z]:((w===null||typeof w>"u")&&(w=$t()),N=pt[Z]&&pt[Z][w]),typeof N>"u"||!N.length||!N[0]){var Dt="";St=[];for(bt in pt[Z])this.terminals_[bt]&&bt>qe&&St.push("'"+this.terminals_[bt]+"'");E.showPosition?Dt="Parse error on line "+(mt+1)+`: +import{_ as o,$ as _e,B as D,l as At,d as wt,i as Ae,r as ie,s as ke,g as Fe,q as Pe,b as ve,c as Ce,v as Le,j as zt,k as Ee}from"../app.XeY7gsc2.js";import{l as ee}from"./linear.CCNQpCSX.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./init.Gi6I4Gst.js";var Vt=function(){var t=o(function(j,r,l,g){for(l=l||{},g=j.length;g--;l[j[g]]=r);return l},"o"),n=[1,3],u=[1,4],c=[1,5],h=[1,6],p=[1,7],y=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],S=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],A=[2,36],d=[1,37],T=[1,36],q=[1,38],m=[1,35],b=[1,43],x=[1,41],O=[1,14],Y=[1,23],G=[1,18],yt=[1,19],Tt=[1,20],dt=[1,21],Ft=[1,22],ut=[1,24],xt=[1,25],ft=[1,26],gt=[1,27],i=[1,28],Bt=[1,29],W=[1,32],U=[1,33],k=[1,34],F=[1,39],P=[1,40],v=[1,42],C=[1,44],H=[1,62],X=[1,61],L=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],Rt=[1,65],Nt=[1,66],Wt=[1,67],Ut=[1,68],Qt=[1,69],Ot=[1,70],Ht=[1,71],Xt=[1,72],Mt=[1,73],Yt=[1,74],jt=[1,75],Gt=[1,76],I=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,90],$=[1,91],tt=[1,92],et=[1,99],it=[1,93],at=[1,96],nt=[1,94],st=[1,95],rt=[1,97],ot=[1,98],Pt=[1,102],Kt=[10,55,56,57],R=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],vt={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(r,l,g,f,_,e,pt){var s=e.length-1;switch(_){case 23:this.$=e[s];break;case 24:this.$=e[s-1]+""+e[s];break;case 26:this.$=e[s-1]+e[s];break;case 27:this.$=[e[s].trim()];break;case 28:e[s-2].push(e[s].trim()),this.$=e[s-2];break;case 29:this.$=e[s-4],f.addClass(e[s-2],e[s]);break;case 37:this.$=[];break;case 42:this.$=e[s].trim(),f.setDiagramTitle(this.$);break;case 43:this.$=e[s].trim(),f.setAccTitle(this.$);break;case 44:case 45:this.$=e[s].trim(),f.setAccDescription(this.$);break;case 46:f.addSection(e[s].substr(8)),this.$=e[s].substr(8);break;case 47:f.addPoint(e[s-3],"",e[s-1],e[s],[]);break;case 48:f.addPoint(e[s-4],e[s-3],e[s-1],e[s],[]);break;case 49:f.addPoint(e[s-4],"",e[s-2],e[s-1],e[s]);break;case 50:f.addPoint(e[s-5],e[s-4],e[s-2],e[s-1],e[s]);break;case 51:f.setXAxisLeftText(e[s-2]),f.setXAxisRightText(e[s]);break;case 52:e[s-1].text+=" ⟶ ",f.setXAxisLeftText(e[s-1]);break;case 53:f.setXAxisLeftText(e[s]);break;case 54:f.setYAxisBottomText(e[s-2]),f.setYAxisTopText(e[s]);break;case 55:e[s-1].text+=" ⟶ ",f.setYAxisBottomText(e[s-1]);break;case 56:f.setYAxisBottomText(e[s]);break;case 57:f.setQuadrant1Text(e[s]);break;case 58:f.setQuadrant2Text(e[s]);break;case 59:f.setQuadrant3Text(e[s]);break;case 60:f.setQuadrant4Text(e[s]);break;case 64:this.$={text:e[s],type:"text"};break;case 65:this.$={text:e[s-1].text+""+e[s],type:e[s-1].type};break;case 66:this.$={text:e[s],type:"text"};break;case 67:this.$={text:e[s],type:"markdown"};break;case 68:this.$=e[s];break;case 69:this.$=e[s-1]+""+e[s];break}},"anonymous"),table:[{18:n,26:1,27:2,28:u,55:c,56:h,57:p},{1:[3]},{18:n,26:8,27:2,28:u,55:c,56:h,57:p},{18:n,26:9,27:2,28:u,55:c,56:h,57:p},t(y,[2,33],{29:10}),t(S,[2,61]),t(S,[2,62]),t(S,[2,63]),{1:[2,30]},{1:[2,31]},t(a,A,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:T,10:q,12:m,13:b,14:x,18:O,25:Y,35:G,37:yt,39:Tt,41:dt,42:Ft,48:ut,50:xt,51:ft,52:gt,53:i,54:Bt,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),t(y,[2,34]),{27:45,55:c,56:h,57:p},t(a,[2,37]),t(a,A,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:d,5:T,10:q,12:m,13:b,14:x,18:O,25:Y,35:G,37:yt,39:Tt,41:dt,42:Ft,48:ut,50:xt,51:ft,52:gt,53:i,54:Bt,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(a,[2,45]),t(a,[2,46]),{18:[1,50]},{4:d,5:T,10:q,12:m,13:b,14:x,43:51,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:q,12:m,13:b,14:x,43:52,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:q,12:m,13:b,14:x,43:53,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:q,12:m,13:b,14:x,43:54,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:q,12:m,13:b,14:x,43:55,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,10:q,12:m,13:b,14:x,43:56,58:31,60:W,61:U,63:k,64:F,65:P,66:v,67:C},{4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,44:[1,57],47:[1,58],58:60,59:59,63:k,64:F,65:P,66:v,67:C},t(L,[2,64]),t(L,[2,66]),t(L,[2,67]),t(L,[2,70]),t(L,[2,71]),t(L,[2,72]),t(L,[2,73]),t(L,[2,74]),t(L,[2,75]),t(L,[2,76]),t(L,[2,77]),t(L,[2,78]),t(L,[2,79]),t(L,[2,80]),t(y,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:64,4:Rt,5:Nt,6:Wt,7:Ut,8:Qt,9:Ot,10:Ht,11:Xt,12:Mt,13:Yt,14:jt,15:Gt,21:63},t(a,[2,53],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,49:[1,77],63:k,64:F,65:P,66:v,67:C}),t(a,[2,56],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,49:[1,78],63:k,64:F,65:P,66:v,67:C}),t(a,[2,57],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,58],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,59],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,60],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),{45:[1,79]},{44:[1,80]},t(L,[2,65]),t(L,[2,81]),t(L,[2,82]),t(L,[2,83]),{3:82,4:Rt,5:Nt,6:Wt,7:Ut,8:Qt,9:Ot,10:Ht,11:Xt,12:Mt,13:Yt,14:jt,15:Gt,18:[1,81]},t(I,[2,23]),t(I,[2,1]),t(I,[2,2]),t(I,[2,3]),t(I,[2,4]),t(I,[2,5]),t(I,[2,6]),t(I,[2,7]),t(I,[2,8]),t(I,[2,9]),t(I,[2,10]),t(I,[2,11]),t(I,[2,12]),t(a,[2,52],{58:31,43:83,4:d,5:T,10:q,12:m,13:b,14:x,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),t(a,[2,55],{58:31,43:84,4:d,5:T,10:q,12:m,13:b,14:x,60:W,61:U,63:k,64:F,65:P,66:v,67:C}),{46:[1,85]},{45:[1,86]},{4:J,5:$,6:tt,8:et,11:it,13:at,16:89,17:nt,18:st,19:rt,20:ot,22:88,23:87},t(I,[2,24]),t(a,[2,51],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,54],{59:59,58:60,4:d,5:T,8:H,10:q,12:m,13:b,14:x,18:X,63:k,64:F,65:P,66:v,67:C}),t(a,[2,47],{22:88,16:89,23:100,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{46:[1,101]},t(a,[2,29],{10:Pt}),t(Kt,[2,27],{16:103,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),t(R,[2,25]),t(R,[2,13]),t(R,[2,14]),t(R,[2,15]),t(R,[2,16]),t(R,[2,17]),t(R,[2,18]),t(R,[2,19]),t(R,[2,20]),t(R,[2,21]),t(R,[2,22]),t(a,[2,49],{10:Pt}),t(a,[2,48],{22:88,16:89,23:104,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot}),{4:J,5:$,6:tt,8:et,11:it,13:at,16:89,17:nt,18:st,19:rt,20:ot,22:105},t(R,[2,26]),t(a,[2,50],{10:Pt}),t(Kt,[2,28],{16:103,4:J,5:$,6:tt,8:et,11:it,13:at,17:nt,18:st,19:rt,20:ot})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(r,l){if(l.recoverable)this.trace(r);else{var g=new Error(r);throw g.hash=l,g}},"parseError"),parse:o(function(r){var l=this,g=[0],f=[],_=[null],e=[],pt=this.table,s="",mt=0,Zt=0,qe=2,Jt=1,me=e.slice.call(arguments,1),E=Object.create(this.lexer),K={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(K.yy[Ct]=this.yy[Ct]);E.setInput(r,K.yy),K.yy.lexer=E,K.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var Lt=E.yylloc;e.push(Lt);var be=E.options&&E.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Se(B){g.length=g.length-2*B,_.length=_.length-B,e.length=e.length-B}o(Se,"popStack");function $t(){var B;return B=f.pop()||E.lex()||Jt,typeof B!="number"&&(B instanceof Array&&(f=B,B=f.pop()),B=l.symbols_[B]||B),B}o($t,"lex");for(var w,Z,N,Et,lt={},bt,M,te,St;;){if(Z=g[g.length-1],this.defaultActions[Z]?N=this.defaultActions[Z]:((w===null||typeof w>"u")&&(w=$t()),N=pt[Z]&&pt[Z][w]),typeof N>"u"||!N.length||!N[0]){var Dt="";St=[];for(bt in pt[Z])this.terminals_[bt]&&bt>qe&&St.push("'"+this.terminals_[bt]+"'");E.showPosition?Dt="Parse error on line "+(mt+1)+`: `+E.showPosition()+` Expecting `+St.join(", ")+", got '"+(this.terminals_[w]||w)+"'":Dt="Parse error on line "+(mt+1)+": Unexpected "+(w==Jt?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(Dt,{text:E.match,token:this.terminals_[w]||w,line:E.yylineno,loc:Lt,expected:St})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+w);switch(N[0]){case 1:g.push(w),_.push(E.yytext),e.push(E.yylloc),g.push(N[1]),w=null,Zt=E.yyleng,s=E.yytext,mt=E.yylineno,Lt=E.yylloc;break;case 2:if(M=this.productions_[N[1]][1],lt.$=_[_.length-M],lt._$={first_line:e[e.length-(M||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(M||1)].first_column,last_column:e[e.length-1].last_column},be&&(lt._$.range=[e[e.length-(M||1)].range[0],e[e.length-1].range[1]]),Et=this.performAction.apply(lt,[s,Zt,mt,K.yy,N[1],_,e].concat(me)),typeof Et<"u")return Et;M&&(g=g.slice(0,-1*M*2),_=_.slice(0,-1*M),e=e.slice(0,-1*M)),g.push(this.productions_[N[1]][0]),_.push(lt.$),e.push(lt._$),te=pt[g[g.length-2]][g[g.length-1]],g.push(te);break;case 3:return!0}}return!0},"parse")},Te=function(){var j={EOF:1,parseError:o(function(l,g){if(this.yy.parser)this.yy.parser.parseError(l,g);else throw new Error(l)},"parseError"),setInput:o(function(r,l){return this.yy=l||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:o(function(r){var l=r.length,g=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var f=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===f.length?this.yylloc.first_column:0)+f[f.length-g.length].length-g[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(r){this.unput(this.match.slice(r))},"less"),pastInput:o(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+` diff --git a/assets/chunks/requirementDiagram-JG2LMPGF.C-4ojdbU.js b/assets/chunks/requirementDiagram-JG2LMPGF.i_GlM0g_.js similarity index 98% rename from assets/chunks/requirementDiagram-JG2LMPGF.C-4ojdbU.js rename to assets/chunks/requirementDiagram-JG2LMPGF.i_GlM0g_.js index 6fe876506..828e46b4b 100644 --- a/assets/chunks/requirementDiagram-JG2LMPGF.C-4ojdbU.js +++ b/assets/chunks/requirementDiagram-JG2LMPGF.i_GlM0g_.js @@ -1,4 +1,4 @@ -import{_ as r,d as ve,s as Fe,g as De,c as Pe,b as Ye,l as xe,v as Ue,j as ce,k as Be,a0 as Qe,e as Te}from"../app.B4W5LDy6.js";import{G as He}from"./graph.BWNVXCq5.js";import{l as We}from"./layout.tjTIlxV4.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";import"./baseUniq.Cpp3LtUr.js";import"./basePickBy.Cv297fiu.js";var he=function(){var e=r(function($,i,a,l){for(a=a||{},l=$.length;l--;a[$[l]]=i);return a},"o"),t=[1,3],c=[1,4],d=[1,5],u=[1,6],p=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],y=[1,18],h=[2,7],o=[1,22],g=[1,23],R=[1,24],I=[1,25],b=[1,26],w=[1,27],q=[1,20],v=[1,28],A=[1,29],F=[62,63],pe=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],fe=[1,47],ye=[1,48],_e=[1,49],ge=[1,50],Ee=[1,51],Re=[1,52],me=[1,53],O=[53,54],D=[1,64],P=[1,60],Y=[1,61],U=[1,62],B=[1,63],Q=[1,65],j=[1,69],X=[1,70],J=[1,67],Z=[1,68],S=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],ne={trace:r(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:r(function(i,a,l,n,f,s,K){var E=s.length-1;switch(f){case 4:this.$=s[E].trim(),n.setAccTitle(this.$);break;case 5:case 6:this.$=s[E].trim(),n.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:n.addRequirement(s[E-3],s[E-4]);break;case 14:n.setNewReqId(s[E-2]);break;case 15:n.setNewReqText(s[E-2]);break;case 16:n.setNewReqRisk(s[E-2]);break;case 17:n.setNewReqVerifyMethod(s[E-2]);break;case 20:this.$=n.RequirementType.REQUIREMENT;break;case 21:this.$=n.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=n.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=n.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=n.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=n.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=n.RiskLevel.LOW_RISK;break;case 27:this.$=n.RiskLevel.MED_RISK;break;case 28:this.$=n.RiskLevel.HIGH_RISK;break;case 29:this.$=n.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=n.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=n.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=n.VerifyType.VERIFY_TEST;break;case 33:n.addElement(s[E-3]);break;case 34:n.setNewElementType(s[E-2]);break;case 35:n.setNewElementDocRef(s[E-2]);break;case 38:n.addRelationship(s[E-2],s[E],s[E-4]);break;case 39:n.addRelationship(s[E-2],s[E-4],s[E]);break;case 40:this.$=n.Relationships.CONTAINS;break;case 41:this.$=n.Relationships.COPIES;break;case 42:this.$=n.Relationships.DERIVES;break;case 43:this.$=n.Relationships.SATISFIES;break;case 44:this.$=n.Relationships.VERIFIES;break;case 45:this.$=n.Relationships.REFINES;break;case 46:this.$=n.Relationships.TRACES;break}},"anonymous"),table:[{3:1,4:2,6:t,9:c,11:d,13:u},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:c,11:d,13:u},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(p,[2,6]),{3:12,4:2,6:t,9:c,11:d,13:u},{1:[2,2]},{4:17,5:y,7:13,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},e(p,[2,4]),e(p,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:y,7:31,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{4:17,5:y,7:32,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{4:17,5:y,7:33,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{4:17,5:y,7:34,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{4:17,5:y,7:35,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(F,[2,20]),e(F,[2,21]),e(F,[2,22]),e(F,[2,23]),e(F,[2,24]),e(F,[2,25]),e(pe,[2,49]),e(pe,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:fe,56:ye,57:_e,58:ge,59:Ee,60:Re,61:me},{52:54,55:fe,56:ye,57:_e,58:ge,59:Ee,60:Re,61:me},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(O,[2,40]),e(O,[2,41]),e(O,[2,42]),e(O,[2,43]),e(O,[2,44]),e(O,[2,45]),e(O,[2,46]),{54:[1,58]},{5:D,20:59,21:P,24:Y,26:U,28:B,30:Q},{5:j,30:X,46:66,47:J,49:Z},{23:71,62:v,63:A},{23:72,62:v,63:A},e(S,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:D,20:77,21:P,24:Y,26:U,28:B,30:Q},e(S,[2,19]),e(S,[2,33]),{22:[1,78]},{22:[1,79]},{5:j,30:X,46:80,47:J,49:Z},e(S,[2,37]),e(S,[2,38]),e(S,[2,39]),{23:81,62:v,63:A},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},e(S,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(S,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:D,20:106,21:P,24:Y,26:U,28:B,30:Q},{5:D,20:107,21:P,24:Y,26:U,28:B,30:Q},{5:D,20:108,21:P,24:Y,26:U,28:B,30:Q},{5:D,20:109,21:P,24:Y,26:U,28:B,30:Q},{5:j,30:X,46:110,47:J,49:Z},{5:j,30:X,46:111,47:J,49:Z},e(S,[2,14]),e(S,[2,15]),e(S,[2,16]),e(S,[2,17]),e(S,[2,34]),e(S,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:r(function(i,a){if(a.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=a,l}},"parseError"),parse:r(function(i){var a=this,l=[0],n=[],f=[null],s=[],K=this.table,E="",te=0,Ie=0,Le=2,be=1,Oe=s.slice.call(arguments,1),m=Object.create(this.lexer),C={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(C.yy[se]=this.yy[se]);m.setInput(i,C.yy),C.yy.lexer=m,C.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var ae=m.yylloc;s.push(ae);var Ce=m.options&&m.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(N){l.length=l.length-2*N,f.length=f.length-N,s.length=s.length-N}r(Me,"popStack");function Se(){var N;return N=n.pop()||m.lex()||be,typeof N!="number"&&(N instanceof Array&&(n=N,N=n.pop()),N=a.symbols_[N]||N),N}r(Se,"lex");for(var k,M,x,le,H={},ie,V,ke,re;;){if(M=l[l.length-1],this.defaultActions[M]?x=this.defaultActions[M]:((k===null||typeof k>"u")&&(k=Se()),x=K[M]&&K[M][k]),typeof x>"u"||!x.length||!x[0]){var oe="";re=[];for(ie in K[M])this.terminals_[ie]&&ie>Le&&re.push("'"+this.terminals_[ie]+"'");m.showPosition?oe="Parse error on line "+(te+1)+`: +import{_ as r,d as ve,s as Fe,g as De,c as Pe,b as Ye,l as xe,v as Ue,j as ce,k as Be,a0 as Qe,e as Te}from"../app.XeY7gsc2.js";import{G as He}from"./graph.jRtFwrS7.js";import{l as We}from"./layout.CM1i2aqJ.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./baseUniq.D3QFBTuJ.js";import"./basePickBy.DQSVnGZT.js";var he=function(){var e=r(function($,i,a,l){for(a=a||{},l=$.length;l--;a[$[l]]=i);return a},"o"),t=[1,3],c=[1,4],d=[1,5],u=[1,6],p=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],y=[1,18],h=[2,7],o=[1,22],g=[1,23],R=[1,24],I=[1,25],b=[1,26],w=[1,27],q=[1,20],v=[1,28],A=[1,29],F=[62,63],pe=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],fe=[1,47],ye=[1,48],_e=[1,49],ge=[1,50],Ee=[1,51],Re=[1,52],me=[1,53],O=[53,54],D=[1,64],P=[1,60],Y=[1,61],U=[1,62],B=[1,63],Q=[1,65],j=[1,69],X=[1,70],J=[1,67],Z=[1,68],S=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],ne={trace:r(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:r(function(i,a,l,n,f,s,K){var E=s.length-1;switch(f){case 4:this.$=s[E].trim(),n.setAccTitle(this.$);break;case 5:case 6:this.$=s[E].trim(),n.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:n.addRequirement(s[E-3],s[E-4]);break;case 14:n.setNewReqId(s[E-2]);break;case 15:n.setNewReqText(s[E-2]);break;case 16:n.setNewReqRisk(s[E-2]);break;case 17:n.setNewReqVerifyMethod(s[E-2]);break;case 20:this.$=n.RequirementType.REQUIREMENT;break;case 21:this.$=n.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=n.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=n.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=n.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=n.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=n.RiskLevel.LOW_RISK;break;case 27:this.$=n.RiskLevel.MED_RISK;break;case 28:this.$=n.RiskLevel.HIGH_RISK;break;case 29:this.$=n.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=n.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=n.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=n.VerifyType.VERIFY_TEST;break;case 33:n.addElement(s[E-3]);break;case 34:n.setNewElementType(s[E-2]);break;case 35:n.setNewElementDocRef(s[E-2]);break;case 38:n.addRelationship(s[E-2],s[E],s[E-4]);break;case 39:n.addRelationship(s[E-2],s[E-4],s[E]);break;case 40:this.$=n.Relationships.CONTAINS;break;case 41:this.$=n.Relationships.COPIES;break;case 42:this.$=n.Relationships.DERIVES;break;case 43:this.$=n.Relationships.SATISFIES;break;case 44:this.$=n.Relationships.VERIFIES;break;case 45:this.$=n.Relationships.REFINES;break;case 46:this.$=n.Relationships.TRACES;break}},"anonymous"),table:[{3:1,4:2,6:t,9:c,11:d,13:u},{1:[3]},{3:8,4:2,5:[1,7],6:t,9:c,11:d,13:u},{5:[1,9]},{10:[1,10]},{12:[1,11]},e(p,[2,6]),{3:12,4:2,6:t,9:c,11:d,13:u},{1:[2,2]},{4:17,5:y,7:13,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},e(p,[2,4]),e(p,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:y,7:31,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{4:17,5:y,7:32,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{4:17,5:y,7:33,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{4:17,5:y,7:34,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{4:17,5:y,7:35,8:h,9:c,11:d,13:u,14:14,15:15,16:16,17:19,23:21,31:o,32:g,33:R,34:I,35:b,36:w,44:q,62:v,63:A},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},e(F,[2,20]),e(F,[2,21]),e(F,[2,22]),e(F,[2,23]),e(F,[2,24]),e(F,[2,25]),e(pe,[2,49]),e(pe,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:fe,56:ye,57:_e,58:ge,59:Ee,60:Re,61:me},{52:54,55:fe,56:ye,57:_e,58:ge,59:Ee,60:Re,61:me},{5:[1,55]},{5:[1,56]},{53:[1,57]},e(O,[2,40]),e(O,[2,41]),e(O,[2,42]),e(O,[2,43]),e(O,[2,44]),e(O,[2,45]),e(O,[2,46]),{54:[1,58]},{5:D,20:59,21:P,24:Y,26:U,28:B,30:Q},{5:j,30:X,46:66,47:J,49:Z},{23:71,62:v,63:A},{23:72,62:v,63:A},e(S,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:D,20:77,21:P,24:Y,26:U,28:B,30:Q},e(S,[2,19]),e(S,[2,33]),{22:[1,78]},{22:[1,79]},{5:j,30:X,46:80,47:J,49:Z},e(S,[2,37]),e(S,[2,38]),e(S,[2,39]),{23:81,62:v,63:A},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},e(S,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},e(S,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:D,20:106,21:P,24:Y,26:U,28:B,30:Q},{5:D,20:107,21:P,24:Y,26:U,28:B,30:Q},{5:D,20:108,21:P,24:Y,26:U,28:B,30:Q},{5:D,20:109,21:P,24:Y,26:U,28:B,30:Q},{5:j,30:X,46:110,47:J,49:Z},{5:j,30:X,46:111,47:J,49:Z},e(S,[2,14]),e(S,[2,15]),e(S,[2,16]),e(S,[2,17]),e(S,[2,34]),e(S,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:r(function(i,a){if(a.recoverable)this.trace(i);else{var l=new Error(i);throw l.hash=a,l}},"parseError"),parse:r(function(i){var a=this,l=[0],n=[],f=[null],s=[],K=this.table,E="",te=0,Ie=0,Le=2,be=1,Oe=s.slice.call(arguments,1),m=Object.create(this.lexer),C={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(C.yy[se]=this.yy[se]);m.setInput(i,C.yy),C.yy.lexer=m,C.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var ae=m.yylloc;s.push(ae);var Ce=m.options&&m.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Me(N){l.length=l.length-2*N,f.length=f.length-N,s.length=s.length-N}r(Me,"popStack");function Se(){var N;return N=n.pop()||m.lex()||be,typeof N!="number"&&(N instanceof Array&&(n=N,N=n.pop()),N=a.symbols_[N]||N),N}r(Se,"lex");for(var k,M,x,le,H={},ie,V,ke,re;;){if(M=l[l.length-1],this.defaultActions[M]?x=this.defaultActions[M]:((k===null||typeof k>"u")&&(k=Se()),x=K[M]&&K[M][k]),typeof x>"u"||!x.length||!x[0]){var oe="";re=[];for(ie in K[M])this.terminals_[ie]&&ie>Le&&re.push("'"+this.terminals_[ie]+"'");m.showPosition?oe="Parse error on line "+(te+1)+`: `+m.showPosition()+` Expecting `+re.join(", ")+", got '"+(this.terminals_[k]||k)+"'":oe="Parse error on line "+(te+1)+": Unexpected "+(k==be?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(oe,{text:m.match,token:this.terminals_[k]||k,line:m.yylineno,loc:ae,expected:re})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+k);switch(x[0]){case 1:l.push(k),f.push(m.yytext),s.push(m.yylloc),l.push(x[1]),k=null,Ie=m.yyleng,E=m.yytext,te=m.yylineno,ae=m.yylloc;break;case 2:if(V=this.productions_[x[1]][1],H.$=f[f.length-V],H._$={first_line:s[s.length-(V||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(V||1)].first_column,last_column:s[s.length-1].last_column},Ce&&(H._$.range=[s[s.length-(V||1)].range[0],s[s.length-1].range[1]]),le=this.performAction.apply(H,[E,Ie,te,C.yy,x[1],f,s].concat(Oe)),typeof le<"u")return le;V&&(l=l.slice(0,-1*V*2),f=f.slice(0,-1*V),s=s.slice(0,-1*V)),l.push(this.productions_[x[1]][0]),f.push(H.$),s.push(H._$),ke=K[l[l.length-2]][l[l.length-1]],l.push(ke);break;case 3:return!0}}return!0},"parse")},$e=function(){var $={EOF:1,parseError:r(function(a,l){if(this.yy.parser)this.yy.parser.parseError(a,l);else throw new Error(a)},"parseError"),setInput:r(function(i,a){return this.yy=a||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:r(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var a=i.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:r(function(i){var a=i.length,l=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===n.length?this.yylloc.first_column:0)+n[n.length-l.length].length-l[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:r(function(){return this._more=!0,this},"more"),reject:r(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:r(function(i){this.unput(this.match.slice(i))},"less"),pastInput:r(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:r(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:r(function(){var i=this.pastInput(),a=new Array(i.length+1).join("-");return i+this.upcomingInput()+` diff --git a/assets/chunks/sankeyDiagram-ATFNWWW6.B29TuX-V.js b/assets/chunks/sankeyDiagram-ATFNWWW6.DO5EeUwc.js similarity index 99% rename from assets/chunks/sankeyDiagram-ATFNWWW6.B29TuX-V.js rename to assets/chunks/sankeyDiagram-ATFNWWW6.DO5EeUwc.js index 1c3601231..698277fd0 100644 --- a/assets/chunks/sankeyDiagram-ATFNWWW6.B29TuX-V.js +++ b/assets/chunks/sankeyDiagram-ATFNWWW6.DO5EeUwc.js @@ -1,4 +1,4 @@ -import{_ as m,d as lt,g as _t,s as xt,b as vt,c as bt,r as wt,q as St,v as Lt,e as Et,p as At,j as H,a8 as Tt}from"../app.B4W5LDy6.js";import{o as Mt}from"./ordinal.BYWQX77i.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";import"./init.Gi6I4Gst.js";function Nt(t){for(var e=t.length/6|0,i=new Array(e),a=0;a=a)&&(i=a);else{let a=-1;for(let h of t)(h=e(h,++a,t))!=null&&(i=h)&&(i=h)}return i}function pt(t,e){let i;if(e===void 0)for(const a of t)a!=null&&(i>a||i===void 0&&a>=a)&&(i=a);else{let a=-1;for(let h of t)(h=e(h,++a,t))!=null&&(i>h||i===void 0&&h>=h)&&(i=h)}return i}function nt(t,e){let i=0;if(e===void 0)for(let a of t)(a=+a)&&(i+=a);else{let a=-1;for(let h of t)(h=+e(h,++a,t))&&(i+=h)}return i}function Pt(t){return t.target.depth}function Ct(t){return t.depth}function Ot(t,e){return e-1-t.height}function mt(t,e){return t.sourceLinks.length?t.depth:e-1}function Dt(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?pt(t.sourceLinks,Pt)-1:0}function X(t){return function(){return t}}function ut(t,e){return Q(t.source,e.source)||t.index-e.index}function ht(t,e){return Q(t.target,e.target)||t.index-e.index}function Q(t,e){return t.y0-e.y0}function it(t){return t.value}function jt(t){return t.index}function zt(t){return t.nodes}function $t(t){return t.links}function ft(t,e){const i=t.get(e);if(!i)throw new Error("missing: "+e);return i}function yt({nodes:t}){for(const e of t){let i=e.y0,a=i;for(const h of e.sourceLinks)h.y0=i+h.width/2,i+=h.width;for(const h of e.targetLinks)h.y1=a+h.width/2,a+=h.width}}function Bt(){let t=0,e=0,i=1,a=1,h=24,d=8,p,_=jt,s=mt,o,l,x=zt,v=$t,y=6;function b(){const n={nodes:x.apply(null,arguments),links:v.apply(null,arguments)};return M(n),T(n),N(n),C(n),S(n),yt(n),n}b.update=function(n){return yt(n),n},b.nodeId=function(n){return arguments.length?(_=typeof n=="function"?n:X(n),b):_},b.nodeAlign=function(n){return arguments.length?(s=typeof n=="function"?n:X(n),b):s},b.nodeSort=function(n){return arguments.length?(o=n,b):o},b.nodeWidth=function(n){return arguments.length?(h=+n,b):h},b.nodePadding=function(n){return arguments.length?(d=p=+n,b):d},b.nodes=function(n){return arguments.length?(x=typeof n=="function"?n:X(n),b):x},b.links=function(n){return arguments.length?(v=typeof n=="function"?n:X(n),b):v},b.linkSort=function(n){return arguments.length?(l=n,b):l},b.size=function(n){return arguments.length?(t=e=0,i=+n[0],a=+n[1],b):[i-t,a-e]},b.extent=function(n){return arguments.length?(t=+n[0][0],i=+n[1][0],e=+n[0][1],a=+n[1][1],b):[[t,e],[i,a]]},b.iterations=function(n){return arguments.length?(y=+n,b):y};function M({nodes:n,links:f}){for(const[c,r]of n.entries())r.index=c,r.sourceLinks=[],r.targetLinks=[];const u=new Map(n.map((c,r)=>[_(c,r,n),c]));for(const[c,r]of f.entries()){r.index=c;let{source:k,target:w}=r;typeof k!="object"&&(k=r.source=ft(u,k)),typeof w!="object"&&(w=r.target=ft(u,w)),k.sourceLinks.push(r),w.targetLinks.push(r)}if(l!=null)for(const{sourceLinks:c,targetLinks:r}of n)c.sort(l),r.sort(l)}function T({nodes:n}){for(const f of n)f.value=f.fixedValue===void 0?Math.max(nt(f.sourceLinks,it),nt(f.targetLinks,it)):f.fixedValue}function N({nodes:n}){const f=n.length;let u=new Set(n),c=new Set,r=0;for(;u.size;){for(const k of u){k.depth=r;for(const{target:w}of k.sourceLinks)c.add(w)}if(++r>f)throw new Error("circular link");u=c,c=new Set}}function C({nodes:n}){const f=n.length;let u=new Set(n),c=new Set,r=0;for(;u.size;){for(const k of u){k.height=r;for(const{source:w}of k.targetLinks)c.add(w)}if(++r>f)throw new Error("circular link");u=c,c=new Set}}function j({nodes:n}){const f=ct(n,r=>r.depth)+1,u=(i-t-h)/(f-1),c=new Array(f);for(const r of n){const k=Math.max(0,Math.min(f-1,Math.floor(s.call(null,r,f))));r.layer=k,r.x0=t+k*u,r.x1=r.x0+h,c[k]?c[k].push(r):c[k]=[r]}if(o)for(const r of c)r.sort(o);return c}function R(n){const f=pt(n,u=>(a-e-(u.length-1)*p)/nt(u,it));for(const u of n){let c=e;for(const r of u){r.y0=c,r.y1=c+r.value*f,c=r.y1+p;for(const k of r.sourceLinks)k.width=k.value*f}c=(a-c+p)/(u.length+1);for(let r=0;ru.length)-1)),R(f);for(let u=0;u0))continue;let G=(L/V-w.y0)*f;w.y0+=G,w.y1+=G,E(w)}o===void 0&&k.sort(Q),O(k,u)}}function B(n,f,u){for(let c=n.length,r=c-2;r>=0;--r){const k=n[r];for(const w of k){let L=0,V=0;for(const{target:Y,value:et}of w.sourceLinks){let q=et*(Y.layer-w.layer);L+=I(w,Y)*q,V+=q}if(!(V>0))continue;let G=(L/V-w.y0)*f;w.y0+=G,w.y1+=G,E(w)}o===void 0&&k.sort(Q),O(k,u)}}function O(n,f){const u=n.length>>1,c=n[u];g(n,c.y0-p,u-1,f),D(n,c.y1+p,u+1,f),g(n,a,n.length-1,f),D(n,e,0,f)}function D(n,f,u,c){for(;u1e-6&&(r.y0+=k,r.y1+=k),f=r.y1+p}}function g(n,f,u,c){for(;u>=0;--u){const r=n[u],k=(r.y1-f)*c;k>1e-6&&(r.y0-=k,r.y1-=k),f=r.y0-p}}function E({sourceLinks:n,targetLinks:f}){if(l===void 0){for(const{source:{sourceLinks:u}}of f)u.sort(ht);for(const{target:{targetLinks:u}}of n)u.sort(ut)}}function A(n){if(l===void 0)for(const{sourceLinks:f,targetLinks:u}of n)f.sort(ht),u.sort(ut)}function z(n,f){let u=n.y0-(n.sourceLinks.length-1)*p/2;for(const{target:c,width:r}of n.sourceLinks){if(c===f)break;u+=r+p}for(const{source:c,width:r}of f.targetLinks){if(c===n)break;u-=r}return u}function I(n,f){let u=f.y0-(f.targetLinks.length-1)*p/2;for(const{source:c,width:r}of f.targetLinks){if(c===n)break;u+=r+p}for(const{target:c,width:r}of n.sourceLinks){if(c===f)break;u-=r}return u}return b}var st=Math.PI,rt=2*st,F=1e-6,Rt=rt-F;function ot(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function kt(){return new ot}ot.prototype=kt.prototype={constructor:ot,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,i,a){this._+="Q"+ +t+","+ +e+","+(this._x1=+i)+","+(this._y1=+a)},bezierCurveTo:function(t,e,i,a,h,d){this._+="C"+ +t+","+ +e+","+ +i+","+ +a+","+(this._x1=+h)+","+(this._y1=+d)},arcTo:function(t,e,i,a,h){t=+t,e=+e,i=+i,a=+a,h=+h;var d=this._x1,p=this._y1,_=i-t,s=a-e,o=d-t,l=p-e,x=o*o+l*l;if(h<0)throw new Error("negative radius: "+h);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(x>F)if(!(Math.abs(l*_-s*o)>F)||!h)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var v=i-d,y=a-p,b=_*_+s*s,M=v*v+y*y,T=Math.sqrt(b),N=Math.sqrt(x),C=h*Math.tan((st-Math.acos((b+x-M)/(2*T*N)))/2),j=C/N,R=C/T;Math.abs(j-1)>F&&(this._+="L"+(t+j*o)+","+(e+j*l)),this._+="A"+h+","+h+",0,0,"+ +(l*v>o*y)+","+(this._x1=t+R*_)+","+(this._y1=e+R*s)}},arc:function(t,e,i,a,h,d){t=+t,e=+e,i=+i,d=!!d;var p=i*Math.cos(a),_=i*Math.sin(a),s=t+p,o=e+_,l=1^d,x=d?a-h:h-a;if(i<0)throw new Error("negative radius: "+i);this._x1===null?this._+="M"+s+","+o:(Math.abs(this._x1-s)>F||Math.abs(this._y1-o)>F)&&(this._+="L"+s+","+o),i&&(x<0&&(x=x%rt+rt),x>Rt?this._+="A"+i+","+i+",0,1,"+l+","+(t-p)+","+(e-_)+"A"+i+","+i+",0,1,"+l+","+(this._x1=s)+","+(this._y1=o):x>F&&(this._+="A"+i+","+i+",0,"+ +(x>=st)+","+l+","+(this._x1=t+i*Math.cos(h))+","+(this._y1=e+i*Math.sin(h))))},rect:function(t,e,i,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +i+"v"+ +a+"h"+-i+"Z"},toString:function(){return this._}};function dt(t){return function(){return t}}function Vt(t){return t[0]}function Ft(t){return t[1]}var Wt=Array.prototype.slice;function Ut(t){return t.source}function Gt(t){return t.target}function Yt(t){var e=Ut,i=Gt,a=Vt,h=Ft,d=null;function p(){var _,s=Wt.call(arguments),o=e.apply(this,s),l=i.apply(this,s);if(d||(d=_=kt()),t(d,+a.apply(this,(s[0]=o,s)),+h.apply(this,s),+a.apply(this,(s[0]=l,s)),+h.apply(this,s)),_)return d=null,_+""||null}return p.source=function(_){return arguments.length?(e=_,p):e},p.target=function(_){return arguments.length?(i=_,p):i},p.x=function(_){return arguments.length?(a=typeof _=="function"?_:dt(+_),p):a},p.y=function(_){return arguments.length?(h=typeof _=="function"?_:dt(+_),p):h},p.context=function(_){return arguments.length?(d=_??null,p):d},p}function qt(t,e,i,a,h){t.moveTo(e,i),t.bezierCurveTo(e=(e+a)/2,i,e,h,a,h)}function Ht(){return Yt(qt)}function Xt(t){return[t.source.x1,t.y0]}function Qt(t){return[t.target.x0,t.y1]}function Kt(){return Ht().source(Xt).target(Qt)}var at=function(){var t=m(function(_,s,o,l){for(o=o||{},l=_.length;l--;o[_[l]]=s);return o},"o"),e=[1,9],i=[1,10],a=[1,5,10,12],h={trace:m(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:m(function(s,o,l,x,v,y,b){var M=y.length-1;switch(v){case 7:const T=x.findOrCreateNode(y[M-4].trim().replaceAll('""','"')),N=x.findOrCreateNode(y[M-2].trim().replaceAll('""','"')),C=parseFloat(y[M].trim());x.addLink(T,N,C);break;case 8:case 9:case 11:this.$=y[M];break;case 10:this.$=y[M-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:i},{1:[2,6],7:11,10:[1,12]},t(i,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(i,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:i},{15:18,16:7,17:8,18:e,20:i},{18:[1,19]},t(i,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:e,20:i},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:m(function(s,o){if(o.recoverable)this.trace(s);else{var l=new Error(s);throw l.hash=o,l}},"parseError"),parse:m(function(s){var o=this,l=[0],x=[],v=[null],y=[],b=this.table,M="",T=0,N=0,C=2,j=1,R=y.slice.call(arguments,1),S=Object.create(this.lexer),P={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(P.yy[B]=this.yy[B]);S.setInput(s,P.yy),P.yy.lexer=S,P.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var O=S.yylloc;y.push(O);var D=S.options&&S.options.ranges;typeof P.yy.parseError=="function"?this.parseError=P.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function g(L){l.length=l.length-2*L,v.length=v.length-L,y.length=y.length-L}m(g,"popStack");function E(){var L;return L=x.pop()||S.lex()||j,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=o.symbols_[L]||L),L}m(E,"lex");for(var A,z,I,n,f={},u,c,r,k;;){if(z=l[l.length-1],this.defaultActions[z]?I=this.defaultActions[z]:((A===null||typeof A>"u")&&(A=E()),I=b[z]&&b[z][A]),typeof I>"u"||!I.length||!I[0]){var w="";k=[];for(u in b[z])this.terminals_[u]&&u>C&&k.push("'"+this.terminals_[u]+"'");S.showPosition?w="Parse error on line "+(T+1)+`: +import{_ as m,d as lt,g as _t,s as xt,b as vt,c as bt,r as wt,q as St,v as Lt,e as Et,p as At,j as H,a8 as Tt}from"../app.XeY7gsc2.js";import{o as Mt}from"./ordinal.BYWQX77i.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./init.Gi6I4Gst.js";function Nt(t){for(var e=t.length/6|0,i=new Array(e),a=0;a=a)&&(i=a);else{let a=-1;for(let h of t)(h=e(h,++a,t))!=null&&(i=h)&&(i=h)}return i}function pt(t,e){let i;if(e===void 0)for(const a of t)a!=null&&(i>a||i===void 0&&a>=a)&&(i=a);else{let a=-1;for(let h of t)(h=e(h,++a,t))!=null&&(i>h||i===void 0&&h>=h)&&(i=h)}return i}function nt(t,e){let i=0;if(e===void 0)for(let a of t)(a=+a)&&(i+=a);else{let a=-1;for(let h of t)(h=+e(h,++a,t))&&(i+=h)}return i}function Pt(t){return t.target.depth}function Ct(t){return t.depth}function Ot(t,e){return e-1-t.height}function mt(t,e){return t.sourceLinks.length?t.depth:e-1}function Dt(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?pt(t.sourceLinks,Pt)-1:0}function X(t){return function(){return t}}function ut(t,e){return Q(t.source,e.source)||t.index-e.index}function ht(t,e){return Q(t.target,e.target)||t.index-e.index}function Q(t,e){return t.y0-e.y0}function it(t){return t.value}function jt(t){return t.index}function zt(t){return t.nodes}function $t(t){return t.links}function ft(t,e){const i=t.get(e);if(!i)throw new Error("missing: "+e);return i}function yt({nodes:t}){for(const e of t){let i=e.y0,a=i;for(const h of e.sourceLinks)h.y0=i+h.width/2,i+=h.width;for(const h of e.targetLinks)h.y1=a+h.width/2,a+=h.width}}function Bt(){let t=0,e=0,i=1,a=1,h=24,d=8,p,_=jt,s=mt,o,l,x=zt,v=$t,y=6;function b(){const n={nodes:x.apply(null,arguments),links:v.apply(null,arguments)};return M(n),T(n),N(n),C(n),S(n),yt(n),n}b.update=function(n){return yt(n),n},b.nodeId=function(n){return arguments.length?(_=typeof n=="function"?n:X(n),b):_},b.nodeAlign=function(n){return arguments.length?(s=typeof n=="function"?n:X(n),b):s},b.nodeSort=function(n){return arguments.length?(o=n,b):o},b.nodeWidth=function(n){return arguments.length?(h=+n,b):h},b.nodePadding=function(n){return arguments.length?(d=p=+n,b):d},b.nodes=function(n){return arguments.length?(x=typeof n=="function"?n:X(n),b):x},b.links=function(n){return arguments.length?(v=typeof n=="function"?n:X(n),b):v},b.linkSort=function(n){return arguments.length?(l=n,b):l},b.size=function(n){return arguments.length?(t=e=0,i=+n[0],a=+n[1],b):[i-t,a-e]},b.extent=function(n){return arguments.length?(t=+n[0][0],i=+n[1][0],e=+n[0][1],a=+n[1][1],b):[[t,e],[i,a]]},b.iterations=function(n){return arguments.length?(y=+n,b):y};function M({nodes:n,links:f}){for(const[c,r]of n.entries())r.index=c,r.sourceLinks=[],r.targetLinks=[];const u=new Map(n.map((c,r)=>[_(c,r,n),c]));for(const[c,r]of f.entries()){r.index=c;let{source:k,target:w}=r;typeof k!="object"&&(k=r.source=ft(u,k)),typeof w!="object"&&(w=r.target=ft(u,w)),k.sourceLinks.push(r),w.targetLinks.push(r)}if(l!=null)for(const{sourceLinks:c,targetLinks:r}of n)c.sort(l),r.sort(l)}function T({nodes:n}){for(const f of n)f.value=f.fixedValue===void 0?Math.max(nt(f.sourceLinks,it),nt(f.targetLinks,it)):f.fixedValue}function N({nodes:n}){const f=n.length;let u=new Set(n),c=new Set,r=0;for(;u.size;){for(const k of u){k.depth=r;for(const{target:w}of k.sourceLinks)c.add(w)}if(++r>f)throw new Error("circular link");u=c,c=new Set}}function C({nodes:n}){const f=n.length;let u=new Set(n),c=new Set,r=0;for(;u.size;){for(const k of u){k.height=r;for(const{source:w}of k.targetLinks)c.add(w)}if(++r>f)throw new Error("circular link");u=c,c=new Set}}function j({nodes:n}){const f=ct(n,r=>r.depth)+1,u=(i-t-h)/(f-1),c=new Array(f);for(const r of n){const k=Math.max(0,Math.min(f-1,Math.floor(s.call(null,r,f))));r.layer=k,r.x0=t+k*u,r.x1=r.x0+h,c[k]?c[k].push(r):c[k]=[r]}if(o)for(const r of c)r.sort(o);return c}function R(n){const f=pt(n,u=>(a-e-(u.length-1)*p)/nt(u,it));for(const u of n){let c=e;for(const r of u){r.y0=c,r.y1=c+r.value*f,c=r.y1+p;for(const k of r.sourceLinks)k.width=k.value*f}c=(a-c+p)/(u.length+1);for(let r=0;ru.length)-1)),R(f);for(let u=0;u0))continue;let G=(L/V-w.y0)*f;w.y0+=G,w.y1+=G,E(w)}o===void 0&&k.sort(Q),O(k,u)}}function B(n,f,u){for(let c=n.length,r=c-2;r>=0;--r){const k=n[r];for(const w of k){let L=0,V=0;for(const{target:Y,value:et}of w.sourceLinks){let q=et*(Y.layer-w.layer);L+=I(w,Y)*q,V+=q}if(!(V>0))continue;let G=(L/V-w.y0)*f;w.y0+=G,w.y1+=G,E(w)}o===void 0&&k.sort(Q),O(k,u)}}function O(n,f){const u=n.length>>1,c=n[u];g(n,c.y0-p,u-1,f),D(n,c.y1+p,u+1,f),g(n,a,n.length-1,f),D(n,e,0,f)}function D(n,f,u,c){for(;u1e-6&&(r.y0+=k,r.y1+=k),f=r.y1+p}}function g(n,f,u,c){for(;u>=0;--u){const r=n[u],k=(r.y1-f)*c;k>1e-6&&(r.y0-=k,r.y1-=k),f=r.y0-p}}function E({sourceLinks:n,targetLinks:f}){if(l===void 0){for(const{source:{sourceLinks:u}}of f)u.sort(ht);for(const{target:{targetLinks:u}}of n)u.sort(ut)}}function A(n){if(l===void 0)for(const{sourceLinks:f,targetLinks:u}of n)f.sort(ht),u.sort(ut)}function z(n,f){let u=n.y0-(n.sourceLinks.length-1)*p/2;for(const{target:c,width:r}of n.sourceLinks){if(c===f)break;u+=r+p}for(const{source:c,width:r}of f.targetLinks){if(c===n)break;u-=r}return u}function I(n,f){let u=f.y0-(f.targetLinks.length-1)*p/2;for(const{source:c,width:r}of f.targetLinks){if(c===n)break;u+=r+p}for(const{target:c,width:r}of n.sourceLinks){if(c===f)break;u-=r}return u}return b}var st=Math.PI,rt=2*st,F=1e-6,Rt=rt-F;function ot(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function kt(){return new ot}ot.prototype=kt.prototype={constructor:ot,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,i,a){this._+="Q"+ +t+","+ +e+","+(this._x1=+i)+","+(this._y1=+a)},bezierCurveTo:function(t,e,i,a,h,d){this._+="C"+ +t+","+ +e+","+ +i+","+ +a+","+(this._x1=+h)+","+(this._y1=+d)},arcTo:function(t,e,i,a,h){t=+t,e=+e,i=+i,a=+a,h=+h;var d=this._x1,p=this._y1,_=i-t,s=a-e,o=d-t,l=p-e,x=o*o+l*l;if(h<0)throw new Error("negative radius: "+h);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(x>F)if(!(Math.abs(l*_-s*o)>F)||!h)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var v=i-d,y=a-p,b=_*_+s*s,M=v*v+y*y,T=Math.sqrt(b),N=Math.sqrt(x),C=h*Math.tan((st-Math.acos((b+x-M)/(2*T*N)))/2),j=C/N,R=C/T;Math.abs(j-1)>F&&(this._+="L"+(t+j*o)+","+(e+j*l)),this._+="A"+h+","+h+",0,0,"+ +(l*v>o*y)+","+(this._x1=t+R*_)+","+(this._y1=e+R*s)}},arc:function(t,e,i,a,h,d){t=+t,e=+e,i=+i,d=!!d;var p=i*Math.cos(a),_=i*Math.sin(a),s=t+p,o=e+_,l=1^d,x=d?a-h:h-a;if(i<0)throw new Error("negative radius: "+i);this._x1===null?this._+="M"+s+","+o:(Math.abs(this._x1-s)>F||Math.abs(this._y1-o)>F)&&(this._+="L"+s+","+o),i&&(x<0&&(x=x%rt+rt),x>Rt?this._+="A"+i+","+i+",0,1,"+l+","+(t-p)+","+(e-_)+"A"+i+","+i+",0,1,"+l+","+(this._x1=s)+","+(this._y1=o):x>F&&(this._+="A"+i+","+i+",0,"+ +(x>=st)+","+l+","+(this._x1=t+i*Math.cos(h))+","+(this._y1=e+i*Math.sin(h))))},rect:function(t,e,i,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +i+"v"+ +a+"h"+-i+"Z"},toString:function(){return this._}};function dt(t){return function(){return t}}function Vt(t){return t[0]}function Ft(t){return t[1]}var Wt=Array.prototype.slice;function Ut(t){return t.source}function Gt(t){return t.target}function Yt(t){var e=Ut,i=Gt,a=Vt,h=Ft,d=null;function p(){var _,s=Wt.call(arguments),o=e.apply(this,s),l=i.apply(this,s);if(d||(d=_=kt()),t(d,+a.apply(this,(s[0]=o,s)),+h.apply(this,s),+a.apply(this,(s[0]=l,s)),+h.apply(this,s)),_)return d=null,_+""||null}return p.source=function(_){return arguments.length?(e=_,p):e},p.target=function(_){return arguments.length?(i=_,p):i},p.x=function(_){return arguments.length?(a=typeof _=="function"?_:dt(+_),p):a},p.y=function(_){return arguments.length?(h=typeof _=="function"?_:dt(+_),p):h},p.context=function(_){return arguments.length?(d=_??null,p):d},p}function qt(t,e,i,a,h){t.moveTo(e,i),t.bezierCurveTo(e=(e+a)/2,i,e,h,a,h)}function Ht(){return Yt(qt)}function Xt(t){return[t.source.x1,t.y0]}function Qt(t){return[t.target.x0,t.y1]}function Kt(){return Ht().source(Xt).target(Qt)}var at=function(){var t=m(function(_,s,o,l){for(o=o||{},l=_.length;l--;o[_[l]]=s);return o},"o"),e=[1,9],i=[1,10],a=[1,5,10,12],h={trace:m(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:m(function(s,o,l,x,v,y,b){var M=y.length-1;switch(v){case 7:const T=x.findOrCreateNode(y[M-4].trim().replaceAll('""','"')),N=x.findOrCreateNode(y[M-2].trim().replaceAll('""','"')),C=parseFloat(y[M].trim());x.addLink(T,N,C);break;case 8:case 9:case 11:this.$=y[M];break;case 10:this.$=y[M-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:i},{1:[2,6],7:11,10:[1,12]},t(i,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(i,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:i},{15:18,16:7,17:8,18:e,20:i},{18:[1,19]},t(i,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:e,20:i},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:m(function(s,o){if(o.recoverable)this.trace(s);else{var l=new Error(s);throw l.hash=o,l}},"parseError"),parse:m(function(s){var o=this,l=[0],x=[],v=[null],y=[],b=this.table,M="",T=0,N=0,C=2,j=1,R=y.slice.call(arguments,1),S=Object.create(this.lexer),P={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(P.yy[B]=this.yy[B]);S.setInput(s,P.yy),P.yy.lexer=S,P.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var O=S.yylloc;y.push(O);var D=S.options&&S.options.ranges;typeof P.yy.parseError=="function"?this.parseError=P.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function g(L){l.length=l.length-2*L,v.length=v.length-L,y.length=y.length-L}m(g,"popStack");function E(){var L;return L=x.pop()||S.lex()||j,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=o.symbols_[L]||L),L}m(E,"lex");for(var A,z,I,n,f={},u,c,r,k;;){if(z=l[l.length-1],this.defaultActions[z]?I=this.defaultActions[z]:((A===null||typeof A>"u")&&(A=E()),I=b[z]&&b[z][A]),typeof I>"u"||!I.length||!I[0]){var w="";k=[];for(u in b[z])this.terminals_[u]&&u>C&&k.push("'"+this.terminals_[u]+"'");S.showPosition?w="Parse error on line "+(T+1)+`: `+S.showPosition()+` Expecting `+k.join(", ")+", got '"+(this.terminals_[A]||A)+"'":w="Parse error on line "+(T+1)+": Unexpected "+(A==j?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(w,{text:S.match,token:this.terminals_[A]||A,line:S.yylineno,loc:O,expected:k})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+A);switch(I[0]){case 1:l.push(A),v.push(S.yytext),y.push(S.yylloc),l.push(I[1]),A=null,N=S.yyleng,M=S.yytext,T=S.yylineno,O=S.yylloc;break;case 2:if(c=this.productions_[I[1]][1],f.$=v[v.length-c],f._$={first_line:y[y.length-(c||1)].first_line,last_line:y[y.length-1].last_line,first_column:y[y.length-(c||1)].first_column,last_column:y[y.length-1].last_column},D&&(f._$.range=[y[y.length-(c||1)].range[0],y[y.length-1].range[1]]),n=this.performAction.apply(f,[M,N,T,P.yy,I[1],v,y].concat(R)),typeof n<"u")return n;c&&(l=l.slice(0,-1*c*2),v=v.slice(0,-1*c),y=y.slice(0,-1*c)),l.push(this.productions_[I[1]][0]),v.push(f.$),y.push(f._$),r=b[l[l.length-2]][l[l.length-1]],l.push(r);break;case 3:return!0}}return!0},"parse")},d=function(){var _={EOF:1,parseError:m(function(o,l){if(this.yy.parser)this.yy.parser.parseError(o,l);else throw new Error(o)},"parseError"),setInput:m(function(s,o){return this.yy=o||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:m(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var o=s.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:m(function(s){var o=s.length,l=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var v=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===x.length?this.yylloc.first_column:0)+x[x.length-l.length].length-l[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},"unput"),more:m(function(){return this._more=!0,this},"more"),reject:m(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:m(function(s){this.unput(this.match.slice(s))},"less"),pastInput:m(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:m(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:m(function(){var s=this.pastInput(),o=new Array(s.length+1).join("-");return s+this.upcomingInput()+` diff --git a/assets/chunks/sequenceDiagram-WK7YDQ3N.BOYVaLsh.js b/assets/chunks/sequenceDiagram-WK7YDQ3N.5JpCjhKk.js similarity index 99% rename from assets/chunks/sequenceDiagram-WK7YDQ3N.BOYVaLsh.js rename to assets/chunks/sequenceDiagram-WK7YDQ3N.5JpCjhKk.js index 1887d09d8..c7963a06b 100644 --- a/assets/chunks/sequenceDiagram-WK7YDQ3N.BOYVaLsh.js +++ b/assets/chunks/sequenceDiagram-WK7YDQ3N.5JpCjhKk.js @@ -1,4 +1,4 @@ -import{g as St,a as Kt,d as Se,b as Me,c as Re,e as De}from"./chunk-V35ELUW5.DnZkrfgD.js";import{I as Ce}from"./chunk-6JKP7OK7.BgZMD3fh.js";import{_ as d,g as Oe,r as Be,q as Ve,d as at,s as se,c as Ye,b as Fe,e as _,a1 as lt,a2 as wt,u as F,l as J,v as We,i as Mt,a as qe,j as kt,k as ze,m as ae,a3 as ie,E as Ft,a4 as ne,a5 as He}from"../app.B4W5LDy6.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";var Wt=function(){var t=d(function(pt,I,L,A){for(L=L||{},A=pt.length;A--;L[pt[A]]=I);return L},"o"),e=[1,2],o=[1,3],r=[1,4],a=[2,4],i=[1,9],c=[1,11],h=[1,13],p=[1,14],s=[1,16],f=[1,17],E=[1,18],g=[1,24],T=[1,25],m=[1,26],w=[1,27],k=[1,28],V=[1,29],M=[1,30],Y=[1,31],C=[1,32],z=[1,33],H=[1,34],Z=[1,35],et=[1,36],K=[1,37],U=[1,38],q=[1,39],R=[1,41],Q=[1,42],G=[1,43],j=[1,44],rt=[1,45],S=[1,46],y=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],P=[4,5,16,50,52,53],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],it=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],N=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Jt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],ot=[68,69,70],dt=[1,122],Ct={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:d(function(I,L,A,b,D,l,mt){var u=l.length-1;switch(D){case 3:return b.apply(l[u]),l[u];case 4:case 9:this.$=[];break;case 5:case 10:l[u-1].push(l[u]),this.$=l[u-1];break;case 6:case 7:case 11:case 12:this.$=l[u];break;case 8:case 13:this.$=[];break;case 15:l[u].type="createParticipant",this.$=l[u];break;case 16:l[u-1].unshift({type:"boxStart",boxData:b.parseBoxData(l[u-2])}),l[u-1].push({type:"boxEnd",boxText:l[u-2]}),this.$=l[u-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(l[u-2]),sequenceIndexStep:Number(l[u-1]),sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(l[u-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:b.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:b.LINETYPE.ACTIVE_START,actor:l[u-1].actor};break;case 23:this.$={type:"activeEnd",signalType:b.LINETYPE.ACTIVE_END,actor:l[u-1].actor};break;case 29:b.setDiagramTitle(l[u].substring(6)),this.$=l[u].substring(6);break;case 30:b.setDiagramTitle(l[u].substring(7)),this.$=l[u].substring(7);break;case 31:this.$=l[u].trim(),b.setAccTitle(this.$);break;case 32:case 33:this.$=l[u].trim(),b.setAccDescription(this.$);break;case 34:l[u-1].unshift({type:"loopStart",loopText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.LOOP_START}),l[u-1].push({type:"loopEnd",loopText:l[u-2],signalType:b.LINETYPE.LOOP_END}),this.$=l[u-1];break;case 35:l[u-1].unshift({type:"rectStart",color:b.parseMessage(l[u-2]),signalType:b.LINETYPE.RECT_START}),l[u-1].push({type:"rectEnd",color:b.parseMessage(l[u-2]),signalType:b.LINETYPE.RECT_END}),this.$=l[u-1];break;case 36:l[u-1].unshift({type:"optStart",optText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.OPT_START}),l[u-1].push({type:"optEnd",optText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.OPT_END}),this.$=l[u-1];break;case 37:l[u-1].unshift({type:"altStart",altText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.ALT_START}),l[u-1].push({type:"altEnd",signalType:b.LINETYPE.ALT_END}),this.$=l[u-1];break;case 38:l[u-1].unshift({type:"parStart",parText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.PAR_START}),l[u-1].push({type:"parEnd",signalType:b.LINETYPE.PAR_END}),this.$=l[u-1];break;case 39:l[u-1].unshift({type:"parStart",parText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.PAR_OVER_START}),l[u-1].push({type:"parEnd",signalType:b.LINETYPE.PAR_END}),this.$=l[u-1];break;case 40:l[u-1].unshift({type:"criticalStart",criticalText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.CRITICAL_START}),l[u-1].push({type:"criticalEnd",signalType:b.LINETYPE.CRITICAL_END}),this.$=l[u-1];break;case 41:l[u-1].unshift({type:"breakStart",breakText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.BREAK_START}),l[u-1].push({type:"breakEnd",optText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.BREAK_END}),this.$=l[u-1];break;case 43:this.$=l[u-3].concat([{type:"option",optionText:b.parseMessage(l[u-1]),signalType:b.LINETYPE.CRITICAL_OPTION},l[u]]);break;case 45:this.$=l[u-3].concat([{type:"and",parText:b.parseMessage(l[u-1]),signalType:b.LINETYPE.PAR_AND},l[u]]);break;case 47:this.$=l[u-3].concat([{type:"else",altText:b.parseMessage(l[u-1]),signalType:b.LINETYPE.ALT_ELSE},l[u]]);break;case 48:l[u-3].draw="participant",l[u-3].type="addParticipant",l[u-3].description=b.parseMessage(l[u-1]),this.$=l[u-3];break;case 49:l[u-1].draw="participant",l[u-1].type="addParticipant",this.$=l[u-1];break;case 50:l[u-3].draw="actor",l[u-3].type="addParticipant",l[u-3].description=b.parseMessage(l[u-1]),this.$=l[u-3];break;case 51:l[u-1].draw="actor",l[u-1].type="addParticipant",this.$=l[u-1];break;case 52:l[u-1].type="destroyParticipant",this.$=l[u-1];break;case 53:this.$=[l[u-1],{type:"addNote",placement:l[u-2],actor:l[u-1].actor,text:l[u]}];break;case 54:l[u-2]=[].concat(l[u-1],l[u-1]).slice(0,2),l[u-2][0]=l[u-2][0].actor,l[u-2][1]=l[u-2][1].actor,this.$=[l[u-1],{type:"addNote",placement:b.PLACEMENT.OVER,actor:l[u-2].slice(0,2),text:l[u]}];break;case 55:this.$=[l[u-1],{type:"addLinks",actor:l[u-1].actor,text:l[u]}];break;case 56:this.$=[l[u-1],{type:"addALink",actor:l[u-1].actor,text:l[u]}];break;case 57:this.$=[l[u-1],{type:"addProperties",actor:l[u-1].actor,text:l[u]}];break;case 58:this.$=[l[u-1],{type:"addDetails",actor:l[u-1].actor,text:l[u]}];break;case 61:this.$=[l[u-2],l[u]];break;case 62:this.$=l[u];break;case 63:this.$=b.PLACEMENT.LEFTOF;break;case 64:this.$=b.PLACEMENT.RIGHTOF;break;case 65:this.$=[l[u-4],l[u-1],{type:"addMessage",from:l[u-4].actor,to:l[u-1].actor,signalType:l[u-3],msg:l[u],activate:!0},{type:"activeStart",signalType:b.LINETYPE.ACTIVE_START,actor:l[u-1].actor}];break;case 66:this.$=[l[u-4],l[u-1],{type:"addMessage",from:l[u-4].actor,to:l[u-1].actor,signalType:l[u-3],msg:l[u]},{type:"activeEnd",signalType:b.LINETYPE.ACTIVE_END,actor:l[u-4].actor}];break;case 67:this.$=[l[u-3],l[u-1],{type:"addMessage",from:l[u-3].actor,to:l[u-1].actor,signalType:l[u-2],msg:l[u]}];break;case 68:this.$={type:"addParticipant",actor:l[u]};break;case 69:this.$=b.LINETYPE.SOLID_OPEN;break;case 70:this.$=b.LINETYPE.DOTTED_OPEN;break;case 71:this.$=b.LINETYPE.SOLID;break;case 72:this.$=b.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=b.LINETYPE.DOTTED;break;case 74:this.$=b.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=b.LINETYPE.SOLID_CROSS;break;case 76:this.$=b.LINETYPE.DOTTED_CROSS;break;case 77:this.$=b.LINETYPE.SOLID_POINT;break;case 78:this.$=b.LINETYPE.DOTTED_POINT;break;case 79:this.$=b.parseMessage(l[u].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:o,6:r},{1:[3]},{3:5,4:e,5:o,6:r},{3:6,4:e,5:o,6:r},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],a,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:i,5:c,8:8,9:10,12:12,13:h,14:p,17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},t(y,[2,5]),{9:47,12:12,13:h,14:p,17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},t(y,[2,7]),t(y,[2,8]),t(y,[2,14]),{12:48,50:K,52:U,53:q},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:S},{22:55,70:S},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(y,[2,29]),t(y,[2,30]),{32:[1,61]},{34:[1,62]},t(y,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:S},{22:72,70:S},{22:73,70:S},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:S},{22:90,70:S},{22:91,70:S},{22:92,70:S},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(y,[2,6]),t(y,[2,15]),t(P,[2,9],{10:93}),t(y,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(y,[2,21]),{5:[1,97]},{5:[1,98]},t(y,[2,24]),t(y,[2,25]),t(y,[2,26]),t(y,[2,27]),t(y,[2,28]),t(y,[2,31]),t(y,[2,32]),t($,a,{7:99}),t($,a,{7:100}),t($,a,{7:101}),t(it,a,{40:102,7:103}),t(N,a,{42:104,7:105}),t(N,a,{7:105,42:106}),t(Jt,a,{45:107,7:108}),t($,a,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:S},t(ot,[2,69]),t(ot,[2,70]),t(ot,[2,71]),t(ot,[2,72]),t(ot,[2,73]),t(ot,[2,74]),t(ot,[2,75]),t(ot,[2,76]),t(ot,[2,77]),t(ot,[2,78]),{22:118,70:S},{22:120,58:119,70:S},{70:[2,63]},{70:[2,64]},{56:121,81:dt},{56:123,81:dt},{56:124,81:dt},{56:125,81:dt},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:K,52:U,53:q},{5:[1,131]},t(y,[2,19]),t(y,[2,20]),t(y,[2,22]),t(y,[2,23]),{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,132],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,133],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,134],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{16:[1,135]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,46],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,49:[1,136],50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{16:[1,137]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,44],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,48:[1,138],50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{16:[1,139]},{16:[1,140]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,42],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,47:[1,141],50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,142],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{15:[1,143]},t(y,[2,49]),{15:[1,144]},t(y,[2,51]),t(y,[2,52]),{22:145,70:S},{22:146,70:S},{56:147,81:dt},{56:148,81:dt},{56:149,81:dt},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(y,[2,16]),t(P,[2,10]),{12:151,50:K,52:U,53:q},t(P,[2,12]),t(P,[2,13]),t(y,[2,18]),t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),{15:[1,152]},t(y,[2,38]),{15:[1,153]},t(y,[2,39]),t(y,[2,40]),{15:[1,154]},t(y,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:dt},{56:158,81:dt},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:S},t(P,[2,11]),t(it,a,{7:103,40:160}),t(N,a,{7:105,42:161}),t(Jt,a,{7:108,45:162}),t(y,[2,48]),t(y,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:d(function(I,L){if(L.recoverable)this.trace(I);else{var A=new Error(I);throw A.hash=L,A}},"parseError"),parse:d(function(I){var L=this,A=[0],b=[],D=[null],l=[],mt=this.table,u="",Lt=0,Zt=0,Pe=2,Qt=1,Ae=l.slice.call(arguments,1),W=Object.create(this.lexer),ut={yy:{}};for(var Ot in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ot)&&(ut.yy[Ot]=this.yy[Ot]);W.setInput(I,ut.yy),ut.yy.lexer=W,ut.yy.parser=this,typeof W.yylloc>"u"&&(W.yylloc={});var Bt=W.yylloc;l.push(Bt);var ke=W.options&&W.options.ranges;typeof ut.yy.parseError=="function"?this.parseError=ut.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ne(tt){A.length=A.length-2*tt,D.length=D.length-tt,l.length=l.length-tt}d(Ne,"popStack");function jt(){var tt;return tt=b.pop()||W.lex()||Qt,typeof tt!="number"&&(tt instanceof Array&&(b=tt,tt=b.pop()),tt=L.symbols_[tt]||tt),tt}d(jt,"lex");for(var X,gt,st,Vt,yt={},Pt,ht,$t,At;;){if(gt=A[A.length-1],this.defaultActions[gt]?st=this.defaultActions[gt]:((X===null||typeof X>"u")&&(X=jt()),st=mt[gt]&&mt[gt][X]),typeof st>"u"||!st.length||!st[0]){var Yt="";At=[];for(Pt in mt[gt])this.terminals_[Pt]&&Pt>Pe&&At.push("'"+this.terminals_[Pt]+"'");W.showPosition?Yt="Parse error on line "+(Lt+1)+`: +import{g as St,a as Kt,d as Se,b as Me,c as Re,e as De}from"./chunk-V35ELUW5.Bo_-Vqpn.js";import{I as Ce}from"./chunk-6JKP7OK7.BZQScEOe.js";import{_ as d,g as Oe,r as Be,q as Ve,d as at,s as se,c as Ye,b as Fe,e as _,a1 as lt,a2 as wt,u as F,l as J,v as We,i as Mt,a as qe,j as kt,k as ze,m as ae,a3 as ie,E as Ft,a4 as ne,a5 as He}from"../app.XeY7gsc2.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";var Wt=function(){var t=d(function(pt,I,L,A){for(L=L||{},A=pt.length;A--;L[pt[A]]=I);return L},"o"),e=[1,2],o=[1,3],r=[1,4],a=[2,4],i=[1,9],c=[1,11],h=[1,13],p=[1,14],s=[1,16],f=[1,17],E=[1,18],g=[1,24],T=[1,25],m=[1,26],w=[1,27],k=[1,28],V=[1,29],M=[1,30],Y=[1,31],C=[1,32],z=[1,33],H=[1,34],Z=[1,35],et=[1,36],K=[1,37],U=[1,38],q=[1,39],R=[1,41],Q=[1,42],G=[1,43],j=[1,44],rt=[1,45],S=[1,46],y=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],P=[4,5,16,50,52,53],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],it=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],N=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Jt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],ot=[68,69,70],dt=[1,122],Ct={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:d(function(I,L,A,b,D,l,mt){var u=l.length-1;switch(D){case 3:return b.apply(l[u]),l[u];case 4:case 9:this.$=[];break;case 5:case 10:l[u-1].push(l[u]),this.$=l[u-1];break;case 6:case 7:case 11:case 12:this.$=l[u];break;case 8:case 13:this.$=[];break;case 15:l[u].type="createParticipant",this.$=l[u];break;case 16:l[u-1].unshift({type:"boxStart",boxData:b.parseBoxData(l[u-2])}),l[u-1].push({type:"boxEnd",boxText:l[u-2]}),this.$=l[u-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(l[u-2]),sequenceIndexStep:Number(l[u-1]),sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(l[u-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:b.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:b.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:b.LINETYPE.ACTIVE_START,actor:l[u-1].actor};break;case 23:this.$={type:"activeEnd",signalType:b.LINETYPE.ACTIVE_END,actor:l[u-1].actor};break;case 29:b.setDiagramTitle(l[u].substring(6)),this.$=l[u].substring(6);break;case 30:b.setDiagramTitle(l[u].substring(7)),this.$=l[u].substring(7);break;case 31:this.$=l[u].trim(),b.setAccTitle(this.$);break;case 32:case 33:this.$=l[u].trim(),b.setAccDescription(this.$);break;case 34:l[u-1].unshift({type:"loopStart",loopText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.LOOP_START}),l[u-1].push({type:"loopEnd",loopText:l[u-2],signalType:b.LINETYPE.LOOP_END}),this.$=l[u-1];break;case 35:l[u-1].unshift({type:"rectStart",color:b.parseMessage(l[u-2]),signalType:b.LINETYPE.RECT_START}),l[u-1].push({type:"rectEnd",color:b.parseMessage(l[u-2]),signalType:b.LINETYPE.RECT_END}),this.$=l[u-1];break;case 36:l[u-1].unshift({type:"optStart",optText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.OPT_START}),l[u-1].push({type:"optEnd",optText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.OPT_END}),this.$=l[u-1];break;case 37:l[u-1].unshift({type:"altStart",altText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.ALT_START}),l[u-1].push({type:"altEnd",signalType:b.LINETYPE.ALT_END}),this.$=l[u-1];break;case 38:l[u-1].unshift({type:"parStart",parText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.PAR_START}),l[u-1].push({type:"parEnd",signalType:b.LINETYPE.PAR_END}),this.$=l[u-1];break;case 39:l[u-1].unshift({type:"parStart",parText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.PAR_OVER_START}),l[u-1].push({type:"parEnd",signalType:b.LINETYPE.PAR_END}),this.$=l[u-1];break;case 40:l[u-1].unshift({type:"criticalStart",criticalText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.CRITICAL_START}),l[u-1].push({type:"criticalEnd",signalType:b.LINETYPE.CRITICAL_END}),this.$=l[u-1];break;case 41:l[u-1].unshift({type:"breakStart",breakText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.BREAK_START}),l[u-1].push({type:"breakEnd",optText:b.parseMessage(l[u-2]),signalType:b.LINETYPE.BREAK_END}),this.$=l[u-1];break;case 43:this.$=l[u-3].concat([{type:"option",optionText:b.parseMessage(l[u-1]),signalType:b.LINETYPE.CRITICAL_OPTION},l[u]]);break;case 45:this.$=l[u-3].concat([{type:"and",parText:b.parseMessage(l[u-1]),signalType:b.LINETYPE.PAR_AND},l[u]]);break;case 47:this.$=l[u-3].concat([{type:"else",altText:b.parseMessage(l[u-1]),signalType:b.LINETYPE.ALT_ELSE},l[u]]);break;case 48:l[u-3].draw="participant",l[u-3].type="addParticipant",l[u-3].description=b.parseMessage(l[u-1]),this.$=l[u-3];break;case 49:l[u-1].draw="participant",l[u-1].type="addParticipant",this.$=l[u-1];break;case 50:l[u-3].draw="actor",l[u-3].type="addParticipant",l[u-3].description=b.parseMessage(l[u-1]),this.$=l[u-3];break;case 51:l[u-1].draw="actor",l[u-1].type="addParticipant",this.$=l[u-1];break;case 52:l[u-1].type="destroyParticipant",this.$=l[u-1];break;case 53:this.$=[l[u-1],{type:"addNote",placement:l[u-2],actor:l[u-1].actor,text:l[u]}];break;case 54:l[u-2]=[].concat(l[u-1],l[u-1]).slice(0,2),l[u-2][0]=l[u-2][0].actor,l[u-2][1]=l[u-2][1].actor,this.$=[l[u-1],{type:"addNote",placement:b.PLACEMENT.OVER,actor:l[u-2].slice(0,2),text:l[u]}];break;case 55:this.$=[l[u-1],{type:"addLinks",actor:l[u-1].actor,text:l[u]}];break;case 56:this.$=[l[u-1],{type:"addALink",actor:l[u-1].actor,text:l[u]}];break;case 57:this.$=[l[u-1],{type:"addProperties",actor:l[u-1].actor,text:l[u]}];break;case 58:this.$=[l[u-1],{type:"addDetails",actor:l[u-1].actor,text:l[u]}];break;case 61:this.$=[l[u-2],l[u]];break;case 62:this.$=l[u];break;case 63:this.$=b.PLACEMENT.LEFTOF;break;case 64:this.$=b.PLACEMENT.RIGHTOF;break;case 65:this.$=[l[u-4],l[u-1],{type:"addMessage",from:l[u-4].actor,to:l[u-1].actor,signalType:l[u-3],msg:l[u],activate:!0},{type:"activeStart",signalType:b.LINETYPE.ACTIVE_START,actor:l[u-1].actor}];break;case 66:this.$=[l[u-4],l[u-1],{type:"addMessage",from:l[u-4].actor,to:l[u-1].actor,signalType:l[u-3],msg:l[u]},{type:"activeEnd",signalType:b.LINETYPE.ACTIVE_END,actor:l[u-4].actor}];break;case 67:this.$=[l[u-3],l[u-1],{type:"addMessage",from:l[u-3].actor,to:l[u-1].actor,signalType:l[u-2],msg:l[u]}];break;case 68:this.$={type:"addParticipant",actor:l[u]};break;case 69:this.$=b.LINETYPE.SOLID_OPEN;break;case 70:this.$=b.LINETYPE.DOTTED_OPEN;break;case 71:this.$=b.LINETYPE.SOLID;break;case 72:this.$=b.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=b.LINETYPE.DOTTED;break;case 74:this.$=b.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=b.LINETYPE.SOLID_CROSS;break;case 76:this.$=b.LINETYPE.DOTTED_CROSS;break;case 77:this.$=b.LINETYPE.SOLID_POINT;break;case 78:this.$=b.LINETYPE.DOTTED_POINT;break;case 79:this.$=b.parseMessage(l[u].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:o,6:r},{1:[3]},{3:5,4:e,5:o,6:r},{3:6,4:e,5:o,6:r},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],a,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:i,5:c,8:8,9:10,12:12,13:h,14:p,17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},t(y,[2,5]),{9:47,12:12,13:h,14:p,17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},t(y,[2,7]),t(y,[2,8]),t(y,[2,14]),{12:48,50:K,52:U,53:q},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:S},{22:55,70:S},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(y,[2,29]),t(y,[2,30]),{32:[1,61]},{34:[1,62]},t(y,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:S},{22:72,70:S},{22:73,70:S},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:S},{22:90,70:S},{22:91,70:S},{22:92,70:S},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(y,[2,6]),t(y,[2,15]),t(P,[2,9],{10:93}),t(y,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(y,[2,21]),{5:[1,97]},{5:[1,98]},t(y,[2,24]),t(y,[2,25]),t(y,[2,26]),t(y,[2,27]),t(y,[2,28]),t(y,[2,31]),t(y,[2,32]),t($,a,{7:99}),t($,a,{7:100}),t($,a,{7:101}),t(it,a,{40:102,7:103}),t(N,a,{42:104,7:105}),t(N,a,{7:105,42:106}),t(Jt,a,{45:107,7:108}),t($,a,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:S},t(ot,[2,69]),t(ot,[2,70]),t(ot,[2,71]),t(ot,[2,72]),t(ot,[2,73]),t(ot,[2,74]),t(ot,[2,75]),t(ot,[2,76]),t(ot,[2,77]),t(ot,[2,78]),{22:118,70:S},{22:120,58:119,70:S},{70:[2,63]},{70:[2,64]},{56:121,81:dt},{56:123,81:dt},{56:124,81:dt},{56:125,81:dt},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:K,52:U,53:q},{5:[1,131]},t(y,[2,19]),t(y,[2,20]),t(y,[2,22]),t(y,[2,23]),{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,132],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,133],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,134],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{16:[1,135]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,46],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,49:[1,136],50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{16:[1,137]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,44],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,48:[1,138],50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{16:[1,139]},{16:[1,140]},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[2,42],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,47:[1,141],50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{4:i,5:c,8:8,9:10,12:12,13:h,14:p,16:[1,142],17:15,18:s,21:f,22:40,23:E,24:19,25:20,26:21,27:22,28:23,29:g,30:T,31:m,33:w,35:k,36:V,37:M,38:Y,39:C,41:z,43:H,44:Z,46:et,50:K,52:U,53:q,54:R,59:Q,60:G,61:j,62:rt,70:S},{15:[1,143]},t(y,[2,49]),{15:[1,144]},t(y,[2,51]),t(y,[2,52]),{22:145,70:S},{22:146,70:S},{56:147,81:dt},{56:148,81:dt},{56:149,81:dt},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(y,[2,16]),t(P,[2,10]),{12:151,50:K,52:U,53:q},t(P,[2,12]),t(P,[2,13]),t(y,[2,18]),t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),{15:[1,152]},t(y,[2,38]),{15:[1,153]},t(y,[2,39]),t(y,[2,40]),{15:[1,154]},t(y,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:dt},{56:158,81:dt},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:S},t(P,[2,11]),t(it,a,{7:103,40:160}),t(N,a,{7:105,42:161}),t(Jt,a,{7:108,45:162}),t(y,[2,48]),t(y,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:d(function(I,L){if(L.recoverable)this.trace(I);else{var A=new Error(I);throw A.hash=L,A}},"parseError"),parse:d(function(I){var L=this,A=[0],b=[],D=[null],l=[],mt=this.table,u="",Lt=0,Zt=0,Pe=2,Qt=1,Ae=l.slice.call(arguments,1),W=Object.create(this.lexer),ut={yy:{}};for(var Ot in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ot)&&(ut.yy[Ot]=this.yy[Ot]);W.setInput(I,ut.yy),ut.yy.lexer=W,ut.yy.parser=this,typeof W.yylloc>"u"&&(W.yylloc={});var Bt=W.yylloc;l.push(Bt);var ke=W.options&&W.options.ranges;typeof ut.yy.parseError=="function"?this.parseError=ut.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ne(tt){A.length=A.length-2*tt,D.length=D.length-tt,l.length=l.length-tt}d(Ne,"popStack");function jt(){var tt;return tt=b.pop()||W.lex()||Qt,typeof tt!="number"&&(tt instanceof Array&&(b=tt,tt=b.pop()),tt=L.symbols_[tt]||tt),tt}d(jt,"lex");for(var X,gt,st,Vt,yt={},Pt,ht,$t,At;;){if(gt=A[A.length-1],this.defaultActions[gt]?st=this.defaultActions[gt]:((X===null||typeof X>"u")&&(X=jt()),st=mt[gt]&&mt[gt][X]),typeof st>"u"||!st.length||!st[0]){var Yt="";At=[];for(Pt in mt[gt])this.terminals_[Pt]&&Pt>Pe&&At.push("'"+this.terminals_[Pt]+"'");W.showPosition?Yt="Parse error on line "+(Lt+1)+`: `+W.showPosition()+` Expecting `+At.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Yt="Parse error on line "+(Lt+1)+": Unexpected "+(X==Qt?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Yt,{text:W.match,token:this.terminals_[X]||X,line:W.yylineno,loc:Bt,expected:At})}if(st[0]instanceof Array&&st.length>1)throw new Error("Parse Error: multiple actions possible at state: "+gt+", token: "+X);switch(st[0]){case 1:A.push(X),D.push(W.yytext),l.push(W.yylloc),A.push(st[1]),X=null,Zt=W.yyleng,u=W.yytext,Lt=W.yylineno,Bt=W.yylloc;break;case 2:if(ht=this.productions_[st[1]][1],yt.$=D[D.length-ht],yt._$={first_line:l[l.length-(ht||1)].first_line,last_line:l[l.length-1].last_line,first_column:l[l.length-(ht||1)].first_column,last_column:l[l.length-1].last_column},ke&&(yt._$.range=[l[l.length-(ht||1)].range[0],l[l.length-1].range[1]]),Vt=this.performAction.apply(yt,[u,Zt,Lt,ut.yy,st[1],D,l].concat(Ae)),typeof Vt<"u")return Vt;ht&&(A=A.slice(0,-1*ht*2),D=D.slice(0,-1*ht),l=l.slice(0,-1*ht)),A.push(this.productions_[st[1]][0]),D.push(yt.$),l.push(yt._$),$t=mt[A[A.length-2]][A[A.length-1]],A.push($t);break;case 3:return!0}}return!0},"parse")},Le=function(){var pt={EOF:1,parseError:d(function(L,A){if(this.yy.parser)this.yy.parser.parseError(L,A);else throw new Error(L)},"parseError"),setInput:d(function(I,L){return this.yy=L||this.yy||{},this._input=I,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:d(function(){var I=this._input[0];this.yytext+=I,this.yyleng++,this.offset++,this.match+=I,this.matched+=I;var L=I.match(/(?:\r\n?|\n).*/g);return L?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),I},"input"),unput:d(function(I){var L=I.length,A=I.split(/(?:\r\n?|\n)/g);this._input=I+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-L),this.offset-=L;var b=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),A.length-1&&(this.yylineno-=A.length-1);var D=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:A?(A.length===b.length?this.yylloc.first_column:0)+b[b.length-A.length].length-A[0].length:this.yylloc.first_column-L},this.options.ranges&&(this.yylloc.range=[D[0],D[0]+this.yyleng-L]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(I){this.unput(this.match.slice(I))},"less"),pastInput:d(function(){var I=this.matched.substr(0,this.matched.length-this.match.length);return(I.length>20?"...":"")+I.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:d(function(){var I=this.match;return I.length<20&&(I+=this._input.substr(0,20-I.length)),(I.substr(0,20)+(I.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:d(function(){var I=this.pastInput(),L=new Array(I.length+1).join("-");return I+this.upcomingInput()+` diff --git a/assets/chunks/stateDiagram-4JV6CC6H.C5OvJBGU.js b/assets/chunks/stateDiagram-4JV6CC6H.CafbZ1Ur.js similarity index 96% rename from assets/chunks/stateDiagram-4JV6CC6H.C5OvJBGU.js rename to assets/chunks/stateDiagram-4JV6CC6H.CafbZ1Ur.js index ac69aaefd..30482e848 100644 --- a/assets/chunks/stateDiagram-4JV6CC6H.C5OvJBGU.js +++ b/assets/chunks/stateDiagram-4JV6CC6H.CafbZ1Ur.js @@ -1 +1 @@ -import{s as W,a as N,b as P}from"./chunk-5RIWM3LS.DCZhjKZl.js";import{_ as u,d as t,j as H,l as S,k as C,e as z,a0 as U,a6 as F,u as O}from"../app.B4W5LDy6.js";import{G as J}from"./graph.BWNVXCq5.js";import{l as X}from"./layout.tjTIlxV4.js";import"./chunk-4LC2V6XN.B8hKw3ZB.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";import"./baseUniq.Cpp3LtUr.js";import"./basePickBy.Cv297fiu.js";var L={},D=u((e,i)=>{L[e]=i},"set"),Y=u(e=>L[e],"get"),G=u(()=>Object.keys(L),"keys"),I=u(()=>G().length,"size"),$={get:Y,set:D,keys:G,size:I},j=u(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),q=u(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Z=u((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),o=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",o.width+2*t().state.padding).attr("height",o.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),K=u((e,i)=>{const d=u(function(l,B,m){const k=l.append("tspan").attr("x",2*t().state.padding).text(B);m||k.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),g=n.height,p=e.append("text").attr("x",t().state.padding).attr("y",g+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(l){a||(d(p,l,s),s=!1),a=!1});const y=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+g+t().state.dividerMargin/2).attr("y2",t().state.padding+g+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),c=Math.max(x.width,n.width);return y.attr("x2",c+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c+2*t().state.padding).attr("height",x.height+g+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),Q=u((e,i,d)=>{const o=t().state.padding,n=2*t().state.padding,g=e.node().getBBox(),p=g.width,a=g.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+n;let c=Math.max(x,p);c===p&&(c=c+n);let l;const B=e.node().getBBox();i.doc,l=a-o,x>p&&(l=(p-c)/2+o),Math.abs(a-B.x)p&&(l=a-(x-p)/2);const m=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",l).attr("y",m).attr("class",d?"alt-composit":"composit").attr("width",c).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",l+o),x<=p&&s.attr("x",a+(c-n)/2-x/2+o),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",c).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",c).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),V=u(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),tt=u((e,i)=>{let d=t().state.forkWidth,o=t().state.forkHeight;if(i.parentId){let n=d;d=o,o=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",o).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),et=u((e,i,d,o)=>{let n=0;const g=o.append("text");g.style("text-anchor","start"),g.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const y of a){const x=y.trim();if(x.length>0){const c=g.append("tspan");if(c.text(x),s===0){const l=c.node().getBBox();s+=l.height}n+=s,c.attr("x",i+t().state.noteMargin),c.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:g.node().getBBox().width,textHeight:n}},"_drawLongText"),at=u((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),o=i.append("g"),{textWidth:n,textHeight:g}=et(e,0,0,o);return d.attr("height",g+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),_=u(function(e,i){const d=i.id,o={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&j(n),i.type==="end"&&V(n),(i.type==="fork"||i.type==="join")&&tt(n,i),i.type==="note"&&at(i.note.text,n),i.type==="divider"&&q(n),i.type==="default"&&i.descriptions.length===0&&Z(n,i),i.type==="default"&&i.descriptions.length>0&&K(n,i);const g=n.node().getBBox();return o.width=g.width+2*t().state.padding,o.height=g.height+2*t().state.padding,$.set(d,o),o},"drawState"),A=0,it=u(function(e,i,d){const o=u(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,g=U().x(function(s){return s.x}).y(function(s){return s.y}).curve(F),p=e.append("path").attr("d",g(n)).attr("id","edge"+A).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),p.attr("marker-end","url("+a+"#"+o(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:y,y:x}=O.calcLabelPosition(i.points),c=z.getRows(d.title);let l=0;const B=[];let m=0,k=0;for(let f=0;f<=c.length;f++){const h=s.append("text").attr("text-anchor","middle").text(c[f]).attr("x",y).attr("y",x+l),w=h.node().getBBox();m=Math.max(m,w.width),k=Math.min(k,w.x),S.info(w.x,y,x+l),l===0&&(l=h.node().getBBox().height,S.info("Title height",l,x)),B.push(h)}let E=l*c.length;if(c.length>1){const f=(c.length-1)*l*.5;B.forEach((h,w)=>h.attr("y",x+w*l-f)),E=l*c.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",y-m/2-t().state.padding/2).attr("y",x-E/2-t().state.padding/2-3.5).attr("width",m+t().state.padding).attr("height",E+t().state.padding),S.info(r)}A++},"drawEdge"),b,T={},rt=u(function(){},"setConf"),nt=u(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),st=u(function(e,i,d,o){b=t().state;const n=t().securityLevel;let g;n==="sandbox"&&(g=H("#i"+i));const p=n==="sandbox"?H(g.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?g.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=p.select(`[id='${i}']`);nt(s);const y=o.db.getRootDoc();R(y,s,void 0,!1,p,a,o);const x=b.padding,c=s.node().getBBox(),l=c.width+x*2,B=c.height+x*2,m=l*1.75;C(s,B,m,b.useMaxWidth),s.attr("viewBox",`${c.x-b.padding} ${c.y-b.padding} `+l+" "+B)},"draw"),dt=u(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),R=u((e,i,d,o,n,g,p)=>{const a=new J({compound:!0,multigraph:!0});let s,y=!0;for(s=0;s{const w=h.parentElement;let v=0,M=0;w&&(w.parentElement&&(v=w.parentElement.getBBox().width),M=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",v-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let k=m.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),it(i,a.edge(r),a.edge(r).relation))}),k=m.getBBox();const E={id:d||"root",label:d||"root",width:0,height:0};return E.width=k.width+2*b.padding,E.height=k.height+2*b.padding,S.debug("Doc rendered",E,a),E},"renderDoc"),ot={setConf:rt,draw:st},yt={parser:W,db:N,renderer:ot,styles:P,init:u(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,N.clear()},"init")};export{yt as diagram}; +import{s as W,a as N,b as P}from"./chunk-5RIWM3LS.DyOmNzmH.js";import{_ as u,d as t,j as H,l as S,k as C,e as z,a0 as U,a6 as F,u as O}from"../app.XeY7gsc2.js";import{G as J}from"./graph.jRtFwrS7.js";import{l as X}from"./layout.CM1i2aqJ.js";import"./chunk-4LC2V6XN.BzSTI6dc.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";import"./baseUniq.D3QFBTuJ.js";import"./basePickBy.DQSVnGZT.js";var L={},D=u((e,i)=>{L[e]=i},"set"),Y=u(e=>L[e],"get"),G=u(()=>Object.keys(L),"keys"),I=u(()=>G().length,"size"),$={get:Y,set:D,keys:G,size:I},j=u(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),q=u(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Z=u((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),o=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",o.width+2*t().state.padding).attr("height",o.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),K=u((e,i)=>{const d=u(function(l,B,m){const k=l.append("tspan").attr("x",2*t().state.padding).text(B);m||k.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),g=n.height,p=e.append("text").attr("x",t().state.padding).attr("y",g+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(l){a||(d(p,l,s),s=!1),a=!1});const y=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+g+t().state.dividerMargin/2).attr("y2",t().state.padding+g+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),c=Math.max(x.width,n.width);return y.attr("x2",c+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c+2*t().state.padding).attr("height",x.height+g+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),Q=u((e,i,d)=>{const o=t().state.padding,n=2*t().state.padding,g=e.node().getBBox(),p=g.width,a=g.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+n;let c=Math.max(x,p);c===p&&(c=c+n);let l;const B=e.node().getBBox();i.doc,l=a-o,x>p&&(l=(p-c)/2+o),Math.abs(a-B.x)p&&(l=a-(x-p)/2);const m=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",l).attr("y",m).attr("class",d?"alt-composit":"composit").attr("width",c).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",l+o),x<=p&&s.attr("x",a+(c-n)/2-x/2+o),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",c).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",l).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",c).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),V=u(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),tt=u((e,i)=>{let d=t().state.forkWidth,o=t().state.forkHeight;if(i.parentId){let n=d;d=o,o=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",o).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),et=u((e,i,d,o)=>{let n=0;const g=o.append("text");g.style("text-anchor","start"),g.attr("class","noteText");let p=e.replace(/\r\n/g,"
");p=p.replace(/\n/g,"
");const a=p.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const y of a){const x=y.trim();if(x.length>0){const c=g.append("tspan");if(c.text(x),s===0){const l=c.node().getBBox();s+=l.height}n+=s,c.attr("x",i+t().state.noteMargin),c.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:g.node().getBBox().width,textHeight:n}},"_drawLongText"),at=u((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),o=i.append("g"),{textWidth:n,textHeight:g}=et(e,0,0,o);return d.attr("height",g+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),_=u(function(e,i){const d=i.id,o={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&j(n),i.type==="end"&&V(n),(i.type==="fork"||i.type==="join")&&tt(n,i),i.type==="note"&&at(i.note.text,n),i.type==="divider"&&q(n),i.type==="default"&&i.descriptions.length===0&&Z(n,i),i.type==="default"&&i.descriptions.length>0&&K(n,i);const g=n.node().getBBox();return o.width=g.width+2*t().state.padding,o.height=g.height+2*t().state.padding,$.set(d,o),o},"drawState"),A=0,it=u(function(e,i,d){const o=u(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,g=U().x(function(s){return s.x}).y(function(s){return s.y}).curve(F),p=e.append("path").attr("d",g(n)).attr("id","edge"+A).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),p.attr("marker-end","url("+a+"#"+o(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:y,y:x}=O.calcLabelPosition(i.points),c=z.getRows(d.title);let l=0;const B=[];let m=0,k=0;for(let f=0;f<=c.length;f++){const h=s.append("text").attr("text-anchor","middle").text(c[f]).attr("x",y).attr("y",x+l),w=h.node().getBBox();m=Math.max(m,w.width),k=Math.min(k,w.x),S.info(w.x,y,x+l),l===0&&(l=h.node().getBBox().height,S.info("Title height",l,x)),B.push(h)}let E=l*c.length;if(c.length>1){const f=(c.length-1)*l*.5;B.forEach((h,w)=>h.attr("y",x+w*l-f)),E=l*c.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",y-m/2-t().state.padding/2).attr("y",x-E/2-t().state.padding/2-3.5).attr("width",m+t().state.padding).attr("height",E+t().state.padding),S.info(r)}A++},"drawEdge"),b,T={},rt=u(function(){},"setConf"),nt=u(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),st=u(function(e,i,d,o){b=t().state;const n=t().securityLevel;let g;n==="sandbox"&&(g=H("#i"+i));const p=n==="sandbox"?H(g.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?g.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=p.select(`[id='${i}']`);nt(s);const y=o.db.getRootDoc();R(y,s,void 0,!1,p,a,o);const x=b.padding,c=s.node().getBBox(),l=c.width+x*2,B=c.height+x*2,m=l*1.75;C(s,B,m,b.useMaxWidth),s.attr("viewBox",`${c.x-b.padding} ${c.y-b.padding} `+l+" "+B)},"draw"),dt=u(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),R=u((e,i,d,o,n,g,p)=>{const a=new J({compound:!0,multigraph:!0});let s,y=!0;for(s=0;s{const w=h.parentElement;let v=0,M=0;w&&(w.parentElement&&(v=w.parentElement.getBBox().width),M=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",v-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let k=m.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),it(i,a.edge(r),a.edge(r).relation))}),k=m.getBBox();const E={id:d||"root",label:d||"root",width:0,height:0};return E.width=k.width+2*b.padding,E.height=k.height+2*b.padding,S.debug("Doc rendered",E,a),E},"renderDoc"),ot={setConf:rt,draw:st},yt={parser:W,db:N,renderer:ot,styles:P,init:u(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,N.clear()},"init")};export{yt as diagram}; diff --git a/assets/chunks/stateDiagram-v2-7KT6RKTD.B-A6Yloe.js b/assets/chunks/stateDiagram-v2-7KT6RKTD.B-A6Yloe.js deleted file mode 100644 index 7d52764ad..000000000 --- a/assets/chunks/stateDiagram-v2-7KT6RKTD.B-A6Yloe.js +++ /dev/null @@ -1 +0,0 @@ -import{s as e,a as t,c as r,b as s}from"./chunk-5RIWM3LS.DCZhjKZl.js";import{_ as i}from"../app.B4W5LDy6.js";import"./chunk-4LC2V6XN.B8hKw3ZB.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";var p={parser:e,db:t,renderer:r,styles:s,init:i(a=>{a.state||(a.state={}),a.state.arrowMarkerAbsolute=a.arrowMarkerAbsolute,t.clear()},"init")};export{p as diagram}; diff --git a/assets/chunks/stateDiagram-v2-7KT6RKTD.CR9GEZ4b.js b/assets/chunks/stateDiagram-v2-7KT6RKTD.CR9GEZ4b.js new file mode 100644 index 000000000..f4c7dd74e --- /dev/null +++ b/assets/chunks/stateDiagram-v2-7KT6RKTD.CR9GEZ4b.js @@ -0,0 +1 @@ +import{s as e,a as t,c as r,b as s}from"./chunk-5RIWM3LS.DyOmNzmH.js";import{_ as i}from"../app.XeY7gsc2.js";import"./chunk-4LC2V6XN.BzSTI6dc.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";var p={parser:e,db:t,renderer:r,styles:s,init:i(a=>{a.state||(a.state={}),a.state.arrowMarkerAbsolute=a.arrowMarkerAbsolute,t.clear()},"init")};export{p as diagram}; diff --git a/assets/chunks/theme.whhJV-4y.js b/assets/chunks/theme.BIcC851z.js similarity index 99% rename from assets/chunks/theme.whhJV-4y.js rename to assets/chunks/theme.BIcC851z.js index 73240f262..7b9012df1 100644 --- a/assets/chunks/theme.whhJV-4y.js +++ b/assets/chunks/theme.BIcC851z.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.vXxRdaE9.js","assets/chunks/framework.CGQ59HuL.js"])))=>i.map(i=>d[i]); -import{d as m,o as a,c as u,r as c,n as M,a as z,t as I,b as k,w as p,e as h,T as ue,_ as g,u as Be,i as Ee,f as De,g as de,h as y,j as d,k as r,l as K,m as ae,p as T,q as F,s as Y,v as j,x as ve,y as pe,z as Fe,A as Oe,B as W,F as w,C as H,D as ye,E as Q,G as _,H as E,I as Pe,J as Z,K as U,L as x,M as Ge,N as Le,O as re,P as Ve,Q as Se,R as ee,S as Ue,U as je,V as ze,W as Te,X as Ne,Y as Ke,Z as We,$ as qe,a0 as Re,a1 as Je,a2 as Xe}from"./framework.CGQ59HuL.js";const Ye=m({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),u("span",{class:M(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[z(I(e.text),1)])],2))}}),Qe={key:0,class:"VPBackdrop"},Ze=m({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),k(ue,{name:"fade"},{default:p(()=>[e.show?(a(),u("div",Qe)):h("",!0)]),_:1}))}}),xe=g(Ze,[["__scopeId","data-v-54a304ca"]]),L=Be;function et(s,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(s,e):(s(),(o=!0)&&setTimeout(()=>o=!1,e))}}function ie(s){return/^\//.test(s)?s:`/${s}`}function fe(s){const{pathname:e,search:t,hash:o,protocol:n}=new URL(s,"http://a.com");if(Ee(s)||s.startsWith("#")||!n.startsWith("http")||!De(e))return s;const{site:i}=L(),l=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${o}`);return de(l)}function R({correspondingLink:s=!1}={}){const{site:e,localeIndex:t,page:o,theme:n,hash:i}=L(),l=y(()=>{var v,$;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:(($=e.value.locales[t.value])==null?void 0:$.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([v,$])=>l.value.label===$.label?[]:{text:$.label,link:tt($.link||(v==="root"?"/":`/${v}/`),n.value.i18nRouting!==!1&&s,o.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:l}}function tt(s,e,t,o){return e?s.replace(/\/$/,"")+ie(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):s}const nt={class:"NotFound"},ot={class:"code"},st={class:"title"},at={class:"quote"},rt={class:"action"},it=["href","aria-label"],lt=m({__name:"NotFound",setup(s){const{theme:e}=L(),{currentLang:t}=R();return(o,n)=>{var i,l,f,v,$;return a(),u("div",nt,[d("p",ot,I(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),d("h1",st,I(((l=r(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=d("div",{class:"divider"},null,-1)),d("blockquote",at,I(((f=r(e).notFound)==null?void 0:f.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",rt,[d("a",{class:"link",href:r(de)(r(t).link),"aria-label":((v=r(e).notFound)==null?void 0:v.linkLabel)??"go to home"},I((($=r(e).notFound)==null?void 0:$.linkText)??"Take me home"),9,it)])])}}}),ct=g(lt,[["__scopeId","data-v-6ff51ddd"]]);function Me(s,e){if(Array.isArray(s))return J(s);if(s==null)return[];e=ie(e);const t=Object.keys(s).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(ie(n))),o=t?s[t]:[];return Array.isArray(o)?J(o):J(o.items,o.base)}function ut(s){const e=[];let t=0;for(const o in s){const n=s[o];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function dt(s){const e=[];function t(o){for(const n of o)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(s),e}function le(s,e){return Array.isArray(e)?e.some(t=>le(s,t)):K(s,e.link)?!0:e.items?le(s,e.items):!1}function J(s,e){return[...s].map(t=>{const o={...t},n=o.base||e;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=J(o.items,n)),o})}function O(){const{frontmatter:s,page:e,theme:t}=L(),o=ae("(min-width: 960px)"),n=T(!1),i=y(()=>{const C=t.value.sidebar,S=e.value.relativePath;return C?Me(C,S):[]}),l=T(i.value);F(i,(C,S)=>{JSON.stringify(C)!==JSON.stringify(S)&&(l.value=i.value)});const f=y(()=>s.value.sidebar!==!1&&l.value.length>0&&s.value.layout!=="home"),v=y(()=>$?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),$=y(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),V=y(()=>f.value&&o.value),b=y(()=>f.value?ut(l.value):[]);function P(){n.value=!0}function N(){n.value=!1}function A(){n.value?N():P()}return{isOpen:n,sidebar:l,sidebarGroups:b,hasSidebar:f,hasAside:$,leftAside:v,isSidebarEnabled:V,open:P,close:N,toggle:A}}function vt(s,e){let t;Y(()=>{t=s.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",o)}),ve(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function pt(s){const{page:e,hash:t}=L(),o=T(!1),n=y(()=>s.value.collapsed!=null),i=y(()=>!!s.value.link),l=T(!1),f=()=>{l.value=K(e.value.relativePath,s.value.link)};F([e,s,t],f),j(f);const v=y(()=>l.value?!0:s.value.items?le(e.value.relativePath,s.value.items):!1),$=y(()=>!!(s.value.items&&s.value.items.length));Y(()=>{o.value=!!(n.value&&s.value.collapsed)}),pe(()=>{(l.value||v.value)&&(o.value=!1)});function V(){n.value&&(o.value=!o.value)}return{collapsed:o,collapsible:n,isLink:i,isActiveLink:l,hasActiveLink:v,hasChildren:$,toggle:V}}function ft(){const{hasSidebar:s}=O(),e=ae("(min-width: 960px)"),t=ae("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const ce=[];function Ie(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function he(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:ht(t),link:"#"+t.id,level:o}});return mt(e,s)}function ht(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function mt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return bt(s,o,n)}function _t(s,e){const{isAsideEnabled:t}=ft(),o=et(i,100);let n=null;j(()=>{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Fe(()=>{l(location.hash)}),ve(()=>{window.removeEventListener("scroll",o)});function i(){if(!t.value)return;const f=window.scrollY,v=window.innerHeight,$=document.body.offsetHeight,V=Math.abs(f+v-$)<1,b=ce.map(({element:N,link:A})=>({link:A,top:kt(N)})).filter(({top:N})=>!Number.isNaN(N)).sort((N,A)=>N.top-A.top);if(!b.length){l(null);return}if(f<1){l(null);return}if(V){l(b[b.length-1].link);return}let P=null;for(const{link:N,top:A}of b){if(A>f+Oe()+4)break;P=N}l(P)}function l(f){n&&n.classList.remove("active"),f==null?n=null:n=s.value.querySelector(`a[href="${decodeURIComponent(f)}"]`);const v=n;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function kt(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}function bt(s,e,t){ce.length=0;const o=[],n=[];return s.forEach(i=>{const l={...i,children:[]};let f=n[n.length-1];for(;f&&f.level>=l.level;)n.pop(),f=n[n.length-1];if(l.element.classList.contains("ignore-header")||f&&"shouldIgnore"in f){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=W("VPDocOutlineItem",!0);return a(),u("ul",{class:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(w,null,H(t.headers,({children:i,link:l,title:f})=>(a(),u("li",null,[d("a",{class:"outline-link",href:l,onClick:e,title:f},I(f),9,gt),i!=null&&i.length?(a(),k(n,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),we=g($t,[["__scopeId","data-v-53c99d69"]]),yt={class:"content"},Pt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Lt=m({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=L(),o=ye([]);Q(()=>{o.value=he(e.value.outline??t.value.outline)});const n=T(),i=T();return _t(n,i),(l,f)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:M(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n},[d("div",yt,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",Pt,I(r(Ie)(r(t))),1),_(we,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),Vt=g(Lt,[["__scopeId","data-v-f610f197"]]),St={class:"VPDocAsideCarbonAds"},Tt=m({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,o)=>(a(),u("div",St,[_(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Nt={class:"VPDocAside"},Mt=m({__name:"VPDocAside",setup(s){const{theme:e}=L();return(t,o)=>(a(),u("div",Nt,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),_(Vt),c(t.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=d("div",{class:"spacer"},null,-1)),c(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(Tt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),It=g(Mt,[["__scopeId","data-v-cb998dce"]]);function wt(){const{theme:s,page:e}=L();return y(()=>{const{text:t="Edit this page",pattern:o=""}=s.value.editLink||{};let n;return typeof o=="function"?n=o(e.value):n=o.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function At(){const{page:s,theme:e,frontmatter:t}=L();return y(()=>{var $,V,b,P,N,A,C,S;const o=Me(e.value.sidebar,s.value.relativePath),n=dt(o),i=Ct(n,B=>B.link.replace(/[?#].*$/,"")),l=i.findIndex(B=>K(s.value.relativePath,B.link)),f=(($=e.value.docFooter)==null?void 0:$.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((V=e.value.docFooter)==null?void 0:V.next)===!1&&!t.value.next||t.value.next===!1;return{prev:f?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((b=i[l-1])==null?void 0:b.docFooterText)??((P=i[l-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((N=i[l-1])==null?void 0:N.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=i[l+1])==null?void 0:A.docFooterText)??((C=i[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((S=i[l+1])==null?void 0:S.link)}}})}function Ct(s,e){const t=new Set;return s.filter(o=>{const n=e(o);return t.has(n)?!1:t.add(n)})}const D=m({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.tag??(e.href?"a":"span")),o=y(()=>e.href&&Pe.test(e.href)||e.target==="_blank");return(n,i)=>(a(),k(E(t.value),{class:M(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?r(fe)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:p(()=>[c(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Ht={class:"VPLastUpdated"},Bt=["datetime"],Et=m({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,lang:o}=L(),n=y(()=>new Date(t.value.lastUpdated)),i=y(()=>n.value.toISOString()),l=T("");return j(()=>{Y(()=>{var f,v,$;l.value=new Intl.DateTimeFormat((v=(f=e.value.lastUpdated)==null?void 0:f.formatOptions)!=null&&v.forceLocale?o.value:void 0,(($=e.value.lastUpdated)==null?void 0:$.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(f,v)=>{var $;return a(),u("p",Ht,[z(I((($=r(e).lastUpdated)==null?void 0:$.text)||r(e).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:i.value},I(l.value),9,Bt)])}}}),Dt=g(Et,[["__scopeId","data-v-1bb0c8a8"]]),Ft={key:0,class:"VPDocFooter"},Ot={key:0,class:"edit-info"},Gt={key:0,class:"edit-link"},Ut={key:1,class:"last-updated"},jt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},zt={class:"pager"},Kt=["innerHTML"],Wt=["innerHTML"],qt={class:"pager"},Rt=["innerHTML"],Jt=["innerHTML"],Xt=m({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:o}=L(),n=wt(),i=At(),l=y(()=>e.value.editLink&&o.value.editLink!==!1),f=y(()=>t.value.lastUpdated),v=y(()=>l.value||f.value||i.value.prev||i.value.next);return($,V)=>{var b,P,N,A;return v.value?(a(),u("footer",Ft,[c($.$slots,"doc-footer-before",{},void 0,!0),l.value||f.value?(a(),u("div",Ot,[l.value?(a(),u("div",Gt,[_(D,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:p(()=>[V[0]||(V[0]=d("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),z(" "+I(r(n).text),1)]),_:1},8,["href"])])):h("",!0),f.value?(a(),u("div",Ut,[_(Dt)])):h("",!0)])):h("",!0),(b=r(i).prev)!=null&&b.link||(P=r(i).next)!=null&&P.link?(a(),u("nav",jt,[V[1]||(V[1]=d("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),d("div",zt,[(N=r(i).prev)!=null&&N.link?(a(),k(D,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:p(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,Kt),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,Wt)]}),_:1},8,["href"])):h("",!0)]),d("div",qt,[(A=r(i).next)!=null&&A.link?(a(),k(D,{key:0,class:"pager-link next",href:r(i).next.link},{default:p(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,Rt),d("span",{class:"title",innerHTML:r(i).next.text},null,8,Jt)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),Yt=g(Xt,[["__scopeId","data-v-1bcd8184"]]),Qt={class:"container"},Zt={class:"aside-container"},xt={class:"aside-content"},en={class:"content"},tn={class:"content-container"},nn={class:"main"},on=m({__name:"VPDoc",setup(s){const{theme:e}=L(),t=Z(),{hasSidebar:o,hasAside:n,leftAside:i}=O(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(f,v)=>{const $=W("Content");return a(),u("div",{class:M(["VPDoc",{"has-sidebar":r(o),"has-aside":r(n)}])},[c(f.$slots,"doc-top",{},void 0,!0),d("div",Qt,[r(n)?(a(),u("div",{key:0,class:M(["aside",{"left-aside":r(i)}])},[v[0]||(v[0]=d("div",{class:"aside-curtain"},null,-1)),d("div",Zt,[d("div",xt,[_(It,null,{"aside-top":p(()=>[c(f.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[c(f.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[c(f.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(f.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(f.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(f.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),d("div",en,[d("div",tn,[c(f.$slots,"doc-before",{},void 0,!0),d("main",nn,[_($,{class:M(["vp-doc",[l.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Yt,null,{"doc-footer-before":p(()=>[c(f.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(f.$slots,"doc-after",{},void 0,!0)])])]),c(f.$slots,"doc-bottom",{},void 0,!0)],2)}}}),sn=g(on,[["__scopeId","data-v-e6f2a212"]]),an=m({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.href&&Pe.test(e.href)),o=y(()=>e.tag||(e.href?"a":"button"));return(n,i)=>(a(),k(E(o.value),{class:M(["VPButton",[n.size,n.theme]]),href:n.href?r(fe)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:p(()=>[z(I(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),rn=g(an,[["__scopeId","data-v-93dc4167"]]),ln=["src","alt"],cn=m({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const o=W("VPImage",!0);return e.image?(a(),u(w,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",U({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(de)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,ln)):(a(),u(w,{key:1},[_(o,U({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),_(o,U({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),X=g(cn,[["__scopeId","data-v-ab19afbb"]]),un={class:"container"},dn={class:"main"},vn={key:0,class:"name"},pn=["innerHTML"],fn=["innerHTML"],hn=["innerHTML"],mn={key:0,class:"actions"},_n={key:0,class:"image"},kn={class:"image-container"},bn=m({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=x("hero-image-slot-exists");return(t,o)=>(a(),u("div",{class:M(["VPHero",{"has-image":t.image||r(e)}])},[d("div",un,[d("div",dn,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),u("h1",vn,[d("span",{innerHTML:t.name,class:"clip"},null,8,pn)])):h("",!0),t.text?(a(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,fn)):h("",!0),t.tagline?(a(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,hn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",mn,[(a(!0),u(w,null,H(t.actions,n=>(a(),u("div",{key:n.link,class:"action"},[_(rn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),u("div",_n,[d("div",kn,[o[0]||(o[0]=d("div",{class:"image-bg"},null,-1)),c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(X,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),gn=g(bn,[["__scopeId","data-v-b10c5094"]]),$n=m({__name:"VPHomeHero",setup(s){const{frontmatter:e}=L();return(t,o)=>r(e).hero?(a(),k(gn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":p(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":p(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":p(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":p(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":p(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),yn={class:"box"},Pn={key:0,class:"icon"},Ln=["innerHTML"],Vn=["innerHTML"],Sn=["innerHTML"],Tn={key:4,class:"link-text"},Nn={class:"link-text-value"},Mn=m({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),k(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:p(()=>[d("article",yn,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",Pn,[_(X,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(X,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Ln)):h("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,Vn),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Sn)):h("",!0),e.linkText?(a(),u("div",Tn,[d("p",Nn,[z(I(e.linkText)+" ",1),t[0]||(t[0]=d("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),In=g(Mn,[["__scopeId","data-v-bd37d1a2"]]),wn={key:0,class:"VPFeatures"},An={class:"container"},Cn={class:"items"},Hn=m({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=y(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(a(),u("div",wn,[d("div",An,[d("div",Cn,[(a(!0),u(w,null,H(o.features,i=>(a(),u("div",{key:i.title,class:M(["item",[t.value]])},[_(In,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Bn=g(Hn,[["__scopeId","data-v-b1eea84a"]]),En=m({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=L();return(t,o)=>r(e).features?(a(),k(Bn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),Dn=m({__name:"VPHomeContent",setup(s){const{width:e}=Ge({initialWidth:0,includeScrollbar:!1});return(t,o)=>(a(),u("div",{class:"vp-doc container",style:Le(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),Fn=g(Dn,[["__scopeId","data-v-c141a4bd"]]),On={class:"VPHome"},Gn=m({__name:"VPHome",setup(s){const{frontmatter:e}=L();return(t,o)=>{const n=W("Content");return a(),u("div",On,[c(t.$slots,"home-hero-before",{},void 0,!0),_($n,null,{"home-hero-info-before":p(()=>[c(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(t.$slots,"home-hero-after",{},void 0,!0),c(t.$slots,"home-features-before",{},void 0,!0),_(En),c(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),k(Fn,{key:0},{default:p(()=>[_(n)]),_:1})):(a(),k(n,{key:1}))])}}}),Un=g(Gn,[["__scopeId","data-v-07b1ad08"]]),jn={},zn={class:"VPPage"};function Kn(s,e){const t=W("Content");return a(),u("div",zn,[c(s.$slots,"page-top"),_(t),c(s.$slots,"page-bottom")])}const Wn=g(jn,[["render",Kn]]),qn=m({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=L(),{hasSidebar:o}=O();return(n,i)=>(a(),u("div",{class:M(["VPContent",{"has-sidebar":r(o),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?c(n.$slots,"not-found",{key:0},()=>[_(ct)],!0):r(t).layout==="page"?(a(),k(Wn,{key:1},{"page-top":p(()=>[c(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[c(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(Un,{key:2},{"home-hero-before":p(()=>[c(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":p(()=>[c(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[c(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[c(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[c(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(E(r(t).layout),{key:3})):(a(),k(sn,{key:4},{"doc-top":p(()=>[c(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[c(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":p(()=>[c(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[c(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[c(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":p(()=>[c(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":p(()=>[c(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":p(()=>[c(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Rn=g(qn,[["__scopeId","data-v-9a6c75ad"]]),Jn={class:"container"},Xn=["innerHTML"],Yn=["innerHTML"],Qn=m({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=O();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),u("footer",{key:0,class:M(["VPFooter",{"has-sidebar":r(o)}])},[d("div",Jn,[r(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,Xn)):h("",!0),r(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,Yn)):h("",!0)])],2)):h("",!0)}}),Zn=g(Qn,[["__scopeId","data-v-566314d4"]]);function xn(){const{theme:s,frontmatter:e}=L(),t=ye([]),o=y(()=>t.value.length>0);return Q(()=>{t.value=he(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:o}}const eo={class:"menu-text"},to={class:"header"},no={class:"outline"},oo=m({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=L(),o=T(!1),n=T(0),i=T(),l=T();function f(b){var P;(P=i.value)!=null&&P.contains(b.target)||(o.value=!1)}F(o,b=>{if(b){document.addEventListener("click",f);return}document.removeEventListener("click",f)}),re("Escape",()=>{o.value=!1}),Q(()=>{o.value=!1});function v(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function $(b){b.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Ve(()=>{o.value=!1}))}function V(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,P)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:Le({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[b.headers.length>0?(a(),u("button",{key:0,onClick:v,class:M({open:o.value})},[d("span",eo,I(r(Ie)(r(t))),1),P[0]||(P[0]=d("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),u("button",{key:1,onClick:V},I(r(t).returnToTopLabel||"Return to top"),1)),_(ue,{name:"flyout"},{default:p(()=>[o.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:$},[d("div",to,[d("a",{class:"top-link",href:"#",onClick:V},I(r(t).returnToTopLabel||"Return to top"),1)]),d("div",no,[_(we,{headers:b.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),so=g(oo,[["__scopeId","data-v-883964e0"]]),ao={class:"container"},ro=["aria-expanded"],io={class:"menu-text"},lo=m({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=O(),{headers:n}=xn(),{y:i}=Se(),l=T(0);j(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Q(()=>{n.value=he(t.value.outline??e.value.outline)});const f=y(()=>n.value.length===0),v=y(()=>f.value&&!o.value),$=y(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:f.value,fixed:v.value}));return(V,b)=>r(t).layout!=="home"&&(!v.value||r(i)>=l.value)?(a(),u("div",{key:0,class:M($.value)},[d("div",ao,[r(o)?(a(),u("button",{key:0,class:"menu","aria-expanded":V.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=P=>V.$emit("open-menu"))},[b[1]||(b[1]=d("span",{class:"vpi-align-left menu-icon"},null,-1)),d("span",io,I(r(e).sidebarMenuLabel||"Menu"),1)],8,ro)):h("",!0),_(so,{headers:r(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),co=g(lo,[["__scopeId","data-v-2488c25a"]]);function uo(){const s=T(!1);function e(){s.value=!0,window.addEventListener("resize",n)}function t(){s.value=!1,window.removeEventListener("resize",n)}function o(){s.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=Z();return F(()=>i.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:o}}const vo={},po={class:"VPSwitch",type:"button",role:"switch"},fo={class:"check"},ho={key:0,class:"icon"};function mo(s,e){return a(),u("button",po,[d("span",fo,[s.$slots.default?(a(),u("span",ho,[c(s.$slots,"default",{},void 0,!0)])):h("",!0)])])}const _o=g(vo,[["render",mo],["__scopeId","data-v-b4ccac88"]]),ko=m({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=L(),o=x("toggle-appearance",()=>{e.value=!e.value}),n=T("");return pe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(a(),k(_o,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(o)},{default:p(()=>l[0]||(l[0]=[d("span",{class:"vpi-sun sun"},null,-1),d("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),me=g(ko,[["__scopeId","data-v-be9742d9"]]),bo={key:0,class:"VPNavBarAppearance"},go=m({__name:"VPNavBarAppearance",setup(s){const{site:e}=L();return(t,o)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",bo,[_(me)])):h("",!0)}}),$o=g(go,[["__scopeId","data-v-3f90c1a5"]]),_e=T();let Ae=!1,se=0;function yo(s){const e=T(!1);if(ee){!Ae&&Po(),se++;const t=F(_e,o=>{var n,i,l;o===s.el.value||(n=s.el.value)!=null&&n.contains(o)?(e.value=!0,(i=s.onFocus)==null||i.call(s)):(e.value=!1,(l=s.onBlur)==null||l.call(s))});ve(()=>{t(),se--,se||Lo()})}return Ue(e)}function Po(){document.addEventListener("focusin",Ce),Ae=!0,_e.value=document.activeElement}function Lo(){document.removeEventListener("focusin",Ce)}function Ce(){_e.value=document.activeElement}const Vo={class:"VPMenuLink"},So=["innerHTML"],To=m({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),u("div",Vo,[_(D,{class:M({active:r(K)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:p(()=>[d("span",{innerHTML:t.item.text},null,8,So)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),te=g(To,[["__scopeId","data-v-7eeeb2dc"]]),No={class:"VPMenuGroup"},Mo={key:0,class:"title"},Io=m({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",No,[e.text?(a(),u("p",Mo,I(e.text),1)):h("",!0),(a(!0),u(w,null,H(e.items,o=>(a(),u(w,null,["link"in o?(a(),k(te,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),wo=g(Io,[["__scopeId","data-v-a6b0397c"]]),Ao={class:"VPMenu"},Co={key:0,class:"items"},Ho=m({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),u("div",Ao,[e.items?(a(),u("div",Co,[(a(!0),u(w,null,H(e.items,o=>(a(),u(w,{key:JSON.stringify(o)},["link"in o?(a(),k(te,{key:0,item:o},null,8,["item"])):"component"in o?(a(),k(E(o.component),U({key:1,ref_for:!0},o.props),null,16)):(a(),k(wo,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),Bo=g(Ho,[["__scopeId","data-v-20ed86d6"]]),Eo=["aria-expanded","aria-label"],Do={key:0,class:"text"},Fo=["innerHTML"],Oo={key:1,class:"vpi-more-horizontal icon"},Go={class:"menu"},Uo=m({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=T(!1),t=T();yo({el:t,onBlur:o});function o(){e.value=!1}return(n,i)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=l=>e.value=!0),onMouseleave:i[2]||(i[2]=l=>e.value=!1)},[d("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=l=>e.value=!e.value)},[n.button||n.icon?(a(),u("span",Do,[n.icon?(a(),u("span",{key:0,class:M([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(a(),u("span",{key:1,innerHTML:n.button},null,8,Fo)):h("",!0),i[3]||(i[3]=d("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),u("span",Oo))],8,Eo),d("div",Go,[_(Bo,{items:n.items},{default:p(()=>[c(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ke=g(Uo,[["__scopeId","data-v-bfe7971f"]]),jo=["href","aria-label","innerHTML"],zo=m({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=T();j(async()=>{var i;await Ve();const n=(i=t.value)==null?void 0:i.children[0];n instanceof HTMLElement&&n.className.startsWith("vpi-social-")&&(getComputedStyle(n).maskImage||getComputedStyle(n).webkitMaskImage)==="none"&&n.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${e.icon}.svg')`)});const o=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,i)=>(a(),u("a",{ref_key:"el",ref:t,class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:o.value},null,8,jo))}}),Ko=g(zo,[["__scopeId","data-v-60a9a2d3"]]),Wo={class:"VPSocialLinks"},qo=m({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),u("div",Wo,[(a(!0),u(w,null,H(e.links,({link:o,icon:n,ariaLabel:i})=>(a(),k(Ko,{key:o,icon:n,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),be=g(qo,[["__scopeId","data-v-e71e869c"]]),Ro={key:0,class:"group translations"},Jo={class:"trans-title"},Xo={key:1,class:"group"},Yo={class:"item appearance"},Qo={class:"label"},Zo={class:"appearance-action"},xo={key:2,class:"group"},es={class:"item social-links"},ts=m({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=L(),{localeLinks:o,currentLang:n}=R({correspondingLink:!0}),i=y(()=>o.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,f)=>i.value?(a(),k(ke,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:p(()=>[r(o).length&&r(n).label?(a(),u("div",Ro,[d("p",Jo,I(r(n).label),1),(a(!0),u(w,null,H(r(o),v=>(a(),k(te,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Xo,[d("div",Yo,[d("p",Qo,I(r(t).darkModeSwitchLabel||"Appearance"),1),d("div",Zo,[_(me)])])])):h("",!0),r(t).socialLinks?(a(),u("div",xo,[d("div",es,[_(be,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),ns=g(ts,[["__scopeId","data-v-f953d92f"]]),os=["aria-expanded"],ss=m({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),u("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},t[1]||(t[1]=[d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)]),10,os))}}),as=g(ss,[["__scopeId","data-v-6bee1efd"]]),rs=["innerHTML"],is=m({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),k(D,{class:M({VPNavBarMenuLink:!0,active:r(K)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:p(()=>[d("span",{innerHTML:t.item.text},null,8,rs)]),_:1},8,["class","href","target","rel","no-icon"]))}}),ls=g(is,[["__scopeId","data-v-815115f5"]]),cs=m({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=L(),o=i=>"component"in i?!1:"link"in i?K(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(o),n=y(()=>o(e.item));return(i,l)=>(a(),k(ke,{class:M({VPNavBarMenuGroup:!0,active:r(K)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),us={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},ds=m({__name:"VPNavBarMenu",setup(s){const{theme:e}=L();return(t,o)=>r(e).nav?(a(),u("nav",us,[o[0]||(o[0]=d("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),u(w,null,H(r(e).nav,n=>(a(),u(w,{key:JSON.stringify(n)},["link"in n?(a(),k(ls,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(E(n.component),U({key:1,ref_for:!0},n.props),null,16)):(a(),k(cs,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),vs=g(ds,[["__scopeId","data-v-afb2845e"]]);function ps(s){const{localeIndex:e,theme:t}=L();function o(n){var A,C,S;const i=n.split("."),l=(A=t.value.search)==null?void 0:A.options,f=l&&typeof l=="object",v=f&&((S=(C=l.locales)==null?void 0:C[e.value])==null?void 0:S.translations)||null,$=f&&l.translations||null;let V=v,b=$,P=s;const N=i.pop();for(const B of i){let G=null;const q=P==null?void 0:P[B];q&&(G=P=q);const ne=b==null?void 0:b[B];ne&&(G=b=ne);const oe=V==null?void 0:V[B];oe&&(G=V=oe),q||(P=G),ne||(b=G),oe||(V=G)}return(V==null?void 0:V[N])??(b==null?void 0:b[N])??(P==null?void 0:P[N])??""}return o}const fs=["aria-label"],hs={class:"DocSearch-Button-Container"},ms={class:"DocSearch-Button-Placeholder"},ge=m({__name:"VPNavBarSearchButton",setup(s){const t=ps({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[d("span",hs,[n[0]||(n[0]=d("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),d("span",ms,I(r(t)("button.buttonText")),1)]),n[1]||(n[1]=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,fs))}}),_s={class:"VPNavBarSearch"},ks={id:"local-search"},bs={key:1,id:"docsearch"},gs=m({__name:"VPNavBarSearch",setup(s){const e=je(()=>ze(()=>import("./VPLocalSearchBox.vXxRdaE9.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:o}=L(),n=T(!1),i=T(!1);j(()=>{});function l(){n.value||(n.value=!0,setTimeout(f,16))}function f(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||f()},16)}function v(b){const P=b.target,N=P.tagName;return P.isContentEditable||N==="INPUT"||N==="SELECT"||N==="TEXTAREA"}const $=T(!1);re("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),$.value=!0)}),re("/",b=>{v(b)||(b.preventDefault(),$.value=!0)});const V="local";return(b,P)=>{var N;return a(),u("div",_s,[r(V)==="local"?(a(),u(w,{key:0},[$.value?(a(),k(r(e),{key:0,onClose:P[0]||(P[0]=A=>$.value=!1)})):h("",!0),d("div",ks,[_(ge,{onClick:P[1]||(P[1]=A=>$.value=!0)})])],64)):r(V)==="algolia"?(a(),u(w,{key:1},[n.value?(a(),k(r(t),{key:0,algolia:((N=r(o).search)==null?void 0:N.options)??r(o).algolia,onVnodeBeforeMount:P[2]||(P[2]=A=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(a(),u("div",bs,[_(ge,{onClick:l})]))],64)):h("",!0)])}}}),$s=m({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>r(e).socialLinks?(a(),k(be,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),ys=g($s,[["__scopeId","data-v-ef6192dc"]]),Ps=["href","rel","target"],Ls=["innerHTML"],Vs={key:2},Ss=m({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=L(),{hasSidebar:o}=O(),{currentLang:n}=R(),i=y(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),l=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),f=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,$)=>(a(),u("div",{class:M(["VPNavBarTitle",{"has-sidebar":r(o)}])},[d("a",{class:"title",href:i.value??r(fe)(r(n).link),rel:l.value,target:f.value},[c(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(X,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(a(),u("span",{key:1,innerHTML:r(t).siteTitle},null,8,Ls)):r(t).siteTitle===void 0?(a(),u("span",Vs,I(r(e).title),1)):h("",!0),c(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,Ps)],2))}}),Ts=g(Ss,[["__scopeId","data-v-9f43907a"]]),Ns={class:"items"},Ms={class:"title"},Is=m({__name:"VPNavBarTranslations",setup(s){const{theme:e}=L(),{localeLinks:t,currentLang:o}=R({correspondingLink:!0});return(n,i)=>r(t).length&&r(o).label?(a(),k(ke,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:p(()=>[d("div",Ns,[d("p",Ms,I(r(o).label),1),(a(!0),u(w,null,H(r(t),l=>(a(),k(te,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),ws=g(Is,[["__scopeId","data-v-acee064b"]]),As={class:"wrapper"},Cs={class:"container"},Hs={class:"title"},Bs={class:"content"},Es={class:"content-body"},Ds=m({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const e=s,{y:t}=Se(),{hasSidebar:o}=O(),{frontmatter:n}=L(),i=T({});return pe(()=>{i.value={"has-sidebar":o.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,f)=>(a(),u("div",{class:M(["VPNavBar",i.value])},[d("div",As,[d("div",Cs,[d("div",Hs,[_(Ts,null,{"nav-bar-title-before":p(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",Bs,[d("div",Es,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),_(gs,{class:"search"}),_(vs,{class:"menu"}),_(ws,{class:"translations"}),_($o,{class:"appearance"}),_(ys,{class:"social-links"}),_(ns,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),_(as,{class:"hamburger",active:l.isScreenOpen,onClick:f[0]||(f[0]=v=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),f[1]||(f[1]=d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1))],2))}}),Fs=g(Ds,[["__scopeId","data-v-9fd4d1dd"]]),Os={key:0,class:"VPNavScreenAppearance"},Gs={class:"text"},Us=m({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=L();return(o,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Os,[d("p",Gs,I(r(t).darkModeSwitchLabel||"Appearance"),1),_(me)])):h("",!0)}}),js=g(Us,[["__scopeId","data-v-a3e2920d"]]),zs=["innerHTML"],Ks=m({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=x("close-screen");return(t,o)=>(a(),k(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:p(()=>[d("span",{innerHTML:t.item.text},null,8,zs)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Ws=g(Ks,[["__scopeId","data-v-fa963d97"]]),qs=["innerHTML"],Rs=m({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=x("close-screen");return(t,o)=>(a(),k(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:p(()=>[d("span",{innerHTML:t.item.text},null,8,qs)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),He=g(Rs,[["__scopeId","data-v-e04f3e85"]]),Js={class:"VPNavScreenMenuGroupSection"},Xs={key:0,class:"title"},Ys=m({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",Js,[e.text?(a(),u("p",Xs,I(e.text),1)):h("",!0),(a(!0),u(w,null,H(e.items,o=>(a(),k(He,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Qs=g(Ys,[["__scopeId","data-v-f60dbfa7"]]),Zs=["aria-controls","aria-expanded"],xs=["innerHTML"],ea=["id"],ta={key:0,class:"item"},na={key:1,class:"item"},oa={key:2,class:"group"},sa=m({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=T(!1),o=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,l)=>(a(),u("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[d("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:n},[d("span",{class:"button-text",innerHTML:i.text},null,8,xs),l[0]||(l[0]=d("span",{class:"vpi-plus button-icon"},null,-1))],8,Zs),d("div",{id:o.value,class:"items"},[(a(!0),u(w,null,H(i.items,f=>(a(),u(w,{key:JSON.stringify(f)},["link"in f?(a(),u("div",ta,[_(He,{item:f},null,8,["item"])])):"component"in f?(a(),u("div",na,[(a(),k(E(f.component),U({ref_for:!0},f.props,{"screen-menu":""}),null,16))])):(a(),u("div",oa,[_(Qs,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,ea)],2))}}),aa=g(sa,[["__scopeId","data-v-d99bfeec"]]),ra={key:0,class:"VPNavScreenMenu"},ia=m({__name:"VPNavScreenMenu",setup(s){const{theme:e}=L();return(t,o)=>r(e).nav?(a(),u("nav",ra,[(a(!0),u(w,null,H(r(e).nav,n=>(a(),u(w,{key:JSON.stringify(n)},["link"in n?(a(),k(Ws,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(E(n.component),U({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),k(aa,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),la=m({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>r(e).socialLinks?(a(),k(be,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),ca={class:"list"},ua=m({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=R({correspondingLink:!0}),o=T(!1);function n(){o.value=!o.value}return(i,l)=>r(e).length&&r(t).label?(a(),u("div",{key:0,class:M(["VPNavScreenTranslations",{open:o.value}])},[d("button",{class:"title",onClick:n},[l[0]||(l[0]=d("span",{class:"vpi-languages icon lang"},null,-1)),z(" "+I(r(t).label)+" ",1),l[1]||(l[1]=d("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),d("ul",ca,[(a(!0),u(w,null,H(r(e),f=>(a(),u("li",{key:f.link,class:"item"},[_(D,{class:"link",href:f.link},{default:p(()=>[z(I(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),da=g(ua,[["__scopeId","data-v-516e4bc3"]]),va={class:"container"},pa=m({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=T(null),t=Te(ee?document.body:null);return(o,n)=>(a(),k(ue,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:p(()=>[o.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[d("div",va,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),_(ia,{class:"menu"}),_(da,{class:"translations"}),_(js,{class:"appearance"}),_(la,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),fa=g(pa,[["__scopeId","data-v-2dd6d0c7"]]),ha={key:0,class:"VPNav"},ma=m({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=uo(),{frontmatter:n}=L(),i=y(()=>n.value.navbar!==!1);return Ne("close-screen",t),Y(()=>{ee&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,f)=>i.value?(a(),u("header",ha,[_(Fs,{"is-screen-open":r(e),onToggleScreen:r(o)},{"nav-bar-title-before":p(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(fa,{open:r(e)},{"nav-screen-content-before":p(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),_a=g(ma,[["__scopeId","data-v-7ad780c2"]]),ka=["role","tabindex"],ba={key:1,class:"items"},ga=m({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:o,isLink:n,isActiveLink:i,hasActiveLink:l,hasChildren:f,toggle:v}=pt(y(()=>e.item)),$=y(()=>f.value?"section":"div"),V=y(()=>n.value?"a":"div"),b=y(()=>f.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>n.value?void 0:"button"),N=y(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":l.value}]);function A(S){"key"in S&&S.key!=="Enter"||!e.item.link&&v()}function C(){e.item.link&&v()}return(S,B)=>{const G=W("VPSidebarItem",!0);return a(),k(E($.value),{class:M(["VPSidebarItem",N.value])},{default:p(()=>[S.item.text?(a(),u("div",U({key:0,class:"item",role:P.value},Ke(S.item.items?{click:A,keydown:A}:{},!0),{tabindex:S.item.items&&0}),[B[1]||(B[1]=d("div",{class:"indicator"},null,-1)),S.item.link?(a(),k(D,{key:0,tag:V.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:p(()=>[(a(),k(E(b.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(E(b.value),{key:1,class:"text",innerHTML:S.item.text},null,8,["innerHTML"])),S.item.collapsed!=null&&S.item.items&&S.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:We(C,["enter"]),tabindex:"0"},B[0]||(B[0]=[d("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,ka)):h("",!0),S.item.items&&S.item.items.length?(a(),u("div",ba,[S.depth<5?(a(!0),u(w,{key:0},H(S.item.items,q=>(a(),k(G,{key:q.text,item:q,depth:S.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),$a=g(ga,[["__scopeId","data-v-edd2eed8"]]),ya=m({__name:"VPSidebarGroup",props:{items:{}},setup(s){const e=T(!0);let t=null;return j(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),qe(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,n)=>(a(!0),u(w,null,H(o.items,i=>(a(),u("div",{key:i.text,class:M(["group",{"no-transition":e.value}])},[_($a,{item:i,depth:0},null,8,["item"])],2))),128))}}),Pa=g(ya,[["__scopeId","data-v-51288d80"]]),La={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Va=m({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=O(),o=s,n=T(null),i=Te(ee?document.body:null);F([o,n],()=>{var f;o.open?(i.value=!0,(f=n.value)==null||f.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=T(0);return F(e,()=>{l.value+=1},{deep:!0}),(f,v)=>r(t)?(a(),u("aside",{key:0,class:M(["VPSidebar",{open:f.open}]),ref_key:"navEl",ref:n,onClick:v[0]||(v[0]=Re(()=>{},["stop"]))},[v[2]||(v[2]=d("div",{class:"curtain"},null,-1)),d("nav",La,[v[1]||(v[1]=d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(f.$slots,"sidebar-nav-before",{},void 0,!0),(a(),k(Pa,{items:r(e),key:l.value},null,8,["items"])),c(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),Sa=g(Va,[["__scopeId","data-v-42c4c606"]]),Ta=m({__name:"VPSkipLink",setup(s){const e=Z(),t=T();F(()=>e.path,()=>t.value.focus());function o({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const l=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",l)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",l),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(a(),u(w,null,[d("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),Na=g(Ta,[["__scopeId","data-v-c8291ffa"]]),Ma=m({__name:"Layout",setup(s){const{isOpen:e,open:t,close:o}=O(),n=Z();F(()=>n.path,o),vt(e,o);const{frontmatter:i}=L(),l=Je(),f=y(()=>!!l["home-hero-image"]);return Ne("hero-image-slot-exists",f),(v,$)=>{const V=W("Content");return r(i).layout!==!1?(a(),u("div",{key:0,class:M(["Layout",r(i).pageClass])},[c(v.$slots,"layout-top",{},void 0,!0),_(Na),_(xe,{class:"backdrop",show:r(e),onClick:r(o)},null,8,["show","onClick"]),_(_a,null,{"nav-bar-title-before":p(()=>[c(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[c(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[c(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":p(()=>[c(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[c(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(co,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),_(Sa,{open:r(e)},{"sidebar-nav-before":p(()=>[c(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":p(()=>[c(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(Rn,null,{"page-top":p(()=>[c(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[c(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":p(()=>[c(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":p(()=>[c(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":p(()=>[c(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[c(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[c(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[c(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":p(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[c(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[c(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":p(()=>[c(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[c(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":p(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(Zn),c(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(V,{key:1}))}}}),Ia=g(Ma,[["__scopeId","data-v-d8b57b2d"]]),$e={Layout:Ia,enhanceApp:({app:s})=>{s.component("Badge",Ye)}},Aa={extends:$e,Layout:()=>Xe($e.Layout,null,{}),enhanceApp({app:s,router:e,siteData:t}){}};export{Aa as R,ps as c,L as u}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.CZ0twZQc.js","assets/chunks/framework.CGQ59HuL.js"])))=>i.map(i=>d[i]); +import{d as m,o as a,c as u,r as c,n as M,a as z,t as I,b as k,w as p,e as h,T as ue,_ as g,u as Be,i as Ee,f as De,g as de,h as y,j as d,k as r,l as K,m as ae,p as T,q as F,s as Y,v as j,x as ve,y as pe,z as Fe,A as Oe,B as W,F as w,C as H,D as ye,E as Q,G as _,H as E,I as Pe,J as Z,K as U,L as x,M as Ge,N as Le,O as re,P as Ve,Q as Se,R as ee,S as Ue,U as je,V as ze,W as Te,X as Ne,Y as Ke,Z as We,$ as qe,a0 as Re,a1 as Je,a2 as Xe}from"./framework.CGQ59HuL.js";const Ye=m({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),u("span",{class:M(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[z(I(e.text),1)])],2))}}),Qe={key:0,class:"VPBackdrop"},Ze=m({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),k(ue,{name:"fade"},{default:p(()=>[e.show?(a(),u("div",Qe)):h("",!0)]),_:1}))}}),xe=g(Ze,[["__scopeId","data-v-54a304ca"]]),L=Be;function et(s,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(s,e):(s(),(o=!0)&&setTimeout(()=>o=!1,e))}}function ie(s){return/^\//.test(s)?s:`/${s}`}function fe(s){const{pathname:e,search:t,hash:o,protocol:n}=new URL(s,"http://a.com");if(Ee(s)||s.startsWith("#")||!n.startsWith("http")||!De(e))return s;const{site:i}=L(),l=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${o}`);return de(l)}function R({correspondingLink:s=!1}={}){const{site:e,localeIndex:t,page:o,theme:n,hash:i}=L(),l=y(()=>{var v,$;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:(($=e.value.locales[t.value])==null?void 0:$.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([v,$])=>l.value.label===$.label?[]:{text:$.label,link:tt($.link||(v==="root"?"/":`/${v}/`),n.value.i18nRouting!==!1&&s,o.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:l}}function tt(s,e,t,o){return e?s.replace(/\/$/,"")+ie(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):s}const nt={class:"NotFound"},ot={class:"code"},st={class:"title"},at={class:"quote"},rt={class:"action"},it=["href","aria-label"],lt=m({__name:"NotFound",setup(s){const{theme:e}=L(),{currentLang:t}=R();return(o,n)=>{var i,l,f,v,$;return a(),u("div",nt,[d("p",ot,I(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),d("h1",st,I(((l=r(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=d("div",{class:"divider"},null,-1)),d("blockquote",at,I(((f=r(e).notFound)==null?void 0:f.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",rt,[d("a",{class:"link",href:r(de)(r(t).link),"aria-label":((v=r(e).notFound)==null?void 0:v.linkLabel)??"go to home"},I((($=r(e).notFound)==null?void 0:$.linkText)??"Take me home"),9,it)])])}}}),ct=g(lt,[["__scopeId","data-v-6ff51ddd"]]);function Me(s,e){if(Array.isArray(s))return J(s);if(s==null)return[];e=ie(e);const t=Object.keys(s).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(ie(n))),o=t?s[t]:[];return Array.isArray(o)?J(o):J(o.items,o.base)}function ut(s){const e=[];let t=0;for(const o in s){const n=s[o];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function dt(s){const e=[];function t(o){for(const n of o)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(s),e}function le(s,e){return Array.isArray(e)?e.some(t=>le(s,t)):K(s,e.link)?!0:e.items?le(s,e.items):!1}function J(s,e){return[...s].map(t=>{const o={...t},n=o.base||e;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=J(o.items,n)),o})}function O(){const{frontmatter:s,page:e,theme:t}=L(),o=ae("(min-width: 960px)"),n=T(!1),i=y(()=>{const C=t.value.sidebar,S=e.value.relativePath;return C?Me(C,S):[]}),l=T(i.value);F(i,(C,S)=>{JSON.stringify(C)!==JSON.stringify(S)&&(l.value=i.value)});const f=y(()=>s.value.sidebar!==!1&&l.value.length>0&&s.value.layout!=="home"),v=y(()=>$?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),$=y(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),V=y(()=>f.value&&o.value),b=y(()=>f.value?ut(l.value):[]);function P(){n.value=!0}function N(){n.value=!1}function A(){n.value?N():P()}return{isOpen:n,sidebar:l,sidebarGroups:b,hasSidebar:f,hasAside:$,leftAside:v,isSidebarEnabled:V,open:P,close:N,toggle:A}}function vt(s,e){let t;Y(()=>{t=s.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",o)}),ve(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function pt(s){const{page:e,hash:t}=L(),o=T(!1),n=y(()=>s.value.collapsed!=null),i=y(()=>!!s.value.link),l=T(!1),f=()=>{l.value=K(e.value.relativePath,s.value.link)};F([e,s,t],f),j(f);const v=y(()=>l.value?!0:s.value.items?le(e.value.relativePath,s.value.items):!1),$=y(()=>!!(s.value.items&&s.value.items.length));Y(()=>{o.value=!!(n.value&&s.value.collapsed)}),pe(()=>{(l.value||v.value)&&(o.value=!1)});function V(){n.value&&(o.value=!o.value)}return{collapsed:o,collapsible:n,isLink:i,isActiveLink:l,hasActiveLink:v,hasChildren:$,toggle:V}}function ft(){const{hasSidebar:s}=O(),e=ae("(min-width: 960px)"),t=ae("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const ce=[];function Ie(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function he(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:ht(t),link:"#"+t.id,level:o}});return mt(e,s)}function ht(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function mt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return bt(s,o,n)}function _t(s,e){const{isAsideEnabled:t}=ft(),o=et(i,100);let n=null;j(()=>{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Fe(()=>{l(location.hash)}),ve(()=>{window.removeEventListener("scroll",o)});function i(){if(!t.value)return;const f=window.scrollY,v=window.innerHeight,$=document.body.offsetHeight,V=Math.abs(f+v-$)<1,b=ce.map(({element:N,link:A})=>({link:A,top:kt(N)})).filter(({top:N})=>!Number.isNaN(N)).sort((N,A)=>N.top-A.top);if(!b.length){l(null);return}if(f<1){l(null);return}if(V){l(b[b.length-1].link);return}let P=null;for(const{link:N,top:A}of b){if(A>f+Oe()+4)break;P=N}l(P)}function l(f){n&&n.classList.remove("active"),f==null?n=null:n=s.value.querySelector(`a[href="${decodeURIComponent(f)}"]`);const v=n;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function kt(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}function bt(s,e,t){ce.length=0;const o=[],n=[];return s.forEach(i=>{const l={...i,children:[]};let f=n[n.length-1];for(;f&&f.level>=l.level;)n.pop(),f=n[n.length-1];if(l.element.classList.contains("ignore-header")||f&&"shouldIgnore"in f){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=W("VPDocOutlineItem",!0);return a(),u("ul",{class:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(w,null,H(t.headers,({children:i,link:l,title:f})=>(a(),u("li",null,[d("a",{class:"outline-link",href:l,onClick:e,title:f},I(f),9,gt),i!=null&&i.length?(a(),k(n,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),we=g($t,[["__scopeId","data-v-53c99d69"]]),yt={class:"content"},Pt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Lt=m({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=L(),o=ye([]);Q(()=>{o.value=he(e.value.outline??t.value.outline)});const n=T(),i=T();return _t(n,i),(l,f)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:M(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n},[d("div",yt,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",Pt,I(r(Ie)(r(t))),1),_(we,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),Vt=g(Lt,[["__scopeId","data-v-f610f197"]]),St={class:"VPDocAsideCarbonAds"},Tt=m({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,o)=>(a(),u("div",St,[_(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Nt={class:"VPDocAside"},Mt=m({__name:"VPDocAside",setup(s){const{theme:e}=L();return(t,o)=>(a(),u("div",Nt,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),_(Vt),c(t.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=d("div",{class:"spacer"},null,-1)),c(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(Tt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),It=g(Mt,[["__scopeId","data-v-cb998dce"]]);function wt(){const{theme:s,page:e}=L();return y(()=>{const{text:t="Edit this page",pattern:o=""}=s.value.editLink||{};let n;return typeof o=="function"?n=o(e.value):n=o.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function At(){const{page:s,theme:e,frontmatter:t}=L();return y(()=>{var $,V,b,P,N,A,C,S;const o=Me(e.value.sidebar,s.value.relativePath),n=dt(o),i=Ct(n,B=>B.link.replace(/[?#].*$/,"")),l=i.findIndex(B=>K(s.value.relativePath,B.link)),f=(($=e.value.docFooter)==null?void 0:$.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((V=e.value.docFooter)==null?void 0:V.next)===!1&&!t.value.next||t.value.next===!1;return{prev:f?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((b=i[l-1])==null?void 0:b.docFooterText)??((P=i[l-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((N=i[l-1])==null?void 0:N.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=i[l+1])==null?void 0:A.docFooterText)??((C=i[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((S=i[l+1])==null?void 0:S.link)}}})}function Ct(s,e){const t=new Set;return s.filter(o=>{const n=e(o);return t.has(n)?!1:t.add(n)})}const D=m({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.tag??(e.href?"a":"span")),o=y(()=>e.href&&Pe.test(e.href)||e.target==="_blank");return(n,i)=>(a(),k(E(t.value),{class:M(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?r(fe)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:p(()=>[c(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Ht={class:"VPLastUpdated"},Bt=["datetime"],Et=m({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,lang:o}=L(),n=y(()=>new Date(t.value.lastUpdated)),i=y(()=>n.value.toISOString()),l=T("");return j(()=>{Y(()=>{var f,v,$;l.value=new Intl.DateTimeFormat((v=(f=e.value.lastUpdated)==null?void 0:f.formatOptions)!=null&&v.forceLocale?o.value:void 0,(($=e.value.lastUpdated)==null?void 0:$.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(f,v)=>{var $;return a(),u("p",Ht,[z(I((($=r(e).lastUpdated)==null?void 0:$.text)||r(e).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:i.value},I(l.value),9,Bt)])}}}),Dt=g(Et,[["__scopeId","data-v-1bb0c8a8"]]),Ft={key:0,class:"VPDocFooter"},Ot={key:0,class:"edit-info"},Gt={key:0,class:"edit-link"},Ut={key:1,class:"last-updated"},jt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},zt={class:"pager"},Kt=["innerHTML"],Wt=["innerHTML"],qt={class:"pager"},Rt=["innerHTML"],Jt=["innerHTML"],Xt=m({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:o}=L(),n=wt(),i=At(),l=y(()=>e.value.editLink&&o.value.editLink!==!1),f=y(()=>t.value.lastUpdated),v=y(()=>l.value||f.value||i.value.prev||i.value.next);return($,V)=>{var b,P,N,A;return v.value?(a(),u("footer",Ft,[c($.$slots,"doc-footer-before",{},void 0,!0),l.value||f.value?(a(),u("div",Ot,[l.value?(a(),u("div",Gt,[_(D,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:p(()=>[V[0]||(V[0]=d("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),z(" "+I(r(n).text),1)]),_:1},8,["href"])])):h("",!0),f.value?(a(),u("div",Ut,[_(Dt)])):h("",!0)])):h("",!0),(b=r(i).prev)!=null&&b.link||(P=r(i).next)!=null&&P.link?(a(),u("nav",jt,[V[1]||(V[1]=d("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),d("div",zt,[(N=r(i).prev)!=null&&N.link?(a(),k(D,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:p(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,Kt),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,Wt)]}),_:1},8,["href"])):h("",!0)]),d("div",qt,[(A=r(i).next)!=null&&A.link?(a(),k(D,{key:0,class:"pager-link next",href:r(i).next.link},{default:p(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,Rt),d("span",{class:"title",innerHTML:r(i).next.text},null,8,Jt)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),Yt=g(Xt,[["__scopeId","data-v-1bcd8184"]]),Qt={class:"container"},Zt={class:"aside-container"},xt={class:"aside-content"},en={class:"content"},tn={class:"content-container"},nn={class:"main"},on=m({__name:"VPDoc",setup(s){const{theme:e}=L(),t=Z(),{hasSidebar:o,hasAside:n,leftAside:i}=O(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(f,v)=>{const $=W("Content");return a(),u("div",{class:M(["VPDoc",{"has-sidebar":r(o),"has-aside":r(n)}])},[c(f.$slots,"doc-top",{},void 0,!0),d("div",Qt,[r(n)?(a(),u("div",{key:0,class:M(["aside",{"left-aside":r(i)}])},[v[0]||(v[0]=d("div",{class:"aside-curtain"},null,-1)),d("div",Zt,[d("div",xt,[_(It,null,{"aside-top":p(()=>[c(f.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[c(f.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[c(f.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(f.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(f.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(f.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),d("div",en,[d("div",tn,[c(f.$slots,"doc-before",{},void 0,!0),d("main",nn,[_($,{class:M(["vp-doc",[l.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Yt,null,{"doc-footer-before":p(()=>[c(f.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(f.$slots,"doc-after",{},void 0,!0)])])]),c(f.$slots,"doc-bottom",{},void 0,!0)],2)}}}),sn=g(on,[["__scopeId","data-v-e6f2a212"]]),an=m({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.href&&Pe.test(e.href)),o=y(()=>e.tag||(e.href?"a":"button"));return(n,i)=>(a(),k(E(o.value),{class:M(["VPButton",[n.size,n.theme]]),href:n.href?r(fe)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:p(()=>[z(I(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),rn=g(an,[["__scopeId","data-v-93dc4167"]]),ln=["src","alt"],cn=m({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const o=W("VPImage",!0);return e.image?(a(),u(w,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",U({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(de)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,ln)):(a(),u(w,{key:1},[_(o,U({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),_(o,U({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),X=g(cn,[["__scopeId","data-v-ab19afbb"]]),un={class:"container"},dn={class:"main"},vn={key:0,class:"name"},pn=["innerHTML"],fn=["innerHTML"],hn=["innerHTML"],mn={key:0,class:"actions"},_n={key:0,class:"image"},kn={class:"image-container"},bn=m({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=x("hero-image-slot-exists");return(t,o)=>(a(),u("div",{class:M(["VPHero",{"has-image":t.image||r(e)}])},[d("div",un,[d("div",dn,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),u("h1",vn,[d("span",{innerHTML:t.name,class:"clip"},null,8,pn)])):h("",!0),t.text?(a(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,fn)):h("",!0),t.tagline?(a(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,hn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",mn,[(a(!0),u(w,null,H(t.actions,n=>(a(),u("div",{key:n.link,class:"action"},[_(rn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),u("div",_n,[d("div",kn,[o[0]||(o[0]=d("div",{class:"image-bg"},null,-1)),c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(X,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),gn=g(bn,[["__scopeId","data-v-b10c5094"]]),$n=m({__name:"VPHomeHero",setup(s){const{frontmatter:e}=L();return(t,o)=>r(e).hero?(a(),k(gn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":p(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":p(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":p(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":p(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":p(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),yn={class:"box"},Pn={key:0,class:"icon"},Ln=["innerHTML"],Vn=["innerHTML"],Sn=["innerHTML"],Tn={key:4,class:"link-text"},Nn={class:"link-text-value"},Mn=m({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),k(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:p(()=>[d("article",yn,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",Pn,[_(X,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(X,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Ln)):h("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,Vn),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Sn)):h("",!0),e.linkText?(a(),u("div",Tn,[d("p",Nn,[z(I(e.linkText)+" ",1),t[0]||(t[0]=d("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),In=g(Mn,[["__scopeId","data-v-bd37d1a2"]]),wn={key:0,class:"VPFeatures"},An={class:"container"},Cn={class:"items"},Hn=m({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=y(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(a(),u("div",wn,[d("div",An,[d("div",Cn,[(a(!0),u(w,null,H(o.features,i=>(a(),u("div",{key:i.title,class:M(["item",[t.value]])},[_(In,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Bn=g(Hn,[["__scopeId","data-v-b1eea84a"]]),En=m({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=L();return(t,o)=>r(e).features?(a(),k(Bn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),Dn=m({__name:"VPHomeContent",setup(s){const{width:e}=Ge({initialWidth:0,includeScrollbar:!1});return(t,o)=>(a(),u("div",{class:"vp-doc container",style:Le(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),Fn=g(Dn,[["__scopeId","data-v-c141a4bd"]]),On={class:"VPHome"},Gn=m({__name:"VPHome",setup(s){const{frontmatter:e}=L();return(t,o)=>{const n=W("Content");return a(),u("div",On,[c(t.$slots,"home-hero-before",{},void 0,!0),_($n,null,{"home-hero-info-before":p(()=>[c(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(t.$slots,"home-hero-after",{},void 0,!0),c(t.$slots,"home-features-before",{},void 0,!0),_(En),c(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),k(Fn,{key:0},{default:p(()=>[_(n)]),_:1})):(a(),k(n,{key:1}))])}}}),Un=g(Gn,[["__scopeId","data-v-07b1ad08"]]),jn={},zn={class:"VPPage"};function Kn(s,e){const t=W("Content");return a(),u("div",zn,[c(s.$slots,"page-top"),_(t),c(s.$slots,"page-bottom")])}const Wn=g(jn,[["render",Kn]]),qn=m({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=L(),{hasSidebar:o}=O();return(n,i)=>(a(),u("div",{class:M(["VPContent",{"has-sidebar":r(o),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?c(n.$slots,"not-found",{key:0},()=>[_(ct)],!0):r(t).layout==="page"?(a(),k(Wn,{key:1},{"page-top":p(()=>[c(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[c(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(Un,{key:2},{"home-hero-before":p(()=>[c(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":p(()=>[c(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[c(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[c(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[c(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(E(r(t).layout),{key:3})):(a(),k(sn,{key:4},{"doc-top":p(()=>[c(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[c(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":p(()=>[c(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[c(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[c(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":p(()=>[c(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":p(()=>[c(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":p(()=>[c(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Rn=g(qn,[["__scopeId","data-v-9a6c75ad"]]),Jn={class:"container"},Xn=["innerHTML"],Yn=["innerHTML"],Qn=m({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=O();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),u("footer",{key:0,class:M(["VPFooter",{"has-sidebar":r(o)}])},[d("div",Jn,[r(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,Xn)):h("",!0),r(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,Yn)):h("",!0)])],2)):h("",!0)}}),Zn=g(Qn,[["__scopeId","data-v-566314d4"]]);function xn(){const{theme:s,frontmatter:e}=L(),t=ye([]),o=y(()=>t.value.length>0);return Q(()=>{t.value=he(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:o}}const eo={class:"menu-text"},to={class:"header"},no={class:"outline"},oo=m({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=L(),o=T(!1),n=T(0),i=T(),l=T();function f(b){var P;(P=i.value)!=null&&P.contains(b.target)||(o.value=!1)}F(o,b=>{if(b){document.addEventListener("click",f);return}document.removeEventListener("click",f)}),re("Escape",()=>{o.value=!1}),Q(()=>{o.value=!1});function v(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function $(b){b.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Ve(()=>{o.value=!1}))}function V(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,P)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:Le({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[b.headers.length>0?(a(),u("button",{key:0,onClick:v,class:M({open:o.value})},[d("span",eo,I(r(Ie)(r(t))),1),P[0]||(P[0]=d("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),u("button",{key:1,onClick:V},I(r(t).returnToTopLabel||"Return to top"),1)),_(ue,{name:"flyout"},{default:p(()=>[o.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:$},[d("div",to,[d("a",{class:"top-link",href:"#",onClick:V},I(r(t).returnToTopLabel||"Return to top"),1)]),d("div",no,[_(we,{headers:b.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),so=g(oo,[["__scopeId","data-v-883964e0"]]),ao={class:"container"},ro=["aria-expanded"],io={class:"menu-text"},lo=m({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=L(),{hasSidebar:o}=O(),{headers:n}=xn(),{y:i}=Se(),l=T(0);j(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Q(()=>{n.value=he(t.value.outline??e.value.outline)});const f=y(()=>n.value.length===0),v=y(()=>f.value&&!o.value),$=y(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:f.value,fixed:v.value}));return(V,b)=>r(t).layout!=="home"&&(!v.value||r(i)>=l.value)?(a(),u("div",{key:0,class:M($.value)},[d("div",ao,[r(o)?(a(),u("button",{key:0,class:"menu","aria-expanded":V.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=P=>V.$emit("open-menu"))},[b[1]||(b[1]=d("span",{class:"vpi-align-left menu-icon"},null,-1)),d("span",io,I(r(e).sidebarMenuLabel||"Menu"),1)],8,ro)):h("",!0),_(so,{headers:r(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),co=g(lo,[["__scopeId","data-v-2488c25a"]]);function uo(){const s=T(!1);function e(){s.value=!0,window.addEventListener("resize",n)}function t(){s.value=!1,window.removeEventListener("resize",n)}function o(){s.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=Z();return F(()=>i.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:o}}const vo={},po={class:"VPSwitch",type:"button",role:"switch"},fo={class:"check"},ho={key:0,class:"icon"};function mo(s,e){return a(),u("button",po,[d("span",fo,[s.$slots.default?(a(),u("span",ho,[c(s.$slots,"default",{},void 0,!0)])):h("",!0)])])}const _o=g(vo,[["render",mo],["__scopeId","data-v-b4ccac88"]]),ko=m({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=L(),o=x("toggle-appearance",()=>{e.value=!e.value}),n=T("");return pe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(a(),k(_o,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(o)},{default:p(()=>l[0]||(l[0]=[d("span",{class:"vpi-sun sun"},null,-1),d("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),me=g(ko,[["__scopeId","data-v-be9742d9"]]),bo={key:0,class:"VPNavBarAppearance"},go=m({__name:"VPNavBarAppearance",setup(s){const{site:e}=L();return(t,o)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",bo,[_(me)])):h("",!0)}}),$o=g(go,[["__scopeId","data-v-3f90c1a5"]]),_e=T();let Ae=!1,se=0;function yo(s){const e=T(!1);if(ee){!Ae&&Po(),se++;const t=F(_e,o=>{var n,i,l;o===s.el.value||(n=s.el.value)!=null&&n.contains(o)?(e.value=!0,(i=s.onFocus)==null||i.call(s)):(e.value=!1,(l=s.onBlur)==null||l.call(s))});ve(()=>{t(),se--,se||Lo()})}return Ue(e)}function Po(){document.addEventListener("focusin",Ce),Ae=!0,_e.value=document.activeElement}function Lo(){document.removeEventListener("focusin",Ce)}function Ce(){_e.value=document.activeElement}const Vo={class:"VPMenuLink"},So=["innerHTML"],To=m({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),u("div",Vo,[_(D,{class:M({active:r(K)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:p(()=>[d("span",{innerHTML:t.item.text},null,8,So)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),te=g(To,[["__scopeId","data-v-7eeeb2dc"]]),No={class:"VPMenuGroup"},Mo={key:0,class:"title"},Io=m({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",No,[e.text?(a(),u("p",Mo,I(e.text),1)):h("",!0),(a(!0),u(w,null,H(e.items,o=>(a(),u(w,null,["link"in o?(a(),k(te,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),wo=g(Io,[["__scopeId","data-v-a6b0397c"]]),Ao={class:"VPMenu"},Co={key:0,class:"items"},Ho=m({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),u("div",Ao,[e.items?(a(),u("div",Co,[(a(!0),u(w,null,H(e.items,o=>(a(),u(w,{key:JSON.stringify(o)},["link"in o?(a(),k(te,{key:0,item:o},null,8,["item"])):"component"in o?(a(),k(E(o.component),U({key:1,ref_for:!0},o.props),null,16)):(a(),k(wo,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),Bo=g(Ho,[["__scopeId","data-v-20ed86d6"]]),Eo=["aria-expanded","aria-label"],Do={key:0,class:"text"},Fo=["innerHTML"],Oo={key:1,class:"vpi-more-horizontal icon"},Go={class:"menu"},Uo=m({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=T(!1),t=T();yo({el:t,onBlur:o});function o(){e.value=!1}return(n,i)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=l=>e.value=!0),onMouseleave:i[2]||(i[2]=l=>e.value=!1)},[d("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=l=>e.value=!e.value)},[n.button||n.icon?(a(),u("span",Do,[n.icon?(a(),u("span",{key:0,class:M([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(a(),u("span",{key:1,innerHTML:n.button},null,8,Fo)):h("",!0),i[3]||(i[3]=d("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),u("span",Oo))],8,Eo),d("div",Go,[_(Bo,{items:n.items},{default:p(()=>[c(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ke=g(Uo,[["__scopeId","data-v-bfe7971f"]]),jo=["href","aria-label","innerHTML"],zo=m({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=T();j(async()=>{var i;await Ve();const n=(i=t.value)==null?void 0:i.children[0];n instanceof HTMLElement&&n.className.startsWith("vpi-social-")&&(getComputedStyle(n).maskImage||getComputedStyle(n).webkitMaskImage)==="none"&&n.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${e.icon}.svg')`)});const o=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,i)=>(a(),u("a",{ref_key:"el",ref:t,class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:o.value},null,8,jo))}}),Ko=g(zo,[["__scopeId","data-v-60a9a2d3"]]),Wo={class:"VPSocialLinks"},qo=m({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),u("div",Wo,[(a(!0),u(w,null,H(e.links,({link:o,icon:n,ariaLabel:i})=>(a(),k(Ko,{key:o,icon:n,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),be=g(qo,[["__scopeId","data-v-e71e869c"]]),Ro={key:0,class:"group translations"},Jo={class:"trans-title"},Xo={key:1,class:"group"},Yo={class:"item appearance"},Qo={class:"label"},Zo={class:"appearance-action"},xo={key:2,class:"group"},es={class:"item social-links"},ts=m({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=L(),{localeLinks:o,currentLang:n}=R({correspondingLink:!0}),i=y(()=>o.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,f)=>i.value?(a(),k(ke,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:p(()=>[r(o).length&&r(n).label?(a(),u("div",Ro,[d("p",Jo,I(r(n).label),1),(a(!0),u(w,null,H(r(o),v=>(a(),k(te,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Xo,[d("div",Yo,[d("p",Qo,I(r(t).darkModeSwitchLabel||"Appearance"),1),d("div",Zo,[_(me)])])])):h("",!0),r(t).socialLinks?(a(),u("div",xo,[d("div",es,[_(be,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),ns=g(ts,[["__scopeId","data-v-f953d92f"]]),os=["aria-expanded"],ss=m({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),u("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},t[1]||(t[1]=[d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)]),10,os))}}),as=g(ss,[["__scopeId","data-v-6bee1efd"]]),rs=["innerHTML"],is=m({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=L();return(t,o)=>(a(),k(D,{class:M({VPNavBarMenuLink:!0,active:r(K)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:p(()=>[d("span",{innerHTML:t.item.text},null,8,rs)]),_:1},8,["class","href","target","rel","no-icon"]))}}),ls=g(is,[["__scopeId","data-v-815115f5"]]),cs=m({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=L(),o=i=>"component"in i?!1:"link"in i?K(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(o),n=y(()=>o(e.item));return(i,l)=>(a(),k(ke,{class:M({VPNavBarMenuGroup:!0,active:r(K)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),us={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},ds=m({__name:"VPNavBarMenu",setup(s){const{theme:e}=L();return(t,o)=>r(e).nav?(a(),u("nav",us,[o[0]||(o[0]=d("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),u(w,null,H(r(e).nav,n=>(a(),u(w,{key:JSON.stringify(n)},["link"in n?(a(),k(ls,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(E(n.component),U({key:1,ref_for:!0},n.props),null,16)):(a(),k(cs,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),vs=g(ds,[["__scopeId","data-v-afb2845e"]]);function ps(s){const{localeIndex:e,theme:t}=L();function o(n){var A,C,S;const i=n.split("."),l=(A=t.value.search)==null?void 0:A.options,f=l&&typeof l=="object",v=f&&((S=(C=l.locales)==null?void 0:C[e.value])==null?void 0:S.translations)||null,$=f&&l.translations||null;let V=v,b=$,P=s;const N=i.pop();for(const B of i){let G=null;const q=P==null?void 0:P[B];q&&(G=P=q);const ne=b==null?void 0:b[B];ne&&(G=b=ne);const oe=V==null?void 0:V[B];oe&&(G=V=oe),q||(P=G),ne||(b=G),oe||(V=G)}return(V==null?void 0:V[N])??(b==null?void 0:b[N])??(P==null?void 0:P[N])??""}return o}const fs=["aria-label"],hs={class:"DocSearch-Button-Container"},ms={class:"DocSearch-Button-Placeholder"},ge=m({__name:"VPNavBarSearchButton",setup(s){const t=ps({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[d("span",hs,[n[0]||(n[0]=d("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),d("span",ms,I(r(t)("button.buttonText")),1)]),n[1]||(n[1]=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,fs))}}),_s={class:"VPNavBarSearch"},ks={id:"local-search"},bs={key:1,id:"docsearch"},gs=m({__name:"VPNavBarSearch",setup(s){const e=je(()=>ze(()=>import("./VPLocalSearchBox.CZ0twZQc.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:o}=L(),n=T(!1),i=T(!1);j(()=>{});function l(){n.value||(n.value=!0,setTimeout(f,16))}function f(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||f()},16)}function v(b){const P=b.target,N=P.tagName;return P.isContentEditable||N==="INPUT"||N==="SELECT"||N==="TEXTAREA"}const $=T(!1);re("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),$.value=!0)}),re("/",b=>{v(b)||(b.preventDefault(),$.value=!0)});const V="local";return(b,P)=>{var N;return a(),u("div",_s,[r(V)==="local"?(a(),u(w,{key:0},[$.value?(a(),k(r(e),{key:0,onClose:P[0]||(P[0]=A=>$.value=!1)})):h("",!0),d("div",ks,[_(ge,{onClick:P[1]||(P[1]=A=>$.value=!0)})])],64)):r(V)==="algolia"?(a(),u(w,{key:1},[n.value?(a(),k(r(t),{key:0,algolia:((N=r(o).search)==null?void 0:N.options)??r(o).algolia,onVnodeBeforeMount:P[2]||(P[2]=A=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(a(),u("div",bs,[_(ge,{onClick:l})]))],64)):h("",!0)])}}}),$s=m({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>r(e).socialLinks?(a(),k(be,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),ys=g($s,[["__scopeId","data-v-ef6192dc"]]),Ps=["href","rel","target"],Ls=["innerHTML"],Vs={key:2},Ss=m({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=L(),{hasSidebar:o}=O(),{currentLang:n}=R(),i=y(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),l=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),f=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,$)=>(a(),u("div",{class:M(["VPNavBarTitle",{"has-sidebar":r(o)}])},[d("a",{class:"title",href:i.value??r(fe)(r(n).link),rel:l.value,target:f.value},[c(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(X,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(a(),u("span",{key:1,innerHTML:r(t).siteTitle},null,8,Ls)):r(t).siteTitle===void 0?(a(),u("span",Vs,I(r(e).title),1)):h("",!0),c(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,Ps)],2))}}),Ts=g(Ss,[["__scopeId","data-v-9f43907a"]]),Ns={class:"items"},Ms={class:"title"},Is=m({__name:"VPNavBarTranslations",setup(s){const{theme:e}=L(),{localeLinks:t,currentLang:o}=R({correspondingLink:!0});return(n,i)=>r(t).length&&r(o).label?(a(),k(ke,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:p(()=>[d("div",Ns,[d("p",Ms,I(r(o).label),1),(a(!0),u(w,null,H(r(t),l=>(a(),k(te,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),ws=g(Is,[["__scopeId","data-v-acee064b"]]),As={class:"wrapper"},Cs={class:"container"},Hs={class:"title"},Bs={class:"content"},Es={class:"content-body"},Ds=m({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const e=s,{y:t}=Se(),{hasSidebar:o}=O(),{frontmatter:n}=L(),i=T({});return pe(()=>{i.value={"has-sidebar":o.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,f)=>(a(),u("div",{class:M(["VPNavBar",i.value])},[d("div",As,[d("div",Cs,[d("div",Hs,[_(Ts,null,{"nav-bar-title-before":p(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",Bs,[d("div",Es,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),_(gs,{class:"search"}),_(vs,{class:"menu"}),_(ws,{class:"translations"}),_($o,{class:"appearance"}),_(ys,{class:"social-links"}),_(ns,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),_(as,{class:"hamburger",active:l.isScreenOpen,onClick:f[0]||(f[0]=v=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),f[1]||(f[1]=d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1))],2))}}),Fs=g(Ds,[["__scopeId","data-v-9fd4d1dd"]]),Os={key:0,class:"VPNavScreenAppearance"},Gs={class:"text"},Us=m({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=L();return(o,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Os,[d("p",Gs,I(r(t).darkModeSwitchLabel||"Appearance"),1),_(me)])):h("",!0)}}),js=g(Us,[["__scopeId","data-v-a3e2920d"]]),zs=["innerHTML"],Ks=m({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=x("close-screen");return(t,o)=>(a(),k(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:p(()=>[d("span",{innerHTML:t.item.text},null,8,zs)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Ws=g(Ks,[["__scopeId","data-v-fa963d97"]]),qs=["innerHTML"],Rs=m({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=x("close-screen");return(t,o)=>(a(),k(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:p(()=>[d("span",{innerHTML:t.item.text},null,8,qs)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),He=g(Rs,[["__scopeId","data-v-e04f3e85"]]),Js={class:"VPNavScreenMenuGroupSection"},Xs={key:0,class:"title"},Ys=m({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",Js,[e.text?(a(),u("p",Xs,I(e.text),1)):h("",!0),(a(!0),u(w,null,H(e.items,o=>(a(),k(He,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Qs=g(Ys,[["__scopeId","data-v-f60dbfa7"]]),Zs=["aria-controls","aria-expanded"],xs=["innerHTML"],ea=["id"],ta={key:0,class:"item"},na={key:1,class:"item"},oa={key:2,class:"group"},sa=m({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=T(!1),o=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,l)=>(a(),u("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[d("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:n},[d("span",{class:"button-text",innerHTML:i.text},null,8,xs),l[0]||(l[0]=d("span",{class:"vpi-plus button-icon"},null,-1))],8,Zs),d("div",{id:o.value,class:"items"},[(a(!0),u(w,null,H(i.items,f=>(a(),u(w,{key:JSON.stringify(f)},["link"in f?(a(),u("div",ta,[_(He,{item:f},null,8,["item"])])):"component"in f?(a(),u("div",na,[(a(),k(E(f.component),U({ref_for:!0},f.props,{"screen-menu":""}),null,16))])):(a(),u("div",oa,[_(Qs,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,ea)],2))}}),aa=g(sa,[["__scopeId","data-v-d99bfeec"]]),ra={key:0,class:"VPNavScreenMenu"},ia=m({__name:"VPNavScreenMenu",setup(s){const{theme:e}=L();return(t,o)=>r(e).nav?(a(),u("nav",ra,[(a(!0),u(w,null,H(r(e).nav,n=>(a(),u(w,{key:JSON.stringify(n)},["link"in n?(a(),k(Ws,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(E(n.component),U({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),k(aa,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),la=m({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=L();return(t,o)=>r(e).socialLinks?(a(),k(be,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),ca={class:"list"},ua=m({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=R({correspondingLink:!0}),o=T(!1);function n(){o.value=!o.value}return(i,l)=>r(e).length&&r(t).label?(a(),u("div",{key:0,class:M(["VPNavScreenTranslations",{open:o.value}])},[d("button",{class:"title",onClick:n},[l[0]||(l[0]=d("span",{class:"vpi-languages icon lang"},null,-1)),z(" "+I(r(t).label)+" ",1),l[1]||(l[1]=d("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),d("ul",ca,[(a(!0),u(w,null,H(r(e),f=>(a(),u("li",{key:f.link,class:"item"},[_(D,{class:"link",href:f.link},{default:p(()=>[z(I(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),da=g(ua,[["__scopeId","data-v-516e4bc3"]]),va={class:"container"},pa=m({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=T(null),t=Te(ee?document.body:null);return(o,n)=>(a(),k(ue,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:p(()=>[o.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[d("div",va,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),_(ia,{class:"menu"}),_(da,{class:"translations"}),_(js,{class:"appearance"}),_(la,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),fa=g(pa,[["__scopeId","data-v-2dd6d0c7"]]),ha={key:0,class:"VPNav"},ma=m({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=uo(),{frontmatter:n}=L(),i=y(()=>n.value.navbar!==!1);return Ne("close-screen",t),Y(()=>{ee&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,f)=>i.value?(a(),u("header",ha,[_(Fs,{"is-screen-open":r(e),onToggleScreen:r(o)},{"nav-bar-title-before":p(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(fa,{open:r(e)},{"nav-screen-content-before":p(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),_a=g(ma,[["__scopeId","data-v-7ad780c2"]]),ka=["role","tabindex"],ba={key:1,class:"items"},ga=m({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:o,isLink:n,isActiveLink:i,hasActiveLink:l,hasChildren:f,toggle:v}=pt(y(()=>e.item)),$=y(()=>f.value?"section":"div"),V=y(()=>n.value?"a":"div"),b=y(()=>f.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>n.value?void 0:"button"),N=y(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":l.value}]);function A(S){"key"in S&&S.key!=="Enter"||!e.item.link&&v()}function C(){e.item.link&&v()}return(S,B)=>{const G=W("VPSidebarItem",!0);return a(),k(E($.value),{class:M(["VPSidebarItem",N.value])},{default:p(()=>[S.item.text?(a(),u("div",U({key:0,class:"item",role:P.value},Ke(S.item.items?{click:A,keydown:A}:{},!0),{tabindex:S.item.items&&0}),[B[1]||(B[1]=d("div",{class:"indicator"},null,-1)),S.item.link?(a(),k(D,{key:0,tag:V.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:p(()=>[(a(),k(E(b.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(E(b.value),{key:1,class:"text",innerHTML:S.item.text},null,8,["innerHTML"])),S.item.collapsed!=null&&S.item.items&&S.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:We(C,["enter"]),tabindex:"0"},B[0]||(B[0]=[d("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,ka)):h("",!0),S.item.items&&S.item.items.length?(a(),u("div",ba,[S.depth<5?(a(!0),u(w,{key:0},H(S.item.items,q=>(a(),k(G,{key:q.text,item:q,depth:S.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),$a=g(ga,[["__scopeId","data-v-edd2eed8"]]),ya=m({__name:"VPSidebarGroup",props:{items:{}},setup(s){const e=T(!0);let t=null;return j(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),qe(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,n)=>(a(!0),u(w,null,H(o.items,i=>(a(),u("div",{key:i.text,class:M(["group",{"no-transition":e.value}])},[_($a,{item:i,depth:0},null,8,["item"])],2))),128))}}),Pa=g(ya,[["__scopeId","data-v-51288d80"]]),La={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Va=m({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=O(),o=s,n=T(null),i=Te(ee?document.body:null);F([o,n],()=>{var f;o.open?(i.value=!0,(f=n.value)==null||f.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=T(0);return F(e,()=>{l.value+=1},{deep:!0}),(f,v)=>r(t)?(a(),u("aside",{key:0,class:M(["VPSidebar",{open:f.open}]),ref_key:"navEl",ref:n,onClick:v[0]||(v[0]=Re(()=>{},["stop"]))},[v[2]||(v[2]=d("div",{class:"curtain"},null,-1)),d("nav",La,[v[1]||(v[1]=d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(f.$slots,"sidebar-nav-before",{},void 0,!0),(a(),k(Pa,{items:r(e),key:l.value},null,8,["items"])),c(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),Sa=g(Va,[["__scopeId","data-v-42c4c606"]]),Ta=m({__name:"VPSkipLink",setup(s){const e=Z(),t=T();F(()=>e.path,()=>t.value.focus());function o({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const l=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",l)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",l),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(a(),u(w,null,[d("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),Na=g(Ta,[["__scopeId","data-v-c8291ffa"]]),Ma=m({__name:"Layout",setup(s){const{isOpen:e,open:t,close:o}=O(),n=Z();F(()=>n.path,o),vt(e,o);const{frontmatter:i}=L(),l=Je(),f=y(()=>!!l["home-hero-image"]);return Ne("hero-image-slot-exists",f),(v,$)=>{const V=W("Content");return r(i).layout!==!1?(a(),u("div",{key:0,class:M(["Layout",r(i).pageClass])},[c(v.$slots,"layout-top",{},void 0,!0),_(Na),_(xe,{class:"backdrop",show:r(e),onClick:r(o)},null,8,["show","onClick"]),_(_a,null,{"nav-bar-title-before":p(()=>[c(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[c(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[c(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":p(()=>[c(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[c(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(co,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),_(Sa,{open:r(e)},{"sidebar-nav-before":p(()=>[c(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":p(()=>[c(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(Rn,null,{"page-top":p(()=>[c(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[c(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":p(()=>[c(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":p(()=>[c(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":p(()=>[c(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[c(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[c(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[c(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":p(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[c(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[c(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":p(()=>[c(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[c(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":p(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(Zn),c(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(V,{key:1}))}}}),Ia=g(Ma,[["__scopeId","data-v-d8b57b2d"]]),$e={Layout:Ia,enhanceApp:({app:s})=>{s.component("Badge",Ye)}},Aa={extends:$e,Layout:()=>Xe($e.Layout,null,{}),enhanceApp({app:s,router:e,siteData:t}){}};export{Aa as R,ps as c,L as u}; diff --git a/assets/chunks/timeline-definition-3ZMEY6HS.BmDouIwN.js b/assets/chunks/timeline-definition-3ZMEY6HS.DEjfNkEJ.js similarity index 99% rename from assets/chunks/timeline-definition-3ZMEY6HS.BmDouIwN.js rename to assets/chunks/timeline-definition-3ZMEY6HS.DEjfNkEJ.js index aca737760..c79b4a125 100644 --- a/assets/chunks/timeline-definition-3ZMEY6HS.BmDouIwN.js +++ b/assets/chunks/timeline-definition-3ZMEY6HS.DEjfNkEJ.js @@ -1,4 +1,4 @@ -import{_ as s,aj as xt,ak as kt,v as vt,j as q,d as _t,l as T,a8 as bt,al as wt,am as St,an as Et}from"../app.B4W5LDy6.js";import{d as nt}from"./arc.CiTvs1Z-.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";var X=function(){var n=s(function(f,i,a,d){for(a=a||{},d=f.length;d--;a[f[d]]=i);return a},"o"),t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],l=[1,10],r=[1,11],h=[1,12],c=[1,13],g=[1,16],m=[1,17],p={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:s(function(i,a,d,u,y,o,S){var k=o.length-1;switch(y){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.getCommonDb().setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.getCommonDb().setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 15:u.addTask(o[k],0,""),this.$=o[k];break;case 16:u.addEvent(o[k].substr(2)),this.$=o[k];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:l,14:r,16:h,17:c,18:14,19:15,20:g,21:m},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:l,14:r,16:h,17:c,18:14,19:15,20:g,21:m},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:s(function(i,a){if(a.recoverable)this.trace(i);else{var d=new Error(i);throw d.hash=a,d}},"parseError"),parse:s(function(i){var a=this,d=[0],u=[],y=[null],o=[],S=this.table,k="",M=0,P=0,B=2,J=1,O=o.slice.call(arguments,1),v=Object.create(this.lexer),E={yy:{}};for(var b in this.yy)Object.prototype.hasOwnProperty.call(this.yy,b)&&(E.yy[b]=this.yy[b]);v.setInput(i,E.yy),E.yy.lexer=v,E.yy.parser=this,typeof v.yylloc>"u"&&(v.yylloc={});var L=v.yylloc;o.push(L);var A=v.options&&v.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function R(I){d.length=d.length-2*I,y.length=y.length-I,o.length=o.length-I}s(R,"popStack");function F(){var I;return I=u.pop()||v.lex()||J,typeof I!="number"&&(I instanceof Array&&(u=I,I=u.pop()),I=a.symbols_[I]||I),I}s(F,"lex");for(var w,C,N,K,z={},j,$,et,G;;){if(C=d[d.length-1],this.defaultActions[C]?N=this.defaultActions[C]:((w===null||typeof w>"u")&&(w=F()),N=S[C]&&S[C][w]),typeof N>"u"||!N.length||!N[0]){var Q="";G=[];for(j in S[C])this.terminals_[j]&&j>B&&G.push("'"+this.terminals_[j]+"'");v.showPosition?Q="Parse error on line "+(M+1)+`: +import{_ as s,aj as xt,ak as kt,v as vt,j as q,d as _t,l as T,a8 as bt,al as wt,am as St,an as Et}from"../app.XeY7gsc2.js";import{d as nt}from"./arc.DDOeaZOx.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";var X=function(){var n=s(function(f,i,a,d){for(a=a||{},d=f.length;d--;a[f[d]]=i);return a},"o"),t=[6,8,10,11,12,14,16,17,20,21],e=[1,9],l=[1,10],r=[1,11],h=[1,12],c=[1,13],g=[1,16],m=[1,17],p={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:s(function(i,a,d,u,y,o,S){var k=o.length-1;switch(y){case 1:return o[k-1];case 2:this.$=[];break;case 3:o[k-1].push(o[k]),this.$=o[k-1];break;case 4:case 5:this.$=o[k];break;case 6:case 7:this.$=[];break;case 8:u.getCommonDb().setDiagramTitle(o[k].substr(6)),this.$=o[k].substr(6);break;case 9:this.$=o[k].trim(),u.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=o[k].trim(),u.getCommonDb().setAccDescription(this.$);break;case 12:u.addSection(o[k].substr(8)),this.$=o[k].substr(8);break;case 15:u.addTask(o[k],0,""),this.$=o[k];break;case 16:u.addEvent(o[k].substr(2)),this.$=o[k];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},n(t,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:e,12:l,14:r,16:h,17:c,18:14,19:15,20:g,21:m},n(t,[2,7],{1:[2,1]}),n(t,[2,3]),{9:18,11:e,12:l,14:r,16:h,17:c,18:14,19:15,20:g,21:m},n(t,[2,5]),n(t,[2,6]),n(t,[2,8]),{13:[1,19]},{15:[1,20]},n(t,[2,11]),n(t,[2,12]),n(t,[2,13]),n(t,[2,14]),n(t,[2,15]),n(t,[2,16]),n(t,[2,4]),n(t,[2,9]),n(t,[2,10])],defaultActions:{},parseError:s(function(i,a){if(a.recoverable)this.trace(i);else{var d=new Error(i);throw d.hash=a,d}},"parseError"),parse:s(function(i){var a=this,d=[0],u=[],y=[null],o=[],S=this.table,k="",M=0,P=0,B=2,J=1,O=o.slice.call(arguments,1),v=Object.create(this.lexer),E={yy:{}};for(var b in this.yy)Object.prototype.hasOwnProperty.call(this.yy,b)&&(E.yy[b]=this.yy[b]);v.setInput(i,E.yy),E.yy.lexer=v,E.yy.parser=this,typeof v.yylloc>"u"&&(v.yylloc={});var L=v.yylloc;o.push(L);var A=v.options&&v.options.ranges;typeof E.yy.parseError=="function"?this.parseError=E.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function R(I){d.length=d.length-2*I,y.length=y.length-I,o.length=o.length-I}s(R,"popStack");function F(){var I;return I=u.pop()||v.lex()||J,typeof I!="number"&&(I instanceof Array&&(u=I,I=u.pop()),I=a.symbols_[I]||I),I}s(F,"lex");for(var w,C,N,K,z={},j,$,et,G;;){if(C=d[d.length-1],this.defaultActions[C]?N=this.defaultActions[C]:((w===null||typeof w>"u")&&(w=F()),N=S[C]&&S[C][w]),typeof N>"u"||!N.length||!N[0]){var Q="";G=[];for(j in S[C])this.terminals_[j]&&j>B&&G.push("'"+this.terminals_[j]+"'");v.showPosition?Q="Parse error on line "+(M+1)+`: `+v.showPosition()+` Expecting `+G.join(", ")+", got '"+(this.terminals_[w]||w)+"'":Q="Parse error on line "+(M+1)+": Unexpected "+(w==J?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(Q,{text:v.match,token:this.terminals_[w]||w,line:v.yylineno,loc:L,expected:G})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+C+", token: "+w);switch(N[0]){case 1:d.push(w),y.push(v.yytext),o.push(v.yylloc),d.push(N[1]),w=null,P=v.yyleng,k=v.yytext,M=v.yylineno,L=v.yylloc;break;case 2:if($=this.productions_[N[1]][1],z.$=y[y.length-$],z._$={first_line:o[o.length-($||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-($||1)].first_column,last_column:o[o.length-1].last_column},A&&(z._$.range=[o[o.length-($||1)].range[0],o[o.length-1].range[1]]),K=this.performAction.apply(z,[k,P,M,E.yy,N[1],y,o].concat(O)),typeof K<"u")return K;$&&(d=d.slice(0,-1*$*2),y=y.slice(0,-1*$),o=o.slice(0,-1*$)),d.push(this.productions_[N[1]][0]),y.push(z.$),o.push(z._$),et=S[d[d.length-2]][d[d.length-1]],d.push(et);break;case 3:return!0}}return!0},"parse")},x=function(){var f={EOF:1,parseError:s(function(a,d){if(this.yy.parser)this.yy.parser.parseError(a,d);else throw new Error(a)},"parseError"),setInput:s(function(i,a){return this.yy=a||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var a=i.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:s(function(i){var a=i.length,d=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a),this.offset-=a;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var y=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===u.length?this.yylloc.first_column:0)+u[u.length-d.length].length-d[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-a]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(i){this.unput(this.match.slice(i))},"less"),pastInput:s(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var i=this.pastInput(),a=new Array(i.length+1).join("-");return i+this.upcomingInput()+` diff --git a/assets/chunks/xychartDiagram-KECQ2H5Q.DeKAz1mp.js b/assets/chunks/xychartDiagram-KECQ2H5Q.DJXUFkUc.js similarity index 99% rename from assets/chunks/xychartDiagram-KECQ2H5Q.DeKAz1mp.js rename to assets/chunks/xychartDiagram-KECQ2H5Q.DJXUFkUc.js index c4c93ec68..43b5b82fa 100644 --- a/assets/chunks/xychartDiagram-KECQ2H5Q.DeKAz1mp.js +++ b/assets/chunks/xychartDiagram-KECQ2H5Q.DJXUFkUc.js @@ -1,4 +1,4 @@ -import{_ as a,aF as ui,l as Ft,a0 as Bt,$ as gi,E as At,D as Xt,B as xi,i as di,r as Nt,s as pi,g as fi,q as mi,b as yi,c as bi,v as Ai,H as wi,k as Ci}from"../app.B4W5LDy6.js";import{i as Si}from"./init.Gi6I4Gst.js";import{o as _i}from"./ordinal.BYWQX77i.js";import{l as Wt}from"./linear.CPyRlV9U.js";import"./framework.CGQ59HuL.js";import"./theme.whhJV-4y.js";function ki(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s"u"&&(T.yylloc={});var gt=T.yylloc;r.push(gt);var li=T.options&&T.options.ranges;typeof W.yy.parseError=="function"?this.parseError=W.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ci(L){g.length=g.length-2*L,A.length=A.length-L,r.length=r.length-L}a(ci,"popStack");function Mt(){var L;return L=x.pop()||T.lex()||It,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=c.symbols_[L]||L),L}a(Mt,"lex");for(var P,O,M,xt,z={},at,V,Vt,rt;;){if(O=g[g.length-1],this.defaultActions[O]?M=this.defaultActions[O]:((P===null||typeof P>"u")&&(P=Mt()),M=Z[O]&&Z[O][P]),typeof M>"u"||!M.length||!M[0]){var dt="";rt=[];for(at in Z[O])this.terminals_[at]&&at>oi&&rt.push("'"+this.terminals_[at]+"'");T.showPosition?dt="Parse error on line "+(nt+1)+`: +import{_ as a,aF as ui,l as Ft,a0 as Bt,$ as gi,E as At,D as Xt,B as xi,i as di,r as Nt,s as pi,g as fi,q as mi,b as yi,c as bi,v as Ai,H as wi,k as Ci}from"../app.XeY7gsc2.js";import{i as Si}from"./init.Gi6I4Gst.js";import{o as _i}from"./ordinal.BYWQX77i.js";import{l as Wt}from"./linear.CCNQpCSX.js";import"./framework.CGQ59HuL.js";import"./theme.BIcC851z.js";function ki(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s"u"&&(T.yylloc={});var gt=T.yylloc;r.push(gt);var li=T.options&&T.options.ranges;typeof W.yy.parseError=="function"?this.parseError=W.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ci(L){g.length=g.length-2*L,A.length=A.length-L,r.length=r.length-L}a(ci,"popStack");function Mt(){var L;return L=x.pop()||T.lex()||It,typeof L!="number"&&(L instanceof Array&&(x=L,L=x.pop()),L=c.symbols_[L]||L),L}a(Mt,"lex");for(var P,O,M,xt,z={},at,V,Vt,rt;;){if(O=g[g.length-1],this.defaultActions[O]?M=this.defaultActions[O]:((P===null||typeof P>"u")&&(P=Mt()),M=Z[O]&&Z[O][P]),typeof M>"u"||!M.length||!M[0]){var dt="";rt=[];for(at in Z[O])this.terminals_[at]&&at>oi&&rt.push("'"+this.terminals_[at]+"'");T.showPosition?dt="Parse error on line "+(nt+1)+`: `+T.showPosition()+` Expecting `+rt.join(", ")+", got '"+(this.terminals_[P]||P)+"'":dt="Parse error on line "+(nt+1)+": Unexpected "+(P==It?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(dt,{text:T.match,token:this.terminals_[P]||P,line:T.yylineno,loc:gt,expected:rt})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+P);switch(M[0]){case 1:g.push(P),A.push(T.yytext),r.push(T.yylloc),g.push(M[1]),P=null,Et=T.yyleng,d=T.yytext,nt=T.yylineno,gt=T.yylloc;break;case 2:if(V=this.productions_[M[1]][1],z.$=A[A.length-V],z._$={first_line:r[r.length-(V||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(V||1)].first_column,last_column:r[r.length-1].last_column},li&&(z._$.range=[r[r.length-(V||1)].range[0],r[r.length-1].range[1]]),xt=this.performAction.apply(z,[d,Et,nt,W.yy,M[1],A,r].concat(hi)),typeof xt<"u")return xt;V&&(g=g.slice(0,-1*V*2),A=A.slice(0,-1*V),r=r.slice(0,-1*V)),g.push(this.productions_[M[1]][0]),A.push(z.$),r.push(z._$),Vt=Z[g[g.length-2]][g[g.length-1]],g.push(Vt);break;case 3:return!0}}return!0},"parse")},ri=function(){var B={EOF:1,parseError:a(function(c,g){if(this.yy.parser)this.yy.parser.parseError(c,g);else throw new Error(c)},"parseError"),setInput:a(function(h,c){return this.yy=c||this.yy||{},this._input=h,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var h=this._input[0];this.yytext+=h,this.yyleng++,this.offset++,this.match+=h,this.matched+=h;var c=h.match(/(?:\r\n?|\n).*/g);return c?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),h},"input"),unput:a(function(h){var c=h.length,g=h.split(/(?:\r\n?|\n)/g);this._input=h+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===x.length?this.yylloc.first_column:0)+x[x.length-g.length].length-g[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(h){this.unput(this.match.slice(h))},"less"),pastInput:a(function(){var h=this.matched.substr(0,this.matched.length-this.match.length);return(h.length>20?"...":"")+h.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var h=this.match;return h.length<20&&(h+=this._input.substr(0,20-h.length)),(h.substr(0,20)+(h.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var h=this.pastInput(),c=new Array(h.length+1).join("-");return h+this.upcomingInput()+` diff --git a/assets/guides_cometbft-to-rollkit.md.DBTSY5VF.js b/assets/guides_cometbft-to-rollkit.md.BV3ngpyw.js similarity index 98% rename from assets/guides_cometbft-to-rollkit.md.DBTSY5VF.js rename to assets/guides_cometbft-to-rollkit.md.BV3ngpyw.js index 32168cef0..57a275cb3 100644 --- a/assets/guides_cometbft-to-rollkit.md.DBTSY5VF.js +++ b/assets/guides_cometbft-to-rollkit.md.BV3ngpyw.js @@ -1 +1 @@ -/* empty css */import{c as l}from"./chunks/constants.BZ-q9XpV.js";import{c as e,a3 as a,j as t,t as o,k as s,o as n}from"./chunks/framework.CGQ59HuL.js";const r={class:"language-bash vp-adaptive-theme"},p={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},h={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},F=JSON.parse('{"title":"How to Turn Your CometBFT App into a Rollkit App","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to Turn Your CometBFT App into a Rollkit App | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/cometbft-to-rollkit.md","filePath":"guides/cometbft-to-rollkit.md","lastUpdated":1732026329000}'),k={name:"guides/cometbft-to-rollkit.md"},b=Object.assign(k,{setup(u){return(c,i)=>(n(),e("div",null,[i[5]||(i[5]=a('

How to Turn Your CometBFT App into a Rollkit App

This guide will walk you through the process of turning your existing CometBFT app into a Rollkit app. By integrating Rollkit into your CometBFT-based blockchain, you can leverage enhanced modularity and data availability features.

This guide assumes you have a CometBFT app set up and Ignite CLI installed.

Install Rollkit

You need to install Rollkit in your CometBFT app. Open a terminal in the directory where your app is located and run the following command:

',5)),t("div",r,[i[3]||(i[3]=t("button",{title:"Copy Code",class:"copy"},null,-1)),i[4]||(i[4]=t("span",{class:"lang"},"bash",-1)),t("pre",p,[t("code",null,[t("span",h,[i[0]||(i[0]=t("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ignite",-1)),i[1]||(i[1]=t("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," app",-1)),i[2]||(i[2]=t("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install",-1)),t("span",d," github.com/ignite/apps/rollkit@"+o(s(l).rollkitIgniteAppVersion),1)])])])]),i[6]||(i[6]=a('

Add Rollkit Features to Your CometBFT App

Now that Rollkit is installed, you can add Rollkit features to your existing blockchain app. Run the following command to integrate Rollkit:

bash
ignite rollkit add

Initialize Rollkit

To prepare your app for Rollkit, you'll need to initialize it.

Run the following command to initialize Rollkit:

bash
ignite rollkit init

Initialize Rollkit CLI Configuration

Next, you'll need to initialize the Rollkit CLI configuration by generating the rollkit.toml file. This file is crucial for Rollkit to understand the structure of your rollup.

To create the rollkit.toml configuration, use this command:

bash
rollkit toml init

This command sets up the rollkit.toml file, where you can further customize configuration parameters as needed.

Start Your Rollkit App

Once everything is configured, you can start your Rollkit-enabled CometBFT app or (simply rollkit app). Use the following command to start your blockchain:

bash
rollkit start --rollkit.aggregator <insert your flags>

Summary

By following this guide, you've successfully converted your CometBFT app into a Rollkit app.

To learn more about how to config your DA, Sequencing, and Execution, please check out those tutorial sections.

',18))]))}});export{F as __pageData,b as default}; +/* empty css */import{c as l}from"./chunks/constants.pTZQtKJL.js";import{c as e,a3 as a,j as t,t as o,k as s,o as n}from"./chunks/framework.CGQ59HuL.js";const r={class:"language-bash vp-adaptive-theme"},p={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},h={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},F=JSON.parse('{"title":"How to Turn Your CometBFT App into a Rollkit App","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to Turn Your CometBFT App into a Rollkit App | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/cometbft-to-rollkit.md","filePath":"guides/cometbft-to-rollkit.md","lastUpdated":1732026329000}'),k={name:"guides/cometbft-to-rollkit.md"},b=Object.assign(k,{setup(u){return(c,i)=>(n(),e("div",null,[i[5]||(i[5]=a('

How to Turn Your CometBFT App into a Rollkit App

This guide will walk you through the process of turning your existing CometBFT app into a Rollkit app. By integrating Rollkit into your CometBFT-based blockchain, you can leverage enhanced modularity and data availability features.

This guide assumes you have a CometBFT app set up and Ignite CLI installed.

Install Rollkit

You need to install Rollkit in your CometBFT app. Open a terminal in the directory where your app is located and run the following command:

',5)),t("div",r,[i[3]||(i[3]=t("button",{title:"Copy Code",class:"copy"},null,-1)),i[4]||(i[4]=t("span",{class:"lang"},"bash",-1)),t("pre",p,[t("code",null,[t("span",h,[i[0]||(i[0]=t("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ignite",-1)),i[1]||(i[1]=t("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," app",-1)),i[2]||(i[2]=t("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install",-1)),t("span",d," github.com/ignite/apps/rollkit@"+o(s(l).rollkitIgniteAppVersion),1)])])])]),i[6]||(i[6]=a('

Add Rollkit Features to Your CometBFT App

Now that Rollkit is installed, you can add Rollkit features to your existing blockchain app. Run the following command to integrate Rollkit:

bash
ignite rollkit add

Initialize Rollkit

To prepare your app for Rollkit, you'll need to initialize it.

Run the following command to initialize Rollkit:

bash
ignite rollkit init

Initialize Rollkit CLI Configuration

Next, you'll need to initialize the Rollkit CLI configuration by generating the rollkit.toml file. This file is crucial for Rollkit to understand the structure of your rollup.

To create the rollkit.toml configuration, use this command:

bash
rollkit toml init

This command sets up the rollkit.toml file, where you can further customize configuration parameters as needed.

Start Your Rollkit App

Once everything is configured, you can start your Rollkit-enabled CometBFT app or (simply rollkit app). Use the following command to start your blockchain:

bash
rollkit start --rollkit.aggregator <insert your flags>

Summary

By following this guide, you've successfully converted your CometBFT app into a Rollkit app.

To learn more about how to config your DA, Sequencing, and Execution, please check out those tutorial sections.

',18))]))}});export{F as __pageData,b as default}; diff --git a/assets/guides_cometbft-to-rollkit.md.DBTSY5VF.lean.js b/assets/guides_cometbft-to-rollkit.md.BV3ngpyw.lean.js similarity index 98% rename from assets/guides_cometbft-to-rollkit.md.DBTSY5VF.lean.js rename to assets/guides_cometbft-to-rollkit.md.BV3ngpyw.lean.js index 32168cef0..57a275cb3 100644 --- a/assets/guides_cometbft-to-rollkit.md.DBTSY5VF.lean.js +++ b/assets/guides_cometbft-to-rollkit.md.BV3ngpyw.lean.js @@ -1 +1 @@ -/* empty css */import{c as l}from"./chunks/constants.BZ-q9XpV.js";import{c as e,a3 as a,j as t,t as o,k as s,o as n}from"./chunks/framework.CGQ59HuL.js";const r={class:"language-bash vp-adaptive-theme"},p={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},h={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},F=JSON.parse('{"title":"How to Turn Your CometBFT App into a Rollkit App","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to Turn Your CometBFT App into a Rollkit App | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/cometbft-to-rollkit.md","filePath":"guides/cometbft-to-rollkit.md","lastUpdated":1732026329000}'),k={name:"guides/cometbft-to-rollkit.md"},b=Object.assign(k,{setup(u){return(c,i)=>(n(),e("div",null,[i[5]||(i[5]=a('

How to Turn Your CometBFT App into a Rollkit App

This guide will walk you through the process of turning your existing CometBFT app into a Rollkit app. By integrating Rollkit into your CometBFT-based blockchain, you can leverage enhanced modularity and data availability features.

This guide assumes you have a CometBFT app set up and Ignite CLI installed.

Install Rollkit

You need to install Rollkit in your CometBFT app. Open a terminal in the directory where your app is located and run the following command:

',5)),t("div",r,[i[3]||(i[3]=t("button",{title:"Copy Code",class:"copy"},null,-1)),i[4]||(i[4]=t("span",{class:"lang"},"bash",-1)),t("pre",p,[t("code",null,[t("span",h,[i[0]||(i[0]=t("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ignite",-1)),i[1]||(i[1]=t("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," app",-1)),i[2]||(i[2]=t("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install",-1)),t("span",d," github.com/ignite/apps/rollkit@"+o(s(l).rollkitIgniteAppVersion),1)])])])]),i[6]||(i[6]=a('

Add Rollkit Features to Your CometBFT App

Now that Rollkit is installed, you can add Rollkit features to your existing blockchain app. Run the following command to integrate Rollkit:

bash
ignite rollkit add

Initialize Rollkit

To prepare your app for Rollkit, you'll need to initialize it.

Run the following command to initialize Rollkit:

bash
ignite rollkit init

Initialize Rollkit CLI Configuration

Next, you'll need to initialize the Rollkit CLI configuration by generating the rollkit.toml file. This file is crucial for Rollkit to understand the structure of your rollup.

To create the rollkit.toml configuration, use this command:

bash
rollkit toml init

This command sets up the rollkit.toml file, where you can further customize configuration parameters as needed.

Start Your Rollkit App

Once everything is configured, you can start your Rollkit-enabled CometBFT app or (simply rollkit app). Use the following command to start your blockchain:

bash
rollkit start --rollkit.aggregator <insert your flags>

Summary

By following this guide, you've successfully converted your CometBFT app into a Rollkit app.

To learn more about how to config your DA, Sequencing, and Execution, please check out those tutorial sections.

',18))]))}});export{F as __pageData,b as default}; +/* empty css */import{c as l}from"./chunks/constants.pTZQtKJL.js";import{c as e,a3 as a,j as t,t as o,k as s,o as n}from"./chunks/framework.CGQ59HuL.js";const r={class:"language-bash vp-adaptive-theme"},p={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},h={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},F=JSON.parse('{"title":"How to Turn Your CometBFT App into a Rollkit App","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to Turn Your CometBFT App into a Rollkit App | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/cometbft-to-rollkit.md","filePath":"guides/cometbft-to-rollkit.md","lastUpdated":1732026329000}'),k={name:"guides/cometbft-to-rollkit.md"},b=Object.assign(k,{setup(u){return(c,i)=>(n(),e("div",null,[i[5]||(i[5]=a('

How to Turn Your CometBFT App into a Rollkit App

This guide will walk you through the process of turning your existing CometBFT app into a Rollkit app. By integrating Rollkit into your CometBFT-based blockchain, you can leverage enhanced modularity and data availability features.

This guide assumes you have a CometBFT app set up and Ignite CLI installed.

Install Rollkit

You need to install Rollkit in your CometBFT app. Open a terminal in the directory where your app is located and run the following command:

',5)),t("div",r,[i[3]||(i[3]=t("button",{title:"Copy Code",class:"copy"},null,-1)),i[4]||(i[4]=t("span",{class:"lang"},"bash",-1)),t("pre",p,[t("code",null,[t("span",h,[i[0]||(i[0]=t("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ignite",-1)),i[1]||(i[1]=t("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," app",-1)),i[2]||(i[2]=t("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install",-1)),t("span",d," github.com/ignite/apps/rollkit@"+o(s(l).rollkitIgniteAppVersion),1)])])])]),i[6]||(i[6]=a('

Add Rollkit Features to Your CometBFT App

Now that Rollkit is installed, you can add Rollkit features to your existing blockchain app. Run the following command to integrate Rollkit:

bash
ignite rollkit add

Initialize Rollkit

To prepare your app for Rollkit, you'll need to initialize it.

Run the following command to initialize Rollkit:

bash
ignite rollkit init

Initialize Rollkit CLI Configuration

Next, you'll need to initialize the Rollkit CLI configuration by generating the rollkit.toml file. This file is crucial for Rollkit to understand the structure of your rollup.

To create the rollkit.toml configuration, use this command:

bash
rollkit toml init

This command sets up the rollkit.toml file, where you can further customize configuration parameters as needed.

Start Your Rollkit App

Once everything is configured, you can start your Rollkit-enabled CometBFT app or (simply rollkit app). Use the following command to start your blockchain:

bash
rollkit start --rollkit.aggregator <insert your flags>

Summary

By following this guide, you've successfully converted your CometBFT app into a Rollkit app.

To learn more about how to config your DA, Sequencing, and Execution, please check out those tutorial sections.

',18))]))}});export{F as __pageData,b as default}; diff --git a/assets/guides_ignite-rollkit.md.BdawpgsJ.lean.js b/assets/guides_ignite-rollkit.md.cDLhSQxA.js similarity index 98% rename from assets/guides_ignite-rollkit.md.BdawpgsJ.lean.js rename to assets/guides_ignite-rollkit.md.cDLhSQxA.js index 08e1dff36..aefbce259 100644 --- a/assets/guides_ignite-rollkit.md.BdawpgsJ.lean.js +++ b/assets/guides_ignite-rollkit.md.cDLhSQxA.js @@ -1 +1 @@ -/* empty css */import{c as s}from"./chunks/constants.BZ-q9XpV.js";import{c as n,a3 as t,j as a,t as l,k as e,o}from"./chunks/framework.CGQ59HuL.js";const h={class:"language-bash vp-adaptive-theme"},r={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},p={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},k={class:"language-bash vp-adaptive-theme"},g={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},c={class:"line"},u={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},v=JSON.parse('{"title":"How to Use Ignite to Create a Rollkit App","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to Use Ignite to Create a Rollkit App | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/ignite-rollkit.md","filePath":"guides/ignite-rollkit.md","lastUpdated":1731690932000}'),b={name:"guides/ignite-rollkit.md"},B=Object.assign(b,{setup(y){return(F,i)=>(o(),n("div",null,[i[10]||(i[10]=t('

How to Use Ignite to Create a Rollkit App

This guide will walk you through the process of using Ignite to create a Rollkit app.

Install Ignite

You can read more about Ignite here.

To install Ignite, you can run this command in your terminal:

',5)),a("div",h,[i[3]||(i[3]=a("button",{title:"Copy Code",class:"copy"},null,-1)),i[4]||(i[4]=a("span",{class:"lang"},"bash",-1)),a("pre",r,[a("code",null,[a("span",p,[i[0]||(i[0]=a("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"curl",-1)),a("span",d," https://get.ignite.com/cli@"+l(e(s).igniteVersionTag)+"!",1),i[1]||(i[1]=a("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," |",-1)),i[2]||(i[2]=a("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," bash",-1))])])])]),i[11]||(i[11]=t('

Once Ignite is installed, scaffold a new blockchain with the following command:

bash
ignite scaffold chain gm --address-prefix gm --minimal --skip-proto

This will create the gm blockchain. Navigate to the blockchain directory:

bash
cd gm

Install Ignite App Rollkit

In a new terminal window, you'll now install and run the Ignite App Rollkit.

Run the following command to install the Rollkit App:

',7)),a("div",k,[i[8]||(i[8]=a("button",{title:"Copy Code",class:"copy"},null,-1)),i[9]||(i[9]=a("span",{class:"lang"},"bash",-1)),a("pre",g,[a("code",null,[a("span",c,[i[5]||(i[5]=a("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ignite",-1)),i[6]||(i[6]=a("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," app",-1)),i[7]||(i[7]=a("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install",-1)),a("span",u," github.com/ignite/apps/rollkit@"+l(e(s).rollkitIgniteAppVersion),1)])])])]),i[12]||(i[12]=t('

This installs the Rollkit application, which will be integrated into your blockchain.

Add Rollkit Features

Enhance your blockchain by adding Rollkit features. Use the following command:

bash
ignite rollkit add

Build your chain

Build your chain using the following command:

bash
ignite chain build

Initialize Your Blockchain

Before starting your blockchain, you need to initialize it with Rollkit support. Initialize the blockchain with Local DA as follows:

bash
ignite rollkit init

Initialize Rollkit CLI Configuration

To initialize the Rollkit CLI configuration, generate the rollkit.toml file by running the following command:

bash
rollkit toml init

This will set up the Rollkit configuration file rollkit.toml, allowing you to use the Rollkit CLI for managing and running your blockchain.

Start your chain

Now you are ready to start your chain. We need to include 2 flags:

  1. --rollkit.aggregator to signal that this node is the block producer
  2. --rollkit.sequencer_rollup_id gm to share the chain ID with the sequencer.

Start your chain using the following command:

bash
rollkit start --rollkit.aggregator --rollkit.sequencer_rollup_id gm

Your rollkit chain is now up and running.

Summary

By following these steps, you've successfully installed Ignite, integrated Rollkit features into your blockchain, and configured the Rollkit CLI to run your chain against a mock DA and mock sequencer.

',22))]))}});export{v as __pageData,B as default}; +/* empty css */import{c as s}from"./chunks/constants.pTZQtKJL.js";import{c as n,a3 as t,j as a,t as l,k as e,o}from"./chunks/framework.CGQ59HuL.js";const h={class:"language-bash vp-adaptive-theme"},r={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},p={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},k={class:"language-bash vp-adaptive-theme"},g={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},c={class:"line"},u={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},v=JSON.parse('{"title":"How to Use Ignite to Create a Rollkit App","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to Use Ignite to Create a Rollkit App | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/ignite-rollkit.md","filePath":"guides/ignite-rollkit.md","lastUpdated":1731690932000}'),b={name:"guides/ignite-rollkit.md"},B=Object.assign(b,{setup(y){return(F,i)=>(o(),n("div",null,[i[10]||(i[10]=t('

How to Use Ignite to Create a Rollkit App

This guide will walk you through the process of using Ignite to create a Rollkit app.

Install Ignite

You can read more about Ignite here.

To install Ignite, you can run this command in your terminal:

',5)),a("div",h,[i[3]||(i[3]=a("button",{title:"Copy Code",class:"copy"},null,-1)),i[4]||(i[4]=a("span",{class:"lang"},"bash",-1)),a("pre",r,[a("code",null,[a("span",p,[i[0]||(i[0]=a("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"curl",-1)),a("span",d," https://get.ignite.com/cli@"+l(e(s).igniteVersionTag)+"!",1),i[1]||(i[1]=a("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," |",-1)),i[2]||(i[2]=a("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," bash",-1))])])])]),i[11]||(i[11]=t('

Once Ignite is installed, scaffold a new blockchain with the following command:

bash
ignite scaffold chain gm --address-prefix gm --minimal --skip-proto

This will create the gm blockchain. Navigate to the blockchain directory:

bash
cd gm

Install Ignite App Rollkit

In a new terminal window, you'll now install and run the Ignite App Rollkit.

Run the following command to install the Rollkit App:

',7)),a("div",k,[i[8]||(i[8]=a("button",{title:"Copy Code",class:"copy"},null,-1)),i[9]||(i[9]=a("span",{class:"lang"},"bash",-1)),a("pre",g,[a("code",null,[a("span",c,[i[5]||(i[5]=a("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ignite",-1)),i[6]||(i[6]=a("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," app",-1)),i[7]||(i[7]=a("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install",-1)),a("span",u," github.com/ignite/apps/rollkit@"+l(e(s).rollkitIgniteAppVersion),1)])])])]),i[12]||(i[12]=t('

This installs the Rollkit application, which will be integrated into your blockchain.

Add Rollkit Features

Enhance your blockchain by adding Rollkit features. Use the following command:

bash
ignite rollkit add

Build your chain

Build your chain using the following command:

bash
ignite chain build

Initialize Your Blockchain

Before starting your blockchain, you need to initialize it with Rollkit support. Initialize the blockchain with Local DA as follows:

bash
ignite rollkit init

Initialize Rollkit CLI Configuration

To initialize the Rollkit CLI configuration, generate the rollkit.toml file by running the following command:

bash
rollkit toml init

This will set up the Rollkit configuration file rollkit.toml, allowing you to use the Rollkit CLI for managing and running your blockchain.

Start your chain

Now you are ready to start your chain. We need to include 2 flags:

  1. --rollkit.aggregator to signal that this node is the block producer
  2. --rollkit.sequencer_rollup_id gm to share the chain ID with the sequencer.

Start your chain using the following command:

bash
rollkit start --rollkit.aggregator --rollkit.sequencer_rollup_id gm

Your rollkit chain is now up and running.

Summary

By following these steps, you've successfully installed Ignite, integrated Rollkit features into your blockchain, and configured the Rollkit CLI to run your chain against a mock DA and mock sequencer.

',22))]))}});export{v as __pageData,B as default}; diff --git a/assets/guides_ignite-rollkit.md.BdawpgsJ.js b/assets/guides_ignite-rollkit.md.cDLhSQxA.lean.js similarity index 98% rename from assets/guides_ignite-rollkit.md.BdawpgsJ.js rename to assets/guides_ignite-rollkit.md.cDLhSQxA.lean.js index 08e1dff36..aefbce259 100644 --- a/assets/guides_ignite-rollkit.md.BdawpgsJ.js +++ b/assets/guides_ignite-rollkit.md.cDLhSQxA.lean.js @@ -1 +1 @@ -/* empty css */import{c as s}from"./chunks/constants.BZ-q9XpV.js";import{c as n,a3 as t,j as a,t as l,k as e,o}from"./chunks/framework.CGQ59HuL.js";const h={class:"language-bash vp-adaptive-theme"},r={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},p={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},k={class:"language-bash vp-adaptive-theme"},g={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},c={class:"line"},u={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},v=JSON.parse('{"title":"How to Use Ignite to Create a Rollkit App","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to Use Ignite to Create a Rollkit App | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/ignite-rollkit.md","filePath":"guides/ignite-rollkit.md","lastUpdated":1731690932000}'),b={name:"guides/ignite-rollkit.md"},B=Object.assign(b,{setup(y){return(F,i)=>(o(),n("div",null,[i[10]||(i[10]=t('

How to Use Ignite to Create a Rollkit App

This guide will walk you through the process of using Ignite to create a Rollkit app.

Install Ignite

You can read more about Ignite here.

To install Ignite, you can run this command in your terminal:

',5)),a("div",h,[i[3]||(i[3]=a("button",{title:"Copy Code",class:"copy"},null,-1)),i[4]||(i[4]=a("span",{class:"lang"},"bash",-1)),a("pre",r,[a("code",null,[a("span",p,[i[0]||(i[0]=a("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"curl",-1)),a("span",d," https://get.ignite.com/cli@"+l(e(s).igniteVersionTag)+"!",1),i[1]||(i[1]=a("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," |",-1)),i[2]||(i[2]=a("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," bash",-1))])])])]),i[11]||(i[11]=t('

Once Ignite is installed, scaffold a new blockchain with the following command:

bash
ignite scaffold chain gm --address-prefix gm --minimal --skip-proto

This will create the gm blockchain. Navigate to the blockchain directory:

bash
cd gm

Install Ignite App Rollkit

In a new terminal window, you'll now install and run the Ignite App Rollkit.

Run the following command to install the Rollkit App:

',7)),a("div",k,[i[8]||(i[8]=a("button",{title:"Copy Code",class:"copy"},null,-1)),i[9]||(i[9]=a("span",{class:"lang"},"bash",-1)),a("pre",g,[a("code",null,[a("span",c,[i[5]||(i[5]=a("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ignite",-1)),i[6]||(i[6]=a("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," app",-1)),i[7]||(i[7]=a("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install",-1)),a("span",u," github.com/ignite/apps/rollkit@"+l(e(s).rollkitIgniteAppVersion),1)])])])]),i[12]||(i[12]=t('

This installs the Rollkit application, which will be integrated into your blockchain.

Add Rollkit Features

Enhance your blockchain by adding Rollkit features. Use the following command:

bash
ignite rollkit add

Build your chain

Build your chain using the following command:

bash
ignite chain build

Initialize Your Blockchain

Before starting your blockchain, you need to initialize it with Rollkit support. Initialize the blockchain with Local DA as follows:

bash
ignite rollkit init

Initialize Rollkit CLI Configuration

To initialize the Rollkit CLI configuration, generate the rollkit.toml file by running the following command:

bash
rollkit toml init

This will set up the Rollkit configuration file rollkit.toml, allowing you to use the Rollkit CLI for managing and running your blockchain.

Start your chain

Now you are ready to start your chain. We need to include 2 flags:

  1. --rollkit.aggregator to signal that this node is the block producer
  2. --rollkit.sequencer_rollup_id gm to share the chain ID with the sequencer.

Start your chain using the following command:

bash
rollkit start --rollkit.aggregator --rollkit.sequencer_rollup_id gm

Your rollkit chain is now up and running.

Summary

By following these steps, you've successfully installed Ignite, integrated Rollkit features into your blockchain, and configured the Rollkit CLI to run your chain against a mock DA and mock sequencer.

',22))]))}});export{v as __pageData,B as default}; +/* empty css */import{c as s}from"./chunks/constants.pTZQtKJL.js";import{c as n,a3 as t,j as a,t as l,k as e,o}from"./chunks/framework.CGQ59HuL.js";const h={class:"language-bash vp-adaptive-theme"},r={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},p={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},k={class:"language-bash vp-adaptive-theme"},g={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},c={class:"line"},u={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},v=JSON.parse('{"title":"How to Use Ignite to Create a Rollkit App","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to Use Ignite to Create a Rollkit App | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/ignite-rollkit.md","filePath":"guides/ignite-rollkit.md","lastUpdated":1731690932000}'),b={name:"guides/ignite-rollkit.md"},B=Object.assign(b,{setup(y){return(F,i)=>(o(),n("div",null,[i[10]||(i[10]=t('

How to Use Ignite to Create a Rollkit App

This guide will walk you through the process of using Ignite to create a Rollkit app.

Install Ignite

You can read more about Ignite here.

To install Ignite, you can run this command in your terminal:

',5)),a("div",h,[i[3]||(i[3]=a("button",{title:"Copy Code",class:"copy"},null,-1)),i[4]||(i[4]=a("span",{class:"lang"},"bash",-1)),a("pre",r,[a("code",null,[a("span",p,[i[0]||(i[0]=a("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"curl",-1)),a("span",d," https://get.ignite.com/cli@"+l(e(s).igniteVersionTag)+"!",1),i[1]||(i[1]=a("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," |",-1)),i[2]||(i[2]=a("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," bash",-1))])])])]),i[11]||(i[11]=t('

Once Ignite is installed, scaffold a new blockchain with the following command:

bash
ignite scaffold chain gm --address-prefix gm --minimal --skip-proto

This will create the gm blockchain. Navigate to the blockchain directory:

bash
cd gm

Install Ignite App Rollkit

In a new terminal window, you'll now install and run the Ignite App Rollkit.

Run the following command to install the Rollkit App:

',7)),a("div",k,[i[8]||(i[8]=a("button",{title:"Copy Code",class:"copy"},null,-1)),i[9]||(i[9]=a("span",{class:"lang"},"bash",-1)),a("pre",g,[a("code",null,[a("span",c,[i[5]||(i[5]=a("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ignite",-1)),i[6]||(i[6]=a("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," app",-1)),i[7]||(i[7]=a("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install",-1)),a("span",u," github.com/ignite/apps/rollkit@"+l(e(s).rollkitIgniteAppVersion),1)])])])]),i[12]||(i[12]=t('

This installs the Rollkit application, which will be integrated into your blockchain.

Add Rollkit Features

Enhance your blockchain by adding Rollkit features. Use the following command:

bash
ignite rollkit add

Build your chain

Build your chain using the following command:

bash
ignite chain build

Initialize Your Blockchain

Before starting your blockchain, you need to initialize it with Rollkit support. Initialize the blockchain with Local DA as follows:

bash
ignite rollkit init

Initialize Rollkit CLI Configuration

To initialize the Rollkit CLI configuration, generate the rollkit.toml file by running the following command:

bash
rollkit toml init

This will set up the Rollkit configuration file rollkit.toml, allowing you to use the Rollkit CLI for managing and running your blockchain.

Start your chain

Now you are ready to start your chain. We need to include 2 flags:

  1. --rollkit.aggregator to signal that this node is the block producer
  2. --rollkit.sequencer_rollup_id gm to share the chain ID with the sequencer.

Start your chain using the following command:

bash
rollkit start --rollkit.aggregator --rollkit.sequencer_rollup_id gm

Your rollkit chain is now up and running.

Summary

By following these steps, you've successfully installed Ignite, integrated Rollkit features into your blockchain, and configured the Rollkit CLI to run your chain against a mock DA and mock sequencer.

',22))]))}});export{v as __pageData,B as default}; diff --git a/assets/guides_use-rollkit-cli.md.BTgAisbr.js b/assets/guides_use-rollkit-cli.md.DlalbDN6.js similarity index 99% rename from assets/guides_use-rollkit-cli.md.BTgAisbr.js rename to assets/guides_use-rollkit-cli.md.DlalbDN6.js index f06466ac7..4880bd8bf 100644 --- a/assets/guides_use-rollkit-cli.md.BTgAisbr.js +++ b/assets/guides_use-rollkit-cli.md.DlalbDN6.js @@ -1,4 +1,4 @@ -import{c as t}from"./chunks/constants.BZ-q9XpV.js";import{c as n,j as s,a as l,a3 as a,t as e,k as o,o as h}from"./chunks/framework.CGQ59HuL.js";const p={class:"language-bash vp-adaptive-theme"},k={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},r={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y=JSON.parse('{"title":"How to Use Rollkit CLI","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to Use Rollkit CLI | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/use-rollkit-cli.md","filePath":"guides/use-rollkit-cli.md","lastUpdated":1716334862000}'),g={name:"guides/use-rollkit-cli.md"},C=Object.assign(g,{setup(c){return(u,i)=>(h(),n("div",null,[i[3]||(i[3]=s("h1",{id:"how-to-use-rollkit-cli",tabindex:"-1"},[l("How to Use Rollkit CLI "),s("a",{class:"header-anchor",href:"#how-to-use-rollkit-cli","aria-label":'Permalink to "How to Use Rollkit CLI"'},"​")],-1)),i[4]||(i[4]=s("p",null,[l("This guide will walk you through the basics of installing and using Rollkit CLI. You'll learn how to install the CLI, initialize a configuration file ("),s("code",null,"rollkit.toml"),l("), and run rollup commands.")],-1)),i[5]||(i[5]=s("h2",{id:"_1-installing-rollkit-cli",tabindex:"-1"},[l("1. Installing Rollkit CLI "),s("a",{class:"header-anchor",href:"#_1-installing-rollkit-cli","aria-label":'Permalink to "1. Installing Rollkit CLI"'},"​")],-1)),i[6]||(i[6]=s("p",null,"To install Rollkit CLI, execute the following command:",-1)),s("div",p,[i[1]||(i[1]=s("button",{title:"Copy Code",class:"copy"},null,-1)),i[2]||(i[2]=s("span",{class:"lang"},"bash",-1)),s("pre",k,[s("code",null,[s("span",r,[i[0]||(i[0]=a('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),s("span",d," "+e(o(t).rollkitLatestTag),1)])])])]),i[7]||(i[7]=a(`

This command downloads and installs the Rollkit CLI of specified version.

2. Initializing rollkit.toml

The rollkit.toml file is a configuration file that Rollkit uses to understand the structure and entry point of your rollup. To initialize this file, follow these steps:

Steps to Generate rollkit.toml:

  1. Run the following command to generate the rollkit.toml file:

    bash
    rollkit toml init
  2. You should see an output similar to this (example taken from GM world tutorial):

    bash
    Found rollup entrypoint: /root/gm/cmd/gmd/main.go, adding to rollkit.toml
    +import{c as t}from"./chunks/constants.pTZQtKJL.js";import{c as n,j as s,a as l,a3 as a,t as e,k as o,o as h}from"./chunks/framework.CGQ59HuL.js";const p={class:"language-bash vp-adaptive-theme"},k={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},r={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y=JSON.parse('{"title":"How to Use Rollkit CLI","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to Use Rollkit CLI | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/use-rollkit-cli.md","filePath":"guides/use-rollkit-cli.md","lastUpdated":1716334862000}'),g={name:"guides/use-rollkit-cli.md"},C=Object.assign(g,{setup(c){return(u,i)=>(h(),n("div",null,[i[3]||(i[3]=s("h1",{id:"how-to-use-rollkit-cli",tabindex:"-1"},[l("How to Use Rollkit CLI "),s("a",{class:"header-anchor",href:"#how-to-use-rollkit-cli","aria-label":'Permalink to "How to Use Rollkit CLI"'},"​")],-1)),i[4]||(i[4]=s("p",null,[l("This guide will walk you through the basics of installing and using Rollkit CLI. You'll learn how to install the CLI, initialize a configuration file ("),s("code",null,"rollkit.toml"),l("), and run rollup commands.")],-1)),i[5]||(i[5]=s("h2",{id:"_1-installing-rollkit-cli",tabindex:"-1"},[l("1. Installing Rollkit CLI "),s("a",{class:"header-anchor",href:"#_1-installing-rollkit-cli","aria-label":'Permalink to "1. Installing Rollkit CLI"'},"​")],-1)),i[6]||(i[6]=s("p",null,"To install Rollkit CLI, execute the following command:",-1)),s("div",p,[i[1]||(i[1]=s("button",{title:"Copy Code",class:"copy"},null,-1)),i[2]||(i[2]=s("span",{class:"lang"},"bash",-1)),s("pre",k,[s("code",null,[s("span",r,[i[0]||(i[0]=a('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),s("span",d," "+e(o(t).rollkitLatestTag),1)])])])]),i[7]||(i[7]=a(`

    This command downloads and installs the Rollkit CLI of specified version.

    2. Initializing rollkit.toml

    The rollkit.toml file is a configuration file that Rollkit uses to understand the structure and entry point of your rollup. To initialize this file, follow these steps:

    Steps to Generate rollkit.toml:

    1. Run the following command to generate the rollkit.toml file:

      bash
      rollkit toml init
    2. You should see an output similar to this (example taken from GM world tutorial):

      bash
      Found rollup entrypoint: /root/gm/cmd/gmd/main.go, adding to rollkit.toml
       Could not find rollup config under gm. Please put the chain.config_dir in the rollkit.toml file manually.
       Initialized rollkit.toml file in the current directory.
    3. The output indicates that the rollup entrypoint is ~/gm/cmd/gmd/main.go.

    4. Open the rollkit.toml file, and under the [chain] section, set config_dir to the appropriate directory where your chain configuration is. For GM World tutorial, rollkit.toml file looks like this:

      toml
      entrypoint = "./cmd/gmd/main.go"
       
      diff --git a/assets/guides_use-rollkit-cli.md.BTgAisbr.lean.js b/assets/guides_use-rollkit-cli.md.DlalbDN6.lean.js
      similarity index 99%
      rename from assets/guides_use-rollkit-cli.md.BTgAisbr.lean.js
      rename to assets/guides_use-rollkit-cli.md.DlalbDN6.lean.js
      index f06466ac7..4880bd8bf 100644
      --- a/assets/guides_use-rollkit-cli.md.BTgAisbr.lean.js
      +++ b/assets/guides_use-rollkit-cli.md.DlalbDN6.lean.js
      @@ -1,4 +1,4 @@
      -import{c as t}from"./chunks/constants.BZ-q9XpV.js";import{c as n,j as s,a as l,a3 as a,t as e,k as o,o as h}from"./chunks/framework.CGQ59HuL.js";const p={class:"language-bash vp-adaptive-theme"},k={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},r={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y=JSON.parse('{"title":"How to Use Rollkit CLI","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to Use Rollkit CLI | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/use-rollkit-cli.md","filePath":"guides/use-rollkit-cli.md","lastUpdated":1716334862000}'),g={name:"guides/use-rollkit-cli.md"},C=Object.assign(g,{setup(c){return(u,i)=>(h(),n("div",null,[i[3]||(i[3]=s("h1",{id:"how-to-use-rollkit-cli",tabindex:"-1"},[l("How to Use Rollkit CLI "),s("a",{class:"header-anchor",href:"#how-to-use-rollkit-cli","aria-label":'Permalink to "How to Use Rollkit CLI"'},"​")],-1)),i[4]||(i[4]=s("p",null,[l("This guide will walk you through the basics of installing and using Rollkit CLI. You'll learn how to install the CLI, initialize a configuration file ("),s("code",null,"rollkit.toml"),l("), and run rollup commands.")],-1)),i[5]||(i[5]=s("h2",{id:"_1-installing-rollkit-cli",tabindex:"-1"},[l("1. Installing Rollkit CLI "),s("a",{class:"header-anchor",href:"#_1-installing-rollkit-cli","aria-label":'Permalink to "1. Installing Rollkit CLI"'},"​")],-1)),i[6]||(i[6]=s("p",null,"To install Rollkit CLI, execute the following command:",-1)),s("div",p,[i[1]||(i[1]=s("button",{title:"Copy Code",class:"copy"},null,-1)),i[2]||(i[2]=s("span",{class:"lang"},"bash",-1)),s("pre",k,[s("code",null,[s("span",r,[i[0]||(i[0]=a('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),s("span",d," "+e(o(t).rollkitLatestTag),1)])])])]),i[7]||(i[7]=a(`

      This command downloads and installs the Rollkit CLI of specified version.

      2. Initializing rollkit.toml

      The rollkit.toml file is a configuration file that Rollkit uses to understand the structure and entry point of your rollup. To initialize this file, follow these steps:

      Steps to Generate rollkit.toml:

      1. Run the following command to generate the rollkit.toml file:

        bash
        rollkit toml init
      2. You should see an output similar to this (example taken from GM world tutorial):

        bash
        Found rollup entrypoint: /root/gm/cmd/gmd/main.go, adding to rollkit.toml
        +import{c as t}from"./chunks/constants.pTZQtKJL.js";import{c as n,j as s,a as l,a3 as a,t as e,k as o,o as h}from"./chunks/framework.CGQ59HuL.js";const p={class:"language-bash vp-adaptive-theme"},k={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},r={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y=JSON.parse('{"title":"How to Use Rollkit CLI","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"How to Use Rollkit CLI | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/use-rollkit-cli.md","filePath":"guides/use-rollkit-cli.md","lastUpdated":1716334862000}'),g={name:"guides/use-rollkit-cli.md"},C=Object.assign(g,{setup(c){return(u,i)=>(h(),n("div",null,[i[3]||(i[3]=s("h1",{id:"how-to-use-rollkit-cli",tabindex:"-1"},[l("How to Use Rollkit CLI "),s("a",{class:"header-anchor",href:"#how-to-use-rollkit-cli","aria-label":'Permalink to "How to Use Rollkit CLI"'},"​")],-1)),i[4]||(i[4]=s("p",null,[l("This guide will walk you through the basics of installing and using Rollkit CLI. You'll learn how to install the CLI, initialize a configuration file ("),s("code",null,"rollkit.toml"),l("), and run rollup commands.")],-1)),i[5]||(i[5]=s("h2",{id:"_1-installing-rollkit-cli",tabindex:"-1"},[l("1. Installing Rollkit CLI "),s("a",{class:"header-anchor",href:"#_1-installing-rollkit-cli","aria-label":'Permalink to "1. Installing Rollkit CLI"'},"​")],-1)),i[6]||(i[6]=s("p",null,"To install Rollkit CLI, execute the following command:",-1)),s("div",p,[i[1]||(i[1]=s("button",{title:"Copy Code",class:"copy"},null,-1)),i[2]||(i[2]=s("span",{class:"lang"},"bash",-1)),s("pre",k,[s("code",null,[s("span",r,[i[0]||(i[0]=a('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),s("span",d," "+e(o(t).rollkitLatestTag),1)])])])]),i[7]||(i[7]=a(`

        This command downloads and installs the Rollkit CLI of specified version.

        2. Initializing rollkit.toml

        The rollkit.toml file is a configuration file that Rollkit uses to understand the structure and entry point of your rollup. To initialize this file, follow these steps:

        Steps to Generate rollkit.toml:

        1. Run the following command to generate the rollkit.toml file:

          bash
          rollkit toml init
        2. You should see an output similar to this (example taken from GM world tutorial):

          bash
          Found rollup entrypoint: /root/gm/cmd/gmd/main.go, adding to rollkit.toml
           Could not find rollup config under gm. Please put the chain.config_dir in the rollkit.toml file manually.
           Initialized rollkit.toml file in the current directory.
        3. The output indicates that the rollup entrypoint is ~/gm/cmd/gmd/main.go.

        4. Open the rollkit.toml file, and under the [chain] section, set config_dir to the appropriate directory where your chain configuration is. For GM World tutorial, rollkit.toml file looks like this:

          toml
          entrypoint = "./cmd/gmd/main.go"
           
          diff --git a/assets/guides_use-tia-for-gas.md.BVxN-Oii.js b/assets/guides_use-tia-for-gas.md.CCLyTnoE.js
          similarity index 99%
          rename from assets/guides_use-tia-for-gas.md.BVxN-Oii.js
          rename to assets/guides_use-tia-for-gas.md.CCLyTnoE.js
          index e15d8a951..26b8362a6 100644
          --- a/assets/guides_use-tia-for-gas.md.BVxN-Oii.js
          +++ b/assets/guides_use-tia-for-gas.md.CCLyTnoE.js
          @@ -1,4 +1,4 @@
          -import{C as e}from"./chunks/callout.DiI5rXbX.js";import{c as t}from"./chunks/constants.BZ-q9XpV.js";import{c as k,a3 as n,j as i,G as p,a,t as h,k as l,o as F}from"./chunks/framework.CGQ59HuL.js";/* empty css                                                                       */const r={class:"tip custom-block"},d={class:"language-bash vp-adaptive-theme"},o={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},g={class:"line"},y={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},C=["href"],c={class:"language-bash vp-adaptive-theme"},B={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},u={class:"line"},E={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},m={class:"language-bash vp-adaptive-theme"},b={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},v={class:"line"},f={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},N=JSON.parse('{"title":"How to use IBC token (TIA) as gas token in your rollup","description":"Build a sovereign rollup using Rollkit CLI and a local DA network, with TIA as the gas token.","frontmatter":{"description":"Build a sovereign rollup using Rollkit CLI and a local DA network, with TIA as the gas token.","head":[["meta",{"name":"og:title","content":"How to use IBC token (TIA) as gas token in your rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/use-tia-for-gas.md","filePath":"guides/use-tia-for-gas.md","lastUpdated":1723134538000}'),A={name:"guides/use-tia-for-gas.md"},T=Object.assign(A,{setup(q){return(D,s)=>(F(),k("div",null,[s[15]||(s[15]=n('

          How to use IBC token (TIA) as gas token in your rollup

          🌞 Introduction

          This tutorial will guide you through building a sovereign gm-world rollup using Rollkit, with TIA as the gas token. Unlike the quick start guide, which uses a native rollup token for gas, this tutorial demonstrates how to integrate an IBC-enabled token, TIA, as the gas token within the rollup, providing a deeper exploration of sovereign rollup development.

          We will cover:

          • Building and configuring a Cosmos-SDK application-specific rollup blockchain.
          • Posting rollup data to a Data Availability (DA) network.
          • Executing transactions using TIA as the gas token (the end goal).

          No prior understanding of the build process is required, just that it utilizes the Cosmos SDK for blockchain applications.

          ',6)),i("div",r,[s[0]||(s[0]=i("p",{class:"custom-block-title"},"TIP",-1)),p(e)]),s[16]||(s[16]=i("h2",{id:"dependencies",tabindex:"-1"},[a("🛠️ Dependencies "),i("a",{class:"header-anchor",href:"#dependencies","aria-label":'Permalink to "🛠️ Dependencies {#dependencies}"'},"​")],-1)),s[17]||(s[17]=i("p",null,[a("Rollkit uses the "),i("a",{href:"https://go.dev/dl/",target:"_blank",rel:"noreferrer"},"Go programming language"),a(". Here's how to install it:")],-1)),i("ul",null,[i("li",null,[s[4]||(s[4]=i("p",null,[i("strong",null,"Linux or macOS"),a(": Run the provided script:")],-1)),i("div",d,[s[2]||(s[2]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[3]||(s[3]=i("span",{class:"lang"},"bash",-1)),i("pre",o,[i("code",null,[i("span",g,[s[1]||(s[1]=n('curl -sSL https://rollkit.dev/install-go.sh | bash -s',6)),i("span",y," "+h(l(t).golangVersion),1)])])])])])]),i("ul",null,[i("li",null,[s[5]||(s[5]=i("strong",null,"Windows",-1)),s[6]||(s[6]=a(": Download and execute the ")),i("a",{href:`https://go.dev/dl/go${l(t).golangVersion}.windows-amd64.msi`},"installer",8,C),s[7]||(s[7]=a("."))])]),s[18]||(s[18]=i("h2",{id:"install-rollkit",tabindex:"-1"},[a("📦 Install Rollkit (CLI) "),i("a",{class:"header-anchor",href:"#install-rollkit","aria-label":'Permalink to "📦 Install Rollkit (CLI) {#install-rollkit}"'},"​")],-1)),s[19]||(s[19]=i("p",null,"To install Rollkit, run the following command in your terminal:",-1)),i("div",c,[s[9]||(s[9]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[10]||(s[10]=i("span",{class:"lang"},"bash",-1)),i("pre",B,[i("code",null,[i("span",u,[s[8]||(s[8]=n('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),i("span",E," "+h(l(t).rollkitLatestTag),1)])])])]),s[20]||(s[20]=n('

          Verify the installation by checking the Rollkit version:

          bash
          rollkit version

          A successful installation will display the version number and its associated git commit hash.

          🌐 Running a Local DA Network

          Learn to run a local DA network, designed for educational purposes, on your machine.

          To set up a local DA network node:

          ',6)),i("div",m,[s[13]||(s[13]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[14]||(s[14]=i("span",{class:"lang"},"bash",-1)),i("pre",b,[i("code",null,[i("span",v,[s[11]||(s[11]=n('(cd /tmp && curl -sSL https://rollkit.dev/install-local-da.sh | bash -s',10)),i("span",f," "+h(l(t).localDALatestTag),1),s[12]||(s[12]=i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")",-1))])])])]),s[21]||(s[21]=n(`

          This script builds and runs the node, now listening on port 7980.

          🏗️ Building Your Sovereign Rollup

          With the local DA network running, let’s prepare your rollup blockchain.

          To make it simple, we will download a repository with a gm-world rollup that includes an init.sh script to handle all the setup for you.

          Download and build a gm-world rollup with an interactive script in a new terminal:

          WARNING

          Ensure the jq command line tool is installed before proceeding. Install it using sudo apt-get install jq on Ubuntu or brew install jq on macOS.

          TIP

          If you get errors of gmd not found, you may need to add the go/bin directory to your PATH. You can do this by running export PATH=$PATH:$HOME/go/bin and then running the init.sh script manually again.

          bash
          curl -sSL https://rollkit.dev/install-gm-rollup.sh | sh

          🛠️ Initialize Rollkit TOML Configuration

          Change to the gm directory and initialize the rollkit toml configuration:

          bash
          cd ./gm && rollkit toml init

          Edit the rollkit.toml file to include the following configuration:

          toml
          entrypoint = "/root/gm/cmd/gmd/main.go"
          +import{C as e}from"./chunks/callout.DiI5rXbX.js";import{c as t}from"./chunks/constants.pTZQtKJL.js";import{c as k,a3 as n,j as i,G as p,a,t as h,k as l,o as F}from"./chunks/framework.CGQ59HuL.js";/* empty css                                                                       */const r={class:"tip custom-block"},d={class:"language-bash vp-adaptive-theme"},o={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},g={class:"line"},y={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},C=["href"],c={class:"language-bash vp-adaptive-theme"},B={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},u={class:"line"},E={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},m={class:"language-bash vp-adaptive-theme"},b={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},v={class:"line"},f={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},N=JSON.parse('{"title":"How to use IBC token (TIA) as gas token in your rollup","description":"Build a sovereign rollup using Rollkit CLI and a local DA network, with TIA as the gas token.","frontmatter":{"description":"Build a sovereign rollup using Rollkit CLI and a local DA network, with TIA as the gas token.","head":[["meta",{"name":"og:title","content":"How to use IBC token (TIA) as gas token in your rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/use-tia-for-gas.md","filePath":"guides/use-tia-for-gas.md","lastUpdated":1723134538000}'),A={name:"guides/use-tia-for-gas.md"},T=Object.assign(A,{setup(q){return(D,s)=>(F(),k("div",null,[s[15]||(s[15]=n('

          How to use IBC token (TIA) as gas token in your rollup

          🌞 Introduction

          This tutorial will guide you through building a sovereign gm-world rollup using Rollkit, with TIA as the gas token. Unlike the quick start guide, which uses a native rollup token for gas, this tutorial demonstrates how to integrate an IBC-enabled token, TIA, as the gas token within the rollup, providing a deeper exploration of sovereign rollup development.

          We will cover:

          • Building and configuring a Cosmos-SDK application-specific rollup blockchain.
          • Posting rollup data to a Data Availability (DA) network.
          • Executing transactions using TIA as the gas token (the end goal).

          No prior understanding of the build process is required, just that it utilizes the Cosmos SDK for blockchain applications.

          ',6)),i("div",r,[s[0]||(s[0]=i("p",{class:"custom-block-title"},"TIP",-1)),p(e)]),s[16]||(s[16]=i("h2",{id:"dependencies",tabindex:"-1"},[a("🛠️ Dependencies "),i("a",{class:"header-anchor",href:"#dependencies","aria-label":'Permalink to "🛠️ Dependencies {#dependencies}"'},"​")],-1)),s[17]||(s[17]=i("p",null,[a("Rollkit uses the "),i("a",{href:"https://go.dev/dl/",target:"_blank",rel:"noreferrer"},"Go programming language"),a(". Here's how to install it:")],-1)),i("ul",null,[i("li",null,[s[4]||(s[4]=i("p",null,[i("strong",null,"Linux or macOS"),a(": Run the provided script:")],-1)),i("div",d,[s[2]||(s[2]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[3]||(s[3]=i("span",{class:"lang"},"bash",-1)),i("pre",o,[i("code",null,[i("span",g,[s[1]||(s[1]=n('curl -sSL https://rollkit.dev/install-go.sh | bash -s',6)),i("span",y," "+h(l(t).golangVersion),1)])])])])])]),i("ul",null,[i("li",null,[s[5]||(s[5]=i("strong",null,"Windows",-1)),s[6]||(s[6]=a(": Download and execute the ")),i("a",{href:`https://go.dev/dl/go${l(t).golangVersion}.windows-amd64.msi`},"installer",8,C),s[7]||(s[7]=a("."))])]),s[18]||(s[18]=i("h2",{id:"install-rollkit",tabindex:"-1"},[a("📦 Install Rollkit (CLI) "),i("a",{class:"header-anchor",href:"#install-rollkit","aria-label":'Permalink to "📦 Install Rollkit (CLI) {#install-rollkit}"'},"​")],-1)),s[19]||(s[19]=i("p",null,"To install Rollkit, run the following command in your terminal:",-1)),i("div",c,[s[9]||(s[9]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[10]||(s[10]=i("span",{class:"lang"},"bash",-1)),i("pre",B,[i("code",null,[i("span",u,[s[8]||(s[8]=n('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),i("span",E," "+h(l(t).rollkitLatestTag),1)])])])]),s[20]||(s[20]=n('

          Verify the installation by checking the Rollkit version:

          bash
          rollkit version

          A successful installation will display the version number and its associated git commit hash.

          🌐 Running a Local DA Network

          Learn to run a local DA network, designed for educational purposes, on your machine.

          To set up a local DA network node:

          ',6)),i("div",m,[s[13]||(s[13]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[14]||(s[14]=i("span",{class:"lang"},"bash",-1)),i("pre",b,[i("code",null,[i("span",v,[s[11]||(s[11]=n('(cd /tmp && curl -sSL https://rollkit.dev/install-local-da.sh | bash -s',10)),i("span",f," "+h(l(t).localDALatestTag),1),s[12]||(s[12]=i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")",-1))])])])]),s[21]||(s[21]=n(`

          This script builds and runs the node, now listening on port 7980.

          🏗️ Building Your Sovereign Rollup

          With the local DA network running, let’s prepare your rollup blockchain.

          To make it simple, we will download a repository with a gm-world rollup that includes an init.sh script to handle all the setup for you.

          Download and build a gm-world rollup with an interactive script in a new terminal:

          WARNING

          Ensure the jq command line tool is installed before proceeding. Install it using sudo apt-get install jq on Ubuntu or brew install jq on macOS.

          TIP

          If you get errors of gmd not found, you may need to add the go/bin directory to your PATH. You can do this by running export PATH=$PATH:$HOME/go/bin and then running the init.sh script manually again.

          bash
          curl -sSL https://rollkit.dev/install-gm-rollup.sh | sh

          🛠️ Initialize Rollkit TOML Configuration

          Change to the gm directory and initialize the rollkit toml configuration:

          bash
          cd ./gm && rollkit toml init

          Edit the rollkit.toml file to include the following configuration:

          toml
          entrypoint = "/root/gm/cmd/gmd/main.go"
           
           [chain]
             config_dir = "./.gm"

          🚀 Starting your rollup

          Start the rollup, posting to the local DA network:

          bash
          rollkit start --rollkit.aggregator --rollkit.da_address http://localhost:7980 --minimum-gas-prices="0.02ibc/C3E53D20BC7A4CC993B17C7971F8ECD06A433C10B6A96F4C4C3714F0624C56DA,0.025stake"

          Note that we specified the gas token to be IBC TIA. We still haven't made an IBC connection to Celestia's Mocha testnet, however, if we assume our first channel will be an ICS-20 transfer channel to Celestia, we can already calculate the token denom using this formula:

          js
          "ibc/" + toHex(sha256(toUtf8("transfer/channel-0/utia"))).toUpperCase();

          Now you should see the logs of the running node:

          bash
          12:21PM INF starting node with ABCI CometBFT in-process module=server
          diff --git a/assets/guides_use-tia-for-gas.md.BVxN-Oii.lean.js b/assets/guides_use-tia-for-gas.md.CCLyTnoE.lean.js
          similarity index 99%
          rename from assets/guides_use-tia-for-gas.md.BVxN-Oii.lean.js
          rename to assets/guides_use-tia-for-gas.md.CCLyTnoE.lean.js
          index e15d8a951..26b8362a6 100644
          --- a/assets/guides_use-tia-for-gas.md.BVxN-Oii.lean.js
          +++ b/assets/guides_use-tia-for-gas.md.CCLyTnoE.lean.js
          @@ -1,4 +1,4 @@
          -import{C as e}from"./chunks/callout.DiI5rXbX.js";import{c as t}from"./chunks/constants.BZ-q9XpV.js";import{c as k,a3 as n,j as i,G as p,a,t as h,k as l,o as F}from"./chunks/framework.CGQ59HuL.js";/* empty css                                                                       */const r={class:"tip custom-block"},d={class:"language-bash vp-adaptive-theme"},o={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},g={class:"line"},y={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},C=["href"],c={class:"language-bash vp-adaptive-theme"},B={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},u={class:"line"},E={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},m={class:"language-bash vp-adaptive-theme"},b={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},v={class:"line"},f={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},N=JSON.parse('{"title":"How to use IBC token (TIA) as gas token in your rollup","description":"Build a sovereign rollup using Rollkit CLI and a local DA network, with TIA as the gas token.","frontmatter":{"description":"Build a sovereign rollup using Rollkit CLI and a local DA network, with TIA as the gas token.","head":[["meta",{"name":"og:title","content":"How to use IBC token (TIA) as gas token in your rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/use-tia-for-gas.md","filePath":"guides/use-tia-for-gas.md","lastUpdated":1723134538000}'),A={name:"guides/use-tia-for-gas.md"},T=Object.assign(A,{setup(q){return(D,s)=>(F(),k("div",null,[s[15]||(s[15]=n('

          How to use IBC token (TIA) as gas token in your rollup

          🌞 Introduction

          This tutorial will guide you through building a sovereign gm-world rollup using Rollkit, with TIA as the gas token. Unlike the quick start guide, which uses a native rollup token for gas, this tutorial demonstrates how to integrate an IBC-enabled token, TIA, as the gas token within the rollup, providing a deeper exploration of sovereign rollup development.

          We will cover:

          • Building and configuring a Cosmos-SDK application-specific rollup blockchain.
          • Posting rollup data to a Data Availability (DA) network.
          • Executing transactions using TIA as the gas token (the end goal).

          No prior understanding of the build process is required, just that it utilizes the Cosmos SDK for blockchain applications.

          ',6)),i("div",r,[s[0]||(s[0]=i("p",{class:"custom-block-title"},"TIP",-1)),p(e)]),s[16]||(s[16]=i("h2",{id:"dependencies",tabindex:"-1"},[a("🛠️ Dependencies "),i("a",{class:"header-anchor",href:"#dependencies","aria-label":'Permalink to "🛠️ Dependencies {#dependencies}"'},"​")],-1)),s[17]||(s[17]=i("p",null,[a("Rollkit uses the "),i("a",{href:"https://go.dev/dl/",target:"_blank",rel:"noreferrer"},"Go programming language"),a(". Here's how to install it:")],-1)),i("ul",null,[i("li",null,[s[4]||(s[4]=i("p",null,[i("strong",null,"Linux or macOS"),a(": Run the provided script:")],-1)),i("div",d,[s[2]||(s[2]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[3]||(s[3]=i("span",{class:"lang"},"bash",-1)),i("pre",o,[i("code",null,[i("span",g,[s[1]||(s[1]=n('curl -sSL https://rollkit.dev/install-go.sh | bash -s',6)),i("span",y," "+h(l(t).golangVersion),1)])])])])])]),i("ul",null,[i("li",null,[s[5]||(s[5]=i("strong",null,"Windows",-1)),s[6]||(s[6]=a(": Download and execute the ")),i("a",{href:`https://go.dev/dl/go${l(t).golangVersion}.windows-amd64.msi`},"installer",8,C),s[7]||(s[7]=a("."))])]),s[18]||(s[18]=i("h2",{id:"install-rollkit",tabindex:"-1"},[a("📦 Install Rollkit (CLI) "),i("a",{class:"header-anchor",href:"#install-rollkit","aria-label":'Permalink to "📦 Install Rollkit (CLI) {#install-rollkit}"'},"​")],-1)),s[19]||(s[19]=i("p",null,"To install Rollkit, run the following command in your terminal:",-1)),i("div",c,[s[9]||(s[9]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[10]||(s[10]=i("span",{class:"lang"},"bash",-1)),i("pre",B,[i("code",null,[i("span",u,[s[8]||(s[8]=n('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),i("span",E," "+h(l(t).rollkitLatestTag),1)])])])]),s[20]||(s[20]=n('

          Verify the installation by checking the Rollkit version:

          bash
          rollkit version

          A successful installation will display the version number and its associated git commit hash.

          🌐 Running a Local DA Network

          Learn to run a local DA network, designed for educational purposes, on your machine.

          To set up a local DA network node:

          ',6)),i("div",m,[s[13]||(s[13]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[14]||(s[14]=i("span",{class:"lang"},"bash",-1)),i("pre",b,[i("code",null,[i("span",v,[s[11]||(s[11]=n('(cd /tmp && curl -sSL https://rollkit.dev/install-local-da.sh | bash -s',10)),i("span",f," "+h(l(t).localDALatestTag),1),s[12]||(s[12]=i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")",-1))])])])]),s[21]||(s[21]=n(`

          This script builds and runs the node, now listening on port 7980.

          🏗️ Building Your Sovereign Rollup

          With the local DA network running, let’s prepare your rollup blockchain.

          To make it simple, we will download a repository with a gm-world rollup that includes an init.sh script to handle all the setup for you.

          Download and build a gm-world rollup with an interactive script in a new terminal:

          WARNING

          Ensure the jq command line tool is installed before proceeding. Install it using sudo apt-get install jq on Ubuntu or brew install jq on macOS.

          TIP

          If you get errors of gmd not found, you may need to add the go/bin directory to your PATH. You can do this by running export PATH=$PATH:$HOME/go/bin and then running the init.sh script manually again.

          bash
          curl -sSL https://rollkit.dev/install-gm-rollup.sh | sh

          🛠️ Initialize Rollkit TOML Configuration

          Change to the gm directory and initialize the rollkit toml configuration:

          bash
          cd ./gm && rollkit toml init

          Edit the rollkit.toml file to include the following configuration:

          toml
          entrypoint = "/root/gm/cmd/gmd/main.go"
          +import{C as e}from"./chunks/callout.DiI5rXbX.js";import{c as t}from"./chunks/constants.pTZQtKJL.js";import{c as k,a3 as n,j as i,G as p,a,t as h,k as l,o as F}from"./chunks/framework.CGQ59HuL.js";/* empty css                                                                       */const r={class:"tip custom-block"},d={class:"language-bash vp-adaptive-theme"},o={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},g={class:"line"},y={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},C=["href"],c={class:"language-bash vp-adaptive-theme"},B={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},u={class:"line"},E={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},m={class:"language-bash vp-adaptive-theme"},b={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},v={class:"line"},f={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},N=JSON.parse('{"title":"How to use IBC token (TIA) as gas token in your rollup","description":"Build a sovereign rollup using Rollkit CLI and a local DA network, with TIA as the gas token.","frontmatter":{"description":"Build a sovereign rollup using Rollkit CLI and a local DA network, with TIA as the gas token.","head":[["meta",{"name":"og:title","content":"How to use IBC token (TIA) as gas token in your rollup | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"guides/use-tia-for-gas.md","filePath":"guides/use-tia-for-gas.md","lastUpdated":1723134538000}'),A={name:"guides/use-tia-for-gas.md"},T=Object.assign(A,{setup(q){return(D,s)=>(F(),k("div",null,[s[15]||(s[15]=n('

          How to use IBC token (TIA) as gas token in your rollup

          🌞 Introduction

          This tutorial will guide you through building a sovereign gm-world rollup using Rollkit, with TIA as the gas token. Unlike the quick start guide, which uses a native rollup token for gas, this tutorial demonstrates how to integrate an IBC-enabled token, TIA, as the gas token within the rollup, providing a deeper exploration of sovereign rollup development.

          We will cover:

          • Building and configuring a Cosmos-SDK application-specific rollup blockchain.
          • Posting rollup data to a Data Availability (DA) network.
          • Executing transactions using TIA as the gas token (the end goal).

          No prior understanding of the build process is required, just that it utilizes the Cosmos SDK for blockchain applications.

          ',6)),i("div",r,[s[0]||(s[0]=i("p",{class:"custom-block-title"},"TIP",-1)),p(e)]),s[16]||(s[16]=i("h2",{id:"dependencies",tabindex:"-1"},[a("🛠️ Dependencies "),i("a",{class:"header-anchor",href:"#dependencies","aria-label":'Permalink to "🛠️ Dependencies {#dependencies}"'},"​")],-1)),s[17]||(s[17]=i("p",null,[a("Rollkit uses the "),i("a",{href:"https://go.dev/dl/",target:"_blank",rel:"noreferrer"},"Go programming language"),a(". Here's how to install it:")],-1)),i("ul",null,[i("li",null,[s[4]||(s[4]=i("p",null,[i("strong",null,"Linux or macOS"),a(": Run the provided script:")],-1)),i("div",d,[s[2]||(s[2]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[3]||(s[3]=i("span",{class:"lang"},"bash",-1)),i("pre",o,[i("code",null,[i("span",g,[s[1]||(s[1]=n('curl -sSL https://rollkit.dev/install-go.sh | bash -s',6)),i("span",y," "+h(l(t).golangVersion),1)])])])])])]),i("ul",null,[i("li",null,[s[5]||(s[5]=i("strong",null,"Windows",-1)),s[6]||(s[6]=a(": Download and execute the ")),i("a",{href:`https://go.dev/dl/go${l(t).golangVersion}.windows-amd64.msi`},"installer",8,C),s[7]||(s[7]=a("."))])]),s[18]||(s[18]=i("h2",{id:"install-rollkit",tabindex:"-1"},[a("📦 Install Rollkit (CLI) "),i("a",{class:"header-anchor",href:"#install-rollkit","aria-label":'Permalink to "📦 Install Rollkit (CLI) {#install-rollkit}"'},"​")],-1)),s[19]||(s[19]=i("p",null,"To install Rollkit, run the following command in your terminal:",-1)),i("div",c,[s[9]||(s[9]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[10]||(s[10]=i("span",{class:"lang"},"bash",-1)),i("pre",B,[i("code",null,[i("span",u,[s[8]||(s[8]=n('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),i("span",E," "+h(l(t).rollkitLatestTag),1)])])])]),s[20]||(s[20]=n('

          Verify the installation by checking the Rollkit version:

          bash
          rollkit version

          A successful installation will display the version number and its associated git commit hash.

          🌐 Running a Local DA Network

          Learn to run a local DA network, designed for educational purposes, on your machine.

          To set up a local DA network node:

          ',6)),i("div",m,[s[13]||(s[13]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[14]||(s[14]=i("span",{class:"lang"},"bash",-1)),i("pre",b,[i("code",null,[i("span",v,[s[11]||(s[11]=n('(cd /tmp && curl -sSL https://rollkit.dev/install-local-da.sh | bash -s',10)),i("span",f," "+h(l(t).localDALatestTag),1),s[12]||(s[12]=i("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")",-1))])])])]),s[21]||(s[21]=n(`

          This script builds and runs the node, now listening on port 7980.

          🏗️ Building Your Sovereign Rollup

          With the local DA network running, let’s prepare your rollup blockchain.

          To make it simple, we will download a repository with a gm-world rollup that includes an init.sh script to handle all the setup for you.

          Download and build a gm-world rollup with an interactive script in a new terminal:

          WARNING

          Ensure the jq command line tool is installed before proceeding. Install it using sudo apt-get install jq on Ubuntu or brew install jq on macOS.

          TIP

          If you get errors of gmd not found, you may need to add the go/bin directory to your PATH. You can do this by running export PATH=$PATH:$HOME/go/bin and then running the init.sh script manually again.

          bash
          curl -sSL https://rollkit.dev/install-gm-rollup.sh | sh

          🛠️ Initialize Rollkit TOML Configuration

          Change to the gm directory and initialize the rollkit toml configuration:

          bash
          cd ./gm && rollkit toml init

          Edit the rollkit.toml file to include the following configuration:

          toml
          entrypoint = "/root/gm/cmd/gmd/main.go"
           
           [chain]
             config_dir = "./.gm"

          🚀 Starting your rollup

          Start the rollup, posting to the local DA network:

          bash
          rollkit start --rollkit.aggregator --rollkit.da_address http://localhost:7980 --minimum-gas-prices="0.02ibc/C3E53D20BC7A4CC993B17C7971F8ECD06A433C10B6A96F4C4C3714F0624C56DA,0.025stake"

          Note that we specified the gas token to be IBC TIA. We still haven't made an IBC connection to Celestia's Mocha testnet, however, if we assume our first channel will be an ICS-20 transfer channel to Celestia, we can already calculate the token denom using this formula:

          js
          "ibc/" + toHex(sha256(toUtf8("transfer/channel-0/utia"))).toUpperCase();

          Now you should see the logs of the running node:

          bash
          12:21PM INF starting node with ABCI CometBFT in-process module=server
          diff --git a/assets/tutorials_astria.md.Dyv3b5iT.js b/assets/tutorials_astria.md.Dyv3b5iT.js
          deleted file mode 100644
          index b8a4106ed..000000000
          --- a/assets/tutorials_astria.md.Dyv3b5iT.js
          +++ /dev/null
          @@ -1 +0,0 @@
          -import{_ as t,c as n,j as e,a as s,o as r}from"./chunks/framework.CGQ59HuL.js";const f=JSON.parse('{"title":"Astria Sequencing","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Astria Sequencing | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/astria.md","filePath":"tutorials/astria.md","lastUpdated":1731074592000}'),i={name:"tutorials/astria.md"};function o(c,a,l,d,u,m){return r(),n("div",null,a[0]||(a[0]=[e("h1",{id:"astria-sequencing",tabindex:"-1"},[s("Astria Sequencing "),e("a",{class:"header-anchor",href:"#astria-sequencing","aria-label":'Permalink to "Astria Sequencing"'},"​")],-1),e("p",null,"Coming soon ...",-1)]))}const g=t(i,[["render",o]]);export{f as __pageData,g as default};
          diff --git a/assets/tutorials_astria.md.Dyv3b5iT.lean.js b/assets/tutorials_astria.md.Dyv3b5iT.lean.js
          deleted file mode 100644
          index b8a4106ed..000000000
          --- a/assets/tutorials_astria.md.Dyv3b5iT.lean.js
          +++ /dev/null
          @@ -1 +0,0 @@
          -import{_ as t,c as n,j as e,a as s,o as r}from"./chunks/framework.CGQ59HuL.js";const f=JSON.parse('{"title":"Astria Sequencing","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Astria Sequencing | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/astria.md","filePath":"tutorials/astria.md","lastUpdated":1731074592000}'),i={name:"tutorials/astria.md"};function o(c,a,l,d,u,m){return r(),n("div",null,a[0]||(a[0]=[e("h1",{id:"astria-sequencing",tabindex:"-1"},[s("Astria Sequencing "),e("a",{class:"header-anchor",href:"#astria-sequencing","aria-label":'Permalink to "Astria Sequencing"'},"​")],-1),e("p",null,"Coming soon ...",-1)]))}const g=t(i,[["render",o]]);export{f as __pageData,g as default};
          diff --git a/assets/tutorials_based.md.DpUwQe2K.js b/assets/tutorials_based.md.DpUwQe2K.js
          deleted file mode 100644
          index 8a8b5f5aa..000000000
          --- a/assets/tutorials_based.md.DpUwQe2K.js
          +++ /dev/null
          @@ -1 +0,0 @@
          -import{_ as t,c as n,j as e,a as s,o}from"./chunks/framework.CGQ59HuL.js";const f=JSON.parse('{"title":"Based Sequencing","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Based Sequencing | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/based.md","filePath":"tutorials/based.md","lastUpdated":1731074592000}'),d={name:"tutorials/based.md"};function r(i,a,c,l,u,m){return o(),n("div",null,a[0]||(a[0]=[e("h1",{id:"based-sequencing",tabindex:"-1"},[s("Based Sequencing "),e("a",{class:"header-anchor",href:"#based-sequencing","aria-label":'Permalink to "Based Sequencing"'},"​")],-1),e("p",null,"Coming soon ...",-1)]))}const g=t(d,[["render",r]]);export{f as __pageData,g as default};
          diff --git a/assets/tutorials_based.md.DpUwQe2K.lean.js b/assets/tutorials_based.md.DpUwQe2K.lean.js
          deleted file mode 100644
          index 8a8b5f5aa..000000000
          --- a/assets/tutorials_based.md.DpUwQe2K.lean.js
          +++ /dev/null
          @@ -1 +0,0 @@
          -import{_ as t,c as n,j as e,a as s,o}from"./chunks/framework.CGQ59HuL.js";const f=JSON.parse('{"title":"Based Sequencing","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Based Sequencing | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/based.md","filePath":"tutorials/based.md","lastUpdated":1731074592000}'),d={name:"tutorials/based.md"};function r(i,a,c,l,u,m){return o(),n("div",null,a[0]||(a[0]=[e("h1",{id:"based-sequencing",tabindex:"-1"},[s("Based Sequencing "),e("a",{class:"header-anchor",href:"#based-sequencing","aria-label":'Permalink to "Based Sequencing"'},"​")],-1),e("p",null,"Coming soon ...",-1)]))}const g=t(d,[["render",r]]);export{f as __pageData,g as default};
          diff --git a/assets/tutorials_beaconkit.md._WI-UBev.lean.js b/assets/tutorials_beaconkit.md.BAHWsIRA.js
          similarity index 99%
          rename from assets/tutorials_beaconkit.md._WI-UBev.lean.js
          rename to assets/tutorials_beaconkit.md.BAHWsIRA.js
          index d828bba8c..3c607e759 100644
          --- a/assets/tutorials_beaconkit.md._WI-UBev.lean.js
          +++ b/assets/tutorials_beaconkit.md.BAHWsIRA.js
          @@ -1,4 +1,4 @@
          -import{c as t}from"./chunks/constants.BZ-q9XpV.js";import{c as h,a3 as a,j as s,t as n,k as e,o as l}from"./chunks/framework.CGQ59HuL.js";const k={class:"language-bash vp-adaptive-theme"},p={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},F={class:"line"},r={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y=JSON.parse('{"title":"Building a Sovereign Rollup with BeaconKit and Rollkit","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Building a Sovereign Rollup with BeaconKit and Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/beaconkit.md","filePath":"tutorials/beaconkit.md","lastUpdated":1725395471000}'),d={name:"tutorials/beaconkit.md"},B=Object.assign(d,{setup(o){return(g,i)=>(l(),h("div",null,[i[3]||(i[3]=a('

          Building a Sovereign Rollup with BeaconKit and Rollkit

          beaconkit

          Introduction

          This tutorial guides developers through the process of building and running a sovereign rollup using BeaconKit and Rollkit. BeaconKit is a modular framework for building EVM-based consensus clients, while Rollkit is a modular framework for building sovereign rollups. By combining these tools, you can create your own customizable rollup chain using the Ethereum Virtual Machine (EVM).

          Prerequisites

          Before you begin, ensure you have the following software installed on your machine:

          Rollkit

          Rollkit is a modular framework for sovereign rollups. Follow our Quick Start Guide to walk through the installation process. The installation script will install the Rollkit CLI, Golang, and jq if they are not already present on your machine.

          Docker

          Docker is essential for running containerized applications. Follow the provided link to install Docker on your system.

          Run a local Data Availability (DA) node

          First, set up a local data availability network node:

          ',12)),s("div",k,[i[1]||(i[1]=s("button",{title:"Copy Code",class:"copy"},null,-1)),i[2]||(i[2]=s("span",{class:"lang"},"bash",-1)),s("pre",p,[s("code",null,[s("span",F,[i[0]||(i[0]=a('cd $HOME && curl -sSL https://rollkit.dev/install-local-da.sh | sh -s',8)),s("span",r," "+n(e(t).localDALatestTag),1)])])])]),i[4]||(i[4]=a(`

          This script builds and runs a DA node, which will listen on port 7980.

          Clone the BeaconKit repository

          Clone the BeaconKit repository and switch to the Rollkit branch:

          bash
          cd $HOME
          +import{c as t}from"./chunks/constants.pTZQtKJL.js";import{c as h,a3 as a,j as s,t as n,k as e,o as l}from"./chunks/framework.CGQ59HuL.js";const k={class:"language-bash vp-adaptive-theme"},p={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},F={class:"line"},r={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y=JSON.parse('{"title":"Building a Sovereign Rollup with BeaconKit and Rollkit","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Building a Sovereign Rollup with BeaconKit and Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/beaconkit.md","filePath":"tutorials/beaconkit.md","lastUpdated":1725395471000}'),d={name:"tutorials/beaconkit.md"},B=Object.assign(d,{setup(o){return(g,i)=>(l(),h("div",null,[i[3]||(i[3]=a('

          Building a Sovereign Rollup with BeaconKit and Rollkit

          beaconkit

          Introduction

          This tutorial guides developers through the process of building and running a sovereign rollup using BeaconKit and Rollkit. BeaconKit is a modular framework for building EVM-based consensus clients, while Rollkit is a modular framework for building sovereign rollups. By combining these tools, you can create your own customizable rollup chain using the Ethereum Virtual Machine (EVM).

          Prerequisites

          Before you begin, ensure you have the following software installed on your machine:

          Rollkit

          Rollkit is a modular framework for sovereign rollups. Follow our Quick Start Guide to walk through the installation process. The installation script will install the Rollkit CLI, Golang, and jq if they are not already present on your machine.

          Docker

          Docker is essential for running containerized applications. Follow the provided link to install Docker on your system.

          Run a local Data Availability (DA) node

          First, set up a local data availability network node:

          ',12)),s("div",k,[i[1]||(i[1]=s("button",{title:"Copy Code",class:"copy"},null,-1)),i[2]||(i[2]=s("span",{class:"lang"},"bash",-1)),s("pre",p,[s("code",null,[s("span",F,[i[0]||(i[0]=a('cd $HOME && curl -sSL https://rollkit.dev/install-local-da.sh | sh -s',8)),s("span",r," "+n(e(t).localDALatestTag),1)])])])]),i[4]||(i[4]=a(`

          This script builds and runs a DA node, which will listen on port 7980.

          Clone the BeaconKit repository

          Clone the BeaconKit repository and switch to the Rollkit branch:

          bash
          cd $HOME
           git clone -b rollkit https://github.com/rollkit/beacon-kit.git
           cd beacon-kit && git checkout rollkit

          Start the Go Ethereum (Geth) client

          Start local ephemeral Go Ethereum client to provide the execution layer:

          bash
          cd $HOME/beacon-kit
           make start-geth

          Notice within logs indicating that your Geth client is running the RPC server is listening on port 8545. You will need that port to deploy and interact with smart contracts on the BeaconKit EVM.

          Build and run the BeaconKit node

          Open a new terminal and run:

          bash
          cd $HOME/beacon-kit
          diff --git a/assets/tutorials_beaconkit.md._WI-UBev.js b/assets/tutorials_beaconkit.md.BAHWsIRA.lean.js
          similarity index 99%
          rename from assets/tutorials_beaconkit.md._WI-UBev.js
          rename to assets/tutorials_beaconkit.md.BAHWsIRA.lean.js
          index d828bba8c..3c607e759 100644
          --- a/assets/tutorials_beaconkit.md._WI-UBev.js
          +++ b/assets/tutorials_beaconkit.md.BAHWsIRA.lean.js
          @@ -1,4 +1,4 @@
          -import{c as t}from"./chunks/constants.BZ-q9XpV.js";import{c as h,a3 as a,j as s,t as n,k as e,o as l}from"./chunks/framework.CGQ59HuL.js";const k={class:"language-bash vp-adaptive-theme"},p={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},F={class:"line"},r={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y=JSON.parse('{"title":"Building a Sovereign Rollup with BeaconKit and Rollkit","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Building a Sovereign Rollup with BeaconKit and Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/beaconkit.md","filePath":"tutorials/beaconkit.md","lastUpdated":1725395471000}'),d={name:"tutorials/beaconkit.md"},B=Object.assign(d,{setup(o){return(g,i)=>(l(),h("div",null,[i[3]||(i[3]=a('

          Building a Sovereign Rollup with BeaconKit and Rollkit

          beaconkit

          Introduction

          This tutorial guides developers through the process of building and running a sovereign rollup using BeaconKit and Rollkit. BeaconKit is a modular framework for building EVM-based consensus clients, while Rollkit is a modular framework for building sovereign rollups. By combining these tools, you can create your own customizable rollup chain using the Ethereum Virtual Machine (EVM).

          Prerequisites

          Before you begin, ensure you have the following software installed on your machine:

          Rollkit

          Rollkit is a modular framework for sovereign rollups. Follow our Quick Start Guide to walk through the installation process. The installation script will install the Rollkit CLI, Golang, and jq if they are not already present on your machine.

          Docker

          Docker is essential for running containerized applications. Follow the provided link to install Docker on your system.

          Run a local Data Availability (DA) node

          First, set up a local data availability network node:

          ',12)),s("div",k,[i[1]||(i[1]=s("button",{title:"Copy Code",class:"copy"},null,-1)),i[2]||(i[2]=s("span",{class:"lang"},"bash",-1)),s("pre",p,[s("code",null,[s("span",F,[i[0]||(i[0]=a('cd $HOME && curl -sSL https://rollkit.dev/install-local-da.sh | sh -s',8)),s("span",r," "+n(e(t).localDALatestTag),1)])])])]),i[4]||(i[4]=a(`

          This script builds and runs a DA node, which will listen on port 7980.

          Clone the BeaconKit repository

          Clone the BeaconKit repository and switch to the Rollkit branch:

          bash
          cd $HOME
          +import{c as t}from"./chunks/constants.pTZQtKJL.js";import{c as h,a3 as a,j as s,t as n,k as e,o as l}from"./chunks/framework.CGQ59HuL.js";const k={class:"language-bash vp-adaptive-theme"},p={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},F={class:"line"},r={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y=JSON.parse('{"title":"Building a Sovereign Rollup with BeaconKit and Rollkit","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Building a Sovereign Rollup with BeaconKit and Rollkit | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/beaconkit.md","filePath":"tutorials/beaconkit.md","lastUpdated":1725395471000}'),d={name:"tutorials/beaconkit.md"},B=Object.assign(d,{setup(o){return(g,i)=>(l(),h("div",null,[i[3]||(i[3]=a('

          Building a Sovereign Rollup with BeaconKit and Rollkit

          beaconkit

          Introduction

          This tutorial guides developers through the process of building and running a sovereign rollup using BeaconKit and Rollkit. BeaconKit is a modular framework for building EVM-based consensus clients, while Rollkit is a modular framework for building sovereign rollups. By combining these tools, you can create your own customizable rollup chain using the Ethereum Virtual Machine (EVM).

          Prerequisites

          Before you begin, ensure you have the following software installed on your machine:

          Rollkit

          Rollkit is a modular framework for sovereign rollups. Follow our Quick Start Guide to walk through the installation process. The installation script will install the Rollkit CLI, Golang, and jq if they are not already present on your machine.

          Docker

          Docker is essential for running containerized applications. Follow the provided link to install Docker on your system.

          Run a local Data Availability (DA) node

          First, set up a local data availability network node:

          ',12)),s("div",k,[i[1]||(i[1]=s("button",{title:"Copy Code",class:"copy"},null,-1)),i[2]||(i[2]=s("span",{class:"lang"},"bash",-1)),s("pre",p,[s("code",null,[s("span",F,[i[0]||(i[0]=a('cd $HOME && curl -sSL https://rollkit.dev/install-local-da.sh | sh -s',8)),s("span",r," "+n(e(t).localDALatestTag),1)])])])]),i[4]||(i[4]=a(`

          This script builds and runs a DA node, which will listen on port 7980.

          Clone the BeaconKit repository

          Clone the BeaconKit repository and switch to the Rollkit branch:

          bash
          cd $HOME
           git clone -b rollkit https://github.com/rollkit/beacon-kit.git
           cd beacon-kit && git checkout rollkit

          Start the Go Ethereum (Geth) client

          Start local ephemeral Go Ethereum client to provide the execution layer:

          bash
          cd $HOME/beacon-kit
           make start-geth

          Notice within logs indicating that your Geth client is running the RPC server is listening on port 8545. You will need that port to deploy and interact with smart contracts on the BeaconKit EVM.

          Build and run the BeaconKit node

          Open a new terminal and run:

          bash
          cd $HOME/beacon-kit
          diff --git a/assets/tutorials_centralized.md.D3FPclFN.js b/assets/tutorials_centralized.md.D3FPclFN.js
          deleted file mode 100644
          index a1218b054..000000000
          --- a/assets/tutorials_centralized.md.D3FPclFN.js
          +++ /dev/null
          @@ -1,22 +0,0 @@
          -import{_ as i,c as a,a3 as n,o as e}from"./chunks/framework.CGQ59HuL.js";const t="/assets/sequencing.DlIPdR1A.jpg",o=JSON.parse('{"title":"Centralized Sequencer","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Centralized Sequencer | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/centralized.md","filePath":"tutorials/centralized.md","lastUpdated":1731074592000}'),l={name:"tutorials/centralized.md"};function h(p,s,k,r,d,F){return e(),a("div",null,s[0]||(s[0]=[n('

          Centralized Sequencer

          A centralized sequencer is a sequencing middleware that receives rollup transactions and provides a local sequencing capabilities. Meaning, the transactions are ordered in the order they are received by the sequencer without any censorship. Further, the sequenced batches are made available in the DA network (such as Celestia). Under the hood, the centralized sequencer is a GRPC server that implements go-sequencing interface and the server is hosted by the same node that is running the aggregator for the Rollkit rollup.

          Rollkit with Centralized Sequencer

          Installation and Use

          sh
          git clone https://github.com/rollkit/centralized-sequencer.git
          -cd centralized-sequencer
          -make build
          -./build/centralized-sequencer -h
          sh
          Usage:
          -  -host string
          -    	centralized sequencer host (default "localhost")
          -  -port string
          -    	centralized sequencer port (default "50051")
          -  -listen-all
          -    	listen on all network interfaces (0.0.0.0) instead of just localhost
          -  -rollup-id string
          -    	rollup id (default "rollupId")
          -  -batch-time duration
          -    	time in seconds to wait before generating a new batch (default 2s)
          -  -da_address string
          -    	DA address (default "http://localhost:26658")
          -  -da_auth_token string
          -    	auth token for the DA
          -  -da_namespace string
          -    	DA namespace where the sequencer submits transactions
          -  -db_path string
          -    	path to the database

          As shown by the help command, a centralized sequencer is configured to serve a rollup (via rollup_id). The DA network to persist the sequenced batches are specified using da_address, da_auth_token and da_namespace.

          `,7)]))}const g=i(l,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/tutorials_centralized.md.D3FPclFN.lean.js b/assets/tutorials_centralized.md.D3FPclFN.lean.js deleted file mode 100644 index a1218b054..000000000 --- a/assets/tutorials_centralized.md.D3FPclFN.lean.js +++ /dev/null @@ -1,22 +0,0 @@ -import{_ as i,c as a,a3 as n,o as e}from"./chunks/framework.CGQ59HuL.js";const t="/assets/sequencing.DlIPdR1A.jpg",o=JSON.parse('{"title":"Centralized Sequencer","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Centralized Sequencer | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/centralized.md","filePath":"tutorials/centralized.md","lastUpdated":1731074592000}'),l={name:"tutorials/centralized.md"};function h(p,s,k,r,d,F){return e(),a("div",null,s[0]||(s[0]=[n('

          Centralized Sequencer

          A centralized sequencer is a sequencing middleware that receives rollup transactions and provides a local sequencing capabilities. Meaning, the transactions are ordered in the order they are received by the sequencer without any censorship. Further, the sequenced batches are made available in the DA network (such as Celestia). Under the hood, the centralized sequencer is a GRPC server that implements go-sequencing interface and the server is hosted by the same node that is running the aggregator for the Rollkit rollup.

          Rollkit with Centralized Sequencer

          Installation and Use

          sh
          git clone https://github.com/rollkit/centralized-sequencer.git
          -cd centralized-sequencer
          -make build
          -./build/centralized-sequencer -h
          sh
          Usage:
          -  -host string
          -    	centralized sequencer host (default "localhost")
          -  -port string
          -    	centralized sequencer port (default "50051")
          -  -listen-all
          -    	listen on all network interfaces (0.0.0.0) instead of just localhost
          -  -rollup-id string
          -    	rollup id (default "rollupId")
          -  -batch-time duration
          -    	time in seconds to wait before generating a new batch (default 2s)
          -  -da_address string
          -    	DA address (default "http://localhost:26658")
          -  -da_auth_token string
          -    	auth token for the DA
          -  -da_namespace string
          -    	DA namespace where the sequencer submits transactions
          -  -db_path string
          -    	path to the database

          As shown by the help command, a centralized sequencer is configured to serve a rollup (via rollup_id). The DA network to persist the sequenced batches are specified using da_address, da_auth_token and da_namespace.

          `,7)]))}const g=i(l,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/tutorials_da_celestia-da.md.Cz-M6ZBa.lean.js b/assets/tutorials_da_celestia-da.md.CDXevnQs.js similarity index 97% rename from assets/tutorials_da_celestia-da.md.Cz-M6ZBa.lean.js rename to assets/tutorials_da_celestia-da.md.CDXevnQs.js index ffd3f04bb..d51475a55 100644 --- a/assets/tutorials_da_celestia-da.md.Cz-M6ZBa.lean.js +++ b/assets/tutorials_da_celestia-da.md.CDXevnQs.js @@ -1,5 +1,5 @@ import{c as i,a3 as a,o as e}from"./chunks/framework.CGQ59HuL.js";const o=JSON.parse('{"title":"Using Celestia as DA","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Using Celestia as DA | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/da/celestia-da.md","filePath":"tutorials/da/celestia-da.md","lastUpdated":1732002679000}'),t={name:"tutorials/da/celestia-da.md"},p=Object.assign(t,{setup(l){return(n,s)=>(e(),i("div",null,s[0]||(s[0]=[a(`

          Using Celestia as DA

          🌞 Introduction

          This tutorial serves as a comprehensive guide for deploying your rollup on Celestia's data availability (DA) network. From the Rollkit perspective, there's no difference in posting blocks to Celestia's testnets or Mainnet Beta.

          Before proceeding, ensure that you have completed the quick start tutorial, which covers installing the rollkit CLI and running a rollup against a local DA network.

          🪶 Running a Celestia light node

          Before you can start your rollup node, you need to initiate, sync, and fund a light node on one of Celestia's networks:

          The main difference lies in how you fund your wallet address: using testnet TIA or TIA for Mainnet Beta.

          After successfully starting a light node, it's time to start posting the batches of blocks of data that your rollup generates to Celestia.

          🏗️ Prerequisites

          🛠️ Configuring flags for DA

          Now that we are posting to the Celestia DA instead of the local DA, the rollkit start command requires three DA configuration flags:

          • --rollkit.da_start_height
          • --rollkit.da_auth_token
          • --rollkit.da_namespace

          TIP

          Optionally, you could also set the --rollkit.da_block_time flag. This should be set to the finality time of the DA layer, not its actual block time, as Rollkit does not handle reorganization logic. The default value is 15 seconds.

          Let's determine which values to provide for each of them.

          First, let's query the DA layer start height using our light node.

          bash
          DA_BLOCK_HEIGHT=$(celestia header network-head | jq -r '.result.header.height')
          -echo -e "\\n Your DA_BLOCK_HEIGHT is $DA_BLOCK_HEIGHT \\n"

          The output of the command above will look similar to this:

          bash
           Your DA_BLOCK_HEIGHT is 2127672

          Now, let's obtain the authentication token of your light node using the following command:

          bash
          AUTH_TOKEN=$(celestia light auth write --p2p.network arabica)
          +echo -e "\\n Your DA_BLOCK_HEIGHT is $DA_BLOCK_HEIGHT \\n"

          The output of the command above will look similar to this:

          bash
           Your DA_BLOCK_HEIGHT is 2127672

          Now, let's obtain the authentication token of your light node using the following command:

          bash
          AUTH_TOKEN=$(celestia light auth write --p2p.network arabica)
           echo -e "\\n Your DA AUTH_TOKEN is $AUTH_TOKEN \\n"
          bash
          AUTH_TOKEN=$(celestia light auth write --p2p.network mocha)
           echo -e "\\n Your DA AUTH_TOKEN is $AUTH_TOKEN \\n"
          bash
          AUTH_TOKEN=$(celestia light auth write)
           echo -e "\\n Your DA AUTH_TOKEN is $AUTH_TOKEN \\n"

          The output of the command above will look similar to this:

          bash
           Your DA AUTH_TOKEN is eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJwdWJsaWMiLCJyZWFkIiwid3JpdGUiXX0.cSrJjpfUdTNFtzGho69V0D_8kyECn9Mzv8ghJSpKRDE

          Next, let's set up the namespace to be used for posting data on Celestia:

          bash
          DA_NAMESPACE=00000000000000000000000000000000000000000008e5f679bf7116cb

          TIP

          00000000000000000000000000000000000000000008e5f679bf7116cb is a default namespace for Mocha testnet. You can set your own by using a command similar to this (or, you could get creative 😎):

          bash
          openssl rand -hex 10

          Replace the last 20 characters (10 bytes) in 00000000000000000000000000000000000000000008e5f679bf7116cb with the newly generated 10 bytes.

          Learn more about namespaces.

          Lastly, set your DA address for your light node, which by default runs at port 26658:

          bash
          DA_ADDRESS=http://localhost:26658

          🔥 Running your rollup connected to Celestia light node

          Finally, let's initiate the rollup node with all the flags:

          bash
          rollkit start \\
          diff --git a/assets/tutorials_da_celestia-da.md.Cz-M6ZBa.js b/assets/tutorials_da_celestia-da.md.CDXevnQs.lean.js
          similarity index 97%
          rename from assets/tutorials_da_celestia-da.md.Cz-M6ZBa.js
          rename to assets/tutorials_da_celestia-da.md.CDXevnQs.lean.js
          index ffd3f04bb..d51475a55 100644
          --- a/assets/tutorials_da_celestia-da.md.Cz-M6ZBa.js
          +++ b/assets/tutorials_da_celestia-da.md.CDXevnQs.lean.js
          @@ -1,5 +1,5 @@
           import{c as i,a3 as a,o as e}from"./chunks/framework.CGQ59HuL.js";const o=JSON.parse('{"title":"Using Celestia as DA","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Using Celestia as DA | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/da/celestia-da.md","filePath":"tutorials/da/celestia-da.md","lastUpdated":1732002679000}'),t={name:"tutorials/da/celestia-da.md"},p=Object.assign(t,{setup(l){return(n,s)=>(e(),i("div",null,s[0]||(s[0]=[a(`

          Using Celestia as DA

          🌞 Introduction

          This tutorial serves as a comprehensive guide for deploying your rollup on Celestia's data availability (DA) network. From the Rollkit perspective, there's no difference in posting blocks to Celestia's testnets or Mainnet Beta.

          Before proceeding, ensure that you have completed the quick start tutorial, which covers installing the rollkit CLI and running a rollup against a local DA network.

          🪶 Running a Celestia light node

          Before you can start your rollup node, you need to initiate, sync, and fund a light node on one of Celestia's networks:

          The main difference lies in how you fund your wallet address: using testnet TIA or TIA for Mainnet Beta.

          After successfully starting a light node, it's time to start posting the batches of blocks of data that your rollup generates to Celestia.

          🏗️ Prerequisites

          🛠️ Configuring flags for DA

          Now that we are posting to the Celestia DA instead of the local DA, the rollkit start command requires three DA configuration flags:

          • --rollkit.da_start_height
          • --rollkit.da_auth_token
          • --rollkit.da_namespace

          TIP

          Optionally, you could also set the --rollkit.da_block_time flag. This should be set to the finality time of the DA layer, not its actual block time, as Rollkit does not handle reorganization logic. The default value is 15 seconds.

          Let's determine which values to provide for each of them.

          First, let's query the DA layer start height using our light node.

          bash
          DA_BLOCK_HEIGHT=$(celestia header network-head | jq -r '.result.header.height')
          -echo -e "\\n Your DA_BLOCK_HEIGHT is $DA_BLOCK_HEIGHT \\n"

          The output of the command above will look similar to this:

          bash
           Your DA_BLOCK_HEIGHT is 2127672

          Now, let's obtain the authentication token of your light node using the following command:

          bash
          AUTH_TOKEN=$(celestia light auth write --p2p.network arabica)
          +echo -e "\\n Your DA_BLOCK_HEIGHT is $DA_BLOCK_HEIGHT \\n"

          The output of the command above will look similar to this:

          bash
           Your DA_BLOCK_HEIGHT is 2127672

          Now, let's obtain the authentication token of your light node using the following command:

          bash
          AUTH_TOKEN=$(celestia light auth write --p2p.network arabica)
           echo -e "\\n Your DA AUTH_TOKEN is $AUTH_TOKEN \\n"
          bash
          AUTH_TOKEN=$(celestia light auth write --p2p.network mocha)
           echo -e "\\n Your DA AUTH_TOKEN is $AUTH_TOKEN \\n"
          bash
          AUTH_TOKEN=$(celestia light auth write)
           echo -e "\\n Your DA AUTH_TOKEN is $AUTH_TOKEN \\n"

          The output of the command above will look similar to this:

          bash
           Your DA AUTH_TOKEN is eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJwdWJsaWMiLCJyZWFkIiwid3JpdGUiXX0.cSrJjpfUdTNFtzGho69V0D_8kyECn9Mzv8ghJSpKRDE

          Next, let's set up the namespace to be used for posting data on Celestia:

          bash
          DA_NAMESPACE=00000000000000000000000000000000000000000008e5f679bf7116cb

          TIP

          00000000000000000000000000000000000000000008e5f679bf7116cb is a default namespace for Mocha testnet. You can set your own by using a command similar to this (or, you could get creative 😎):

          bash
          openssl rand -hex 10

          Replace the last 20 characters (10 bytes) in 00000000000000000000000000000000000000000008e5f679bf7116cb with the newly generated 10 bytes.

          Learn more about namespaces.

          Lastly, set your DA address for your light node, which by default runs at port 26658:

          bash
          DA_ADDRESS=http://localhost:26658

          🔥 Running your rollup connected to Celestia light node

          Finally, let's initiate the rollup node with all the flags:

          bash
          rollkit start \\
          diff --git a/assets/tutorials_da_local-da.md.BF0VzSLW.js b/assets/tutorials_da_local-da.md.CNLalXb-.js
          similarity index 93%
          rename from assets/tutorials_da_local-da.md.BF0VzSLW.js
          rename to assets/tutorials_da_local-da.md.CNLalXb-.js
          index bce878808..4ffa1ff05 100644
          --- a/assets/tutorials_da_local-da.md.BF0VzSLW.js
          +++ b/assets/tutorials_da_local-da.md.CNLalXb-.js
          @@ -1,4 +1,4 @@
          -import{c as t}from"./chunks/constants.BZ-q9XpV.js";import{c as l,a3 as i,j as s,t as e,k as n,o}from"./chunks/framework.CGQ59HuL.js";const r={class:"language-bash vp-adaptive-theme"},h={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},d={class:"line"},p={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y=JSON.parse('{"title":"Using Local DA","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Using Local DA | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/da/local-da.md","filePath":"tutorials/da/local-da.md","lastUpdated":1732002679000}'),k={name:"tutorials/da/local-da.md"},m=Object.assign(k,{setup(c){return(u,a)=>(o(),l("div",null,[a[3]||(a[3]=i('

          Using Local DA

          Introduction

          This tutorial serves as a comprehensive guide for using the local-da with your chain.

          Before proceeding, ensure that you have completed the quick start or build a chain tutorial, which covers installing the rollkit CLI, building your chain, and running your chain.

          Setting Up a Local DA Network

          To set up a local DA network node on your machine, run the following script to install and start the local DA node:

          ',6)),s("div",r,[a[1]||(a[1]=s("button",{title:"Copy Code",class:"copy"},null,-1)),a[2]||(a[2]=s("span",{class:"lang"},"bash",-1)),s("pre",h,[s("code",null,[s("span",d,[a[0]||(a[0]=i('curl -sSL https://rollkit.dev/install-local-da.sh | bash -s',6)),s("span",p," "+e(n(t).localDALatestTag),1)])])])]),a[4]||(a[4]=i(`

          This script will build and run the node, which will then listen on port 7980.

          Configuring your rollup to connect to the local DA network

          To connect your rollup to the local DA network, you need to pass the --rollkit.da_address flag with the local DA node address.

          Run your rollup

          Start your rollup node with the following command, ensuring to include the DA address flag:

          sh
          rollkit start --rollkit.da_address http://localhost:7980
          sh
          rollkit start \\
          +import{c as t}from"./chunks/constants.pTZQtKJL.js";import{c as l,a3 as i,j as s,t as e,k as n,o}from"./chunks/framework.CGQ59HuL.js";const r={class:"language-bash vp-adaptive-theme"},h={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},d={class:"line"},p={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y=JSON.parse('{"title":"Using Local DA","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Using Local DA | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/da/local-da.md","filePath":"tutorials/da/local-da.md","lastUpdated":1732002679000}'),k={name:"tutorials/da/local-da.md"},C=Object.assign(k,{setup(c){return(u,a)=>(o(),l("div",null,[a[3]||(a[3]=i('

          Using Local DA

          Introduction

          This tutorial serves as a comprehensive guide for using the local-da with your chain.

          Before proceeding, ensure that you have completed the quick start or build a chain tutorial, which covers installing the rollkit CLI, building your chain, and running your chain.

          Setting Up a Local DA Network

          To set up a local DA network node on your machine, run the following script to install and start the local DA node:

          ',6)),s("div",r,[a[1]||(a[1]=s("button",{title:"Copy Code",class:"copy"},null,-1)),a[2]||(a[2]=s("span",{class:"lang"},"bash",-1)),s("pre",h,[s("code",null,[s("span",d,[a[0]||(a[0]=i('curl -sSL https://rollkit.dev/install-local-da.sh | bash -s',6)),s("span",p," "+e(n(t).localDALatestTag),1)])])])]),a[4]||(a[4]=i(`

          This script will build and run the node, which will then listen on port 7980.

          Configuring your rollup to connect to the local DA network

          To connect your rollup to the local DA network, you need to pass the --rollkit.da_address flag with the local DA node address.

          Run your rollup

          Start your rollup node with the following command, ensuring to include the DA address flag:

          sh
          rollkit start --rollkit.da_address http://localhost:7980
          sh
          rollkit start \\
               --rollkit.aggregator \\
               --rollkit.da_address http://localhost:7980 \\
          -    --rollkit.sequencer_rollup_id wordle

          You should see the following log message indicating that your rollup is connected to the local DA network:

          shell
          I[2024-11-15|14:54:19.842] DA server is already running                 module=main address=http://localhost:7980

          Summary

          By following these steps, you will set up a local DA network node and configure your rollup to post data to it. This setup is useful for testing and development in a controlled environment.

          `,10))]))}});export{y as __pageData,m as default}; + --rollkit.sequencer_rollup_id wordle

          You should see the following log message indicating that your rollup is connected to the local DA network:

          shell
          I[2024-11-15|14:54:19.842] DA server is already running                 module=main address=http://localhost:7980

          Summary

          By following these steps, you will set up a local DA network node and configure your rollup to post data to it. This setup is useful for testing and development in a controlled environment.

          `,10))]))}});export{y as __pageData,C as default}; diff --git a/assets/tutorials_da_local-da.md.BF0VzSLW.lean.js b/assets/tutorials_da_local-da.md.CNLalXb-.lean.js similarity index 93% rename from assets/tutorials_da_local-da.md.BF0VzSLW.lean.js rename to assets/tutorials_da_local-da.md.CNLalXb-.lean.js index bce878808..4ffa1ff05 100644 --- a/assets/tutorials_da_local-da.md.BF0VzSLW.lean.js +++ b/assets/tutorials_da_local-da.md.CNLalXb-.lean.js @@ -1,4 +1,4 @@ -import{c as t}from"./chunks/constants.BZ-q9XpV.js";import{c as l,a3 as i,j as s,t as e,k as n,o}from"./chunks/framework.CGQ59HuL.js";const r={class:"language-bash vp-adaptive-theme"},h={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},d={class:"line"},p={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y=JSON.parse('{"title":"Using Local DA","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Using Local DA | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/da/local-da.md","filePath":"tutorials/da/local-da.md","lastUpdated":1732002679000}'),k={name:"tutorials/da/local-da.md"},m=Object.assign(k,{setup(c){return(u,a)=>(o(),l("div",null,[a[3]||(a[3]=i('

          Using Local DA

          Introduction

          This tutorial serves as a comprehensive guide for using the local-da with your chain.

          Before proceeding, ensure that you have completed the quick start or build a chain tutorial, which covers installing the rollkit CLI, building your chain, and running your chain.

          Setting Up a Local DA Network

          To set up a local DA network node on your machine, run the following script to install and start the local DA node:

          ',6)),s("div",r,[a[1]||(a[1]=s("button",{title:"Copy Code",class:"copy"},null,-1)),a[2]||(a[2]=s("span",{class:"lang"},"bash",-1)),s("pre",h,[s("code",null,[s("span",d,[a[0]||(a[0]=i('curl -sSL https://rollkit.dev/install-local-da.sh | bash -s',6)),s("span",p," "+e(n(t).localDALatestTag),1)])])])]),a[4]||(a[4]=i(`

          This script will build and run the node, which will then listen on port 7980.

          Configuring your rollup to connect to the local DA network

          To connect your rollup to the local DA network, you need to pass the --rollkit.da_address flag with the local DA node address.

          Run your rollup

          Start your rollup node with the following command, ensuring to include the DA address flag:

          sh
          rollkit start --rollkit.da_address http://localhost:7980
          sh
          rollkit start \\
          +import{c as t}from"./chunks/constants.pTZQtKJL.js";import{c as l,a3 as i,j as s,t as e,k as n,o}from"./chunks/framework.CGQ59HuL.js";const r={class:"language-bash vp-adaptive-theme"},h={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},d={class:"line"},p={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y=JSON.parse('{"title":"Using Local DA","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Using Local DA | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/da/local-da.md","filePath":"tutorials/da/local-da.md","lastUpdated":1732002679000}'),k={name:"tutorials/da/local-da.md"},C=Object.assign(k,{setup(c){return(u,a)=>(o(),l("div",null,[a[3]||(a[3]=i('

          Using Local DA

          Introduction

          This tutorial serves as a comprehensive guide for using the local-da with your chain.

          Before proceeding, ensure that you have completed the quick start or build a chain tutorial, which covers installing the rollkit CLI, building your chain, and running your chain.

          Setting Up a Local DA Network

          To set up a local DA network node on your machine, run the following script to install and start the local DA node:

          ',6)),s("div",r,[a[1]||(a[1]=s("button",{title:"Copy Code",class:"copy"},null,-1)),a[2]||(a[2]=s("span",{class:"lang"},"bash",-1)),s("pre",h,[s("code",null,[s("span",d,[a[0]||(a[0]=i('curl -sSL https://rollkit.dev/install-local-da.sh | bash -s',6)),s("span",p," "+e(n(t).localDALatestTag),1)])])])]),a[4]||(a[4]=i(`

          This script will build and run the node, which will then listen on port 7980.

          Configuring your rollup to connect to the local DA network

          To connect your rollup to the local DA network, you need to pass the --rollkit.da_address flag with the local DA node address.

          Run your rollup

          Start your rollup node with the following command, ensuring to include the DA address flag:

          sh
          rollkit start --rollkit.da_address http://localhost:7980
          sh
          rollkit start \\
               --rollkit.aggregator \\
               --rollkit.da_address http://localhost:7980 \\
          -    --rollkit.sequencer_rollup_id wordle

          You should see the following log message indicating that your rollup is connected to the local DA network:

          shell
          I[2024-11-15|14:54:19.842] DA server is already running                 module=main address=http://localhost:7980

          Summary

          By following these steps, you will set up a local DA network node and configure your rollup to post data to it. This setup is useful for testing and development in a controlled environment.

          `,10))]))}});export{y as __pageData,m as default}; + --rollkit.sequencer_rollup_id wordle

          You should see the following log message indicating that your rollup is connected to the local DA network:

          shell
          I[2024-11-15|14:54:19.842] DA server is already running                 module=main address=http://localhost:7980

          Summary

          By following these steps, you will set up a local DA network node and configure your rollup to post data to it. This setup is useful for testing and development in a controlled environment.

          `,10))]))}});export{y as __pageData,C as default}; diff --git a/assets/tutorials_docker-compose.md.BtX1AWHL.js b/assets/tutorials_docker-compose.md.DgQTgY-R.js similarity index 99% rename from assets/tutorials_docker-compose.md.BtX1AWHL.js rename to assets/tutorials_docker-compose.md.DgQTgY-R.js index 24437e734..290e3f1ca 100644 --- a/assets/tutorials_docker-compose.md.BtX1AWHL.js +++ b/assets/tutorials_docker-compose.md.DgQTgY-R.js @@ -1,4 +1,4 @@ -import{C as h}from"./chunks/callout.DiI5rXbX.js";import{c as e}from"./chunks/constants.BZ-q9XpV.js";import{c as p,j as i,a,G as k,a3 as n,t,k as l,o as r}from"./chunks/framework.CGQ59HuL.js";/* empty css */const o={class:"tip custom-block"},d={class:"language-dockerfile vp-adaptive-theme"},c={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},g={class:"line"},E={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},y={class:"line"},F={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},u={class:"language-yml vp-adaptive-theme"},m={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},C={class:"line"},D={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},b={class:"line"},A={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},P=JSON.parse('{"title":"🐳 Docker Compose","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🐳 Docker Compose | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/docker-compose.md","filePath":"tutorials/docker-compose.md","lastUpdated":1731690932000}'),f={name:"tutorials/docker-compose.md"},I=Object.assign(f,{setup(B){return(w,s)=>(r(),p("div",null,[s[17]||(s[17]=i("h1",{id:"🐳-docker-compose",tabindex:"-1"},[a("🐳 Docker Compose "),i("a",{class:"header-anchor",href:"#🐳-docker-compose","aria-label":'Permalink to "🐳 Docker Compose"'},"​")],-1)),s[18]||(s[18]=i("p",null,[a("This tutorial is going to show you how to deploy the "),i("a",{href:"/tutorials/wordle"},"wordle chain"),a(" using Docker Compose.")],-1)),s[19]||(s[19]=i("p",null,[a("You can learn more about Docker Compose "),i("a",{href:"https://docs.docker.com/compose/",target:"_blank",rel:"noreferrer"},"here"),a(".")],-1)),i("div",o,[s[0]||(s[0]=i("p",{class:"custom-block-title"},"TIP",-1)),k(h)]),s[20]||(s[20]=n('

          💻 Pre-requisites

          Make sure you have your wordle chain ready by completing the Build your chain tutorial.

          🛠️ Dependencies

          💻 Docker Compose

          You can install docker compose here.

          Once installed, you can verify the installation by running:

          bash
          docker compose version
          bash
          Docker Compose version v2.23.0-desktop.1

          🛠️ Setting up your environment

          In addition to our chain, we need to run a DA and Sequencer node.

          We will use the local-da and local-sequencer for this tutorial and run it with our chain.

          To save time, we can use their respective Dockerfiles:

          This will allow us to focus on how we can run the wordle chain with Docker Compose.

          🐳 Dockerfile

          First, we need to create a Dockerfile for our wordle chain. Create a new file called Dockerfile in the root of the wordle directory and add the following code:

          ',16)),i("div",d,[s[10]||(s[10]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[11]||(s[11]=i("span",{class:"lang"},"dockerfile",-1)),i("pre",c,[i("code",null,[s[3]||(s[3]=n(`# Stage 1: Install ignite CLI and rollkit +import{C as h}from"./chunks/callout.DiI5rXbX.js";import{c as e}from"./chunks/constants.pTZQtKJL.js";import{c as p,j as i,a,G as k,a3 as n,t,k as l,o as r}from"./chunks/framework.CGQ59HuL.js";/* empty css */const o={class:"tip custom-block"},d={class:"language-dockerfile vp-adaptive-theme"},c={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},g={class:"line"},E={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},y={class:"line"},F={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},u={class:"language-yml vp-adaptive-theme"},m={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},C={class:"line"},D={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},b={class:"line"},A={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},P=JSON.parse('{"title":"🐳 Docker Compose","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🐳 Docker Compose | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/docker-compose.md","filePath":"tutorials/docker-compose.md","lastUpdated":1731690932000}'),f={name:"tutorials/docker-compose.md"},I=Object.assign(f,{setup(B){return(w,s)=>(r(),p("div",null,[s[17]||(s[17]=i("h1",{id:"🐳-docker-compose",tabindex:"-1"},[a("🐳 Docker Compose "),i("a",{class:"header-anchor",href:"#🐳-docker-compose","aria-label":'Permalink to "🐳 Docker Compose"'},"​")],-1)),s[18]||(s[18]=i("p",null,[a("This tutorial is going to show you how to deploy the "),i("a",{href:"/tutorials/wordle"},"wordle chain"),a(" using Docker Compose.")],-1)),s[19]||(s[19]=i("p",null,[a("You can learn more about Docker Compose "),i("a",{href:"https://docs.docker.com/compose/",target:"_blank",rel:"noreferrer"},"here"),a(".")],-1)),i("div",o,[s[0]||(s[0]=i("p",{class:"custom-block-title"},"TIP",-1)),k(h)]),s[20]||(s[20]=n('

          💻 Pre-requisites

          Make sure you have your wordle chain ready by completing the Build your chain tutorial.

          🛠️ Dependencies

          💻 Docker Compose

          You can install docker compose here.

          Once installed, you can verify the installation by running:

          bash
          docker compose version
          bash
          Docker Compose version v2.23.0-desktop.1

          🛠️ Setting up your environment

          In addition to our chain, we need to run a DA and Sequencer node.

          We will use the local-da and local-sequencer for this tutorial and run it with our chain.

          To save time, we can use their respective Dockerfiles:

          This will allow us to focus on how we can run the wordle chain with Docker Compose.

          🐳 Dockerfile

          First, we need to create a Dockerfile for our wordle chain. Create a new file called Dockerfile in the root of the wordle directory and add the following code:

          ',16)),i("div",d,[s[10]||(s[10]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[11]||(s[11]=i("span",{class:"lang"},"dockerfile",-1)),i("pre",c,[i("code",null,[s[3]||(s[3]=n(`# Stage 1: Install ignite CLI and rollkit FROM golang as base # Install dependencies diff --git a/assets/tutorials_docker-compose.md.BtX1AWHL.lean.js b/assets/tutorials_docker-compose.md.DgQTgY-R.lean.js similarity index 99% rename from assets/tutorials_docker-compose.md.BtX1AWHL.lean.js rename to assets/tutorials_docker-compose.md.DgQTgY-R.lean.js index 24437e734..290e3f1ca 100644 --- a/assets/tutorials_docker-compose.md.BtX1AWHL.lean.js +++ b/assets/tutorials_docker-compose.md.DgQTgY-R.lean.js @@ -1,4 +1,4 @@ -import{C as h}from"./chunks/callout.DiI5rXbX.js";import{c as e}from"./chunks/constants.BZ-q9XpV.js";import{c as p,j as i,a,G as k,a3 as n,t,k as l,o as r}from"./chunks/framework.CGQ59HuL.js";/* empty css */const o={class:"tip custom-block"},d={class:"language-dockerfile vp-adaptive-theme"},c={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},g={class:"line"},E={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},y={class:"line"},F={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},u={class:"language-yml vp-adaptive-theme"},m={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},C={class:"line"},D={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},b={class:"line"},A={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},P=JSON.parse('{"title":"🐳 Docker Compose","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🐳 Docker Compose | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/docker-compose.md","filePath":"tutorials/docker-compose.md","lastUpdated":1731690932000}'),f={name:"tutorials/docker-compose.md"},I=Object.assign(f,{setup(B){return(w,s)=>(r(),p("div",null,[s[17]||(s[17]=i("h1",{id:"🐳-docker-compose",tabindex:"-1"},[a("🐳 Docker Compose "),i("a",{class:"header-anchor",href:"#🐳-docker-compose","aria-label":'Permalink to "🐳 Docker Compose"'},"​")],-1)),s[18]||(s[18]=i("p",null,[a("This tutorial is going to show you how to deploy the "),i("a",{href:"/tutorials/wordle"},"wordle chain"),a(" using Docker Compose.")],-1)),s[19]||(s[19]=i("p",null,[a("You can learn more about Docker Compose "),i("a",{href:"https://docs.docker.com/compose/",target:"_blank",rel:"noreferrer"},"here"),a(".")],-1)),i("div",o,[s[0]||(s[0]=i("p",{class:"custom-block-title"},"TIP",-1)),k(h)]),s[20]||(s[20]=n('

          💻 Pre-requisites

          Make sure you have your wordle chain ready by completing the Build your chain tutorial.

          🛠️ Dependencies

          💻 Docker Compose

          You can install docker compose here.

          Once installed, you can verify the installation by running:

          bash
          docker compose version
          bash
          Docker Compose version v2.23.0-desktop.1

          🛠️ Setting up your environment

          In addition to our chain, we need to run a DA and Sequencer node.

          We will use the local-da and local-sequencer for this tutorial and run it with our chain.

          To save time, we can use their respective Dockerfiles:

          This will allow us to focus on how we can run the wordle chain with Docker Compose.

          🐳 Dockerfile

          First, we need to create a Dockerfile for our wordle chain. Create a new file called Dockerfile in the root of the wordle directory and add the following code:

          ',16)),i("div",d,[s[10]||(s[10]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[11]||(s[11]=i("span",{class:"lang"},"dockerfile",-1)),i("pre",c,[i("code",null,[s[3]||(s[3]=n(`# Stage 1: Install ignite CLI and rollkit +import{C as h}from"./chunks/callout.DiI5rXbX.js";import{c as e}from"./chunks/constants.pTZQtKJL.js";import{c as p,j as i,a,G as k,a3 as n,t,k as l,o as r}from"./chunks/framework.CGQ59HuL.js";/* empty css */const o={class:"tip custom-block"},d={class:"language-dockerfile vp-adaptive-theme"},c={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},g={class:"line"},E={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},y={class:"line"},F={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},u={class:"language-yml vp-adaptive-theme"},m={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},C={class:"line"},D={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},b={class:"line"},A={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},P=JSON.parse('{"title":"🐳 Docker Compose","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🐳 Docker Compose | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/docker-compose.md","filePath":"tutorials/docker-compose.md","lastUpdated":1731690932000}'),f={name:"tutorials/docker-compose.md"},I=Object.assign(f,{setup(B){return(w,s)=>(r(),p("div",null,[s[17]||(s[17]=i("h1",{id:"🐳-docker-compose",tabindex:"-1"},[a("🐳 Docker Compose "),i("a",{class:"header-anchor",href:"#🐳-docker-compose","aria-label":'Permalink to "🐳 Docker Compose"'},"​")],-1)),s[18]||(s[18]=i("p",null,[a("This tutorial is going to show you how to deploy the "),i("a",{href:"/tutorials/wordle"},"wordle chain"),a(" using Docker Compose.")],-1)),s[19]||(s[19]=i("p",null,[a("You can learn more about Docker Compose "),i("a",{href:"https://docs.docker.com/compose/",target:"_blank",rel:"noreferrer"},"here"),a(".")],-1)),i("div",o,[s[0]||(s[0]=i("p",{class:"custom-block-title"},"TIP",-1)),k(h)]),s[20]||(s[20]=n('

          💻 Pre-requisites

          Make sure you have your wordle chain ready by completing the Build your chain tutorial.

          🛠️ Dependencies

          💻 Docker Compose

          You can install docker compose here.

          Once installed, you can verify the installation by running:

          bash
          docker compose version
          bash
          Docker Compose version v2.23.0-desktop.1

          🛠️ Setting up your environment

          In addition to our chain, we need to run a DA and Sequencer node.

          We will use the local-da and local-sequencer for this tutorial and run it with our chain.

          To save time, we can use their respective Dockerfiles:

          This will allow us to focus on how we can run the wordle chain with Docker Compose.

          🐳 Dockerfile

          First, we need to create a Dockerfile for our wordle chain. Create a new file called Dockerfile in the root of the wordle directory and add the following code:

          ',16)),i("div",d,[s[10]||(s[10]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[11]||(s[11]=i("span",{class:"lang"},"dockerfile",-1)),i("pre",c,[i("code",null,[s[3]||(s[3]=n(`# Stage 1: Install ignite CLI and rollkit FROM golang as base # Install dependencies diff --git a/assets/tutorials_forced.md.BbdpyaWP.js b/assets/tutorials_forced.md.BbdpyaWP.js deleted file mode 100644 index 09a1b78db..000000000 --- a/assets/tutorials_forced.md.BbdpyaWP.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,j as e,a as n,o as r}from"./chunks/framework.CGQ59HuL.js";const p=JSON.parse('{"title":"Forced Inclusion","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Forced Inclusion | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/forced.md","filePath":"tutorials/forced.md","lastUpdated":1731074592000}'),c={name:"tutorials/forced.md"};function s(i,o,d,l,f,u){return r(),a("div",null,o[0]||(o[0]=[e("h1",{id:"forced-inclusion",tabindex:"-1"},[n("Forced Inclusion "),e("a",{class:"header-anchor",href:"#forced-inclusion","aria-label":'Permalink to "Forced Inclusion"'},"​")],-1),e("p",null,"Coming soon ...",-1)]))}const _=t(c,[["render",s]]);export{p as __pageData,_ as default}; diff --git a/assets/tutorials_forced.md.BbdpyaWP.lean.js b/assets/tutorials_forced.md.BbdpyaWP.lean.js deleted file mode 100644 index 09a1b78db..000000000 --- a/assets/tutorials_forced.md.BbdpyaWP.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,j as e,a as n,o as r}from"./chunks/framework.CGQ59HuL.js";const p=JSON.parse('{"title":"Forced Inclusion","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Forced Inclusion | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/forced.md","filePath":"tutorials/forced.md","lastUpdated":1731074592000}'),c={name:"tutorials/forced.md"};function s(i,o,d,l,f,u){return r(),a("div",null,o[0]||(o[0]=[e("h1",{id:"forced-inclusion",tabindex:"-1"},[n("Forced Inclusion "),e("a",{class:"header-anchor",href:"#forced-inclusion","aria-label":'Permalink to "Forced Inclusion"'},"​")],-1),e("p",null,"Coming soon ...",-1)]))}const _=t(c,[["render",s]]);export{p as __pageData,_ as default}; diff --git a/assets/tutorials_quick-start.md.JLEZUoSh.js b/assets/tutorials_quick-start.md.C3EApfKK.js similarity index 99% rename from assets/tutorials_quick-start.md.JLEZUoSh.js rename to assets/tutorials_quick-start.md.C3EApfKK.js index 3d39d44a7..b5bc88fa5 100644 --- a/assets/tutorials_quick-start.md.JLEZUoSh.js +++ b/assets/tutorials_quick-start.md.C3EApfKK.js @@ -1,4 +1,4 @@ -import{c as l}from"./chunks/constants.BZ-q9XpV.js";import{c as n,j as i,a,a3 as t,t as e,k as h,o as k}from"./chunks/framework.CGQ59HuL.js";const p={class:"language-bash vp-adaptive-theme"},o={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},r={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},C=JSON.parse('{"title":"Quick start guide","description":"Quickly start a rollup node using the Rollkit CLI.","frontmatter":{"description":"Quickly start a rollup node using the Rollkit CLI.","head":[["meta",{"name":"og:title","content":"Quick start guide | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/quick-start.md","filePath":"tutorials/quick-start.md","lastUpdated":1715093794000}'),F={name:"tutorials/quick-start.md"},B=Object.assign(F,{setup(g){return(u,s)=>(k(),n("div",null,[s[3]||(s[3]=i("h1",{id:"quick-start-guide",tabindex:"-1"},[a("Quick start guide "),i("a",{class:"header-anchor",href:"#quick-start-guide","aria-label":'Permalink to "Quick start guide"'},"​")],-1)),s[4]||(s[4]=i("p",null,"Welcome to Rollkit, a sovereign rollup framework! The easiest way to launch your sovereign rollup node is by using the Rollkit CLI.",-1)),s[5]||(s[5]=i("h2",{id:"📦-install-rollkit-cli",tabindex:"-1"},[a("📦 Install Rollkit (CLI) "),i("a",{class:"header-anchor",href:"#📦-install-rollkit-cli","aria-label":'Permalink to "📦 Install Rollkit (CLI)"'},"​")],-1)),s[6]||(s[6]=i("p",null,"To install Rollkit, run the following command in your terminal:",-1)),i("div",p,[s[1]||(s[1]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[2]||(s[2]=i("span",{class:"lang"},"bash",-1)),i("pre",o,[i("code",null,[i("span",r,[s[0]||(s[0]=t('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),i("span",d," "+e(h(l).rollkitLatestTag),1)])])])]),s[7]||(s[7]=t(`

          Verify the installation by checking the Rollkit version:

          bash
          rollkit version

          A successful installation will display the version number and its associated git commit hash.

          🚀 Run your sovereign rollup node

          To start a basic sovereign rollup node, execute:

          bash
          rollkit start

          Upon execution, the CLI will output log entries that provide insights into the node's initialization and operation:

          bash
          I[2024-05-01|09:58:46.001] Found private validator                      module=main keyFile=/root/.rollkit/config/priv_validator_key.json stateFile=/root/.rollkit/data/priv_validator_state.json
          +import{c as l}from"./chunks/constants.pTZQtKJL.js";import{c as n,j as i,a,a3 as t,t as e,k as h,o as k}from"./chunks/framework.CGQ59HuL.js";const p={class:"language-bash vp-adaptive-theme"},o={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},r={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},C=JSON.parse('{"title":"Quick start guide","description":"Quickly start a rollup node using the Rollkit CLI.","frontmatter":{"description":"Quickly start a rollup node using the Rollkit CLI.","head":[["meta",{"name":"og:title","content":"Quick start guide | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/quick-start.md","filePath":"tutorials/quick-start.md","lastUpdated":1715093794000}'),F={name:"tutorials/quick-start.md"},B=Object.assign(F,{setup(g){return(u,s)=>(k(),n("div",null,[s[3]||(s[3]=i("h1",{id:"quick-start-guide",tabindex:"-1"},[a("Quick start guide "),i("a",{class:"header-anchor",href:"#quick-start-guide","aria-label":'Permalink to "Quick start guide"'},"​")],-1)),s[4]||(s[4]=i("p",null,"Welcome to Rollkit, a sovereign rollup framework! The easiest way to launch your sovereign rollup node is by using the Rollkit CLI.",-1)),s[5]||(s[5]=i("h2",{id:"📦-install-rollkit-cli",tabindex:"-1"},[a("📦 Install Rollkit (CLI) "),i("a",{class:"header-anchor",href:"#📦-install-rollkit-cli","aria-label":'Permalink to "📦 Install Rollkit (CLI)"'},"​")],-1)),s[6]||(s[6]=i("p",null,"To install Rollkit, run the following command in your terminal:",-1)),i("div",p,[s[1]||(s[1]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[2]||(s[2]=i("span",{class:"lang"},"bash",-1)),i("pre",o,[i("code",null,[i("span",r,[s[0]||(s[0]=t('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),i("span",d," "+e(h(l).rollkitLatestTag),1)])])])]),s[7]||(s[7]=t(`

          Verify the installation by checking the Rollkit version:

          bash
          rollkit version

          A successful installation will display the version number and its associated git commit hash.

          🚀 Run your sovereign rollup node

          To start a basic sovereign rollup node, execute:

          bash
          rollkit start

          Upon execution, the CLI will output log entries that provide insights into the node's initialization and operation:

          bash
          I[2024-05-01|09:58:46.001] Found private validator                      module=main keyFile=/root/.rollkit/config/priv_validator_key.json stateFile=/root/.rollkit/data/priv_validator_state.json
           I[2024-05-01|09:58:46.002] Found node key                               module=main path=/root/.rollkit/config/node_key.json
           I[2024-05-01|09:58:46.002] Found genesis file                           module=main path=/root/.rollkit/config/genesis.json
           ...
          diff --git a/assets/tutorials_quick-start.md.JLEZUoSh.lean.js b/assets/tutorials_quick-start.md.C3EApfKK.lean.js
          similarity index 99%
          rename from assets/tutorials_quick-start.md.JLEZUoSh.lean.js
          rename to assets/tutorials_quick-start.md.C3EApfKK.lean.js
          index 3d39d44a7..b5bc88fa5 100644
          --- a/assets/tutorials_quick-start.md.JLEZUoSh.lean.js
          +++ b/assets/tutorials_quick-start.md.C3EApfKK.lean.js
          @@ -1,4 +1,4 @@
          -import{c as l}from"./chunks/constants.BZ-q9XpV.js";import{c as n,j as i,a,a3 as t,t as e,k as h,o as k}from"./chunks/framework.CGQ59HuL.js";const p={class:"language-bash vp-adaptive-theme"},o={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},r={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},C=JSON.parse('{"title":"Quick start guide","description":"Quickly start a rollup node using the Rollkit CLI.","frontmatter":{"description":"Quickly start a rollup node using the Rollkit CLI.","head":[["meta",{"name":"og:title","content":"Quick start guide | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/quick-start.md","filePath":"tutorials/quick-start.md","lastUpdated":1715093794000}'),F={name:"tutorials/quick-start.md"},B=Object.assign(F,{setup(g){return(u,s)=>(k(),n("div",null,[s[3]||(s[3]=i("h1",{id:"quick-start-guide",tabindex:"-1"},[a("Quick start guide "),i("a",{class:"header-anchor",href:"#quick-start-guide","aria-label":'Permalink to "Quick start guide"'},"​")],-1)),s[4]||(s[4]=i("p",null,"Welcome to Rollkit, a sovereign rollup framework! The easiest way to launch your sovereign rollup node is by using the Rollkit CLI.",-1)),s[5]||(s[5]=i("h2",{id:"📦-install-rollkit-cli",tabindex:"-1"},[a("📦 Install Rollkit (CLI) "),i("a",{class:"header-anchor",href:"#📦-install-rollkit-cli","aria-label":'Permalink to "📦 Install Rollkit (CLI)"'},"​")],-1)),s[6]||(s[6]=i("p",null,"To install Rollkit, run the following command in your terminal:",-1)),i("div",p,[s[1]||(s[1]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[2]||(s[2]=i("span",{class:"lang"},"bash",-1)),i("pre",o,[i("code",null,[i("span",r,[s[0]||(s[0]=t('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),i("span",d," "+e(h(l).rollkitLatestTag),1)])])])]),s[7]||(s[7]=t(`

          Verify the installation by checking the Rollkit version:

          bash
          rollkit version

          A successful installation will display the version number and its associated git commit hash.

          🚀 Run your sovereign rollup node

          To start a basic sovereign rollup node, execute:

          bash
          rollkit start

          Upon execution, the CLI will output log entries that provide insights into the node's initialization and operation:

          bash
          I[2024-05-01|09:58:46.001] Found private validator                      module=main keyFile=/root/.rollkit/config/priv_validator_key.json stateFile=/root/.rollkit/data/priv_validator_state.json
          +import{c as l}from"./chunks/constants.pTZQtKJL.js";import{c as n,j as i,a,a3 as t,t as e,k as h,o as k}from"./chunks/framework.CGQ59HuL.js";const p={class:"language-bash vp-adaptive-theme"},o={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},r={class:"line"},d={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},C=JSON.parse('{"title":"Quick start guide","description":"Quickly start a rollup node using the Rollkit CLI.","frontmatter":{"description":"Quickly start a rollup node using the Rollkit CLI.","head":[["meta",{"name":"og:title","content":"Quick start guide | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/quick-start.md","filePath":"tutorials/quick-start.md","lastUpdated":1715093794000}'),F={name:"tutorials/quick-start.md"},B=Object.assign(F,{setup(g){return(u,s)=>(k(),n("div",null,[s[3]||(s[3]=i("h1",{id:"quick-start-guide",tabindex:"-1"},[a("Quick start guide "),i("a",{class:"header-anchor",href:"#quick-start-guide","aria-label":'Permalink to "Quick start guide"'},"​")],-1)),s[4]||(s[4]=i("p",null,"Welcome to Rollkit, a sovereign rollup framework! The easiest way to launch your sovereign rollup node is by using the Rollkit CLI.",-1)),s[5]||(s[5]=i("h2",{id:"📦-install-rollkit-cli",tabindex:"-1"},[a("📦 Install Rollkit (CLI) "),i("a",{class:"header-anchor",href:"#📦-install-rollkit-cli","aria-label":'Permalink to "📦 Install Rollkit (CLI)"'},"​")],-1)),s[6]||(s[6]=i("p",null,"To install Rollkit, run the following command in your terminal:",-1)),i("div",p,[s[1]||(s[1]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[2]||(s[2]=i("span",{class:"lang"},"bash",-1)),i("pre",o,[i("code",null,[i("span",r,[s[0]||(s[0]=t('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),i("span",d," "+e(h(l).rollkitLatestTag),1)])])])]),s[7]||(s[7]=t(`

          Verify the installation by checking the Rollkit version:

          bash
          rollkit version

          A successful installation will display the version number and its associated git commit hash.

          🚀 Run your sovereign rollup node

          To start a basic sovereign rollup node, execute:

          bash
          rollkit start

          Upon execution, the CLI will output log entries that provide insights into the node's initialization and operation:

          bash
          I[2024-05-01|09:58:46.001] Found private validator                      module=main keyFile=/root/.rollkit/config/priv_validator_key.json stateFile=/root/.rollkit/data/priv_validator_state.json
           I[2024-05-01|09:58:46.002] Found node key                               module=main path=/root/.rollkit/config/node_key.json
           I[2024-05-01|09:58:46.002] Found genesis file                           module=main path=/root/.rollkit/config/genesis.json
           ...
          diff --git a/assets/tutorials_sequencing.md.BaHor-pG.js b/assets/tutorials_sequencing.md.BaHor-pG.js
          deleted file mode 100644
          index 4fa9f7b19..000000000
          --- a/assets/tutorials_sequencing.md.BaHor-pG.js
          +++ /dev/null
          @@ -1,5 +0,0 @@
          -import{_ as t,c as n,a3 as a,o as i}from"./chunks/framework.CGQ59HuL.js";const p=JSON.parse('{"title":"Sequencing","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Sequencing | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing.md","filePath":"tutorials/sequencing.md","lastUpdated":1731074592000}'),r={name:"tutorials/sequencing.md"};function s(o,e,l,c,h,u){return i(),n("div",null,e[0]||(e[0]=[a(`

          Sequencing

          Rollkit prior to Sequencing

          Rollkit's aggregator node was responsible for selecting and ordering transactions for including in the rollup blocks. The Rollkit aggregator used to follow a FCFS strategy, where every transaction submitted gets included in the block in order without any censorship. Use of a different sequencing strategy or connecting to a sequencing network (e.g., Astria) was not possible. Rollkit v0.14.0 onwards makes it possible for rollkit to connect to a sequencing network and communicate via grpc.

          Sequencing Interface

          go-sequencing defines a sequencing interface for communicating between any sequencing network and Rollkit. The key functions of the interface are defined as shown below.

          go
          SubmitRollupTransaction(rollupId, data) returns (error)
          -
          -GetNextBatch(rollupId, lastBatchHash, maxBytes) returns (batch, timestamp)
          -
          -VerifyBatch(rollupId, batchHash) returns (status)

          It mainly consists of:

          • SubmitRollupTransaction relays the rollup transactions from Rollkit rollup to the sequencing network
          • GetNextBatch returns the next batch of transactions along with a deterministic timestamp
          • VerifyBatch validates the sequenced batch

          Sequencing Implementations

          An implementation of the sequencing interface mainly acts as a middleware that connects Rollkit rollup and the sequencing layer. It implements the sequencing interface functions described above. For example, centralized-sequencer is the refactored functionality from the Rollkit prior to v0.14.0. The centralized sequencer is the middleware run by the aggregator node of the Rollkit rollup. The aggregator node relays rollup transactions to centralized sequencer which then submits them to the DA network (such as Celestia). The header producer node then retrieves (via GetNextBatch) the batched transaction from the centralized sequencer to execute the transactions and produce the updated rollup state. Similarly, there are other sequencing middlewares which can be built for various sequencing strategies or even for connecting to different third-party sequencing networks.

          The sequencing implementations that are currently work in progress:

          `,12)]))}const g=t(r,[["render",s]]);export{p as __pageData,g as default}; diff --git a/assets/tutorials_sequencing.md.BaHor-pG.lean.js b/assets/tutorials_sequencing.md.BaHor-pG.lean.js deleted file mode 100644 index 4fa9f7b19..000000000 --- a/assets/tutorials_sequencing.md.BaHor-pG.lean.js +++ /dev/null @@ -1,5 +0,0 @@ -import{_ as t,c as n,a3 as a,o as i}from"./chunks/framework.CGQ59HuL.js";const p=JSON.parse('{"title":"Sequencing","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Sequencing | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing.md","filePath":"tutorials/sequencing.md","lastUpdated":1731074592000}'),r={name:"tutorials/sequencing.md"};function s(o,e,l,c,h,u){return i(),n("div",null,e[0]||(e[0]=[a(`

          Sequencing

          Rollkit prior to Sequencing

          Rollkit's aggregator node was responsible for selecting and ordering transactions for including in the rollup blocks. The Rollkit aggregator used to follow a FCFS strategy, where every transaction submitted gets included in the block in order without any censorship. Use of a different sequencing strategy or connecting to a sequencing network (e.g., Astria) was not possible. Rollkit v0.14.0 onwards makes it possible for rollkit to connect to a sequencing network and communicate via grpc.

          Sequencing Interface

          go-sequencing defines a sequencing interface for communicating between any sequencing network and Rollkit. The key functions of the interface are defined as shown below.

          go
          SubmitRollupTransaction(rollupId, data) returns (error)
          -
          -GetNextBatch(rollupId, lastBatchHash, maxBytes) returns (batch, timestamp)
          -
          -VerifyBatch(rollupId, batchHash) returns (status)

          It mainly consists of:

          • SubmitRollupTransaction relays the rollup transactions from Rollkit rollup to the sequencing network
          • GetNextBatch returns the next batch of transactions along with a deterministic timestamp
          • VerifyBatch validates the sequenced batch

          Sequencing Implementations

          An implementation of the sequencing interface mainly acts as a middleware that connects Rollkit rollup and the sequencing layer. It implements the sequencing interface functions described above. For example, centralized-sequencer is the refactored functionality from the Rollkit prior to v0.14.0. The centralized sequencer is the middleware run by the aggregator node of the Rollkit rollup. The aggregator node relays rollup transactions to centralized sequencer which then submits them to the DA network (such as Celestia). The header producer node then retrieves (via GetNextBatch) the batched transaction from the centralized sequencer to execute the transactions and produce the updated rollup state. Similarly, there are other sequencing middlewares which can be built for various sequencing strategies or even for connecting to different third-party sequencing networks.

          The sequencing implementations that are currently work in progress:

          `,12)]))}const g=t(r,[["render",s]]);export{p as __pageData,g as default}; diff --git a/assets/tutorials_sequencing_astria.md.CrVgOK5a.js b/assets/tutorials_sequencing_astria.md.CrVgOK5a.js new file mode 100644 index 000000000..fa962e844 --- /dev/null +++ b/assets/tutorials_sequencing_astria.md.CrVgOK5a.js @@ -0,0 +1 @@ +import{_ as n,c as r,j as e,a,o as s}from"./chunks/framework.CGQ59HuL.js";const m=JSON.parse('{"title":"Astria Sequencing","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Astria Sequencing | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing/astria.md","filePath":"tutorials/sequencing/astria.md","lastUpdated":1732038379000}'),i={name:"tutorials/sequencing/astria.md"};function o(c,t,l,u,d,p){return s(),r("div",null,t[0]||(t[0]=[e("h1",{id:"astria-sequencing",tabindex:"-1"},[a("Astria Sequencing "),e("a",{class:"header-anchor",href:"#astria-sequencing","aria-label":'Permalink to "Astria Sequencing"'},"​")],-1),e("p",null,"Coming soon ...",-1),e("p",null,[a("Track progress on the "),e("a",{href:"https://github.com/rollkit/astria-sequencer",target:"_blank",rel:"noreferrer"},"GitHub")],-1)]))}const f=n(i,[["render",o]]);export{m as __pageData,f as default}; diff --git a/assets/tutorials_sequencing_astria.md.CrVgOK5a.lean.js b/assets/tutorials_sequencing_astria.md.CrVgOK5a.lean.js new file mode 100644 index 000000000..fa962e844 --- /dev/null +++ b/assets/tutorials_sequencing_astria.md.CrVgOK5a.lean.js @@ -0,0 +1 @@ +import{_ as n,c as r,j as e,a,o as s}from"./chunks/framework.CGQ59HuL.js";const m=JSON.parse('{"title":"Astria Sequencing","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Astria Sequencing | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing/astria.md","filePath":"tutorials/sequencing/astria.md","lastUpdated":1732038379000}'),i={name:"tutorials/sequencing/astria.md"};function o(c,t,l,u,d,p){return s(),r("div",null,t[0]||(t[0]=[e("h1",{id:"astria-sequencing",tabindex:"-1"},[a("Astria Sequencing "),e("a",{class:"header-anchor",href:"#astria-sequencing","aria-label":'Permalink to "Astria Sequencing"'},"​")],-1),e("p",null,"Coming soon ...",-1),e("p",null,[a("Track progress on the "),e("a",{href:"https://github.com/rollkit/astria-sequencer",target:"_blank",rel:"noreferrer"},"GitHub")],-1)]))}const f=n(i,[["render",o]]);export{m as __pageData,f as default}; diff --git a/assets/tutorials_sequencing_based.md.Jjk0SYfo.js b/assets/tutorials_sequencing_based.md.Jjk0SYfo.js new file mode 100644 index 000000000..58078c602 --- /dev/null +++ b/assets/tutorials_sequencing_based.md.Jjk0SYfo.js @@ -0,0 +1 @@ +import{_ as n,c as s,j as e,a as t,o as r}from"./chunks/framework.CGQ59HuL.js";const m=JSON.parse('{"title":"Based Sequencing","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Based Sequencing | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing/based.md","filePath":"tutorials/sequencing/based.md","lastUpdated":1732038379000}'),o={name:"tutorials/sequencing/based.md"};function i(c,a,d,l,u,p){return r(),s("div",null,a[0]||(a[0]=[e("h1",{id:"based-sequencing",tabindex:"-1"},[t("Based Sequencing "),e("a",{class:"header-anchor",href:"#based-sequencing","aria-label":'Permalink to "Based Sequencing"'},"​")],-1),e("p",null,"Coming soon ...",-1),e("p",null,[t("Track progress on the "),e("a",{href:"https://github.com/rollkit/based-sequencer",target:"_blank",rel:"noreferrer"},"GitHub")],-1)]))}const b=n(o,[["render",i]]);export{m as __pageData,b as default}; diff --git a/assets/tutorials_sequencing_based.md.Jjk0SYfo.lean.js b/assets/tutorials_sequencing_based.md.Jjk0SYfo.lean.js new file mode 100644 index 000000000..58078c602 --- /dev/null +++ b/assets/tutorials_sequencing_based.md.Jjk0SYfo.lean.js @@ -0,0 +1 @@ +import{_ as n,c as s,j as e,a as t,o as r}from"./chunks/framework.CGQ59HuL.js";const m=JSON.parse('{"title":"Based Sequencing","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Based Sequencing | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing/based.md","filePath":"tutorials/sequencing/based.md","lastUpdated":1732038379000}'),o={name:"tutorials/sequencing/based.md"};function i(c,a,d,l,u,p){return r(),s("div",null,a[0]||(a[0]=[e("h1",{id:"based-sequencing",tabindex:"-1"},[t("Based Sequencing "),e("a",{class:"header-anchor",href:"#based-sequencing","aria-label":'Permalink to "Based Sequencing"'},"​")],-1),e("p",null,"Coming soon ...",-1),e("p",null,[t("Track progress on the "),e("a",{href:"https://github.com/rollkit/based-sequencer",target:"_blank",rel:"noreferrer"},"GitHub")],-1)]))}const b=n(o,[["render",i]]);export{m as __pageData,b as default}; diff --git a/assets/tutorials_sequencing_centralized.md.CddM_zPh.js b/assets/tutorials_sequencing_centralized.md.CddM_zPh.js new file mode 100644 index 000000000..198fd2339 --- /dev/null +++ b/assets/tutorials_sequencing_centralized.md.CddM_zPh.js @@ -0,0 +1,30 @@ +import{c as e}from"./chunks/constants.pTZQtKJL.js";import{c as t,a3 as a,j as i,t as n,k as l,o as h}from"./chunks/framework.CGQ59HuL.js";const p="/assets/sequencing.DlIPdR1A.jpg",r={class:"language-sh vp-adaptive-theme"},k={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},d={class:"line"},o={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},C=JSON.parse('{"title":"Centralized Sequencer","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Centralized Sequencer | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing/centralized.md","filePath":"tutorials/sequencing/centralized.md","lastUpdated":1732038379000}'),F={name:"tutorials/sequencing/centralized.md"},B=Object.assign(F,{setup(c){return(u,s)=>(h(),t("div",null,[s[5]||(s[5]=a('

          Centralized Sequencer

          A centralized sequencer is a sequencing middleware that receives rollup transactions and provides a local sequencing capabilities. Meaning, the transactions are ordered in the order they are received by the sequencer without any censorship. Further, the sequenced batches are made available in the DA network (such as Celestia). Under the hood, the centralized sequencer is a GRPC server that implements go-sequencing interface and the server is hosted by the same node that is running the aggregator for the Rollkit rollup.

          Rollkit with Centralized Sequencer

          Prerequisites

          This tutorial serves as a comprehensive guide for using the centralized-sequencer with your chain.

          Before proceeding, ensure that you have completed the quick start or build a chain tutorial, which covers installing the rollkit CLI, building your chain, and running your chain.

          TIP

          It is important to note that the centralized sequencer expects a DA layer to be running when it starts. This means that you need to launch your DA Layer before starting the centralized sequencer.

          Additionally, you should have completed one of the DA Layer tutorials and have your DA layer ready to use with the centralized sequencer. This tutorial will use the local-da layer as an example.

          Installation the Centralized Sequencer

          ',9)),i("div",r,[s[3]||(s[3]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[4]||(s[4]=i("span",{class:"lang"},"sh",-1)),i("pre",k,[i("code",null,[i("span",d,[s[0]||(s[0]=a('git clone --depth 1 --branch',5)),i("span",o," "+n(l(e).centralizedSequencerLatestTag),1),s[1]||(s[1]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," https://github.com/rollkit/centralized-sequencer.git",-1))]),s[2]||(s[2]=a(` +cd centralized-sequencer +make build +./build/centralized-sequencer -h`,6))])])]),s[6]||(s[6]=a(`
          sh
          Usage:
          +  -host string
          +    	centralized sequencer host (default "localhost")
          +  -port string
          +    	centralized sequencer port (default "50051")
          +  -listen-all
          +    	listen on all network interfaces (0.0.0.0) instead of just localhost
          +  -rollup-id string
          +    	rollup id (default "rollupId")
          +  -batch-time duration
          +    	time in seconds to wait before generating a new batch (default 2s)
          +  -da_address string
          +    	DA address (default "http://localhost:26658")
          +  -da_auth_token string
          +    	auth token for the DA
          +  -da_namespace string
          +    	DA namespace where the sequencer submits transactions
          +  -db_path string
          +    	path to the database

          As shown by the help command, a centralized sequencer is configured to serve a rollup (via rollup_id). The DA network to persist the sequenced batches are specified using da_address, da_auth_token and da_namespace.

          Run the centralized sequencer

          TIP

          As mentioned in the prerequisities, you should have your DA layer running. These steps assume the local-da is running on http://localhost:7980.

          Start your centralized sequencer with the following command:

          sh
          ./build/centralized-sequencer -rollup-id my-rollup -da_address http://localhost:7980
          sh
          ./build/centralized-sequencer -rollup-id wordle -da_address http://localhost:7980

          Run your chain

          To connect your chain to the centralized sequencer, you need to pass the --rollkit.sequencer_address flag with the local sequencer address and the --rollkit.sequencer_rollup_id to ensure your rollup id matches what the sequencer is expecting.

          Start your chain with the following command, ensuring to include the sequencer flag:

          sh
          rollkit start \\
          +    --rollkit.da_address http://localhost:7980 \\
          +    --rollkit.sequencer_address localhost:50051 \\
          +    --rollkit.sequencer_rollup_id my-rollup
          sh
          rollkit start \\
          +    --rollkit.aggregator \\
          +    --rollkit.da_address http://localhost:7980 \\
          +    --rollkit.sequencer_address localhost:50051 \\
          +    --rollkit.sequencer_rollup_id wordle

          You should see the following log messages indicating that your chain is connected to the local sequencer:

          sh
          I[2024-11-15|15:22:33.636] sequencer already running                 module=main address=localhost:50051
          +I[2024-11-15|15:22:33.636] make sure your rollupID matches your sequencer module=main rollupID=my-rollup

          Then after a few blocks you should see this message confirming that your sequencer is successfully submitting batches to the DA layer:

          sh
          I[2024-11-15|16:04:07.698] successfully submitted Rollkit headers to DA layer module=BlockManager gasPrice=-1 daHeight=1 headerCount=14

          Summary

          By following these steps, you will have successfully set up and connected your chain to the centralized sequencer. You can now start submitting transactions to your chain.

          `,16))]))}});export{C as __pageData,B as default}; diff --git a/assets/tutorials_sequencing_centralized.md.CddM_zPh.lean.js b/assets/tutorials_sequencing_centralized.md.CddM_zPh.lean.js new file mode 100644 index 000000000..198fd2339 --- /dev/null +++ b/assets/tutorials_sequencing_centralized.md.CddM_zPh.lean.js @@ -0,0 +1,30 @@ +import{c as e}from"./chunks/constants.pTZQtKJL.js";import{c as t,a3 as a,j as i,t as n,k as l,o as h}from"./chunks/framework.CGQ59HuL.js";const p="/assets/sequencing.DlIPdR1A.jpg",r={class:"language-sh vp-adaptive-theme"},k={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},d={class:"line"},o={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},C=JSON.parse('{"title":"Centralized Sequencer","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Centralized Sequencer | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing/centralized.md","filePath":"tutorials/sequencing/centralized.md","lastUpdated":1732038379000}'),F={name:"tutorials/sequencing/centralized.md"},B=Object.assign(F,{setup(c){return(u,s)=>(h(),t("div",null,[s[5]||(s[5]=a('

          Centralized Sequencer

          A centralized sequencer is a sequencing middleware that receives rollup transactions and provides a local sequencing capabilities. Meaning, the transactions are ordered in the order they are received by the sequencer without any censorship. Further, the sequenced batches are made available in the DA network (such as Celestia). Under the hood, the centralized sequencer is a GRPC server that implements go-sequencing interface and the server is hosted by the same node that is running the aggregator for the Rollkit rollup.

          Rollkit with Centralized Sequencer

          Prerequisites

          This tutorial serves as a comprehensive guide for using the centralized-sequencer with your chain.

          Before proceeding, ensure that you have completed the quick start or build a chain tutorial, which covers installing the rollkit CLI, building your chain, and running your chain.

          TIP

          It is important to note that the centralized sequencer expects a DA layer to be running when it starts. This means that you need to launch your DA Layer before starting the centralized sequencer.

          Additionally, you should have completed one of the DA Layer tutorials and have your DA layer ready to use with the centralized sequencer. This tutorial will use the local-da layer as an example.

          Installation the Centralized Sequencer

          ',9)),i("div",r,[s[3]||(s[3]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[4]||(s[4]=i("span",{class:"lang"},"sh",-1)),i("pre",k,[i("code",null,[i("span",d,[s[0]||(s[0]=a('git clone --depth 1 --branch',5)),i("span",o," "+n(l(e).centralizedSequencerLatestTag),1),s[1]||(s[1]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," https://github.com/rollkit/centralized-sequencer.git",-1))]),s[2]||(s[2]=a(` +cd centralized-sequencer +make build +./build/centralized-sequencer -h`,6))])])]),s[6]||(s[6]=a(`
          sh
          Usage:
          +  -host string
          +    	centralized sequencer host (default "localhost")
          +  -port string
          +    	centralized sequencer port (default "50051")
          +  -listen-all
          +    	listen on all network interfaces (0.0.0.0) instead of just localhost
          +  -rollup-id string
          +    	rollup id (default "rollupId")
          +  -batch-time duration
          +    	time in seconds to wait before generating a new batch (default 2s)
          +  -da_address string
          +    	DA address (default "http://localhost:26658")
          +  -da_auth_token string
          +    	auth token for the DA
          +  -da_namespace string
          +    	DA namespace where the sequencer submits transactions
          +  -db_path string
          +    	path to the database

          As shown by the help command, a centralized sequencer is configured to serve a rollup (via rollup_id). The DA network to persist the sequenced batches are specified using da_address, da_auth_token and da_namespace.

          Run the centralized sequencer

          TIP

          As mentioned in the prerequisities, you should have your DA layer running. These steps assume the local-da is running on http://localhost:7980.

          Start your centralized sequencer with the following command:

          sh
          ./build/centralized-sequencer -rollup-id my-rollup -da_address http://localhost:7980
          sh
          ./build/centralized-sequencer -rollup-id wordle -da_address http://localhost:7980

          Run your chain

          To connect your chain to the centralized sequencer, you need to pass the --rollkit.sequencer_address flag with the local sequencer address and the --rollkit.sequencer_rollup_id to ensure your rollup id matches what the sequencer is expecting.

          Start your chain with the following command, ensuring to include the sequencer flag:

          sh
          rollkit start \\
          +    --rollkit.da_address http://localhost:7980 \\
          +    --rollkit.sequencer_address localhost:50051 \\
          +    --rollkit.sequencer_rollup_id my-rollup
          sh
          rollkit start \\
          +    --rollkit.aggregator \\
          +    --rollkit.da_address http://localhost:7980 \\
          +    --rollkit.sequencer_address localhost:50051 \\
          +    --rollkit.sequencer_rollup_id wordle

          You should see the following log messages indicating that your chain is connected to the local sequencer:

          sh
          I[2024-11-15|15:22:33.636] sequencer already running                 module=main address=localhost:50051
          +I[2024-11-15|15:22:33.636] make sure your rollupID matches your sequencer module=main rollupID=my-rollup

          Then after a few blocks you should see this message confirming that your sequencer is successfully submitting batches to the DA layer:

          sh
          I[2024-11-15|16:04:07.698] successfully submitted Rollkit headers to DA layer module=BlockManager gasPrice=-1 daHeight=1 headerCount=14

          Summary

          By following these steps, you will have successfully set up and connected your chain to the centralized sequencer. You can now start submitting transactions to your chain.

          `,16))]))}});export{C as __pageData,B as default}; diff --git a/assets/tutorials_sequencing_forced-inclusion.md.BHlt7iFX.js b/assets/tutorials_sequencing_forced-inclusion.md.BHlt7iFX.js new file mode 100644 index 000000000..903f6d6e6 --- /dev/null +++ b/assets/tutorials_sequencing_forced-inclusion.md.BHlt7iFX.js @@ -0,0 +1 @@ +import{_ as o,c as t,j as e,a,o as c}from"./chunks/framework.CGQ59HuL.js";const p=JSON.parse('{"title":"Forced Inclusion","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Forced Inclusion | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing/forced-inclusion.md","filePath":"tutorials/sequencing/forced-inclusion.md","lastUpdated":1732038379000}'),s={name:"tutorials/sequencing/forced-inclusion.md"};function i(r,n,l,d,u,f){return c(),t("div",null,n[0]||(n[0]=[e("h1",{id:"forced-inclusion",tabindex:"-1"},[a("Forced Inclusion "),e("a",{class:"header-anchor",href:"#forced-inclusion","aria-label":'Permalink to "Forced Inclusion"'},"​")],-1),e("p",null,"Coming soon ...",-1)]))}const _=o(s,[["render",i]]);export{p as __pageData,_ as default}; diff --git a/assets/tutorials_sequencing_forced-inclusion.md.BHlt7iFX.lean.js b/assets/tutorials_sequencing_forced-inclusion.md.BHlt7iFX.lean.js new file mode 100644 index 000000000..903f6d6e6 --- /dev/null +++ b/assets/tutorials_sequencing_forced-inclusion.md.BHlt7iFX.lean.js @@ -0,0 +1 @@ +import{_ as o,c as t,j as e,a,o as c}from"./chunks/framework.CGQ59HuL.js";const p=JSON.parse('{"title":"Forced Inclusion","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Forced Inclusion | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing/forced-inclusion.md","filePath":"tutorials/sequencing/forced-inclusion.md","lastUpdated":1732038379000}'),s={name:"tutorials/sequencing/forced-inclusion.md"};function i(r,n,l,d,u,f){return c(),t("div",null,n[0]||(n[0]=[e("h1",{id:"forced-inclusion",tabindex:"-1"},[a("Forced Inclusion "),e("a",{class:"header-anchor",href:"#forced-inclusion","aria-label":'Permalink to "Forced Inclusion"'},"​")],-1),e("p",null,"Coming soon ...",-1)]))}const _=o(s,[["render",i]]);export{p as __pageData,_ as default}; diff --git a/assets/tutorials_sequencing_local.md.D-u6Xw3_.js b/assets/tutorials_sequencing_local.md.D-u6Xw3_.js new file mode 100644 index 000000000..31c4013a8 --- /dev/null +++ b/assets/tutorials_sequencing_local.md.D-u6Xw3_.js @@ -0,0 +1,7 @@ +import{c as e}from"./chunks/constants.pTZQtKJL.js";import{c as n,a3 as a,j as i,t,k as l,o as h}from"./chunks/framework.CGQ59HuL.js";const o={class:"vp-code-group vp-adaptive-theme"},r={class:"blocks"},p={class:"language-bash vp-adaptive-theme active"},d={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},k={class:"line"},c={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},u={class:"language-bash vp-adaptive-theme"},g={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},F={class:"line"},y={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},v=JSON.parse('{"title":"Local Sequencer","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Local Sequencer | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing/local.md","filePath":"tutorials/sequencing/local.md","lastUpdated":1732038379000}'),C={name:"tutorials/sequencing/local.md"},f=Object.assign(C,{setup(b){return(m,s)=>(h(),n("div",null,[s[9]||(s[9]=a('

          Local Sequencer

          Introduction

          This tutorial serves as a comprehensive guide for using the local-sequencer with your chain.

          Before proceeding, ensure that you have completed the quick start or build a chain tutorial, which covers installing the rollkit CLI, building your chain, and running your chain.

          Setting Up a Local Local Sequencer

          To set up a local sequencer on your machine, run the following script to install and start the local sequencer:

          ',6)),i("div",o,[s[8]||(s[8]=a('
          ',1)),i("div",r,[i("div",p,[s[2]||(s[2]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[3]||(s[3]=i("span",{class:"lang"},"bash",-1)),i("pre",d,[i("code",null,[i("span",k,[s[0]||(s[0]=a('curl -sSL https://rollkit.dev/install-local-sequencer.sh | bash -s',6)),i("span",c," "+t(l(e).goSequencingLatestTag),1),s[1]||(s[1]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," my-rollup",-1))])])])]),i("div",u,[s[6]||(s[6]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[7]||(s[7]=i("span",{class:"lang"},"bash",-1)),i("pre",g,[i("code",null,[i("span",F,[s[4]||(s[4]=a('curl -sSL https://rollkit.dev/install-local-sequencer.sh | bash -s',6)),i("span",y," "+t(l(e).goSequencingLatestTag),1),s[5]||(s[5]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," wordle",-1))])])])])])]),s[10]||(s[10]=a(`

          This script will build and run the sequencer, which will then listen on port 50051 with the rollup-id of your chain.

          Configuring your chain to connect to the local sequencer

          To connect your chain to the local sequencer, you need to pass the --rollkit.sequencer_address flag with the centralized sequencer address and the --rollkit.sequencer_rollup_id to ensure your rollup id matches what the sequencer is expecting.

          Run your chain

          Start your chain with the following command, ensuring to include the sequencer flag:

          sh
          rollkit start \\
          +    --rollkit.sequencer_address localhost:50051 \\
          +    --rollkit.sequencer_rollup_id my-rollup
          sh
          rollkit start \\
          +    --rollkit.aggregator \\
          +    --rollkit.sequencer_address localhost:50051 \\
          +    --rollkit.sequencer_rollup_id wordle

          You should see the following log messages indicating that your chain is connected to the local sequencer:

          sh
          I[2024-11-15|15:22:33.636] sequencer already running                 module=main address=localhost:50051
          +I[2024-11-15|15:22:33.636] make sure your rollupID matches your sequencer module=main rollupID=my-rollup

          Summary

          By following these steps, you will have successfully set up and connected your chain to the local sequencer. You can now start submitting transactions to your chain.

          `,10))]))}});export{v as __pageData,f as default}; diff --git a/assets/tutorials_sequencing_local.md.D-u6Xw3_.lean.js b/assets/tutorials_sequencing_local.md.D-u6Xw3_.lean.js new file mode 100644 index 000000000..31c4013a8 --- /dev/null +++ b/assets/tutorials_sequencing_local.md.D-u6Xw3_.lean.js @@ -0,0 +1,7 @@ +import{c as e}from"./chunks/constants.pTZQtKJL.js";import{c as n,a3 as a,j as i,t,k as l,o as h}from"./chunks/framework.CGQ59HuL.js";const o={class:"vp-code-group vp-adaptive-theme"},r={class:"blocks"},p={class:"language-bash vp-adaptive-theme active"},d={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},k={class:"line"},c={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},u={class:"language-bash vp-adaptive-theme"},g={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},F={class:"line"},y={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},v=JSON.parse('{"title":"Local Sequencer","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Local Sequencer | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing/local.md","filePath":"tutorials/sequencing/local.md","lastUpdated":1732038379000}'),C={name:"tutorials/sequencing/local.md"},f=Object.assign(C,{setup(b){return(m,s)=>(h(),n("div",null,[s[9]||(s[9]=a('

          Local Sequencer

          Introduction

          This tutorial serves as a comprehensive guide for using the local-sequencer with your chain.

          Before proceeding, ensure that you have completed the quick start or build a chain tutorial, which covers installing the rollkit CLI, building your chain, and running your chain.

          Setting Up a Local Local Sequencer

          To set up a local sequencer on your machine, run the following script to install and start the local sequencer:

          ',6)),i("div",o,[s[8]||(s[8]=a('
          ',1)),i("div",r,[i("div",p,[s[2]||(s[2]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[3]||(s[3]=i("span",{class:"lang"},"bash",-1)),i("pre",d,[i("code",null,[i("span",k,[s[0]||(s[0]=a('curl -sSL https://rollkit.dev/install-local-sequencer.sh | bash -s',6)),i("span",c," "+t(l(e).goSequencingLatestTag),1),s[1]||(s[1]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," my-rollup",-1))])])])]),i("div",u,[s[6]||(s[6]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[7]||(s[7]=i("span",{class:"lang"},"bash",-1)),i("pre",g,[i("code",null,[i("span",F,[s[4]||(s[4]=a('curl -sSL https://rollkit.dev/install-local-sequencer.sh | bash -s',6)),i("span",y," "+t(l(e).goSequencingLatestTag),1),s[5]||(s[5]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," wordle",-1))])])])])])]),s[10]||(s[10]=a(`

          This script will build and run the sequencer, which will then listen on port 50051 with the rollup-id of your chain.

          Configuring your chain to connect to the local sequencer

          To connect your chain to the local sequencer, you need to pass the --rollkit.sequencer_address flag with the centralized sequencer address and the --rollkit.sequencer_rollup_id to ensure your rollup id matches what the sequencer is expecting.

          Run your chain

          Start your chain with the following command, ensuring to include the sequencer flag:

          sh
          rollkit start \\
          +    --rollkit.sequencer_address localhost:50051 \\
          +    --rollkit.sequencer_rollup_id my-rollup
          sh
          rollkit start \\
          +    --rollkit.aggregator \\
          +    --rollkit.sequencer_address localhost:50051 \\
          +    --rollkit.sequencer_rollup_id wordle

          You should see the following log messages indicating that your chain is connected to the local sequencer:

          sh
          I[2024-11-15|15:22:33.636] sequencer already running                 module=main address=localhost:50051
          +I[2024-11-15|15:22:33.636] make sure your rollupID matches your sequencer module=main rollupID=my-rollup

          Summary

          By following these steps, you will have successfully set up and connected your chain to the local sequencer. You can now start submitting transactions to your chain.

          `,10))]))}});export{v as __pageData,f as default}; diff --git a/assets/tutorials_sequencing_overview.md.C8f93WiR.js b/assets/tutorials_sequencing_overview.md.C8f93WiR.js new file mode 100644 index 000000000..e4b87ae1c --- /dev/null +++ b/assets/tutorials_sequencing_overview.md.C8f93WiR.js @@ -0,0 +1,5 @@ +import{_ as t,c as i,a3 as a,o as n}from"./chunks/framework.CGQ59HuL.js";const p=JSON.parse('{"title":"Sequencing","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Sequencing | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing/overview.md","filePath":"tutorials/sequencing/overview.md","lastUpdated":1732038379000}'),s={name:"tutorials/sequencing/overview.md"};function r(o,e,l,c,h,u){return n(),i("div",null,e[0]||(e[0]=[a(`

          Sequencing

          The next step after choosing your DA layer is to choose your sequencing scheme.

          Rollkit prior to Sequencing

          Rollkit's aggregator node was responsible for selecting and ordering transactions for including in the rollup blocks. The Rollkit aggregator used to follow a FCFS strategy, where every transaction submitted gets included in the block in order without any censorship. Use of a different sequencing strategy or connecting to a sequencing network (e.g., Astria) was not possible. Rollkit v0.14.0 onwards makes it possible for rollkit to connect to a sequencing network and communicate via grpc.

          Sequencing Interface

          go-sequencing defines a sequencing interface for communicating between any sequencing network and Rollkit. The key functions of the interface are defined as shown below.

          go
          SubmitRollupTransaction(rollupId, data) returns (error)
          +
          +GetNextBatch(rollupId, lastBatchHash, maxBytes) returns (batch, timestamp)
          +
          +VerifyBatch(rollupId, batchHash) returns (status)

          It mainly consists of:

          • SubmitRollupTransaction relays the rollup transactions from Rollkit rollup to the sequencing network
          • GetNextBatch returns the next batch of transactions along with a deterministic timestamp
          • VerifyBatch validates the sequenced batch

          Mock Sequencer

          You might have noticed that we did not define a specific sequencer during the quick start or build a chain tutorials. This is because we used a mock sequencer that is built into Rollkit.

          If you revisit the logs from those tutorials, you will see one of the first lines being:

          shell
          I[2024-11-15|14:54:19.843] Starting mock sequencer    module=main address=localhost:50051 rollupID=test-rollup-a736683c

          The mock sequencer is a simple in-memory sequencer that is great for testing and development. It is not suitable for production use.

          Sequencing Implementations

          An implementation of the sequencing interface mainly acts as a middleware that connects Rollkit rollup and the sequencing layer. It implements the sequencing interface functions described above. For example, centralized-sequencer is the refactored functionality from the Rollkit prior to v0.14.0. The centralized sequencer is the middleware run by the aggregator node of the Rollkit rollup. The aggregator node relays rollup transactions to centralized sequencer which then submits them to the DA network (such as Celestia). The header producer node then retrieves (via GetNextBatch) the batched transaction from the centralized sequencer to execute the transactions and produce the updated rollup state. Similarly, there are other sequencing middlewares which can be built for various sequencing strategies or even for connecting to different third-party sequencing networks.

          The sequencing implementations that are currently work in progress:

          `,18)]))}const g=t(s,[["render",r]]);export{p as __pageData,g as default}; diff --git a/assets/tutorials_sequencing_overview.md.C8f93WiR.lean.js b/assets/tutorials_sequencing_overview.md.C8f93WiR.lean.js new file mode 100644 index 000000000..e4b87ae1c --- /dev/null +++ b/assets/tutorials_sequencing_overview.md.C8f93WiR.lean.js @@ -0,0 +1,5 @@ +import{_ as t,c as i,a3 as a,o as n}from"./chunks/framework.CGQ59HuL.js";const p=JSON.parse('{"title":"Sequencing","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"Sequencing | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/sequencing/overview.md","filePath":"tutorials/sequencing/overview.md","lastUpdated":1732038379000}'),s={name:"tutorials/sequencing/overview.md"};function r(o,e,l,c,h,u){return n(),i("div",null,e[0]||(e[0]=[a(`

          Sequencing

          The next step after choosing your DA layer is to choose your sequencing scheme.

          Rollkit prior to Sequencing

          Rollkit's aggregator node was responsible for selecting and ordering transactions for including in the rollup blocks. The Rollkit aggregator used to follow a FCFS strategy, where every transaction submitted gets included in the block in order without any censorship. Use of a different sequencing strategy or connecting to a sequencing network (e.g., Astria) was not possible. Rollkit v0.14.0 onwards makes it possible for rollkit to connect to a sequencing network and communicate via grpc.

          Sequencing Interface

          go-sequencing defines a sequencing interface for communicating between any sequencing network and Rollkit. The key functions of the interface are defined as shown below.

          go
          SubmitRollupTransaction(rollupId, data) returns (error)
          +
          +GetNextBatch(rollupId, lastBatchHash, maxBytes) returns (batch, timestamp)
          +
          +VerifyBatch(rollupId, batchHash) returns (status)

          It mainly consists of:

          • SubmitRollupTransaction relays the rollup transactions from Rollkit rollup to the sequencing network
          • GetNextBatch returns the next batch of transactions along with a deterministic timestamp
          • VerifyBatch validates the sequenced batch

          Mock Sequencer

          You might have noticed that we did not define a specific sequencer during the quick start or build a chain tutorials. This is because we used a mock sequencer that is built into Rollkit.

          If you revisit the logs from those tutorials, you will see one of the first lines being:

          shell
          I[2024-11-15|14:54:19.843] Starting mock sequencer    module=main address=localhost:50051 rollupID=test-rollup-a736683c

          The mock sequencer is a simple in-memory sequencer that is great for testing and development. It is not suitable for production use.

          Sequencing Implementations

          An implementation of the sequencing interface mainly acts as a middleware that connects Rollkit rollup and the sequencing layer. It implements the sequencing interface functions described above. For example, centralized-sequencer is the refactored functionality from the Rollkit prior to v0.14.0. The centralized sequencer is the middleware run by the aggregator node of the Rollkit rollup. The aggregator node relays rollup transactions to centralized sequencer which then submits them to the DA network (such as Celestia). The header producer node then retrieves (via GetNextBatch) the batched transaction from the centralized sequencer to execute the transactions and produce the updated rollup state. Similarly, there are other sequencing middlewares which can be built for various sequencing strategies or even for connecting to different third-party sequencing networks.

          The sequencing implementations that are currently work in progress:

          `,18)]))}const g=t(s,[["render",r]]);export{p as __pageData,g as default}; diff --git a/assets/tutorials_wordle.md.DN8DE5pq.lean.js b/assets/tutorials_wordle.md.SCGP__W6.js similarity index 99% rename from assets/tutorials_wordle.md.DN8DE5pq.lean.js rename to assets/tutorials_wordle.md.SCGP__W6.js index 2042de210..47ef9fa86 100644 --- a/assets/tutorials_wordle.md.DN8DE5pq.lean.js +++ b/assets/tutorials_wordle.md.SCGP__W6.js @@ -1,4 +1,4 @@ -import{C as l}from"./chunks/callout.DiI5rXbX.js";import{c as t}from"./chunks/constants.BZ-q9XpV.js";import{c as p,j as i,a as n,G as k,a3 as a,t as e,k as h,o as r}from"./chunks/framework.CGQ59HuL.js";/* empty css */const d="/wordle/wordle.png",o={class:"tip custom-block"},g={class:"language-bash vp-adaptive-theme"},E={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},F={class:"line"},c={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y={class:"language-bash vp-adaptive-theme"},u={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},C={class:"line"},m={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},b={class:"language-bash vp-adaptive-theme"},B={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},f={class:"line"},w={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},T=JSON.parse('{"title":"🕹️ Wordle app","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🕹️ Wordle app | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/wordle.md","filePath":"tutorials/wordle.md","lastUpdated":1731690932000}'),v={name:"tutorials/wordle.md"},I=Object.assign(v,{setup(A){return(D,s)=>(r(),p("div",null,[s[14]||(s[14]=i("h1",{id:"🕹️-wordle-app",tabindex:"-1"},[n("🕹️ Wordle app "),i("a",{class:"header-anchor",href:"#🕹️-wordle-app","aria-label":'Permalink to "🕹️ Wordle app"'},"​")],-1)),s[15]||(s[15]=i("p",null,[i("img",{src:d,alt:"wordle-app"})],-1)),s[16]||(s[16]=i("p",null,[n("This tutorial guide will go over building a cosmos-sdk app for Rollkit, the Sovereign-Rollup implementation of CometBFT, for the popular game "),i("a",{href:"https://www.nytimes.com/games/wordle/index.html",target:"_blank",rel:"noreferrer"},"Wordle"),n(".")],-1)),s[17]||(s[17]=i("p",null,"This tutorial will go over how to setup Rollkit in the Ignite CLI and use it to build the game. The tutorial will go over the simple design, as well as conclude with future implementations and ideas to extend this codebase.",-1)),i("div",o,[s[0]||(s[0]=i("p",{class:"custom-block-title"},"TIP",-1)),k(l)]),s[18]||(s[18]=a('

          💻 Pre-requisites

          This tutorial is targeted for developers who have some experience in the Cosmos-SDK. We will go through the steps to build the chain, but for more information on how the Cosmos-SDK components work, check out the Cosmos-SDK Docs.

          Additionally, we recommend that you have gone over the quick start guide first to see an example of a running chain.

          You also need to have Rollkit CLI installed. You can install it by running:

          ',4)),i("div",g,[s[2]||(s[2]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[3]||(s[3]=i("span",{class:"lang"},"bash",-1)),i("pre",E,[i("code",null,[i("span",F,[s[1]||(s[1]=a('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),i("span",c," "+e(h(t).rollkitLatestTag),1)])])])]),s[19]||(s[19]=a('

          📖 Design implementation

          The rules of Wordle are simple: You have to guess the word of the day.

          Key Points to Consider:

          • The word is a five-letter word.
          • You have 6 guesses.
          • Every 24 hours, there’s a new word.

          The GUI for Wordle shows you a few indicators: a green highlight on a letter in a certain position means that’s the correct letter for the Wordle in the right position. A yellow highlight means it’s a correct letter for the Wordle included in the wrong position. A grey highlight means the letter isn’t part of the Wordle.

          For simplicity of the design, we will avoid those hints, although there are ways to extend this codebase to implement that, which we will show at the end.

          In this current design, we implement the following rules:

          • 1 Wordle can be submitted per day
          • Every address will have 6 tries to guess the word
          • It must be a five-letter word.
          • Whoever guesses the word correctly before their 6 tries are over gets an award of 100 WORDLE tokens.

          We will go over the architecture to achieve this further in the guide. But for now, we will get started setting up our development environment.

          ⛓️ Ignite and scaffolding the wordle chain

          🔥 Ignite

          Ignite is an amazing CLI tool to help us get started building our own blockchains for cosmos-sdk apps. It provides lots of power toolings and scaffoldings for adding messages, types, and modules with a host of cosmos-sdk libraries provided.

          You can read more about Ignite here.

          To install Ignite, you can run this command in your terminal:

          ',14)),i("div",y,[s[7]||(s[7]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[8]||(s[8]=i("span",{class:"lang"},"bash",-1)),i("pre",u,[i("code",null,[i("span",C,[s[4]||(s[4]=i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"curl",-1)),i("span",m," https://get.ignite.com/cli@"+e(h(t).igniteVersionTag)+"!",1),s[5]||(s[5]=i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," |",-1)),s[6]||(s[6]=i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," bash",-1))])])])]),s[20]||(s[20]=a('

          This installs Ignite CLI in your local machine. This tutorial uses a macOS but it should work for Windows. For Windows users, check out the Ignite docs on installation for Windows machines.

          Now, refresh your terminal using source or open a new terminal session for the change to take place.

          If you run the following:

          bash
          ignite --help

          You should see an output of help commands meaning Ignite was installed successfully!

          ⛓️ Scaffolding the wordle chain

          Now, comes the fun part, creating a new blockchain! With Ignite, the process is pretty easy and straightforward.

          Ignite CLI comes with several scaffolding commands that are designed to make development more straightforward by creating everything you need to build your blockchain.

          First, we will use Ignite CLI to build the foundation of a fresh Cosmos SDK blockchain. Ignite minimizes how much blockchain code you must write yourself. If you are coming from the EVM-world, think of Ignite as a Cosmos-SDK version of Foundry or Hardhat but specifically designed to build blockchains.

          we first run the following command to set up our project for our new blockchain, wordle.

          bash
          ignite scaffold chain wordle --no-module

          This command scaffolds a new chain directory called wordle in your local directory from which you ran the command. Notice that we passed the --no-module flag, this is because we will be creating the module after.

          🗂️ Wordle directory

          Now, it’s time to enter the directory:

          bash
          cd wordle

          Inside you will see several directories and architecture for your cosmos-sdk blockchain.

          File/directoryPurpose
          app/Files that wire together the blockchain. The most important file is app.go that contains type definition of the blockchain and functions to create and initialize it.
          cmd/The main package responsible for the CLI of compiled binary.
          docs/Directory for project documentation. By default, an OpenAPI spec is generated.
          proto/Protocol buffer files describing the data structure.
          testutil/Helper functions for testing.
          vue/A Vue 3 web app template.
          x/Cosmos SDK modules and custom modules.
          config.ymlA configuration file for customizing a chain in development.
          readme.mdA readme file for your sovereign application-specific blockchain project.

          Going over each one is outside the scope of this guide, but we encourage you to read about it here.

          Most of the tutorial work will happen inside the x directory.

          🛠️ Setting up Rollkit

          Before we continue with building our Wordle App, we need to set up Rollkit on our codebase.

          🗞️ Installing Rollkit

          To install the Rollkit app to Ignite, run the following command:

          ',23)),i("div",b,[s[12]||(s[12]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[13]||(s[13]=i("span",{class:"lang"},"bash",-1)),i("pre",B,[i("code",null,[i("span",f,[s[9]||(s[9]=i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ignite",-1)),s[10]||(s[10]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," app",-1)),s[11]||(s[11]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install",-1)),i("span",w," github.com/ignite/apps/rollkit@"+e(h(t).rollkitIgniteAppVersion),1)])])])]),s[21]||(s[21]=a(`

          Next, add Rollkit to your project by running:

          bash
          ignite rollkit add

          ✨ Creating the wordle module

          For the Wordle module, we can add dependencies offered by Cosmos-SDK.

          From the Cosmos-SDK docs, a module is defined as the following:

          In a Cosmos SDK blockchain, application-specific logic is implemented in separate modules. Modules keep code easy to understand and reuse. Each module contains its own message and transaction processor, while the Cosmos SDK is responsible for routing each message to its respective module.

          Many modules exist for slashing, validating, auth.

          🔖 Scaffolding a module

          We will be using the bank module dependency for transactions.

          From the Cosmos-SDK docs, the bank module is defined as the following:

          The bank module is responsible for handling multi-asset coin transfers between accounts and tracking special-case pseudo-transfers which must work differently with particular kinds of accounts (notably delegating/undelegating for vesting accounts). It exposes several interfaces with varying capabilities for secure interaction with other modules which must alter user balances.

          We build the module with the bank dependency with the following command:

          bash
          ignite scaffold module wordle --dep bank -y

          This will scaffold the Wordle module to our Wordle Chain project.

          ✉️ Messages

          Messages allow us to process and submit information to our specific module.

          From the Cosmos-SDK docs, messages are:

          In the Cosmos SDK, messages are objects that are contained in transactions to trigger state transitions. Each Cosmos SDK module defines a list of messages and how to handle them.

          For messages for Wordle, given our initial design, we will make 2 messages with ignite.

          • The first one is: SubmitWordle and it only passes the Wordle of the Day.
          • The second one is: SubmitGuess and it attempts to guess the submitted wordle. It also passes a word as a guess.

          With these initial designs, we can start creating our messages!

          💬 Scaffolding a message

          To create the SubmitWordle message, we run the following command:

          bash
          ignite scaffold message submit-wordle word -y

          This creates the submit-wordle message that takes in word as a parameter.

          We now create the final message, SubmitGuess:

          bash
          ignite scaffold message submit-guess word -y

          Here, we are passing a word as a guess with submit-guess.

          🎨 Wordle types

          For the next steps, we will be creating types to be used by the messages we created.

          🏗️ Scaffolding wordle types

          bash
          ignite scaffold map wordle word submitter --no-message -y

          This type is a map called Wordle with two values of word and submitter. submitter is the address of the person that submitted the Wordle.

          The second type is the Guess type. It allows us to store the latest guess for each address that submitted a solution.

          bash
          ignite scaffold map guess word submitter count --no-message -y

          Here, we are also storing count to count how many guesses this address submitted.

          🔐 Keeper functions

          Now it’s time to implement the Keeper functions for each message. From the Cosmos-SDK docs, Keeper is defined as the following:

          The main core of a Cosmos SDK module is a piece called the keeper. The keeper handles interactions with the store, has references to other keepers for cross-module interactions, and contains most of the core functionality of a module.

          Keeper is an abstraction on Cosmos that allows us to interact with the Key-Value store and change the state of the blockchain.

          Here, it will help us outline the logic for each message we create.

          📤 SubmitWordle function

          We first start with the SubmitWordle function.

          Open up the following file: x/wordle/keeper/msg_server_submit_wordle.go

          Inside the following, replace the current code with the following code, which we will go over in a bit:

          go
          package keeper
          +import{C as l}from"./chunks/callout.DiI5rXbX.js";import{c as t}from"./chunks/constants.pTZQtKJL.js";import{c as p,j as i,a as n,G as k,a3 as a,t as e,k as h,o as r}from"./chunks/framework.CGQ59HuL.js";/* empty css                                                                       */const d="/wordle/wordle.png",o={class:"tip custom-block"},g={class:"language-bash vp-adaptive-theme"},E={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},F={class:"line"},c={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y={class:"language-bash vp-adaptive-theme"},u={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},C={class:"line"},m={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},b={class:"language-bash vp-adaptive-theme"},B={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},f={class:"line"},w={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},T=JSON.parse('{"title":"🕹️ Wordle app","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🕹️ Wordle app | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/wordle.md","filePath":"tutorials/wordle.md","lastUpdated":1731690932000}'),v={name:"tutorials/wordle.md"},I=Object.assign(v,{setup(A){return(D,s)=>(r(),p("div",null,[s[14]||(s[14]=i("h1",{id:"🕹️-wordle-app",tabindex:"-1"},[n("🕹️ Wordle app "),i("a",{class:"header-anchor",href:"#🕹️-wordle-app","aria-label":'Permalink to "🕹️ Wordle app"'},"​")],-1)),s[15]||(s[15]=i("p",null,[i("img",{src:d,alt:"wordle-app"})],-1)),s[16]||(s[16]=i("p",null,[n("This tutorial guide will go over building a cosmos-sdk app for Rollkit, the Sovereign-Rollup implementation of CometBFT, for the popular game "),i("a",{href:"https://www.nytimes.com/games/wordle/index.html",target:"_blank",rel:"noreferrer"},"Wordle"),n(".")],-1)),s[17]||(s[17]=i("p",null,"This tutorial will go over how to setup Rollkit in the Ignite CLI and use it to build the game. The tutorial will go over the simple design, as well as conclude with future implementations and ideas to extend this codebase.",-1)),i("div",o,[s[0]||(s[0]=i("p",{class:"custom-block-title"},"TIP",-1)),k(l)]),s[18]||(s[18]=a('

          💻 Pre-requisites

          This tutorial is targeted for developers who have some experience in the Cosmos-SDK. We will go through the steps to build the chain, but for more information on how the Cosmos-SDK components work, check out the Cosmos-SDK Docs.

          Additionally, we recommend that you have gone over the quick start guide first to see an example of a running chain.

          You also need to have Rollkit CLI installed. You can install it by running:

          ',4)),i("div",g,[s[2]||(s[2]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[3]||(s[3]=i("span",{class:"lang"},"bash",-1)),i("pre",E,[i("code",null,[i("span",F,[s[1]||(s[1]=a('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),i("span",c," "+e(h(t).rollkitLatestTag),1)])])])]),s[19]||(s[19]=a('

          📖 Design implementation

          The rules of Wordle are simple: You have to guess the word of the day.

          Key Points to Consider:

          • The word is a five-letter word.
          • You have 6 guesses.
          • Every 24 hours, there’s a new word.

          The GUI for Wordle shows you a few indicators: a green highlight on a letter in a certain position means that’s the correct letter for the Wordle in the right position. A yellow highlight means it’s a correct letter for the Wordle included in the wrong position. A grey highlight means the letter isn’t part of the Wordle.

          For simplicity of the design, we will avoid those hints, although there are ways to extend this codebase to implement that, which we will show at the end.

          In this current design, we implement the following rules:

          • 1 Wordle can be submitted per day
          • Every address will have 6 tries to guess the word
          • It must be a five-letter word.
          • Whoever guesses the word correctly before their 6 tries are over gets an award of 100 WORDLE tokens.

          We will go over the architecture to achieve this further in the guide. But for now, we will get started setting up our development environment.

          ⛓️ Ignite and scaffolding the wordle chain

          🔥 Ignite

          Ignite is an amazing CLI tool to help us get started building our own blockchains for cosmos-sdk apps. It provides lots of power toolings and scaffoldings for adding messages, types, and modules with a host of cosmos-sdk libraries provided.

          You can read more about Ignite here.

          To install Ignite, you can run this command in your terminal:

          ',14)),i("div",y,[s[7]||(s[7]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[8]||(s[8]=i("span",{class:"lang"},"bash",-1)),i("pre",u,[i("code",null,[i("span",C,[s[4]||(s[4]=i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"curl",-1)),i("span",m," https://get.ignite.com/cli@"+e(h(t).igniteVersionTag)+"!",1),s[5]||(s[5]=i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," |",-1)),s[6]||(s[6]=i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," bash",-1))])])])]),s[20]||(s[20]=a('

          This installs Ignite CLI in your local machine. This tutorial uses a macOS but it should work for Windows. For Windows users, check out the Ignite docs on installation for Windows machines.

          Now, refresh your terminal using source or open a new terminal session for the change to take place.

          If you run the following:

          bash
          ignite --help

          You should see an output of help commands meaning Ignite was installed successfully!

          ⛓️ Scaffolding the wordle chain

          Now, comes the fun part, creating a new blockchain! With Ignite, the process is pretty easy and straightforward.

          Ignite CLI comes with several scaffolding commands that are designed to make development more straightforward by creating everything you need to build your blockchain.

          First, we will use Ignite CLI to build the foundation of a fresh Cosmos SDK blockchain. Ignite minimizes how much blockchain code you must write yourself. If you are coming from the EVM-world, think of Ignite as a Cosmos-SDK version of Foundry or Hardhat but specifically designed to build blockchains.

          we first run the following command to set up our project for our new blockchain, wordle.

          bash
          ignite scaffold chain wordle --no-module

          This command scaffolds a new chain directory called wordle in your local directory from which you ran the command. Notice that we passed the --no-module flag, this is because we will be creating the module after.

          🗂️ Wordle directory

          Now, it’s time to enter the directory:

          bash
          cd wordle

          Inside you will see several directories and architecture for your cosmos-sdk blockchain.

          File/directoryPurpose
          app/Files that wire together the blockchain. The most important file is app.go that contains type definition of the blockchain and functions to create and initialize it.
          cmd/The main package responsible for the CLI of compiled binary.
          docs/Directory for project documentation. By default, an OpenAPI spec is generated.
          proto/Protocol buffer files describing the data structure.
          testutil/Helper functions for testing.
          vue/A Vue 3 web app template.
          x/Cosmos SDK modules and custom modules.
          config.ymlA configuration file for customizing a chain in development.
          readme.mdA readme file for your sovereign application-specific blockchain project.

          Going over each one is outside the scope of this guide, but we encourage you to read about it here.

          Most of the tutorial work will happen inside the x directory.

          🛠️ Setting up Rollkit

          Before we continue with building our Wordle App, we need to set up Rollkit on our codebase.

          🗞️ Installing Rollkit

          To install the Rollkit app to Ignite, run the following command:

          ',23)),i("div",b,[s[12]||(s[12]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[13]||(s[13]=i("span",{class:"lang"},"bash",-1)),i("pre",B,[i("code",null,[i("span",f,[s[9]||(s[9]=i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ignite",-1)),s[10]||(s[10]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," app",-1)),s[11]||(s[11]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install",-1)),i("span",w," github.com/ignite/apps/rollkit@"+e(h(t).rollkitIgniteAppVersion),1)])])])]),s[21]||(s[21]=a(`

          Next, add Rollkit to your project by running:

          bash
          ignite rollkit add

          ✨ Creating the wordle module

          For the Wordle module, we can add dependencies offered by Cosmos-SDK.

          From the Cosmos-SDK docs, a module is defined as the following:

          In a Cosmos SDK blockchain, application-specific logic is implemented in separate modules. Modules keep code easy to understand and reuse. Each module contains its own message and transaction processor, while the Cosmos SDK is responsible for routing each message to its respective module.

          Many modules exist for slashing, validating, auth.

          🔖 Scaffolding a module

          We will be using the bank module dependency for transactions.

          From the Cosmos-SDK docs, the bank module is defined as the following:

          The bank module is responsible for handling multi-asset coin transfers between accounts and tracking special-case pseudo-transfers which must work differently with particular kinds of accounts (notably delegating/undelegating for vesting accounts). It exposes several interfaces with varying capabilities for secure interaction with other modules which must alter user balances.

          We build the module with the bank dependency with the following command:

          bash
          ignite scaffold module wordle --dep bank -y

          This will scaffold the Wordle module to our Wordle Chain project.

          ✉️ Messages

          Messages allow us to process and submit information to our specific module.

          From the Cosmos-SDK docs, messages are:

          In the Cosmos SDK, messages are objects that are contained in transactions to trigger state transitions. Each Cosmos SDK module defines a list of messages and how to handle them.

          For messages for Wordle, given our initial design, we will make 2 messages with ignite.

          • The first one is: SubmitWordle and it only passes the Wordle of the Day.
          • The second one is: SubmitGuess and it attempts to guess the submitted wordle. It also passes a word as a guess.

          With these initial designs, we can start creating our messages!

          💬 Scaffolding a message

          To create the SubmitWordle message, we run the following command:

          bash
          ignite scaffold message submit-wordle word -y

          This creates the submit-wordle message that takes in word as a parameter.

          We now create the final message, SubmitGuess:

          bash
          ignite scaffold message submit-guess word -y

          Here, we are passing a word as a guess with submit-guess.

          🎨 Wordle types

          For the next steps, we will be creating types to be used by the messages we created.

          🏗️ Scaffolding wordle types

          bash
          ignite scaffold map wordle word submitter --no-message -y

          This type is a map called Wordle with two values of word and submitter. submitter is the address of the person that submitted the Wordle.

          The second type is the Guess type. It allows us to store the latest guess for each address that submitted a solution.

          bash
          ignite scaffold map guess word submitter count --no-message -y

          Here, we are also storing count to count how many guesses this address submitted.

          🔐 Keeper functions

          Now it’s time to implement the Keeper functions for each message. From the Cosmos-SDK docs, Keeper is defined as the following:

          The main core of a Cosmos SDK module is a piece called the keeper. The keeper handles interactions with the store, has references to other keepers for cross-module interactions, and contains most of the core functionality of a module.

          Keeper is an abstraction on Cosmos that allows us to interact with the Key-Value store and change the state of the blockchain.

          Here, it will help us outline the logic for each message we create.

          📤 SubmitWordle function

          We first start with the SubmitWordle function.

          Open up the following file: x/wordle/keeper/msg_server_submit_wordle.go

          Inside the following, replace the current code with the following code, which we will go over in a bit:

          go
          package keeper
           
           import (
             "context"
          diff --git a/assets/tutorials_wordle.md.DN8DE5pq.js b/assets/tutorials_wordle.md.SCGP__W6.lean.js
          similarity index 99%
          rename from assets/tutorials_wordle.md.DN8DE5pq.js
          rename to assets/tutorials_wordle.md.SCGP__W6.lean.js
          index 2042de210..47ef9fa86 100644
          --- a/assets/tutorials_wordle.md.DN8DE5pq.js
          +++ b/assets/tutorials_wordle.md.SCGP__W6.lean.js
          @@ -1,4 +1,4 @@
          -import{C as l}from"./chunks/callout.DiI5rXbX.js";import{c as t}from"./chunks/constants.BZ-q9XpV.js";import{c as p,j as i,a as n,G as k,a3 as a,t as e,k as h,o as r}from"./chunks/framework.CGQ59HuL.js";/* empty css                                                                       */const d="/wordle/wordle.png",o={class:"tip custom-block"},g={class:"language-bash vp-adaptive-theme"},E={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},F={class:"line"},c={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y={class:"language-bash vp-adaptive-theme"},u={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},C={class:"line"},m={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},b={class:"language-bash vp-adaptive-theme"},B={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},f={class:"line"},w={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},T=JSON.parse('{"title":"🕹️ Wordle app","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🕹️ Wordle app | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/wordle.md","filePath":"tutorials/wordle.md","lastUpdated":1731690932000}'),v={name:"tutorials/wordle.md"},I=Object.assign(v,{setup(A){return(D,s)=>(r(),p("div",null,[s[14]||(s[14]=i("h1",{id:"🕹️-wordle-app",tabindex:"-1"},[n("🕹️ Wordle app "),i("a",{class:"header-anchor",href:"#🕹️-wordle-app","aria-label":'Permalink to "🕹️ Wordle app"'},"​")],-1)),s[15]||(s[15]=i("p",null,[i("img",{src:d,alt:"wordle-app"})],-1)),s[16]||(s[16]=i("p",null,[n("This tutorial guide will go over building a cosmos-sdk app for Rollkit, the Sovereign-Rollup implementation of CometBFT, for the popular game "),i("a",{href:"https://www.nytimes.com/games/wordle/index.html",target:"_blank",rel:"noreferrer"},"Wordle"),n(".")],-1)),s[17]||(s[17]=i("p",null,"This tutorial will go over how to setup Rollkit in the Ignite CLI and use it to build the game. The tutorial will go over the simple design, as well as conclude with future implementations and ideas to extend this codebase.",-1)),i("div",o,[s[0]||(s[0]=i("p",{class:"custom-block-title"},"TIP",-1)),k(l)]),s[18]||(s[18]=a('

          💻 Pre-requisites

          This tutorial is targeted for developers who have some experience in the Cosmos-SDK. We will go through the steps to build the chain, but for more information on how the Cosmos-SDK components work, check out the Cosmos-SDK Docs.

          Additionally, we recommend that you have gone over the quick start guide first to see an example of a running chain.

          You also need to have Rollkit CLI installed. You can install it by running:

          ',4)),i("div",g,[s[2]||(s[2]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[3]||(s[3]=i("span",{class:"lang"},"bash",-1)),i("pre",E,[i("code",null,[i("span",F,[s[1]||(s[1]=a('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),i("span",c," "+e(h(t).rollkitLatestTag),1)])])])]),s[19]||(s[19]=a('

          📖 Design implementation

          The rules of Wordle are simple: You have to guess the word of the day.

          Key Points to Consider:

          • The word is a five-letter word.
          • You have 6 guesses.
          • Every 24 hours, there’s a new word.

          The GUI for Wordle shows you a few indicators: a green highlight on a letter in a certain position means that’s the correct letter for the Wordle in the right position. A yellow highlight means it’s a correct letter for the Wordle included in the wrong position. A grey highlight means the letter isn’t part of the Wordle.

          For simplicity of the design, we will avoid those hints, although there are ways to extend this codebase to implement that, which we will show at the end.

          In this current design, we implement the following rules:

          • 1 Wordle can be submitted per day
          • Every address will have 6 tries to guess the word
          • It must be a five-letter word.
          • Whoever guesses the word correctly before their 6 tries are over gets an award of 100 WORDLE tokens.

          We will go over the architecture to achieve this further in the guide. But for now, we will get started setting up our development environment.

          ⛓️ Ignite and scaffolding the wordle chain

          🔥 Ignite

          Ignite is an amazing CLI tool to help us get started building our own blockchains for cosmos-sdk apps. It provides lots of power toolings and scaffoldings for adding messages, types, and modules with a host of cosmos-sdk libraries provided.

          You can read more about Ignite here.

          To install Ignite, you can run this command in your terminal:

          ',14)),i("div",y,[s[7]||(s[7]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[8]||(s[8]=i("span",{class:"lang"},"bash",-1)),i("pre",u,[i("code",null,[i("span",C,[s[4]||(s[4]=i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"curl",-1)),i("span",m," https://get.ignite.com/cli@"+e(h(t).igniteVersionTag)+"!",1),s[5]||(s[5]=i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," |",-1)),s[6]||(s[6]=i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," bash",-1))])])])]),s[20]||(s[20]=a('

          This installs Ignite CLI in your local machine. This tutorial uses a macOS but it should work for Windows. For Windows users, check out the Ignite docs on installation for Windows machines.

          Now, refresh your terminal using source or open a new terminal session for the change to take place.

          If you run the following:

          bash
          ignite --help

          You should see an output of help commands meaning Ignite was installed successfully!

          ⛓️ Scaffolding the wordle chain

          Now, comes the fun part, creating a new blockchain! With Ignite, the process is pretty easy and straightforward.

          Ignite CLI comes with several scaffolding commands that are designed to make development more straightforward by creating everything you need to build your blockchain.

          First, we will use Ignite CLI to build the foundation of a fresh Cosmos SDK blockchain. Ignite minimizes how much blockchain code you must write yourself. If you are coming from the EVM-world, think of Ignite as a Cosmos-SDK version of Foundry or Hardhat but specifically designed to build blockchains.

          we first run the following command to set up our project for our new blockchain, wordle.

          bash
          ignite scaffold chain wordle --no-module

          This command scaffolds a new chain directory called wordle in your local directory from which you ran the command. Notice that we passed the --no-module flag, this is because we will be creating the module after.

          🗂️ Wordle directory

          Now, it’s time to enter the directory:

          bash
          cd wordle

          Inside you will see several directories and architecture for your cosmos-sdk blockchain.

          File/directoryPurpose
          app/Files that wire together the blockchain. The most important file is app.go that contains type definition of the blockchain and functions to create and initialize it.
          cmd/The main package responsible for the CLI of compiled binary.
          docs/Directory for project documentation. By default, an OpenAPI spec is generated.
          proto/Protocol buffer files describing the data structure.
          testutil/Helper functions for testing.
          vue/A Vue 3 web app template.
          x/Cosmos SDK modules and custom modules.
          config.ymlA configuration file for customizing a chain in development.
          readme.mdA readme file for your sovereign application-specific blockchain project.

          Going over each one is outside the scope of this guide, but we encourage you to read about it here.

          Most of the tutorial work will happen inside the x directory.

          🛠️ Setting up Rollkit

          Before we continue with building our Wordle App, we need to set up Rollkit on our codebase.

          🗞️ Installing Rollkit

          To install the Rollkit app to Ignite, run the following command:

          ',23)),i("div",b,[s[12]||(s[12]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[13]||(s[13]=i("span",{class:"lang"},"bash",-1)),i("pre",B,[i("code",null,[i("span",f,[s[9]||(s[9]=i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ignite",-1)),s[10]||(s[10]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," app",-1)),s[11]||(s[11]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install",-1)),i("span",w," github.com/ignite/apps/rollkit@"+e(h(t).rollkitIgniteAppVersion),1)])])])]),s[21]||(s[21]=a(`

          Next, add Rollkit to your project by running:

          bash
          ignite rollkit add

          ✨ Creating the wordle module

          For the Wordle module, we can add dependencies offered by Cosmos-SDK.

          From the Cosmos-SDK docs, a module is defined as the following:

          In a Cosmos SDK blockchain, application-specific logic is implemented in separate modules. Modules keep code easy to understand and reuse. Each module contains its own message and transaction processor, while the Cosmos SDK is responsible for routing each message to its respective module.

          Many modules exist for slashing, validating, auth.

          🔖 Scaffolding a module

          We will be using the bank module dependency for transactions.

          From the Cosmos-SDK docs, the bank module is defined as the following:

          The bank module is responsible for handling multi-asset coin transfers between accounts and tracking special-case pseudo-transfers which must work differently with particular kinds of accounts (notably delegating/undelegating for vesting accounts). It exposes several interfaces with varying capabilities for secure interaction with other modules which must alter user balances.

          We build the module with the bank dependency with the following command:

          bash
          ignite scaffold module wordle --dep bank -y

          This will scaffold the Wordle module to our Wordle Chain project.

          ✉️ Messages

          Messages allow us to process and submit information to our specific module.

          From the Cosmos-SDK docs, messages are:

          In the Cosmos SDK, messages are objects that are contained in transactions to trigger state transitions. Each Cosmos SDK module defines a list of messages and how to handle them.

          For messages for Wordle, given our initial design, we will make 2 messages with ignite.

          • The first one is: SubmitWordle and it only passes the Wordle of the Day.
          • The second one is: SubmitGuess and it attempts to guess the submitted wordle. It also passes a word as a guess.

          With these initial designs, we can start creating our messages!

          💬 Scaffolding a message

          To create the SubmitWordle message, we run the following command:

          bash
          ignite scaffold message submit-wordle word -y

          This creates the submit-wordle message that takes in word as a parameter.

          We now create the final message, SubmitGuess:

          bash
          ignite scaffold message submit-guess word -y

          Here, we are passing a word as a guess with submit-guess.

          🎨 Wordle types

          For the next steps, we will be creating types to be used by the messages we created.

          🏗️ Scaffolding wordle types

          bash
          ignite scaffold map wordle word submitter --no-message -y

          This type is a map called Wordle with two values of word and submitter. submitter is the address of the person that submitted the Wordle.

          The second type is the Guess type. It allows us to store the latest guess for each address that submitted a solution.

          bash
          ignite scaffold map guess word submitter count --no-message -y

          Here, we are also storing count to count how many guesses this address submitted.

          🔐 Keeper functions

          Now it’s time to implement the Keeper functions for each message. From the Cosmos-SDK docs, Keeper is defined as the following:

          The main core of a Cosmos SDK module is a piece called the keeper. The keeper handles interactions with the store, has references to other keepers for cross-module interactions, and contains most of the core functionality of a module.

          Keeper is an abstraction on Cosmos that allows us to interact with the Key-Value store and change the state of the blockchain.

          Here, it will help us outline the logic for each message we create.

          📤 SubmitWordle function

          We first start with the SubmitWordle function.

          Open up the following file: x/wordle/keeper/msg_server_submit_wordle.go

          Inside the following, replace the current code with the following code, which we will go over in a bit:

          go
          package keeper
          +import{C as l}from"./chunks/callout.DiI5rXbX.js";import{c as t}from"./chunks/constants.pTZQtKJL.js";import{c as p,j as i,a as n,G as k,a3 as a,t as e,k as h,o as r}from"./chunks/framework.CGQ59HuL.js";/* empty css                                                                       */const d="/wordle/wordle.png",o={class:"tip custom-block"},g={class:"language-bash vp-adaptive-theme"},E={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},F={class:"line"},c={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},y={class:"language-bash vp-adaptive-theme"},u={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},C={class:"line"},m={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},b={class:"language-bash vp-adaptive-theme"},B={class:"shiki shiki-themes github-light github-dark vp-code",tabindex:"0"},f={class:"line"},w={style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},T=JSON.parse('{"title":"🕹️ Wordle app","description":"","frontmatter":{"head":[["meta",{"name":"og:title","content":"🕹️ Wordle app | Rollkit"},{"name":"og:description","content":false}]]},"headers":[],"relativePath":"tutorials/wordle.md","filePath":"tutorials/wordle.md","lastUpdated":1731690932000}'),v={name:"tutorials/wordle.md"},I=Object.assign(v,{setup(A){return(D,s)=>(r(),p("div",null,[s[14]||(s[14]=i("h1",{id:"🕹️-wordle-app",tabindex:"-1"},[n("🕹️ Wordle app "),i("a",{class:"header-anchor",href:"#🕹️-wordle-app","aria-label":'Permalink to "🕹️ Wordle app"'},"​")],-1)),s[15]||(s[15]=i("p",null,[i("img",{src:d,alt:"wordle-app"})],-1)),s[16]||(s[16]=i("p",null,[n("This tutorial guide will go over building a cosmos-sdk app for Rollkit, the Sovereign-Rollup implementation of CometBFT, for the popular game "),i("a",{href:"https://www.nytimes.com/games/wordle/index.html",target:"_blank",rel:"noreferrer"},"Wordle"),n(".")],-1)),s[17]||(s[17]=i("p",null,"This tutorial will go over how to setup Rollkit in the Ignite CLI and use it to build the game. The tutorial will go over the simple design, as well as conclude with future implementations and ideas to extend this codebase.",-1)),i("div",o,[s[0]||(s[0]=i("p",{class:"custom-block-title"},"TIP",-1)),k(l)]),s[18]||(s[18]=a('

          💻 Pre-requisites

          This tutorial is targeted for developers who have some experience in the Cosmos-SDK. We will go through the steps to build the chain, but for more information on how the Cosmos-SDK components work, check out the Cosmos-SDK Docs.

          Additionally, we recommend that you have gone over the quick start guide first to see an example of a running chain.

          You also need to have Rollkit CLI installed. You can install it by running:

          ',4)),i("div",g,[s[2]||(s[2]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[3]||(s[3]=i("span",{class:"lang"},"bash",-1)),i("pre",E,[i("code",null,[i("span",F,[s[1]||(s[1]=a('curl -sSL https://rollkit.dev/install.sh | sh -s',6)),i("span",c," "+e(h(t).rollkitLatestTag),1)])])])]),s[19]||(s[19]=a('

          📖 Design implementation

          The rules of Wordle are simple: You have to guess the word of the day.

          Key Points to Consider:

          • The word is a five-letter word.
          • You have 6 guesses.
          • Every 24 hours, there’s a new word.

          The GUI for Wordle shows you a few indicators: a green highlight on a letter in a certain position means that’s the correct letter for the Wordle in the right position. A yellow highlight means it’s a correct letter for the Wordle included in the wrong position. A grey highlight means the letter isn’t part of the Wordle.

          For simplicity of the design, we will avoid those hints, although there are ways to extend this codebase to implement that, which we will show at the end.

          In this current design, we implement the following rules:

          • 1 Wordle can be submitted per day
          • Every address will have 6 tries to guess the word
          • It must be a five-letter word.
          • Whoever guesses the word correctly before their 6 tries are over gets an award of 100 WORDLE tokens.

          We will go over the architecture to achieve this further in the guide. But for now, we will get started setting up our development environment.

          ⛓️ Ignite and scaffolding the wordle chain

          🔥 Ignite

          Ignite is an amazing CLI tool to help us get started building our own blockchains for cosmos-sdk apps. It provides lots of power toolings and scaffoldings for adding messages, types, and modules with a host of cosmos-sdk libraries provided.

          You can read more about Ignite here.

          To install Ignite, you can run this command in your terminal:

          ',14)),i("div",y,[s[7]||(s[7]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[8]||(s[8]=i("span",{class:"lang"},"bash",-1)),i("pre",u,[i("code",null,[i("span",C,[s[4]||(s[4]=i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"curl",-1)),i("span",m," https://get.ignite.com/cli@"+e(h(t).igniteVersionTag)+"!",1),s[5]||(s[5]=i("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," |",-1)),s[6]||(s[6]=i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," bash",-1))])])])]),s[20]||(s[20]=a('

          This installs Ignite CLI in your local machine. This tutorial uses a macOS but it should work for Windows. For Windows users, check out the Ignite docs on installation for Windows machines.

          Now, refresh your terminal using source or open a new terminal session for the change to take place.

          If you run the following:

          bash
          ignite --help

          You should see an output of help commands meaning Ignite was installed successfully!

          ⛓️ Scaffolding the wordle chain

          Now, comes the fun part, creating a new blockchain! With Ignite, the process is pretty easy and straightforward.

          Ignite CLI comes with several scaffolding commands that are designed to make development more straightforward by creating everything you need to build your blockchain.

          First, we will use Ignite CLI to build the foundation of a fresh Cosmos SDK blockchain. Ignite minimizes how much blockchain code you must write yourself. If you are coming from the EVM-world, think of Ignite as a Cosmos-SDK version of Foundry or Hardhat but specifically designed to build blockchains.

          we first run the following command to set up our project for our new blockchain, wordle.

          bash
          ignite scaffold chain wordle --no-module

          This command scaffolds a new chain directory called wordle in your local directory from which you ran the command. Notice that we passed the --no-module flag, this is because we will be creating the module after.

          🗂️ Wordle directory

          Now, it’s time to enter the directory:

          bash
          cd wordle

          Inside you will see several directories and architecture for your cosmos-sdk blockchain.

          File/directoryPurpose
          app/Files that wire together the blockchain. The most important file is app.go that contains type definition of the blockchain and functions to create and initialize it.
          cmd/The main package responsible for the CLI of compiled binary.
          docs/Directory for project documentation. By default, an OpenAPI spec is generated.
          proto/Protocol buffer files describing the data structure.
          testutil/Helper functions for testing.
          vue/A Vue 3 web app template.
          x/Cosmos SDK modules and custom modules.
          config.ymlA configuration file for customizing a chain in development.
          readme.mdA readme file for your sovereign application-specific blockchain project.

          Going over each one is outside the scope of this guide, but we encourage you to read about it here.

          Most of the tutorial work will happen inside the x directory.

          🛠️ Setting up Rollkit

          Before we continue with building our Wordle App, we need to set up Rollkit on our codebase.

          🗞️ Installing Rollkit

          To install the Rollkit app to Ignite, run the following command:

          ',23)),i("div",b,[s[12]||(s[12]=i("button",{title:"Copy Code",class:"copy"},null,-1)),s[13]||(s[13]=i("span",{class:"lang"},"bash",-1)),i("pre",B,[i("code",null,[i("span",f,[s[9]||(s[9]=i("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ignite",-1)),s[10]||(s[10]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," app",-1)),s[11]||(s[11]=i("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," install",-1)),i("span",w," github.com/ignite/apps/rollkit@"+e(h(t).rollkitIgniteAppVersion),1)])])])]),s[21]||(s[21]=a(`

          Next, add Rollkit to your project by running:

          bash
          ignite rollkit add

          ✨ Creating the wordle module

          For the Wordle module, we can add dependencies offered by Cosmos-SDK.

          From the Cosmos-SDK docs, a module is defined as the following:

          In a Cosmos SDK blockchain, application-specific logic is implemented in separate modules. Modules keep code easy to understand and reuse. Each module contains its own message and transaction processor, while the Cosmos SDK is responsible for routing each message to its respective module.

          Many modules exist for slashing, validating, auth.

          🔖 Scaffolding a module

          We will be using the bank module dependency for transactions.

          From the Cosmos-SDK docs, the bank module is defined as the following:

          The bank module is responsible for handling multi-asset coin transfers between accounts and tracking special-case pseudo-transfers which must work differently with particular kinds of accounts (notably delegating/undelegating for vesting accounts). It exposes several interfaces with varying capabilities for secure interaction with other modules which must alter user balances.

          We build the module with the bank dependency with the following command:

          bash
          ignite scaffold module wordle --dep bank -y

          This will scaffold the Wordle module to our Wordle Chain project.

          ✉️ Messages

          Messages allow us to process and submit information to our specific module.

          From the Cosmos-SDK docs, messages are:

          In the Cosmos SDK, messages are objects that are contained in transactions to trigger state transitions. Each Cosmos SDK module defines a list of messages and how to handle them.

          For messages for Wordle, given our initial design, we will make 2 messages with ignite.

          • The first one is: SubmitWordle and it only passes the Wordle of the Day.
          • The second one is: SubmitGuess and it attempts to guess the submitted wordle. It also passes a word as a guess.

          With these initial designs, we can start creating our messages!

          💬 Scaffolding a message

          To create the SubmitWordle message, we run the following command:

          bash
          ignite scaffold message submit-wordle word -y

          This creates the submit-wordle message that takes in word as a parameter.

          We now create the final message, SubmitGuess:

          bash
          ignite scaffold message submit-guess word -y

          Here, we are passing a word as a guess with submit-guess.

          🎨 Wordle types

          For the next steps, we will be creating types to be used by the messages we created.

          🏗️ Scaffolding wordle types

          bash
          ignite scaffold map wordle word submitter --no-message -y

          This type is a map called Wordle with two values of word and submitter. submitter is the address of the person that submitted the Wordle.

          The second type is the Guess type. It allows us to store the latest guess for each address that submitted a solution.

          bash
          ignite scaffold map guess word submitter count --no-message -y

          Here, we are also storing count to count how many guesses this address submitted.

          🔐 Keeper functions

          Now it’s time to implement the Keeper functions for each message. From the Cosmos-SDK docs, Keeper is defined as the following:

          The main core of a Cosmos SDK module is a piece called the keeper. The keeper handles interactions with the store, has references to other keepers for cross-module interactions, and contains most of the core functionality of a module.

          Keeper is an abstraction on Cosmos that allows us to interact with the Key-Value store and change the state of the blockchain.

          Here, it will help us outline the logic for each message we create.

          📤 SubmitWordle function

          We first start with the SubmitWordle function.

          Open up the following file: x/wordle/keeper/msg_server_submit_wordle.go

          Inside the following, replace the current code with the following code, which we will go over in a bit:

          go
          package keeper
           
           import (
             "context"
          diff --git a/blog/overview.html b/blog/overview.html
          index c8af8f4e5..043c3ddbb 100644
          --- a/blog/overview.html
          +++ b/blog/overview.html
          @@ -9,34 +9,34 @@
               
               
               
          -    
          +    
               
               
          -    
          +    
               
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          -    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
          +    
               
               
               
          @@ -66,8 +66,8 @@
           
           

          Blog

          Welcome to our blog! Here, you'll find a variety of articles on a range of topics. Use this overview to navigate through our content.

          Table of contents

          Stay tuned for more exciting content!

          Released under the APACHE-2.0 License

          - +

          Blog

          Welcome to our blog! Here, you'll find a variety of articles on a range of topics. Use this overview to navigate through our content.

          Table of contents

          Stay tuned for more exciting content!

          Released under the APACHE-2.0 License

          + \ No newline at end of file diff --git a/blog/rollkit-the-first-sovereign-rollup-framework.html b/blog/rollkit-the-first-sovereign-rollup-framework.html index f24608846..a72a9a32e 100644 --- a/blog/rollkit-the-first-sovereign-rollup-framework.html +++ b/blog/rollkit-the-first-sovereign-rollup-framework.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -68,8 +68,8 @@

    Rollkit: The First Sovereign Rollup Framework

    By Rollkit

    Rollkit blog cover

    Bitcoin to Ethereum took 7 years. Ethereum to more scalable alt-L1s took 1–2 years. And then Cosmos SDK and CometBFT brought down time-to-launch a sovereign L1 to months.

    Now, Rollkit makes deploying any VM or application on its own sovereign chain as easy as typing rollkit start.

    Rollkit provides a path to one-click sovereignty for any crypto application, enabling any developer to launch their own sovereign rollups within seconds.

    Sovereign rollups combine the self-governance of a Layer 1 with the ease of deploying a rollup. They remove the need to recruit a secure validator set or bootstrap security by prematurely launching a token. Just like an independent L1, sovereign rollups retain the ability to hard fork which allows them to protect against hacks or bugs. This provides its community the ability to enforce social consensus and be sovereign.

    Without the overhead of a settlement layer, sovereign rollups can directly interoperate with shared security when using the same DA layer.

    By using a generic application interface like ABCI++, Rollkit is compatible with the Cosmos SDK, the leading framework for building sovereign blockchains. This enables all Cosmos SDK developers to build a sovereign rollup and tap into all the powerful cosmos ecosystem tooling they’re used to including IBC, ABCI++, and Skip Protocol's Slinky and BlockSDK.

    Developers have full-freedom to deploy a VM or define their own execution environment, unconstrained by the overhead of an enshrined settlement layer that must process fraud or ZK proofs for their rollups. This means that instead of a canonical on-chain light client that comes with an enshrined settlement layer, sovereign rollups can define how they interoperate with other blockchains by having on-chain light clients of each other as needed.

    Take Control

    In the past, developers have been compelled to accept a degree of trust in convincing validators to organize and independently run nodes that secure a new blockchain. This requires launching premature tokens, inflating away their token supply in order to maintain incentive alignment with validators and offset their operational costs. This does not let developers focus on the core product they’re building. Sovereign rollups empower developers to get rid of this need to launch a token prematurely for bootstrapping a validator set and spending an excessively high amount of internal resources on blockchain development.

    Existing settled rollups come with the overhead of an enshrined settlement layer like Ethereum L1 where it is difficult and expensive to unwind a token on an L2 and move to another L2 without relying on trusted liquidity bridging intermediaries. This also comes with becoming subordinate to the social consensus of an enshrined settlement layer, which they may or may not align with.

    Sovereign rollups don’t need to settle to an external blockchain and can instead fully own their settlement. This allows them to protect against hacks and bugs, and facilitate upgrades via hard forks. They introduce rollup light clients that verify DA directly through data availability sampling and verify execution state proofs allowing asynchronous composability as needed. This in turn paves the path forward for trust-minimized interoperability between sovereign chains that share the same DA layer.

    Sovereign rollups remove the need to have a bridge contract that is upgradeable by an offchain council and instead allows the sovereign community to define rules via fully onchain governance.

    Build with the Best

    Cosmos SDK’s rich array of developer tooling, battle-tested and refined over the past several years, is available to Rollkit developers from day one. Developers can use popular wallet infrastructure, block explorers and indexers supporting CometBFT RPCs, speak IBC across the interchain, have Cosmwasm smart contracts along with Abstract SDK, utilize MEV and free lanes via the BlockSDK and enshrine oracles in block production with Slinky from Skip Protocol. More cosmos related resources.

    Rollkit rollups interact with a state machine via the Application Blockchain Interface (ABCI++). This allows it to be used as an alternative to CometBFT for any ABCI application. Rollkit comes with a custom start handler that can be used by Cosmos SDK blockchains to use it as its ABCI client while still following the release branches of upstream Cosmos SDK. This compatibility enables developers to use tools like abci-cli to test and debug rollups.

    Optimize for your needs

    Rollkit allows developers to optimize between the different modular components of a sovereign chain as needed. Rollkit allows you to:

    • Choose between data availability layers that implement the go-da interface.

    • Choose any ABCI++ compatible virtual machine.

    • Utilize the Sequencing API to delegate sequencing to the shared sequencer network of your choice or even delegate sequencing to the DA layer to go based. Choose between state validity modes: Pessimistic, Optimistic, or ZK or use a combination of both zk and optimistic schemes. Eliminate the need to launch a token or designate the native token or any token for gas fees.

    • Customize block time to just a couple hundred milliseconds and produce blocks only when needed.

    • Configure the fork choice rule.

    Rollkit rollups pay only for data availability on demand. There is no sequencer split required, nor will there ever be any kind of rent seeking model imposed on Rollkit rollups. Rollkit rollups preserve the advantages of a Cosmos SDK blockchain but reduce the overhead of deploying and maintaining a validator set.

    Break Free. Be Sovereign.

    Get started with launching your own sovereign chain with Rollkit. If you’re thinking of building a sovereign chain, we’d love to hear from you. Fill out this form.

    Released under the APACHE-2.0 License

    - +

    Rollkit: The First Sovereign Rollup Framework

    By Rollkit

    Rollkit blog cover

    Bitcoin to Ethereum took 7 years. Ethereum to more scalable alt-L1s took 1–2 years. And then Cosmos SDK and CometBFT brought down time-to-launch a sovereign L1 to months.

    Now, Rollkit makes deploying any VM or application on its own sovereign chain as easy as typing rollkit start.

    Rollkit provides a path to one-click sovereignty for any crypto application, enabling any developer to launch their own sovereign rollups within seconds.

    Sovereign rollups combine the self-governance of a Layer 1 with the ease of deploying a rollup. They remove the need to recruit a secure validator set or bootstrap security by prematurely launching a token. Just like an independent L1, sovereign rollups retain the ability to hard fork which allows them to protect against hacks or bugs. This provides its community the ability to enforce social consensus and be sovereign.

    Without the overhead of a settlement layer, sovereign rollups can directly interoperate with shared security when using the same DA layer.

    By using a generic application interface like ABCI++, Rollkit is compatible with the Cosmos SDK, the leading framework for building sovereign blockchains. This enables all Cosmos SDK developers to build a sovereign rollup and tap into all the powerful cosmos ecosystem tooling they’re used to including IBC, ABCI++, and Skip Protocol's Slinky and BlockSDK.

    Developers have full-freedom to deploy a VM or define their own execution environment, unconstrained by the overhead of an enshrined settlement layer that must process fraud or ZK proofs for their rollups. This means that instead of a canonical on-chain light client that comes with an enshrined settlement layer, sovereign rollups can define how they interoperate with other blockchains by having on-chain light clients of each other as needed.

    Take Control

    In the past, developers have been compelled to accept a degree of trust in convincing validators to organize and independently run nodes that secure a new blockchain. This requires launching premature tokens, inflating away their token supply in order to maintain incentive alignment with validators and offset their operational costs. This does not let developers focus on the core product they’re building. Sovereign rollups empower developers to get rid of this need to launch a token prematurely for bootstrapping a validator set and spending an excessively high amount of internal resources on blockchain development.

    Existing settled rollups come with the overhead of an enshrined settlement layer like Ethereum L1 where it is difficult and expensive to unwind a token on an L2 and move to another L2 without relying on trusted liquidity bridging intermediaries. This also comes with becoming subordinate to the social consensus of an enshrined settlement layer, which they may or may not align with.

    Sovereign rollups don’t need to settle to an external blockchain and can instead fully own their settlement. This allows them to protect against hacks and bugs, and facilitate upgrades via hard forks. They introduce rollup light clients that verify DA directly through data availability sampling and verify execution state proofs allowing asynchronous composability as needed. This in turn paves the path forward for trust-minimized interoperability between sovereign chains that share the same DA layer.

    Sovereign rollups remove the need to have a bridge contract that is upgradeable by an offchain council and instead allows the sovereign community to define rules via fully onchain governance.

    Build with the Best

    Cosmos SDK’s rich array of developer tooling, battle-tested and refined over the past several years, is available to Rollkit developers from day one. Developers can use popular wallet infrastructure, block explorers and indexers supporting CometBFT RPCs, speak IBC across the interchain, have Cosmwasm smart contracts along with Abstract SDK, utilize MEV and free lanes via the BlockSDK and enshrine oracles in block production with Slinky from Skip Protocol. More cosmos related resources.

    Rollkit rollups interact with a state machine via the Application Blockchain Interface (ABCI++). This allows it to be used as an alternative to CometBFT for any ABCI application. Rollkit comes with a custom start handler that can be used by Cosmos SDK blockchains to use it as its ABCI client while still following the release branches of upstream Cosmos SDK. This compatibility enables developers to use tools like abci-cli to test and debug rollups.

    Optimize for your needs

    Rollkit allows developers to optimize between the different modular components of a sovereign chain as needed. Rollkit allows you to:

    • Choose between data availability layers that implement the go-da interface.

    • Choose any ABCI++ compatible virtual machine.

    • Utilize the Sequencing API to delegate sequencing to the shared sequencer network of your choice or even delegate sequencing to the DA layer to go based. Choose between state validity modes: Pessimistic, Optimistic, or ZK or use a combination of both zk and optimistic schemes. Eliminate the need to launch a token or designate the native token or any token for gas fees.

    • Customize block time to just a couple hundred milliseconds and produce blocks only when needed.

    • Configure the fork choice rule.

    Rollkit rollups pay only for data availability on demand. There is no sequencer split required, nor will there ever be any kind of rent seeking model imposed on Rollkit rollups. Rollkit rollups preserve the advantages of a Cosmos SDK blockchain but reduce the overhead of deploying and maintaining a validator set.

    Break Free. Be Sovereign.

    Get started with launching your own sovereign chain with Rollkit. If you’re thinking of building a sovereign chain, we’d love to hear from you. Fill out this form.

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/blog/sovereign-rollups-on-bitcoin.html b/blog/sovereign-rollups-on-bitcoin.html index 00a3cabef..695653fd5 100644 --- a/blog/sovereign-rollups-on-bitcoin.html +++ b/blog/sovereign-rollups-on-bitcoin.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -69,8 +69,8 @@

    Sovereign rollups on Bitcoin with Rollkit

    By Rollkit

    rollkit-bitcoinOriginally published on 5 March 2023

    Today, we are proud to announce that Rollkit is the first rollup framework to support sovereign rollups on Bitcoin. An early research implementation allows Rollkit rollups to use Bitcoin for data availability.

    Rollkit is opening the door for developers to create rollups with arbitrary execution environments that inherit Bitcoin’s data availability guarantees and re-org resistance. With the new integration it is now possible to run the EVM on Bitcoin as a Rollkit sovereign rollup. Sovereign rollups on Bitcoin not only expand the possibilities for rollups, but also have the potential to help bootstrap a healthy blockspace fee market on Bitcoin, enabling a more sustainable security budget.

    Tl;dr

    • Sovereign rollups using Bitcoin for data availability are now a reality with Rollkit’s new early research integration.
    • Follow along with a demo of the EVM running on Bitcoin as a sovereign Rollkit rollup.
    • The implementation was possible due to Bitcoin's Taproot upgrade and Ordinals' usage of Bitcoin for publishing arbitrary data.

    Posting data on Bitcoin with Taproot

    On Feb. 1, 2023, the Luxor mining pool mined the largest Bitcoin block (#774628) ever, approximately 4 MB. Most of the blockspace was used to inscribe a Taproot Wizards NFT with Ordinals, a project that implements NFTs on Bitcoin by publishing the image data on-chain.

    Bitcoin NFTs use Taproot witnesses to inscribe arbitrary data, enabled by Bitcoin's Taproot upgrade. Taproot witnesses provide a slightly better payload-to-data ratio than SegWit transactions. A standard transaction can include up to around 390kB of arbitrary data while still passing through the public mempool. A non-standard transaction, included by a miner directly without passing through the mempool, can include close to 4MB of arbitrary data. In short, with SegWit, it became viable to post big blobs of data to the Bitcoin blockchain.

    Since then, the usage of Ordinals for NFT inscriptions and Taproot utilization has kicked off. Eric Wall found that at the time of his tweet, posting data on Bitcoin was 7x cheaper than Ethereum. Now that there are thousands of inscriptions on Bitcoin, it has become clear that sovereign rollups and an ecosystem of dapps on Bitcoin could become a reality. The missing piece: a rollup framework for easily integrating Bitcoin as a data availability layer.

    Integrating Bitcoin as a data availability layer into Rollkit

    Rollkit is a modular framework for rollups, where developers can plug-in custom execution layers and data availability layers. Initially, Rollkit only supported Celestia as an option for data availability and consensus. Now, Bitcoin is an option, thanks to an early research implementation of a Bitcoin data availability module for Rollkit. In this case, sovereign rollups manage their own execution and settlement while offloading consensus and data availability to Bitcoin.

    rollkit-bitcoin-rollup

    How Rollkit posts data to Bitcoin

    To write and read data on Bitcoin, we make use of Taproot transactions. To facilitate this, we implemented a Go package called bitcoin-da that provides a reader/writer interface to Bitcoin. For details of how the interface works and how it uses Taproot, see the specs. The package can be re-used by any project that wants to read or write data on Bitcoin.

    Rollkit was built with modularity at its core. It has a data availability interface so that developers can simply implement specific methods to add a new data availability layer. To add a data availability layer, implementers need to satisfy the DataAvailabilityLayerClient interface which defines the behavior of the data availability client, and the BlockRetriever interface which defines how blocks can be synced. These interfaces live in the da package. The most important methods in these interfaces are SubmitBlock and RetrieveBlock for reading and writing the blocks.

    After implementing the Taproot reader/writer interface for Bitcoin (bitcoin-da), adding it as a data availability module for Rollkit took less than a day. We mostly only had to implement the SubmitBlock and RetrieveBlocks functions for Rollkit to call the Read and Write methods in bitcoin-da.

    rollkit-bitcoin-rollup-2

    EVM on Bitcoin demo

    Rollkit supports custom execution layers, including EVM, CosmWasm, or the Cosmos SDK. To test the integration, we used Rollkit to run the EVM (using Ethermint) as a sovereign rollup on a local Bitcoin test network. See below for a demo.

    Conclusion

    As we move towards a future where sovereign communities will form around different applications, asking them to incur the high cost and overhead of deploying a layer 1 blockchain to be sovereign is not sustainable. Sovereign rollups fix this by making it possible to deploy a sovereign chain that inherits the data availability and consensus of another layer 1 chain such as Bitcoin.

    Our goal with Rollkit is to make it easy to build and customize rollups. We invite you to play around Rollkit and build sovereign rollups on Bitcoin, or customize Rollkit with different execution environments and data availability layers. For details on how to run Rollkit with the Bitcoin data availability module, see the instructions here. Keep in mind that the integration is an early research implementation and it is not yet production-ready!

    Modularism, not maximalism.

    Released under the APACHE-2.0 License

    - +

    Sovereign rollups on Bitcoin with Rollkit

    By Rollkit

    rollkit-bitcoinOriginally published on 5 March 2023

    Today, we are proud to announce that Rollkit is the first rollup framework to support sovereign rollups on Bitcoin. An early research implementation allows Rollkit rollups to use Bitcoin for data availability.

    Rollkit is opening the door for developers to create rollups with arbitrary execution environments that inherit Bitcoin’s data availability guarantees and re-org resistance. With the new integration it is now possible to run the EVM on Bitcoin as a Rollkit sovereign rollup. Sovereign rollups on Bitcoin not only expand the possibilities for rollups, but also have the potential to help bootstrap a healthy blockspace fee market on Bitcoin, enabling a more sustainable security budget.

    Tl;dr

    • Sovereign rollups using Bitcoin for data availability are now a reality with Rollkit’s new early research integration.
    • Follow along with a demo of the EVM running on Bitcoin as a sovereign Rollkit rollup.
    • The implementation was possible due to Bitcoin's Taproot upgrade and Ordinals' usage of Bitcoin for publishing arbitrary data.

    Posting data on Bitcoin with Taproot

    On Feb. 1, 2023, the Luxor mining pool mined the largest Bitcoin block (#774628) ever, approximately 4 MB. Most of the blockspace was used to inscribe a Taproot Wizards NFT with Ordinals, a project that implements NFTs on Bitcoin by publishing the image data on-chain.

    Bitcoin NFTs use Taproot witnesses to inscribe arbitrary data, enabled by Bitcoin's Taproot upgrade. Taproot witnesses provide a slightly better payload-to-data ratio than SegWit transactions. A standard transaction can include up to around 390kB of arbitrary data while still passing through the public mempool. A non-standard transaction, included by a miner directly without passing through the mempool, can include close to 4MB of arbitrary data. In short, with SegWit, it became viable to post big blobs of data to the Bitcoin blockchain.

    Since then, the usage of Ordinals for NFT inscriptions and Taproot utilization has kicked off. Eric Wall found that at the time of his tweet, posting data on Bitcoin was 7x cheaper than Ethereum. Now that there are thousands of inscriptions on Bitcoin, it has become clear that sovereign rollups and an ecosystem of dapps on Bitcoin could become a reality. The missing piece: a rollup framework for easily integrating Bitcoin as a data availability layer.

    Integrating Bitcoin as a data availability layer into Rollkit

    Rollkit is a modular framework for rollups, where developers can plug-in custom execution layers and data availability layers. Initially, Rollkit only supported Celestia as an option for data availability and consensus. Now, Bitcoin is an option, thanks to an early research implementation of a Bitcoin data availability module for Rollkit. In this case, sovereign rollups manage their own execution and settlement while offloading consensus and data availability to Bitcoin.

    rollkit-bitcoin-rollup

    How Rollkit posts data to Bitcoin

    To write and read data on Bitcoin, we make use of Taproot transactions. To facilitate this, we implemented a Go package called bitcoin-da that provides a reader/writer interface to Bitcoin. For details of how the interface works and how it uses Taproot, see the specs. The package can be re-used by any project that wants to read or write data on Bitcoin.

    Rollkit was built with modularity at its core. It has a data availability interface so that developers can simply implement specific methods to add a new data availability layer. To add a data availability layer, implementers need to satisfy the DataAvailabilityLayerClient interface which defines the behavior of the data availability client, and the BlockRetriever interface which defines how blocks can be synced. These interfaces live in the da package. The most important methods in these interfaces are SubmitBlock and RetrieveBlock for reading and writing the blocks.

    After implementing the Taproot reader/writer interface for Bitcoin (bitcoin-da), adding it as a data availability module for Rollkit took less than a day. We mostly only had to implement the SubmitBlock and RetrieveBlocks functions for Rollkit to call the Read and Write methods in bitcoin-da.

    rollkit-bitcoin-rollup-2

    EVM on Bitcoin demo

    Rollkit supports custom execution layers, including EVM, CosmWasm, or the Cosmos SDK. To test the integration, we used Rollkit to run the EVM (using Ethermint) as a sovereign rollup on a local Bitcoin test network. See below for a demo.

    Conclusion

    As we move towards a future where sovereign communities will form around different applications, asking them to incur the high cost and overhead of deploying a layer 1 blockchain to be sovereign is not sustainable. Sovereign rollups fix this by making it possible to deploy a sovereign chain that inherits the data availability and consensus of another layer 1 chain such as Bitcoin.

    Our goal with Rollkit is to make it easy to build and customize rollups. We invite you to play around Rollkit and build sovereign rollups on Bitcoin, or customize Rollkit with different execution environments and data availability layers. For details on how to run Rollkit with the Bitcoin data availability module, see the instructions here. Keep in mind that the integration is an early research implementation and it is not yet production-ready!

    Modularism, not maximalism.

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/guides/block-times.html b/guides/block-times.html index 6f559df9b..ae4d8b634 100644 --- a/guides/block-times.html +++ b/guides/block-times.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,10 +66,10 @@

    How to change speed of block production

    If you have gone through both the quick start tutorial and the Full and sequencer node rollup setup already, you're now ready to experiment with faster block times.

    In your rollkit start [args...] command, you will need to add a flag and then the argument for block time.

    The flag is:

    bash
    --rollkit.block_time 1s

    Where 1s can be adjusted to the speed of your choosing.

    Here is an example:

    bash
    # start the chain
    +

    How to change speed of block production

    If you have gone through both the quick start tutorial and the Full and sequencer node rollup setup already, you're now ready to experiment with faster block times.

    In your rollkit start [args...] command, you will need to add a flag and then the argument for block time.

    The flag is:

    bash
    --rollkit.block_time 1s

    Where 1s can be adjusted to the speed of your choosing.

    Here is an example:

    bash
    # start the chain
     rollkit start [existing flags...] // [!code --]
     rollkit start [existing flags...] --rollkit.block_time 1s // [!code ++]

    In the above example, we've changed it to one second blocks. Alternatively, you could slow your rollup down to 30 seconds:

    bash
    --rollkit.block_time 30s

    Or speed it up even more, to sub-second block times (100 milliseconds):

    bash
    --rollkit.block_time 100ms

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/guides/cometbft-to-rollkit.html b/guides/cometbft-to-rollkit.html index dcb8e4bc6..e87b8521c 100644 --- a/guides/cometbft-to-rollkit.html +++ b/guides/cometbft-to-rollkit.html @@ -9,37 +9,37 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -67,8 +67,8 @@

    How to Turn Your CometBFT App into a Rollkit App

    This guide will walk you through the process of turning your existing CometBFT app into a Rollkit app. By integrating Rollkit into your CometBFT-based blockchain, you can leverage enhanced modularity and data availability features.

    This guide assumes you have a CometBFT app set up and Ignite CLI installed.

    Install Rollkit

    You need to install Rollkit in your CometBFT app. Open a terminal in the directory where your app is located and run the following command:

    bash
    ignite app install github.com/ignite/apps/rollkit@rollkit/v0.2.1

    Add Rollkit Features to Your CometBFT App

    Now that Rollkit is installed, you can add Rollkit features to your existing blockchain app. Run the following command to integrate Rollkit:

    bash
    ignite rollkit add

    Initialize Rollkit

    To prepare your app for Rollkit, you'll need to initialize it.

    Run the following command to initialize Rollkit:

    bash
    ignite rollkit init

    Initialize Rollkit CLI Configuration

    Next, you'll need to initialize the Rollkit CLI configuration by generating the rollkit.toml file. This file is crucial for Rollkit to understand the structure of your rollup.

    To create the rollkit.toml configuration, use this command:

    bash
    rollkit toml init

    This command sets up the rollkit.toml file, where you can further customize configuration parameters as needed.

    Start Your Rollkit App

    Once everything is configured, you can start your Rollkit-enabled CometBFT app or (simply rollkit app). Use the following command to start your blockchain:

    bash
    rollkit start --rollkit.aggregator <insert your flags>

    Summary

    By following this guide, you've successfully converted your CometBFT app into a Rollkit app.

    To learn more about how to config your DA, Sequencing, and Execution, please check out those tutorial sections.

    Released under the APACHE-2.0 License

    - +

    How to Turn Your CometBFT App into a Rollkit App

    This guide will walk you through the process of turning your existing CometBFT app into a Rollkit app. By integrating Rollkit into your CometBFT-based blockchain, you can leverage enhanced modularity and data availability features.

    This guide assumes you have a CometBFT app set up and Ignite CLI installed.

    Install Rollkit

    You need to install Rollkit in your CometBFT app. Open a terminal in the directory where your app is located and run the following command:

    bash
    ignite app install github.com/ignite/apps/rollkit@rollkit/v0.2.1

    Add Rollkit Features to Your CometBFT App

    Now that Rollkit is installed, you can add Rollkit features to your existing blockchain app. Run the following command to integrate Rollkit:

    bash
    ignite rollkit add

    Initialize Rollkit

    To prepare your app for Rollkit, you'll need to initialize it.

    Run the following command to initialize Rollkit:

    bash
    ignite rollkit init

    Initialize Rollkit CLI Configuration

    Next, you'll need to initialize the Rollkit CLI configuration by generating the rollkit.toml file. This file is crucial for Rollkit to understand the structure of your rollup.

    To create the rollkit.toml configuration, use this command:

    bash
    rollkit toml init

    This command sets up the rollkit.toml file, where you can further customize configuration parameters as needed.

    Start Your Rollkit App

    Once everything is configured, you can start your Rollkit-enabled CometBFT app or (simply rollkit app). Use the following command to start your blockchain:

    bash
    rollkit start --rollkit.aggregator <insert your flags>

    Summary

    By following this guide, you've successfully converted your CometBFT app into a Rollkit app.

    To learn more about how to config your DA, Sequencing, and Execution, please check out those tutorial sections.

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/guides/create-genesis.html b/guides/create-genesis.html index 8c5b7909d..2304d81f5 100644 --- a/guides/create-genesis.html +++ b/guides/create-genesis.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,7 +66,7 @@

    How to create a genesis for your rollup

    This guide will walk you through the process of setting up a genesis for your rollup. Follow the steps below to initialize your rollup chain, add a genesis account, and start the chain.

    1. Setting variables

    First, set the necessary variables for your chain, here is an example:

    sh
    VALIDATOR_NAME=validator1
    +

    How to create a genesis for your rollup

    This guide will walk you through the process of setting up a genesis for your rollup. Follow the steps below to initialize your rollup chain, add a genesis account, and start the chain.

    1. Setting variables

    First, set the necessary variables for your chain, here is an example:

    sh
    VALIDATOR_NAME=validator1
     CHAIN_ID=rollup-chain
     KEY_NAME=rollup-key
     CHAINFLAG="--chain-id ${CHAIN_ID}"
    @@ -76,7 +76,7 @@
     jq --argjson pubKey "$PUB_KEY" '.consensus["validators"]=[{"address": "'$ADDRESS'", "pub_key": $pubKey, "power": "1000", "name": "Rollkit Sequencer"}]' ~/.rollup/config/genesis.json > temp.json && mv temp.json ~/.rollup/config/genesis.json

    10. Creating a restart script

    Create a restart-rollup.sh file to restart the chain later, notice the rollkit.da_address flag which is the address of the data availability node, for other DA layers it will be a different set of flags (in case of Celestia check out the tutorial here):

    sh
    [ -f restart-rollup.sh ] && rm restart-rollup.sh
     
     echo "rollkit start --rollkit.aggregator --rpc.laddr tcp://127.0.0.1:36657 --grpc.address 127.0.0.1:9290 --p2p.laddr \"0.0.0.0:36656\" --minimum-gas-prices=\"0.025stake\" --rollkit.da_address \"http://localhost:7980\"" >> restart-rollup.sh

    11. Starting the chain

    Finally, start the chain with the following command:

    sh
    rollkit start --rollkit.aggregator --rpc.laddr tcp://127.0.0.1:36657 --grpc.address 127.0.0.1:9290 --p2p.laddr "0.0.0.0:36656" --minimum-gas-prices="0.025stake" --rollkit.da_address "http://localhost:7980"

    Summary

    By following these steps, you will set up the genesis for your rollup, initialize the validator, add a genesis account, and start the chain on a local data availability network (DA). This guide provides a basic framework for configuring and starting your rollup using the Rollkit CLI. Make sure rollkit.toml is present in the root of your rollup directory, and use the rollkit command for all operations.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/guides/cw-orch.html b/guides/cw-orch.html index a57c813c5..1a0aa3aa5 100644 --- a/guides/cw-orch.html +++ b/guides/cw-orch.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,7 +66,7 @@

    Speed up your development with cw-orchestrator

    Introduction

    cw-orchestrator is the most advanced scripting, testing, and deployment framework for CosmWasm smart-contracts. It makes it easy to write cross-environment compatible code for cw-multi-test, Test Tube, Starship (alpha), and live networks, significantly reducing code duplication and test-writing time.

    Get ready to change the way you interact with contracts and simplify you smart-contracts journey. The following steps will allow you to integrate cw-orch and write clean code such as:

    rust
    counter.upload()?;
    +

    Speed up your development with cw-orchestrator

    Introduction

    cw-orchestrator is the most advanced scripting, testing, and deployment framework for CosmWasm smart-contracts. It makes it easy to write cross-environment compatible code for cw-multi-test, Test Tube, Starship (alpha), and live networks, significantly reducing code duplication and test-writing time.

    Get ready to change the way you interact with contracts and simplify you smart-contracts journey. The following steps will allow you to integrate cw-orch and write clean code such as:

    rust
    counter.upload()?;
     counter.instantiate(&InstantiateMsg { count: 0 }, None, None)?;
     counter.increment()?;
     let count = counter.get_count()?;
    @@ -157,7 +157,7 @@
         ├── cw20_ics20.rs
         └── ..

    When importing your crates to get the messages types, you can use the following command in the interface folder.

    shell
    cargo add cw20-base --path ../contracts/cw20-base/
     cargo add cw20 --path ../packages/cw20

    Integrating single contracts

    Now that you workspace is setup, you can integrate with single contracts using the above section

    More examples and scripts

    You can find more example interactions on the counter-contract example directly in the cw-orchestrator repo:

    FINAL ADVICE: Learn more and explore our full cw-orch documentation !.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/guides/da-block-time.html b/guides/da-block-time.html index 0938b37dd..3cd52742b 100644 --- a/guides/da-block-time.html +++ b/guides/da-block-time.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,9 +66,9 @@

    How to configure DA chain block syncing time

    The --rollkit.da_block_time flag is used to configure the time in seconds that the rollup will wait for a block to be synced from the DA chain.

    bash
    --rollkit.da_block_time duration

    An example command would look like this:

    bash
    rollkit start [existing flags...] // [!code --]
    +

    How to configure DA chain block syncing time

    The --rollkit.da_block_time flag is used to configure the time in seconds that the rollup will wait for a block to be synced from the DA chain.

    bash
    --rollkit.da_block_time duration

    An example command would look like this:

    bash
    rollkit start [existing flags...] // [!code --]
     rollkit start [existing flags...] --rollkit.da_block_time=30s // [!code ++]

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/guides/full-node.html b/guides/full-node.html index 7f6374fde..aeee6b748 100644 --- a/guides/full-node.html +++ b/guides/full-node.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,7 +66,7 @@

    Rollup Full Node Setup Guide

    Introduction

    This guide covers how to set up a full node to run alongside a sequencer node in a Rollkit-based blockchain network. A full node maintains a complete copy of the blockchain and helps validate transactions, improving the network's decentralization and security.

    Prerequisites

    Before starting, ensure you have:

    • A local Data Availability (DA) network node running on port 7980.
    • A Rollkit sequencer node running and posting blocks to the DA network.
    • The Rollkit CLI installed on your system.

    Setting Up Your Full Node

    Initialize Chain Config and Copy Genesis File

    First, update the config_dir in the rollkit.toml file:

    bash
    [chain]
    +

    Rollup Full Node Setup Guide

    Introduction

    This guide covers how to set up a full node to run alongside a sequencer node in a Rollkit-based blockchain network. A full node maintains a complete copy of the blockchain and helps validate transactions, improving the network's decentralization and security.

    Prerequisites

    Before starting, ensure you have:

    • A local Data Availability (DA) network node running on port 7980.
    • A Rollkit sequencer node running and posting blocks to the DA network.
    • The Rollkit CLI installed on your system.

    Setting Up Your Full Node

    Initialize Chain Config and Copy Genesis File

    First, update the config_dir in the rollkit.toml file:

    bash
    [chain]
       config_dir = "/root/.yourrollupd" // [!code --]
       config_dir = "/root/.yourrollupd_fn" // [!code ++]

    Initialize the chain config for the full node, lets call it FullNode and set the chain ID to your rollup chain ID:

    bash
    rollkit init FullNode --chain-id=your-rollup-chain-id

    Copy the genesis file from the sequencer node:

    bash
    cp /root/.yourrollupd/config/genesis.json /root/.yourrollupd_fn/config/genesis.json

    Set Up P2P Connection to Sequencer Node

    Identify the sequencer node's P2P address from its logs. It will look similar to:

    1:55PM INF listening on address=/ip4/127.0.0.1/tcp/36656/p2p/12D3KooWJbD9TQoMSSSUyfhHMmgVY3LqCjxYFz8wQ92Qa6DAqtmh

    Create an environment variable with the P2P address:

    bash
    export P2P_ID="12D3KooWJbD9TQoMSSSUyfhHMmgVY3LqCjxYFz8wQ92Qa6DAqtmh"

    Start the Full Node

    Run your full node with the following command:

    bash
    rollkit start --rollkit.aggregator=false \
       --rollkit.da_address http://127.0.0.1:7980 \
    @@ -77,7 +77,7 @@
       --json-rpc.ws-address 127.0.0.1:8547 \
       --api.address tcp://localhost:1318

    Key points about this command:

    • --rollkit.aggregator=false indicates this is not an aggregator node.
    • The ports and addresses are different from the sequencer node to avoid conflicts. Not everything may be necessary for your setup.
    • We use the P2P_ID environment variable to set the seed node.

    Verifying Full Node Operation

    After starting your full node, you should see output similar to:

    2:33PM DBG indexed transactions height=1 module=txindex num_txs=0
     2:33PM INF block marked as DA included blockHash=7897885B959F52BF0D772E35F8DA638CF8BBC361C819C3FD3E61DCEF5034D1CC blockHeight=5532 module=BlockManager

    This output indicates that your full node is successfully connecting to the network and processing blocks.

    TIP

    If your rollup uses EVM as an execution layar and you see an error like datadir already used by another process, it means you have to remove all the state from rollup data directory (/root/.yourrollup_fn/data/) and specify a different data directory for the EVM client.

    Conclusion

    You've now set up a full node running alongside your Rollkit sequencer.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/guides/gas-price.html b/guides/gas-price.html index 311b9ac73..343a1796b 100644 --- a/guides/gas-price.html +++ b/guides/gas-price.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,8 +66,8 @@

    How to configure gas price

    In most cases, the gas price can be left to the defaults, which ensures that the price is greater than the minimum gas price accepted by the core node.

    The gas price can also be configured manually with the flag --rollkit.da_gas_price:

    bash
    rollkit start --rollkit.da_gas_price=0.1 [existing flags...]

    This configures the rollup to always use the fixed gas price of 0.1utia/gas.

    When running a rollup against a live network, the gas price may see occasional spikes during periods of high mempool congestion.

    To avoid such transient blob submission failures, the flag --rollkit.da_gas_multiplier may be used:

    bash
    rollkit start --rollkit.da_gas_price=0.1 --rollkit.da_gas_multiplier=1.2 [...]

    This configures the rollup to keep increasing the gas price by a factor of 1.2x of the previous price until the transaction is accepted by the core node.

    When the blob submission transaction eventually succeeds, the gas price will gradually return to the default, decreasing by the same factor.

    The gas multiplier will only be used if the gas price has been manually configured.

    Released under the APACHE-2.0 License

    - +

    How to configure gas price

    In most cases, the gas price can be left to the defaults, which ensures that the price is greater than the minimum gas price accepted by the core node.

    The gas price can also be configured manually with the flag --rollkit.da_gas_price:

    bash
    rollkit start --rollkit.da_gas_price=0.1 [existing flags...]

    This configures the rollup to always use the fixed gas price of 0.1utia/gas.

    When running a rollup against a live network, the gas price may see occasional spikes during periods of high mempool congestion.

    To avoid such transient blob submission failures, the flag --rollkit.da_gas_multiplier may be used:

    bash
    rollkit start --rollkit.da_gas_price=0.1 --rollkit.da_gas_multiplier=1.2 [...]

    This configures the rollup to keep increasing the gas price by a factor of 1.2x of the previous price until the transaction is accepted by the core node.

    When the blob submission transaction eventually succeeds, the gas price will gradually return to the default, decreasing by the same factor.

    The gas multiplier will only be used if the gas price has been manually configured.

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/guides/ibc-connection.html b/guides/ibc-connection.html index 39c0196d6..f344cc185 100644 --- a/guides/ibc-connection.html +++ b/guides/ibc-connection.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,7 +66,7 @@

    IBC connection tutorial

    In this tutorial, we'll learn how to use an Inter-Blockchain Communication (IBC) Protocol relayer to create an IBC connection between a GM world rollup and an Osmosis local testnet.

    Disclaimer

    This initial version of IBC has high trust assumptions where receiving chains only verify the signature of the single rollup node. For use in production, it's recommended to wait for trust-minimized IBC support which includes state proofs and conditional clients. Learn more about how conditional clients work in ibc-go issue 5112 and a tracking issue for state proofs in rollkit issue 1632.

    💻 Pre-requisites

    Software requirements

    • Docker running on your machine
    • Go version ≥ 1.21.0
    • Ignite version ≥ v28.2.0

    Run a GM rollup chain

    Before you can create an IBC connection, you need to start a local-celestia-devnet instance in a separate terminal:

    bash
    docker run -t -i --platform linux/amd64 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 ghcr.io/rollkit/local-celestia-devnet:v0.13.1

    WARNING

    You will need to use Ignite v28.2.0, which you can install with:

    bash
    curl https://get.ignite.com/cli@v28.3.0! | bash

    Scaffold the GM chain:

    bash
    cd $HOME
    +

    IBC connection tutorial

    In this tutorial, we'll learn how to use an Inter-Blockchain Communication (IBC) Protocol relayer to create an IBC connection between a GM world rollup and an Osmosis local testnet.

    Disclaimer

    This initial version of IBC has high trust assumptions where receiving chains only verify the signature of the single rollup node. For use in production, it's recommended to wait for trust-minimized IBC support which includes state proofs and conditional clients. Learn more about how conditional clients work in ibc-go issue 5112 and a tracking issue for state proofs in rollkit issue 1632.

    💻 Pre-requisites

    Software requirements

    • Docker running on your machine
    • Go version ≥ 1.21.0
    • Ignite version ≥ v28.2.0

    Run a GM rollup chain

    Before you can create an IBC connection, you need to start a local-celestia-devnet instance in a separate terminal:

    bash
    docker run -t -i --platform linux/amd64 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 ghcr.io/rollkit/local-celestia-devnet:v0.13.1

    WARNING

    You will need to use Ignite v28.2.0, which you can install with:

    bash
    curl https://get.ignite.com/cli@v28.3.0! | bash

    Scaffold the GM chain:

    bash
    cd $HOME
     ignite scaffold chain gm --address-prefix gm

    Change into the gm directory and install Rollkit with IBC compatibility:

    bash
    cd gm
     go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.50.6-rollkit-v0.13.3-no-fraud-proofs
     go mod tidy
    @@ -173,7 +173,7 @@
       denom: stake
     pagination:
       total: "1"

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/guides/ignite-rollkit.html b/guides/ignite-rollkit.html index d1a1486c2..d108e0eeb 100644 --- a/guides/ignite-rollkit.html +++ b/guides/ignite-rollkit.html @@ -9,37 +9,37 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -67,8 +67,8 @@

    How to Use Ignite to Create a Rollkit App

    This guide will walk you through the process of using Ignite to create a Rollkit app.

    Install Ignite

    You can read more about Ignite here.

    To install Ignite, you can run this command in your terminal:

    bash
    curl https://get.ignite.com/cli@v28.5.3! | bash

    Once Ignite is installed, scaffold a new blockchain with the following command:

    bash
    ignite scaffold chain gm --address-prefix gm --minimal --skip-proto

    This will create the gm blockchain. Navigate to the blockchain directory:

    bash
    cd gm

    Install Ignite App Rollkit

    In a new terminal window, you'll now install and run the Ignite App Rollkit.

    Run the following command to install the Rollkit App:

    bash
    ignite app install github.com/ignite/apps/rollkit@rollkit/v0.2.1

    This installs the Rollkit application, which will be integrated into your blockchain.

    Add Rollkit Features

    Enhance your blockchain by adding Rollkit features. Use the following command:

    bash
    ignite rollkit add

    Build your chain

    Build your chain using the following command:

    bash
    ignite chain build

    Initialize Your Blockchain

    Before starting your blockchain, you need to initialize it with Rollkit support. Initialize the blockchain with Local DA as follows:

    bash
    ignite rollkit init

    Initialize Rollkit CLI Configuration

    To initialize the Rollkit CLI configuration, generate the rollkit.toml file by running the following command:

    bash
    rollkit toml init

    This will set up the Rollkit configuration file rollkit.toml, allowing you to use the Rollkit CLI for managing and running your blockchain.

    Start your chain

    Now you are ready to start your chain. We need to include 2 flags:

    1. --rollkit.aggregator to signal that this node is the block producer
    2. --rollkit.sequencer_rollup_id gm to share the chain ID with the sequencer.

    Start your chain using the following command:

    bash
    rollkit start --rollkit.aggregator --rollkit.sequencer_rollup_id gm

    Your rollkit chain is now up and running.

    Summary

    By following these steps, you've successfully installed Ignite, integrated Rollkit features into your blockchain, and configured the Rollkit CLI to run your chain against a mock DA and mock sequencer.

    Released under the APACHE-2.0 License

    - +

    How to Use Ignite to Create a Rollkit App

    This guide will walk you through the process of using Ignite to create a Rollkit app.

    Install Ignite

    You can read more about Ignite here.

    To install Ignite, you can run this command in your terminal:

    bash
    curl https://get.ignite.com/cli@v28.5.3! | bash

    Once Ignite is installed, scaffold a new blockchain with the following command:

    bash
    ignite scaffold chain gm --address-prefix gm --minimal --skip-proto

    This will create the gm blockchain. Navigate to the blockchain directory:

    bash
    cd gm

    Install Ignite App Rollkit

    In a new terminal window, you'll now install and run the Ignite App Rollkit.

    Run the following command to install the Rollkit App:

    bash
    ignite app install github.com/ignite/apps/rollkit@rollkit/v0.2.1

    This installs the Rollkit application, which will be integrated into your blockchain.

    Add Rollkit Features

    Enhance your blockchain by adding Rollkit features. Use the following command:

    bash
    ignite rollkit add

    Build your chain

    Build your chain using the following command:

    bash
    ignite chain build

    Initialize Your Blockchain

    Before starting your blockchain, you need to initialize it with Rollkit support. Initialize the blockchain with Local DA as follows:

    bash
    ignite rollkit init

    Initialize Rollkit CLI Configuration

    To initialize the Rollkit CLI configuration, generate the rollkit.toml file by running the following command:

    bash
    rollkit toml init

    This will set up the Rollkit configuration file rollkit.toml, allowing you to use the Rollkit CLI for managing and running your blockchain.

    Start your chain

    Now you are ready to start your chain. We need to include 2 flags:

    1. --rollkit.aggregator to signal that this node is the block producer
    2. --rollkit.sequencer_rollup_id gm to share the chain ID with the sequencer.

    Start your chain using the following command:

    bash
    rollkit start --rollkit.aggregator --rollkit.sequencer_rollup_id gm

    Your rollkit chain is now up and running.

    Summary

    By following these steps, you've successfully installed Ignite, integrated Rollkit features into your blockchain, and configured the Rollkit CLI to run your chain against a mock DA and mock sequencer.

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/guides/lazy-sequencing.html b/guides/lazy-sequencing.html index 8834a126e..19a401fb9 100644 --- a/guides/lazy-sequencing.html +++ b/guides/lazy-sequencing.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,10 +66,10 @@

    How to Use Lazy Sequencing (Aggregation)

    In this guide, we'll go over how to use lazy sequencing.

    This feature was introduced in Rollkit v0.7.0 (with custom buffer time later in v0.13.7) and allows rollup operators to wait for transactions before building blocks. This prevents the rollup from building empty blocks.

    To turn on lazy sequencing, add the following flag to your start command:

    bash
    --rollkit.lazy_aggregator

    Additionally, if you want to specify the time interval used for block production even if there are no transactions, use:

    bash
    --rollkit.lazy_block_time <duration>

    An example command with a custom block time of 1 minute:

    bash
    # start the chain
    +

    How to Use Lazy Sequencing (Aggregation)

    In this guide, we'll go over how to use lazy sequencing.

    This feature was introduced in Rollkit v0.7.0 (with custom buffer time later in v0.13.7) and allows rollup operators to wait for transactions before building blocks. This prevents the rollup from building empty blocks.

    To turn on lazy sequencing, add the following flag to your start command:

    bash
    --rollkit.lazy_aggregator

    Additionally, if you want to specify the time interval used for block production even if there are no transactions, use:

    bash
    --rollkit.lazy_block_time <duration>

    An example command with a custom block time of 1 minute:

    bash
    # start the chain
     rollkit start [existing flags...] // [!code --]
     rollkit start [existing flags...] --rollkit.lazy_aggregator --rollkit.lazy_block_time=1m0s // [!code ++]

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/guides/max-pending-blocks.html b/guides/max-pending-blocks.html index 8890c414f..f523fcb9b 100644 --- a/guides/max-pending-blocks.html +++ b/guides/max-pending-blocks.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,9 +66,9 @@

    How to configure the maximum number of blocks pending DA submission

    The --rollkit.max_pending_blocks flag is used to configure the maximum limit of blocks pending DA submission (0 for no limit)

    bash
    --rollkit.max_pending_blocks uint

    An example command would look like this:

    bash
    rollkit start [existing flags...] // [!code --]
    +

    How to configure the maximum number of blocks pending DA submission

    The --rollkit.max_pending_blocks flag is used to configure the maximum limit of blocks pending DA submission (0 for no limit)

    bash
    --rollkit.max_pending_blocks uint

    An example command would look like this:

    bash
    rollkit start [existing flags...] // [!code --]
     rollkit start [existing flags...] --rollkit.max_pending_blocks=100 // [!code ++]

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/guides/overview.html b/guides/overview.html index 9551533ed..8810cd9ff 100644 --- a/guides/overview.html +++ b/guides/overview.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,8 +66,8 @@

    How To Guides

    Welcome to the Rollkit guides section! Here, you'll find a wide range of guides designed to help you understand and effectively use Rollkit, the first sovereign rollup framework.

    Hopefully you've gone through some of the tutorials and are ready to dive deeper. These guides will go into detail on some specific topics that will make your life easier when developing with Rollkit.

    In this section, you'll find:

    💻 Support

    The guides will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a GitHub issue or let us know in our Telegram.

    Released under the APACHE-2.0 License

    - +

    How To Guides

    Welcome to the Rollkit guides section! Here, you'll find a wide range of guides designed to help you understand and effectively use Rollkit, the first sovereign rollup framework.

    Hopefully you've gone through some of the tutorials and are ready to dive deeper. These guides will go into detail on some specific topics that will make your life easier when developing with Rollkit.

    In this section, you'll find:

    💻 Support

    The guides will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a GitHub issue or let us know in our Telegram.

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/guides/restart-rollup.html b/guides/restart-rollup.html index ac7d1c754..c1a932080 100644 --- a/guides/restart-rollup.html +++ b/guides/restart-rollup.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,7 +66,7 @@

    🔄 How to restart your rollup

    This guide will teach you how to restart your Rollkit rollup.

    Restart rollup

    This section covers the case where you need to restart your rollup.

    In order to restart your rollup, you simply need to run the <your-binary>d start [...args] command for your rollup.

    For example, if you ran the quick start tutorial, you started your rollup with:

    bash
    rollkit start

    You would have see output similar to:

    bash
    I[2024-10-17|14:52:12.845] Creating and publishing block                module=BlockManager height=7
    +

    🔄 How to restart your rollup

    This guide will teach you how to restart your Rollkit rollup.

    Restart rollup

    This section covers the case where you need to restart your rollup.

    In order to restart your rollup, you simply need to run the <your-binary>d start [...args] command for your rollup.

    For example, if you ran the quick start tutorial, you started your rollup with:

    bash
    rollkit start

    You would have see output similar to:

    bash
    I[2024-10-17|14:52:12.845] Creating and publishing block                module=BlockManager height=7
     I[2024-10-17|14:52:12.845] finalized block                              module=BlockManager height=7 num_txs_res=0 num_val_updates=0 block_app_hash=
     I[2024-10-17|14:52:12.845] executed block                               module=BlockManager height=7 app_hash=
     I[2024-10-17|14:52:12.846] indexed block events                         module=txindex height=7

    If you need to restart your rollup, you can run the same command again:

    bash
    rollkit start

    You will see that the block height will continue from where it left off:

    bash
    I[2024-10-17|14:52:13.845] Creating and publishing block                module=BlockManager height=8
    @@ -78,7 +78,7 @@
     4:51PM ERR DA layer submission failed Error="Codespace: 'sdk', Code: 19, Message: " attempt=2 module=BlockManager
     4:51PM ERR DA layer submission failed error="Codespace: 'sdk', Code: 19, Message: " attempt=3 module=BlockManager

    💰 Re-fund your account

    First, you'll need to send more tokens to the account running your Celestia node. If you didn't keep track of your key, you can run the following to get your address:

    bash
    cd $HOME && cd celestia-node
     ./cel-key list --keyring-backend test --node.type light --p2p.network <network>

    🛑 Stopping your rollup

    You can stop your rollup by using Control + C in your terminal where the node is running.

    ⛽ Increase the gas fee

    To reiterate, before restarting the chain, you will need to increase the gas fee in order to avoid a Code: 19 error. See the How to configure gas price guide for more information.

    🔁 Restarting your rollup

    Follow the restart rollup section above.

    🛢️ Reduce gas fee & restart again

    In order to save your TIA, we also recommend stopping the chain with Control + C, changing the gas fee back to the default (in our case, 8000 utia) and restarting the chain:

    🎊 Congrats! You've successfully restarted your Rollkit rollup after running out of TIA.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/guides/rollkit-monitoring.html b/guides/rollkit-monitoring.html index dcabbf1c9..93817c38a 100644 --- a/guides/rollkit-monitoring.html +++ b/guides/rollkit-monitoring.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,8 +66,8 @@

    How to integrate Range with your rollup

    This section illustrates how Rollkit developers can leverage the Range platform to monitor their rollup activity and explore relevant addresses and transactions in less than 5 minutes.

    Overview

    In this guide, we’ll go over the steps of the integration of our sample rollup GM, which is divided into three sections:

    1. Integrate your rollup with Range and start the indexing.
    2. Add your addresses and contracts.
    3. Create your first alert and explore transactions.

    Prerequisites

    You need to have an operational rollkit rollup. If you haven't done so, you'll need to complete the GM world tutorial first.

    1. Integrate Your Rollup

    We’ll integrate our rollup GM into Range and start indexing blocks and transactions in real-time.

    custom-network

    Steps

    • Create an account in Range
    • Make sure you have a public RPC endpoint of your Rollkit rollup
    • Go to the settings tab on your account profile in the top-right corner
    • Click the Add Network button in the Custom Network section
    • Choose Rollkit and fill out the form
    • Congrats! Your rollup should be integrated in Range in less than 15 seconds.

    2. Add Your Addresses and Contracts

    Now that your rollup is integrated into Range, you can customize your workspace. The first step is adding addresses and contracts that you want to monitor. For that, head to the Address section:

    import-address

    Once you’ve added one or multiple addresses, you can start looking at the real-time transactions explorer in the Transactions tab.

    3. Creating Your First Alert Rule

    Now, you can set up alerts to monitor specific events or transactions in your rollup. As an example, we can create an alert that notifies us every time our address is involved in a successful transaction:

    alert-rules

    After executing a sample transaction:

    bash
    gmd tx bank send gm-991hesf7xgmjwttag2n2wzk43rvxh47nn4ckh3e6s gm-991rcctqc5l4px95k6tdg4pjrms70m2a9t35rl50t 4039stake --keyring-backend test --node tcp://127.0.0.1:36657 --chain-id gm --fees 5000stake

    The alert events will appear both in the Overview tab and the Alerting section:

    alert-events

    🎊 Congrats! You've detected the first monitored transaction in your GM rollup.

    Released under the APACHE-2.0 License

    - +

    How to integrate Range with your rollup

    This section illustrates how Rollkit developers can leverage the Range platform to monitor their rollup activity and explore relevant addresses and transactions in less than 5 minutes.

    Overview

    In this guide, we’ll go over the steps of the integration of our sample rollup GM, which is divided into three sections:

    1. Integrate your rollup with Range and start the indexing.
    2. Add your addresses and contracts.
    3. Create your first alert and explore transactions.

    Prerequisites

    You need to have an operational rollkit rollup. If you haven't done so, you'll need to complete the GM world tutorial first.

    1. Integrate Your Rollup

    We’ll integrate our rollup GM into Range and start indexing blocks and transactions in real-time.

    custom-network

    Steps

    • Create an account in Range
    • Make sure you have a public RPC endpoint of your Rollkit rollup
    • Go to the settings tab on your account profile in the top-right corner
    • Click the Add Network button in the Custom Network section
    • Choose Rollkit and fill out the form
    • Congrats! Your rollup should be integrated in Range in less than 15 seconds.

    2. Add Your Addresses and Contracts

    Now that your rollup is integrated into Range, you can customize your workspace. The first step is adding addresses and contracts that you want to monitor. For that, head to the Address section:

    import-address

    Once you’ve added one or multiple addresses, you can start looking at the real-time transactions explorer in the Transactions tab.

    3. Creating Your First Alert Rule

    Now, you can set up alerts to monitor specific events or transactions in your rollup. As an example, we can create an alert that notifies us every time our address is involved in a successful transaction:

    alert-rules

    After executing a sample transaction:

    bash
    gmd tx bank send gm-991hesf7xgmjwttag2n2wzk43rvxh47nn4ckh3e6s gm-991rcctqc5l4px95k6tdg4pjrms70m2a9t35rl50t 4039stake --keyring-backend test --node tcp://127.0.0.1:36657 --chain-id gm --fees 5000stake

    The alert events will appear both in the Overview tab and the Alerting section:

    alert-events

    🎊 Congrats! You've detected the first monitored transaction in your GM rollup.

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/guides/use-rollkit-cli.html b/guides/use-rollkit-cli.html index dfbf1486b..41feb0f99 100644 --- a/guides/use-rollkit-cli.html +++ b/guides/use-rollkit-cli.html @@ -9,37 +9,37 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -67,7 +67,7 @@

    How to Use Rollkit CLI

    This guide will walk you through the basics of installing and using Rollkit CLI. You'll learn how to install the CLI, initialize a configuration file (rollkit.toml), and run rollup commands.

    1. Installing Rollkit CLI

    To install Rollkit CLI, execute the following command:

    bash
    curl -sSL https://rollkit.dev/install.sh | sh -s v0.14.1

    This command downloads and installs the Rollkit CLI of specified version.

    2. Initializing rollkit.toml

    The rollkit.toml file is a configuration file that Rollkit uses to understand the structure and entry point of your rollup. To initialize this file, follow these steps:

    Steps to Generate rollkit.toml:

    1. Run the following command to generate the rollkit.toml file:

      bash
      rollkit toml init
    2. You should see an output similar to this (example taken from GM world tutorial):

      bash
      Found rollup entrypoint: /root/gm/cmd/gmd/main.go, adding to rollkit.toml
      +

    How to Use Rollkit CLI

    This guide will walk you through the basics of installing and using Rollkit CLI. You'll learn how to install the CLI, initialize a configuration file (rollkit.toml), and run rollup commands.

    1. Installing Rollkit CLI

    To install Rollkit CLI, execute the following command:

    bash
    curl -sSL https://rollkit.dev/install.sh | sh -s v0.14.1

    This command downloads and installs the Rollkit CLI of specified version.

    2. Initializing rollkit.toml

    The rollkit.toml file is a configuration file that Rollkit uses to understand the structure and entry point of your rollup. To initialize this file, follow these steps:

    Steps to Generate rollkit.toml:

    1. Run the following command to generate the rollkit.toml file:

      bash
      rollkit toml init
    2. You should see an output similar to this (example taken from GM world tutorial):

      bash
      Found rollup entrypoint: /root/gm/cmd/gmd/main.go, adding to rollkit.toml
       Could not find rollup config under gm. Please put the chain.config_dir in the rollkit.toml file manually.
       Initialized rollkit.toml file in the current directory.
    3. The output indicates that the rollup entrypoint is ~/gm/cmd/gmd/main.go.

    4. Open the rollkit.toml file, and under the [chain] section, set config_dir to the appropriate directory where your chain configuration is. For GM World tutorial, rollkit.toml file looks like this:

      toml
      entrypoint = "./cmd/gmd/main.go"
       
      @@ -78,7 +78,7 @@
       rollkit tx
       # for any <rollup>d <command>
       rollkit <command>

    Summary

    By following these steps, you can install the Rollkit CLI, initialize the rollkit.toml configuration file, and run rollup commands. This setup helps you manage and interact with your rollup project efficiently.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/guides/use-tia-for-gas.html b/guides/use-tia-for-gas.html index 10d7d0f09..1269ad5f5 100644 --- a/guides/use-tia-for-gas.html +++ b/guides/use-tia-for-gas.html @@ -9,38 +9,38 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -68,7 +68,7 @@

    How to use IBC token (TIA) as gas token in your rollup

    🌞 Introduction

    This tutorial will guide you through building a sovereign gm-world rollup using Rollkit, with TIA as the gas token. Unlike the quick start guide, which uses a native rollup token for gas, this tutorial demonstrates how to integrate an IBC-enabled token, TIA, as the gas token within the rollup, providing a deeper exploration of sovereign rollup development.

    We will cover:

    • Building and configuring a Cosmos-SDK application-specific rollup blockchain.
    • Posting rollup data to a Data Availability (DA) network.
    • Executing transactions using TIA as the gas token (the end goal).

    No prior understanding of the build process is required, just that it utilizes the Cosmos SDK for blockchain applications.

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    🛠️ Dependencies

    Rollkit uses the Go programming language. Here's how to install it:

    • Linux or macOS: Run the provided script:

      bash
      curl -sSL https://rollkit.dev/install-go.sh | bash -s go1.22.3

    📦 Install Rollkit (CLI)

    To install Rollkit, run the following command in your terminal:

    bash
    curl -sSL https://rollkit.dev/install.sh | sh -s v0.14.1

    Verify the installation by checking the Rollkit version:

    bash
    rollkit version

    A successful installation will display the version number and its associated git commit hash.

    🌐 Running a Local DA Network

    Learn to run a local DA network, designed for educational purposes, on your machine.

    To set up a local DA network node:

    bash
    (cd /tmp && curl -sSL https://rollkit.dev/install-local-da.sh | bash -s v0.3.1)

    This script builds and runs the node, now listening on port 7980.

    🏗️ Building Your Sovereign Rollup

    With the local DA network running, let’s prepare your rollup blockchain.

    To make it simple, we will download a repository with a gm-world rollup that includes an init.sh script to handle all the setup for you.

    Download and build a gm-world rollup with an interactive script in a new terminal:

    WARNING

    Ensure the jq command line tool is installed before proceeding. Install it using sudo apt-get install jq on Ubuntu or brew install jq on macOS.

    TIP

    If you get errors of gmd not found, you may need to add the go/bin directory to your PATH. You can do this by running export PATH=$PATH:$HOME/go/bin and then running the init.sh script manually again.

    bash
    curl -sSL https://rollkit.dev/install-gm-rollup.sh | sh

    🛠️ Initialize Rollkit TOML Configuration

    Change to the gm directory and initialize the rollkit toml configuration:

    bash
    cd ./gm && rollkit toml init

    Edit the rollkit.toml file to include the following configuration:

    toml
    entrypoint = "/root/gm/cmd/gmd/main.go"
    +

    How to use IBC token (TIA) as gas token in your rollup

    🌞 Introduction

    This tutorial will guide you through building a sovereign gm-world rollup using Rollkit, with TIA as the gas token. Unlike the quick start guide, which uses a native rollup token for gas, this tutorial demonstrates how to integrate an IBC-enabled token, TIA, as the gas token within the rollup, providing a deeper exploration of sovereign rollup development.

    We will cover:

    • Building and configuring a Cosmos-SDK application-specific rollup blockchain.
    • Posting rollup data to a Data Availability (DA) network.
    • Executing transactions using TIA as the gas token (the end goal).

    No prior understanding of the build process is required, just that it utilizes the Cosmos SDK for blockchain applications.

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    🛠️ Dependencies

    Rollkit uses the Go programming language. Here's how to install it:

    • Linux or macOS: Run the provided script:

      bash
      curl -sSL https://rollkit.dev/install-go.sh | bash -s go1.22.3

    📦 Install Rollkit (CLI)

    To install Rollkit, run the following command in your terminal:

    bash
    curl -sSL https://rollkit.dev/install.sh | sh -s v0.14.1

    Verify the installation by checking the Rollkit version:

    bash
    rollkit version

    A successful installation will display the version number and its associated git commit hash.

    🌐 Running a Local DA Network

    Learn to run a local DA network, designed for educational purposes, on your machine.

    To set up a local DA network node:

    bash
    (cd /tmp && curl -sSL https://rollkit.dev/install-local-da.sh | bash -s v0.3.1)

    This script builds and runs the node, now listening on port 7980.

    🏗️ Building Your Sovereign Rollup

    With the local DA network running, let’s prepare your rollup blockchain.

    To make it simple, we will download a repository with a gm-world rollup that includes an init.sh script to handle all the setup for you.

    Download and build a gm-world rollup with an interactive script in a new terminal:

    WARNING

    Ensure the jq command line tool is installed before proceeding. Install it using sudo apt-get install jq on Ubuntu or brew install jq on macOS.

    TIP

    If you get errors of gmd not found, you may need to add the go/bin directory to your PATH. You can do this by running export PATH=$PATH:$HOME/go/bin and then running the init.sh script manually again.

    bash
    curl -sSL https://rollkit.dev/install-gm-rollup.sh | sh

    🛠️ Initialize Rollkit TOML Configuration

    Change to the gm directory and initialize the rollkit toml configuration:

    bash
    cd ./gm && rollkit toml init

    Edit the rollkit.toml file to include the following configuration:

    toml
    entrypoint = "/root/gm/cmd/gmd/main.go"
     
     [chain]
       config_dir = "./.gm"

    🚀 Starting your rollup

    Start the rollup, posting to the local DA network:

    bash
    rollkit start --rollkit.aggregator --rollkit.da_address http://localhost:7980 --minimum-gas-prices="0.02ibc/C3E53D20BC7A4CC993B17C7971F8ECD06A433C10B6A96F4C4C3714F0624C56DA,0.025stake"

    Note that we specified the gas token to be IBC TIA. We still haven't made an IBC connection to Celestia's Mocha testnet, however, if we assume our first channel will be an ICS-20 transfer channel to Celestia, we can already calculate the token denom using this formula:

    js
    "ibc/" + toHex(sha256(toUtf8("transfer/channel-0/utia"))).toUpperCase();

    Now you should see the logs of the running node:

    bash
    12:21PM INF starting node with ABCI CometBFT in-process module=server
    @@ -193,7 +193,7 @@
     
     # Verify success
     rollkit q tx "$TX_HASH" --output json | jq .code # => 0

    🎉 Next steps

    Congratulations! You've built a local rollup that posts to a local DA network and uses TIA as the gas token!

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/guides/zkml.html b/guides/zkml.html index 07c04ff6e..109082680 100644 --- a/guides/zkml.html +++ b/guides/zkml.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,7 +66,7 @@

    zkML Rollup Tutorial with Sindri

    Introduction - Code Once, Verify Anywhere

    This guide will show you how to build verifiable machine learning inference into your Rollkit rollup using zero-knowledge proofs generated on Sindri. The rollup will rely on a local Celestia devnet for consensus and ensuring data availability.

    We will focus on using a ZK circuit that incorporates a compact deep neural network model to enable verifiable ML inference. In this guide, we will deploy the circuit on Sindri, obtain a smart contract verifier (automatically generated by Sindri) for that circuit, deploy it on Rollkit, create a proof of ML inference on Sindri, and verify the proof on-chain.

    This approach not only secures the verification process of machine learning models, but also leverages the decentralized security and scalability of Celestia's architecture.

    Prerequisites

    • An operational EVM using Rollkit (see next step)
    • A Sindri API key, which can be obtained here
    • Python 3.10+ installed as well as the Sindri Python SDK (more information below)

    Setting Up the Polaris EVM using Rollkit

    This walkthrough assumes you started the Polaris EVM using Rollkit and should be interpreted as a direct continuation of this Polaris EVM and Rollkit guide.

    Installing the Sindri Python SDK

    Because we're working with ML, we're going to build with Sindri's Python SDK because Python is widely used in ML development. The Sindri Python SDK Quickstart Guide contains installation instructions and a high-level walkthrough of the functionality of this package, but the following will suffice if you have pip installed:

    bash
    pip install sindri

    Deploying and Proving a Cool zkML Circuit to Sindri

    For this tutorial, we'll be working with a pre-built zkML circuit built by Sindri. For a more in-depth description of this circuit and its corresponding ML model's behavior and design, please see here.

    Clone

    Clone the Sindri Resources GitHub repo.

    bash
    cd $HOME
    +

    zkML Rollup Tutorial with Sindri

    Introduction - Code Once, Verify Anywhere

    This guide will show you how to build verifiable machine learning inference into your Rollkit rollup using zero-knowledge proofs generated on Sindri. The rollup will rely on a local Celestia devnet for consensus and ensuring data availability.

    We will focus on using a ZK circuit that incorporates a compact deep neural network model to enable verifiable ML inference. In this guide, we will deploy the circuit on Sindri, obtain a smart contract verifier (automatically generated by Sindri) for that circuit, deploy it on Rollkit, create a proof of ML inference on Sindri, and verify the proof on-chain.

    This approach not only secures the verification process of machine learning models, but also leverages the decentralized security and scalability of Celestia's architecture.

    Prerequisites

    • An operational EVM using Rollkit (see next step)
    • A Sindri API key, which can be obtained here
    • Python 3.10+ installed as well as the Sindri Python SDK (more information below)

    Setting Up the Polaris EVM using Rollkit

    This walkthrough assumes you started the Polaris EVM using Rollkit and should be interpreted as a direct continuation of this Polaris EVM and Rollkit guide.

    Installing the Sindri Python SDK

    Because we're working with ML, we're going to build with Sindri's Python SDK because Python is widely used in ML development. The Sindri Python SDK Quickstart Guide contains installation instructions and a high-level walkthrough of the functionality of this package, but the following will suffice if you have pip installed:

    bash
    pip install sindri

    Deploying and Proving a Cool zkML Circuit to Sindri

    For this tutorial, we'll be working with a pre-built zkML circuit built by Sindri. For a more in-depth description of this circuit and its corresponding ML model's behavior and design, please see here.

    Clone

    Clone the Sindri Resources GitHub repo.

    bash
    cd $HOME
     git clone https://github.com/Sindri-Labs/sindri-resources.git

    Navigate to the food_ml circuit tutorial directory.

    bash
    cd sindri-resources/circuit_tutorials/circom/food_ml/

    Here, you will find a handful of files. The circuit/ directory contains the circuit code that we will upload to Sindri. The circuit/sindri.json file is the Sindri manifest for your upload. Within it, you can modify the circuit's "name" value to whatever you like.

    Modify

    Open the compile_and_prove.py script and append the following lines to the very bottom.

    python
    # Obtain smart contract verifier for our circuit and save it to a file
     smart_contract_code: str = sindri.get_circuit_smart_contract_verifier(circuit_id)
     verifier_code_file: str = "Verifier.sol"
    @@ -152,7 +152,7 @@
     transactionIndex        0
     type                    2
     to                      0x5C59C83c099F72FcE832208f96a23a1E43737a14

    TIP

    Note: To see the decoded output of the contract call (to check if the proof was verified), you will need to view the call in a block explorer.

    Congratulations

    Congratulations, you've just verified a zkML circuit on Rollkit.

    For further reading, check out Sindri's blog post explaining how using Sindri + Rollkit x Celestia means verifiable ML doesn’t have to be prohibitively expensive for operators or end users.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index e35a4c8ca..cce41c800 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"blog_overview.md":"25F5dwdg","blog_rollkit-the-first-sovereign-rollup-framework.md":"B6yC-xho","blog_sovereign-rollups-on-bitcoin.md":"CzgOt1nw","guides_block-times.md":"B_9xXtfM","guides_cometbft-to-rollkit.md":"DBTSY5VF","guides_create-genesis.md":"Dbvo86aD","guides_cw-orch.md":"DNybFlap","guides_da-block-time.md":"BqUH_JIn","guides_full-node.md":"FiNQcr7T","guides_gas-price.md":"B6tnPV8j","guides_ibc-connection.md":"bQbBh00_","guides_ignite-rollkit.md":"BdawpgsJ","guides_lazy-sequencing.md":"gNGh4AT3","guides_max-pending-blocks.md":"B8qIXII3","guides_overview.md":"DV877Oza","guides_restart-rollup.md":"BJfkid1s","guides_rollkit-monitoring.md":"pzM-V818","guides_use-rollkit-cli.md":"BTgAisbr","guides_use-tia-for-gas.md":"BVxN-Oii","guides_zkml.md":"DpeatkQP","index.md":"BODIAfLd","learn_about.md":"BVbzyehN","learn_building-and-deploying-a-rollup.md":"Dx1Ny7k4","learn_intro.md":"CakcWgme","learn_specifications.md":"iTpFuu5y","learn_stack.md":"D4essrEw","learn_transaction-flow.md":"dSCgOyuX","readme.md":"BeCKIQWb","testnets_cosmwasm-testnet.md":"6nOI-Woe","tutorials_artela-evm-plus-plus.md":"B9RsU6MT","tutorials_astria.md":"Dyv3b5iT","tutorials_based.md":"DpUwQe2K","tutorials_beaconkit.md":"_WI-UBev","tutorials_bitcoin.md":"kZ04_son","tutorials_centralized.md":"D3FPclFN","tutorials_cosmwasm.md":"D2Psf3Tn","tutorials_da_avail-da.md":"DBDsw7_Q","tutorials_da_celestia-da.md":"Cz-M6ZBa","tutorials_da_local-da.md":"BF0VzSLW","tutorials_da_overview.md":"B7jmOgMs","tutorials_deploy-overview.md":"BufMyUFP","tutorials_docker-compose.md":"BtX1AWHL","tutorials_evm-contract-interaction.md":"BI0lCYxo","tutorials_forced.md":"BbdpyaWP","tutorials_gm-world.md":"yM4E8Wpf","tutorials_kurtosis.md":"tQPADz3Z","tutorials_octane-evm.md":"Dj24JPSA","tutorials_polaris-evm.md":"BOcPp1Tj","tutorials_quick-start.md":"JLEZUoSh","tutorials_sequencing.md":"BaHor-pG","tutorials_wordle.md":"DN8DE5pq"} +{"blog_overview.md":"25F5dwdg","blog_rollkit-the-first-sovereign-rollup-framework.md":"B6yC-xho","blog_sovereign-rollups-on-bitcoin.md":"CzgOt1nw","guides_block-times.md":"B_9xXtfM","guides_cometbft-to-rollkit.md":"BV3ngpyw","guides_create-genesis.md":"Dbvo86aD","guides_cw-orch.md":"DNybFlap","guides_da-block-time.md":"BqUH_JIn","guides_full-node.md":"FiNQcr7T","guides_gas-price.md":"B6tnPV8j","guides_ibc-connection.md":"bQbBh00_","guides_ignite-rollkit.md":"cDLhSQxA","guides_lazy-sequencing.md":"gNGh4AT3","guides_max-pending-blocks.md":"B8qIXII3","guides_overview.md":"DV877Oza","guides_restart-rollup.md":"BJfkid1s","guides_rollkit-monitoring.md":"pzM-V818","guides_use-rollkit-cli.md":"DlalbDN6","guides_use-tia-for-gas.md":"CCLyTnoE","guides_zkml.md":"DpeatkQP","index.md":"BODIAfLd","learn_about.md":"BVbzyehN","learn_building-and-deploying-a-rollup.md":"Dx1Ny7k4","learn_intro.md":"CakcWgme","learn_specifications.md":"iTpFuu5y","learn_stack.md":"D4essrEw","learn_transaction-flow.md":"dSCgOyuX","readme.md":"BeCKIQWb","testnets_cosmwasm-testnet.md":"6nOI-Woe","tutorials_artela-evm-plus-plus.md":"B9RsU6MT","tutorials_beaconkit.md":"BAHWsIRA","tutorials_bitcoin.md":"kZ04_son","tutorials_cosmwasm.md":"D2Psf3Tn","tutorials_da_avail-da.md":"DBDsw7_Q","tutorials_da_celestia-da.md":"CDXevnQs","tutorials_da_local-da.md":"CNLalXb-","tutorials_da_overview.md":"B7jmOgMs","tutorials_deploy-overview.md":"BufMyUFP","tutorials_docker-compose.md":"DgQTgY-R","tutorials_evm-contract-interaction.md":"BI0lCYxo","tutorials_gm-world.md":"yM4E8Wpf","tutorials_kurtosis.md":"tQPADz3Z","tutorials_octane-evm.md":"Dj24JPSA","tutorials_polaris-evm.md":"BOcPp1Tj","tutorials_quick-start.md":"C3EApfKK","tutorials_sequencing_astria.md":"CrVgOK5a","tutorials_sequencing_based.md":"Jjk0SYfo","tutorials_sequencing_centralized.md":"CddM_zPh","tutorials_sequencing_forced-inclusion.md":"BHlt7iFX","tutorials_sequencing_local.md":"D-u6Xw3_","tutorials_sequencing_overview.md":"C8f93WiR","tutorials_wordle.md":"SCGP__W6"} diff --git a/index.html b/index.html index 2b99dc0c5..701d53f29 100644 --- a/index.html +++ b/index.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -67,7 +67,7 @@

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/learn/about.html b/learn/about.html index 9df24e929..55f34e63e 100644 --- a/learn/about.html +++ b/learn/about.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,8 +66,8 @@

    About Rollkit

    Our mission is to allow anyone to launch their own sovereign, customizable blockchain as easily as a smart contract by utilizing the shared security of a modular data availability network.

    TIP

    In order to use Rollkit, it's important to have some familiarity with Cosmos SDK. You can get up to speed on Cosmos SDK by visiting their official documentation page.

    If you're familiar with Rollkit, you may want to skip to the tutorials section.

    What is Rollkit?

    Rollkit is a sovereign rollup framework that gives developers the freedom to deploy rollups throughout the modular stack, opening new possibilities for rapid experimentation and innovation.

    Read more on the Celestia blog to learn more about the concept of sovereign rollups.

    Rollkit is an open-source framework. It features a modular node that can run rollups and exposes an ABCI-compatible client interface, which can be used as a substitute for CometBFT in any ABCI-compatible blockchain application.

    Rollkit uses data availability (DA) layers by having a unified client interface which can be implemented for use with different DA networks, such as Celestia.

    Our goal is to empower developers to quickly innovate and create new classes of rollups with minimal trade-offs, and to make deploying a new chain as easy as deploying a smart contract.

    What problems is Rollkit solving?

    1. Scalability and customizability

    Deploying your decentralized application as a smart contract on a shared blockchain has many limitations. Your smart contract has to share computational resources with every other application, so scalability is limited.

    Plus, you're restricted to the execution environment that the shared blockchain uses, so developer flexibility is limited.

    2. Security and time to market

    Deploying a new chain might sound like the perfect solution for the problems listed above. While it's somewhat true, deploying a new layer 1 chain presents a complex set of challenges and trade-offs for developers looking to build blockchain products.

    Deploying a new layer 1 requires significant resources, including time, capital, and expertise, which can be a barrier to entry for some developers.

    In order to secure the network, developers must bootstrap a sufficiently secure set of validators, incurring the overhead of managing a full consensus network. This requires paying validators with inflationary tokens, putting the business sustainability of the network at risk. A strong community and network effect are also critical for success, but can be challenging to achieve as the network must gain widespread adoption to be secure and valuable.

    In a potential future with millions of chains, it's unlikely all of those chains will be able to sustainably attract a sufficiently secure and decentralized validator set.

    Why Rollkit?

    Rollkit solves the challenges encountered during the deployment of a smart contract or a new layer 1, by minimizing these tradeoffs through the implementation of rollup chains (rollups).

    With Rollkit, developers can benefit from:

    • Shared security: Rollups inherit security from a data availability layer, by posting blocks to it. Rollups reduce the trust assumptions placed on rollup sequencers by allowing full nodes to download and verify the transactions in the blocks posted by the sequencer. For optimistic or zk rollups, in case of fraudulent blocks, full nodes can generate fraud or zk proofs, which they can share with the rest of the network, including light nodes. Our roadmap includes the ability for light clients to receive and verify proofs, so that everyday users can enjoy high security guarantees.

    • Scalability: Rollkit rollups are deployed on specialized data availability layers like Celestia, which directly leverages the scalability of the DA layer. Additionally, rollup transactions are executed off-chain rather than the data availability layer. This means rollups have their own dedicated computational resources, rather than sharing computational resources with other applications.

    • Customizability: Rollkit is built as an open source modular framework, to make it easier for developers to reuse the four main components and customize their rollups. These components are data availability layers, execution environments, proof systems, and sequencer schemes. The components used by the Rollkit stack are customizable.

    • Faster time to market: Rollkit eliminates the need to bootstrap a validator set, manage a consensus network, incur high economic costs, and face other trade-offs that come with deploying a new layer 1. Rollkit's goal is to make deploying a rollup as easy as it is to deploy a smart contract, cutting the time it takes to bring blockchain products to market from months or even years to just minutes.

    • Sovereignty: Rollkit also enables developers to deploy sovereign rollups for cases where communities require sovereignty.

    How can you use Rollkit?

    As briefly mentioned above, Rollkit could be used in many different ways. From sovereign rollups, to settlement layers, and in the future even to L3s.

    Rollup with any execution environment

    Rollkit gives developers the flexibility to use pre-existing ABCI-compatible state machines or create a custom state machine tailored to their rollup needs. Rollkit does not restrict the use of any specific virtual machine, allowing developers to experiment and bring innovative applications to life.

    Sovereign rollup with Cosmos SDK

    Similarly to how developers utilize the Cosmos SDK to build a sovereign layer 1 chain, the Cosmos SDK could be utilized to create a Rollkit-compatible rollup chain. Cosmos-SDK has great documentation and tooling that developers can leverage to learn.

    Another possibility is taking an existing layer 1 built with the Cosmos SDK and deploying it as a Rollkit rollup. This can provide a great opportunity for experimentation and growth.

    Build a settlement layer

    Settlement layers are ideal for developers who want to avoid deploying sovereign rollups. They provide a platform for rollups to verify proofs and resolve disputes. Additionally, they act as a hub for rollups to facilitate trust-minimized token transfers and liquidity sharing between rollups that share the same settlement layer. Think of settlement layers as a special type of execution layer.

    When can you use Rollkit?

    As of today, Rollkit is still in the alpha stage. The framework currently provides a centralized sequencer, an execution interface (ABCI or Cosmos SDK), and a connection to a data availability layer.

    We're currently working on implementing many new and exciting features such as light nodes and state fraud proofs.

    Head down to the next section to learn more about what's coming for Rollkit. If you're ready to start building, you can skip to the Tutorials section.

    Spoiler alert, whichever you choose, it's going to be a great rabbit hole!

    Released under the APACHE-2.0 License

    - +

    About Rollkit

    Our mission is to allow anyone to launch their own sovereign, customizable blockchain as easily as a smart contract by utilizing the shared security of a modular data availability network.

    TIP

    In order to use Rollkit, it's important to have some familiarity with Cosmos SDK. You can get up to speed on Cosmos SDK by visiting their official documentation page.

    If you're familiar with Rollkit, you may want to skip to the tutorials section.

    What is Rollkit?

    Rollkit is a sovereign rollup framework that gives developers the freedom to deploy rollups throughout the modular stack, opening new possibilities for rapid experimentation and innovation.

    Read more on the Celestia blog to learn more about the concept of sovereign rollups.

    Rollkit is an open-source framework. It features a modular node that can run rollups and exposes an ABCI-compatible client interface, which can be used as a substitute for CometBFT in any ABCI-compatible blockchain application.

    Rollkit uses data availability (DA) layers by having a unified client interface which can be implemented for use with different DA networks, such as Celestia.

    Our goal is to empower developers to quickly innovate and create new classes of rollups with minimal trade-offs, and to make deploying a new chain as easy as deploying a smart contract.

    What problems is Rollkit solving?

    1. Scalability and customizability

    Deploying your decentralized application as a smart contract on a shared blockchain has many limitations. Your smart contract has to share computational resources with every other application, so scalability is limited.

    Plus, you're restricted to the execution environment that the shared blockchain uses, so developer flexibility is limited.

    2. Security and time to market

    Deploying a new chain might sound like the perfect solution for the problems listed above. While it's somewhat true, deploying a new layer 1 chain presents a complex set of challenges and trade-offs for developers looking to build blockchain products.

    Deploying a new layer 1 requires significant resources, including time, capital, and expertise, which can be a barrier to entry for some developers.

    In order to secure the network, developers must bootstrap a sufficiently secure set of validators, incurring the overhead of managing a full consensus network. This requires paying validators with inflationary tokens, putting the business sustainability of the network at risk. A strong community and network effect are also critical for success, but can be challenging to achieve as the network must gain widespread adoption to be secure and valuable.

    In a potential future with millions of chains, it's unlikely all of those chains will be able to sustainably attract a sufficiently secure and decentralized validator set.

    Why Rollkit?

    Rollkit solves the challenges encountered during the deployment of a smart contract or a new layer 1, by minimizing these tradeoffs through the implementation of rollup chains (rollups).

    With Rollkit, developers can benefit from:

    • Shared security: Rollups inherit security from a data availability layer, by posting blocks to it. Rollups reduce the trust assumptions placed on rollup sequencers by allowing full nodes to download and verify the transactions in the blocks posted by the sequencer. For optimistic or zk rollups, in case of fraudulent blocks, full nodes can generate fraud or zk proofs, which they can share with the rest of the network, including light nodes. Our roadmap includes the ability for light clients to receive and verify proofs, so that everyday users can enjoy high security guarantees.

    • Scalability: Rollkit rollups are deployed on specialized data availability layers like Celestia, which directly leverages the scalability of the DA layer. Additionally, rollup transactions are executed off-chain rather than the data availability layer. This means rollups have their own dedicated computational resources, rather than sharing computational resources with other applications.

    • Customizability: Rollkit is built as an open source modular framework, to make it easier for developers to reuse the four main components and customize their rollups. These components are data availability layers, execution environments, proof systems, and sequencer schemes. The components used by the Rollkit stack are customizable.

    • Faster time to market: Rollkit eliminates the need to bootstrap a validator set, manage a consensus network, incur high economic costs, and face other trade-offs that come with deploying a new layer 1. Rollkit's goal is to make deploying a rollup as easy as it is to deploy a smart contract, cutting the time it takes to bring blockchain products to market from months or even years to just minutes.

    • Sovereignty: Rollkit also enables developers to deploy sovereign rollups for cases where communities require sovereignty.

    How can you use Rollkit?

    As briefly mentioned above, Rollkit could be used in many different ways. From sovereign rollups, to settlement layers, and in the future even to L3s.

    Rollup with any execution environment

    Rollkit gives developers the flexibility to use pre-existing ABCI-compatible state machines or create a custom state machine tailored to their rollup needs. Rollkit does not restrict the use of any specific virtual machine, allowing developers to experiment and bring innovative applications to life.

    Sovereign rollup with Cosmos SDK

    Similarly to how developers utilize the Cosmos SDK to build a sovereign layer 1 chain, the Cosmos SDK could be utilized to create a Rollkit-compatible rollup chain. Cosmos-SDK has great documentation and tooling that developers can leverage to learn.

    Another possibility is taking an existing layer 1 built with the Cosmos SDK and deploying it as a Rollkit rollup. This can provide a great opportunity for experimentation and growth.

    Build a settlement layer

    Settlement layers are ideal for developers who want to avoid deploying sovereign rollups. They provide a platform for rollups to verify proofs and resolve disputes. Additionally, they act as a hub for rollups to facilitate trust-minimized token transfers and liquidity sharing between rollups that share the same settlement layer. Think of settlement layers as a special type of execution layer.

    When can you use Rollkit?

    As of today, Rollkit is still in the alpha stage. The framework currently provides a centralized sequencer, an execution interface (ABCI or Cosmos SDK), and a connection to a data availability layer.

    We're currently working on implementing many new and exciting features such as light nodes and state fraud proofs.

    Head down to the next section to learn more about what's coming for Rollkit. If you're ready to start building, you can skip to the Tutorials section.

    Spoiler alert, whichever you choose, it's going to be a great rabbit hole!

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/learn/building-and-deploying-a-rollup.html b/learn/building-and-deploying-a-rollup.html index 6cc266e17..0dcf85b7e 100644 --- a/learn/building-and-deploying-a-rollup.html +++ b/learn/building-and-deploying-a-rollup.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,8 +66,8 @@

    🗞️ Building a rollup and testnet deployment

    The following tutorials will help you get started building Cosmos-SDK and EVM applications that connect to Celestia's data availability (DA) layer via Rollkit to Celestia's Mocha testnet or Arabica devnet. We call those chains Sovereign Rollups.

    You can get started with the following tutorials:

    1. Beginner

    2️. Intermediate

    3️. Advanced

    💻 Support

    The tutorials will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a GitHub issue or let us know in our Telegram. Furthermore, while Rollkit allows you to build sovereign rollups on Celestia, it currently does not support fraud proofs yet and is therefore running in "pessimistic" mode, where nodes would need to re-execute the transactions to check the validity of the chain (i.e. a full node). Furthermore, Rollkit currently only supports a single sequencer.

    Released under the APACHE-2.0 License

    - +

    🗞️ Building a rollup and testnet deployment

    The following tutorials will help you get started building Cosmos-SDK and EVM applications that connect to Celestia's data availability (DA) layer via Rollkit to Celestia's Mocha testnet or Arabica devnet. We call those chains Sovereign Rollups.

    You can get started with the following tutorials:

    1. Beginner

    2️. Intermediate

    3️. Advanced

    💻 Support

    The tutorials will explore developing with Rollkit, which is still in Alpha stage. If you run into bugs, please write a GitHub issue or let us know in our Telegram. Furthermore, while Rollkit allows you to build sovereign rollups on Celestia, it currently does not support fraud proofs yet and is therefore running in "pessimistic" mode, where nodes would need to re-execute the transactions to check the validity of the chain (i.e. a full node). Furthermore, Rollkit currently only supports a single sequencer.

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/learn/intro.html b/learn/intro.html index 3a1259886..8b1e9eb1e 100644 --- a/learn/intro.html +++ b/learn/intro.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,8 +66,8 @@

    Introduction

    Welcome to the Rollkit docs. We're happy you made it here! Rollkit allows anyone to launch an unstoppable blockchain as easily as a smart contract.

    Rollkit is the unstoppable stack.

    We're setting the bar high for developers' flexibility and ability to customize blockchains however they see fit.

    Released under the APACHE-2.0 License

    - +

    Introduction

    Welcome to the Rollkit docs. We're happy you made it here! Rollkit allows anyone to launch an unstoppable blockchain as easily as a smart contract.

    Rollkit is the unstoppable stack.

    We're setting the bar high for developers' flexibility and ability to customize blockchains however they see fit.

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/learn/specifications.html b/learn/specifications.html index 9da8d14c8..08dc0e136 100644 --- a/learn/specifications.html +++ b/learn/specifications.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,8 +66,8 @@

    Technical specifications

    Rollkit specifications - is comprehensive documentation on the inner components of Rollkit, including data storage, transaction processing, and more. It’s an essential resource for developers looking to understand, contribute to and leverage the full capabilities of Rollkit.

    Additional Rollkit documentation can be found in the Rollkit godocs.

    Released under the APACHE-2.0 License

    - +

    Technical specifications

    Rollkit specifications - is comprehensive documentation on the inner components of Rollkit, including data storage, transaction processing, and more. It’s an essential resource for developers looking to understand, contribute to and leverage the full capabilities of Rollkit.

    Additional Rollkit documentation can be found in the Rollkit godocs.

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/learn/stack.html b/learn/stack.html index c4da1db41..621739964 100644 --- a/learn/stack.html +++ b/learn/stack.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,10 +66,10 @@

    Rollkit stack

    This page will cover the main components of Rollkit.

    Rollup sequencer nodes collect transactions from users, aggregate them into blocks, and post the blocks onto a data availability (DA) layer (such as Celestia) to be ordered and finalized. Full nodes execute and verify rollup blocks, and in the case of an optimistic rollup, propagate fraud proofs when needed. Light clients will receive headers, verify proofs (fraud, zk, etc), and authenticate trust-minimized queries about the state.

    Application structure

    ABCI interface

    Rollkit is a fully functional Application BlockChain Interface (ABCI) client software. It can be used as a CometBFT replacement for any ABCI application. Thanks to this compatibility, you can use tools like abci-cli to test and debug your rollup.

    Cosmos SDK

    Would you like to change your Cosmos SDK application to a Rollkit rollup? No problem! You need to replace the Cosmos SDK Go dependency with a Rollkit-enabled version, which can be found at the rollkit/cosmos-sdk repository.

    Note the rollkit/cosmos-sdk repository follows the release branches of upstream Cosmos SDK, but with the bonus of using Rollkit instead of CometBFT as the ABCI client.

    And don't forget to replace another dependency, CometBFT, with rollkit/cometbft, which has an enhanced ABCI interface that includes the methods needed for state fraud proofs.

    Data availability

    Data availability (DA) can be accessed using generic interfaces. This design allows for seamless integration with any DA layer. New implementations can be plugged in programmatically, without a need to fork Rollkit.

    The DataAvailabilityLayerClient interface includes essential lifecycle methods (Init, Start, Stop) as well as data availability methods (SubmitBlocks, RetrieveBlocks).

    The BlockRetriever interface serves to enable syncing of full nodes from the data availability layer. It's important to keep in mind that there is no direct correlation between the DA layer block height and the rollup height. Each DA layer block may contain an arbitrary number of rollup blocks.

    Celestia

    Celestia is a prominent example of a data availability integration implemented for Rollkit. It's using the Celestia Node API via the rollkit/celestia-da package. To deploy a Rollkit rollup on Celestia you also have to run a Celestia light node.

    New DA layer integrations can be added by using the go-da interface.

    Node components

    Mempool

    The mempool is inspired by the CometBFT mempool. By default, transactions are handled in a First Come, First Served (FCFS) manner. Ordering of transactions can be implemented on the application level; currently this is possible by returning a priority on CheckTx, and once we support ABCI++ it is also possible via PrepareProposal and the application mempool.

    Block manager

    The block manager contains routines AggregationLoop, RetrieveLoop, and SyncLoop that communicate through Go channels. These Go routines are ran when a Rollkit node starts up (OnStart). Only the sequencer nodes run AggregationLoop which controls the frequency of block production for a rollup with a timer as per the BlockTime in BlockManager.

    All nodes run SyncLoop which looks for the following operations:

    • Receive block headers: block headers are received through a channel HeaderInCh and Rollkit nodes attempt to verify the block with the corresponding block data.
    • Receive block data: block bodies are received through a channel blockInCh and Rollkit nodes attempt to verify the block.
    • Signal RetrieveLoop with timer as per the DABlockTime in BlockManager.

    All nodes also run RetrieveLoop which is responsible for interacting with the data availability layer. It checks the last updated DAHeight to retrieve a block with timer DABlockTime signaled by SyncLoop. Note that the start height of the DA layer for the rollup, DAStartHeight, is configurable in BlockManager.

    RPC

    Rollkit's RPC fully implements the CometBFT RPC interfaces and APIs for querying:

    • Information about the rollup node: information such as node's health, status, and network info.
    • The rollup blockchain: getting information about the rollup blockchain such as blocks and block headers.
    • The rollup transactions: getting transaction information and broadcasting raw transactions, with search capabilities.
    • ABCI: rollup application information.

    The following RPC protocols are currently supported:

    • URI over HTTP
    • JSON-RPC over HTTP
    • JSON-RPC over WebSockets

    The RPC provides an additional query for DA included blocks using the height parameter:

    sh
    curl http://127.0.0.1:26657/block?height=1
    +

    Rollkit stack

    This page will cover the main components of Rollkit.

    Rollup sequencer nodes collect transactions from users, aggregate them into blocks, and post the blocks onto a data availability (DA) layer (such as Celestia) to be ordered and finalized. Full nodes execute and verify rollup blocks, and in the case of an optimistic rollup, propagate fraud proofs when needed. Light clients will receive headers, verify proofs (fraud, zk, etc), and authenticate trust-minimized queries about the state.

    Application structure

    ABCI interface

    Rollkit is a fully functional Application BlockChain Interface (ABCI) client software. It can be used as a CometBFT replacement for any ABCI application. Thanks to this compatibility, you can use tools like abci-cli to test and debug your rollup.

    Cosmos SDK

    Would you like to change your Cosmos SDK application to a Rollkit rollup? No problem! You need to replace the Cosmos SDK Go dependency with a Rollkit-enabled version, which can be found at the rollkit/cosmos-sdk repository.

    Note the rollkit/cosmos-sdk repository follows the release branches of upstream Cosmos SDK, but with the bonus of using Rollkit instead of CometBFT as the ABCI client.

    And don't forget to replace another dependency, CometBFT, with rollkit/cometbft, which has an enhanced ABCI interface that includes the methods needed for state fraud proofs.

    Data availability

    Data availability (DA) can be accessed using generic interfaces. This design allows for seamless integration with any DA layer. New implementations can be plugged in programmatically, without a need to fork Rollkit.

    The DataAvailabilityLayerClient interface includes essential lifecycle methods (Init, Start, Stop) as well as data availability methods (SubmitBlocks, RetrieveBlocks).

    The BlockRetriever interface serves to enable syncing of full nodes from the data availability layer. It's important to keep in mind that there is no direct correlation between the DA layer block height and the rollup height. Each DA layer block may contain an arbitrary number of rollup blocks.

    Celestia

    Celestia is a prominent example of a data availability integration implemented for Rollkit. It's using the Celestia Node API via the rollkit/celestia-da package. To deploy a Rollkit rollup on Celestia you also have to run a Celestia light node.

    New DA layer integrations can be added by using the go-da interface.

    Node components

    Mempool

    The mempool is inspired by the CometBFT mempool. By default, transactions are handled in a First Come, First Served (FCFS) manner. Ordering of transactions can be implemented on the application level; currently this is possible by returning a priority on CheckTx, and once we support ABCI++ it is also possible via PrepareProposal and the application mempool.

    Block manager

    The block manager contains routines AggregationLoop, RetrieveLoop, and SyncLoop that communicate through Go channels. These Go routines are ran when a Rollkit node starts up (OnStart). Only the sequencer nodes run AggregationLoop which controls the frequency of block production for a rollup with a timer as per the BlockTime in BlockManager.

    All nodes run SyncLoop which looks for the following operations:

    • Receive block headers: block headers are received through a channel HeaderInCh and Rollkit nodes attempt to verify the block with the corresponding block data.
    • Receive block data: block bodies are received through a channel blockInCh and Rollkit nodes attempt to verify the block.
    • Signal RetrieveLoop with timer as per the DABlockTime in BlockManager.

    All nodes also run RetrieveLoop which is responsible for interacting with the data availability layer. It checks the last updated DAHeight to retrieve a block with timer DABlockTime signaled by SyncLoop. Note that the start height of the DA layer for the rollup, DAStartHeight, is configurable in BlockManager.

    RPC

    Rollkit's RPC fully implements the CometBFT RPC interfaces and APIs for querying:

    • Information about the rollup node: information such as node's health, status, and network info.
    • The rollup blockchain: getting information about the rollup blockchain such as blocks and block headers.
    • The rollup transactions: getting transaction information and broadcasting raw transactions, with search capabilities.
    • ABCI: rollup application information.

    The following RPC protocols are currently supported:

    • URI over HTTP
    • JSON-RPC over HTTP
    • JSON-RPC over WebSockets

    The RPC provides an additional query for DA included blocks using the height parameter:

    sh
    curl http://127.0.0.1:26657/block?height=1
     
     curl http://127.0.0.1:26657/block?height=included

    Parameters

    • height (integer or string): height of the requested block. If no height is specified the latest block will be used. If height is set to the string "included", the latest DA included block will be returned.

    P2P layer

    Rollkit's P2P layer enables direct communication between rollup nodes. It's used to gossip transactions, headers of newly created blocks, and state fraud proofs. The P2P layer is implemented using libp2p.

    Rollkit uses DHT-based active peer discovery. Starting a node connects to pre-configured bootstrap peers, and advertises its namespace ID in the DHT. This solution is flexible, because multiple rollup networks may reuse the same DHT/bootstrap nodes, but specific rollup network might decide to use dedicated nodes as well.

    Rollkit node types

    Rollkit nodes are implemented in the node package.

    Full node

    Full nodes verify all blocks, and produce fraud proofs for optimistic rollups. Since they fully verify all rollup blocks, they don't rely on fraud or validity proofs for security.

    Light node (work in progress)

    Light nodes are light-weight rollup nodes that authenticate block headers, and can be secured by fraud proofs or validity proofs. They're recommended for average users on low-resource devices. Users running light nodes can make trust-minimized queries about the rollup's state. Currently, Rollkit light nodes are still under development.

    Sequencer node

    Rollups can utilize sequencer nodes. Sequencers are block producers for rollups, responsible for aggregating transactions into blocks, and typically executing transactions to produce a state root, used by the rollup's light clients.

    Rollkit plans to support multiple different pluggable sequencer schemes:

    Deploy in one-clickFaster soft-confirmations than L1Control over rollup's transaction orderingAtomic composability with other rollupsCensorship resistanceImplementation Status
    Centralized sequencerRequires spinning up a sequencerYes ✅Yes ✅No ❌Eventual ⏳*✅ Implemented!
    Decentralized sequencerRequires spinning up a sequencer setYes ✅Yes ✅No ❌Real-time ⚡️Planned
    Shared decentralized sequencerYes ✅Yes ✅No ❌Yes ✅Real-time ⚡️Planned
    Pure fork-choice ruleYes ✅No ❌Maybe 🟡Maybe 🟡Eventual ⏳Planned

    "Pure fork-choice rule" refers to any rollup without privileged sequencers, e.g. nodes defer to the data availability layer for ordering and apply a "first-come-first-serve" fork-choice rule.

    * implementation of this property is in progress.

    State validity modes

    Pessimistic (full nodes only)

    A pessimistic rollup is a rollup that only supports full nodes that replay all the transactions in the rollup in order to check its validity. Rollkit supports pessimistic rollups by default.

    Pessimistic rollups are similar to how Tether uses Bitcoin as a data availability layer via OmniLayer.

    Optimistic (fraud proofs) (work in progress)

    Rollkit's current design consists of a single sequencer that posts blocks to the DA layer, and multiple (optional) full nodes. Sequencers gossip block headers to full nodes and full nodes fetch posted blocks from the DA layer. Full nodes then execute transactions in these blocks to update their state, and gossip block headers over the P2P network to Rollkit light nodes.

    Once state fraud proofs are enabled, when a block contains a fraudulent state transition, Rollkit full nodes can detect it by comparing intermediate state roots (ISRs) between transactions, and generate a state fraud proof that can be gossiped over the P2P network to Rollkit light nodes. These Rollkit light nodes can then use this state fraud proof to verify whether a fraudulent state transition occurred or not by themselves.

    Overall, state fraud proofs will enable trust-minimization between full nodes and light nodes as long as there is at least one honest full node in the system that will generate state fraud proofs.

    Note that Rollkit state fraud proofs are still a work in progress and will require new methods on top of ABCI, specifically, GenerateFraudProof, VerifyFraudProof, and GetAppHash.

    You can find current detailed design and the remaining work needed to push state fraud proofs towards completion in this Architecture Decision Record (ADR).

    Validity (ZK proofs)

    Validity (ZK) rollups are planned, but not currently supported by Rollkit.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/learn/transaction-flow.html b/learn/transaction-flow.html index 6ccde436b..b297f1695 100644 --- a/learn/transaction-flow.html +++ b/learn/transaction-flow.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,8 +66,8 @@

    Transaction flow

    Rollup users use a light node to communicate with the rollup P2P network for two primary reasons:

    • submitting transactions
    • gossipping headers and fraud proofs

    WARNING

    Light nodes are still a work in progress.

    Here's what the typical transaction flow looks like:

    Transaction submission

    Transaction validation and processing

    Block processing

    Fraud proof gossip and forking

    To transact, users submit a transaction to their light node, which gossips the transaction to a full node. Before adding the transaction to their mempool, the full node checks its validity. Valid transactions are included in the mempool, while invalid ones are refused, and the user's transaction will not be processed.

    If the transaction is valid and has been included in the mempool, the sequencer can add it to a rollup block, which is then submitted to the data availability (DA) layer. This results in a successful transaction flow for the user, and the state of the rollup is updated accordingly.

    After the block is submitted to the DA layer, the full nodes download and validate the block. However, there is a possibility that the sequencer may maliciously submit a block to the DA layer with invalid transactions or state. In such cases, the full nodes of the rollup chain will consider the block invalid. In the case of an optimistic rollup, if they find the block invalid, they generate fraud proofs and gossip them in the P2P network among other full and light nodes.

    As a result, the rollup chain will halt, and the network will decide to fork the chain through social consensus. In the future, when a decentralized sequencer scheme is in place, additional options will be available, such as slashing the sequencer or selecting another full node as the sequencer. However, in any case, a new block must be created and submitted to the DA layer. You can read more about sequencer nodes here.

    Released under the APACHE-2.0 License

    - +

    Transaction flow

    Rollup users use a light node to communicate with the rollup P2P network for two primary reasons:

    • submitting transactions
    • gossipping headers and fraud proofs

    WARNING

    Light nodes are still a work in progress.

    Here's what the typical transaction flow looks like:

    Transaction submission

    Transaction validation and processing

    Block processing

    Fraud proof gossip and forking

    To transact, users submit a transaction to their light node, which gossips the transaction to a full node. Before adding the transaction to their mempool, the full node checks its validity. Valid transactions are included in the mempool, while invalid ones are refused, and the user's transaction will not be processed.

    If the transaction is valid and has been included in the mempool, the sequencer can add it to a rollup block, which is then submitted to the data availability (DA) layer. This results in a successful transaction flow for the user, and the state of the rollup is updated accordingly.

    After the block is submitted to the DA layer, the full nodes download and validate the block. However, there is a possibility that the sequencer may maliciously submit a block to the DA layer with invalid transactions or state. In such cases, the full nodes of the rollup chain will consider the block invalid. In the case of an optimistic rollup, if they find the block invalid, they generate fraud proofs and gossip them in the P2P network among other full and light nodes.

    As a result, the rollup chain will halt, and the network will decide to fork the chain through social consensus. In the future, when a decentralized sequencer scheme is in place, additional options will be available, such as slashing the sequencer or selecting another full node as the sequencer. However, in any case, a new block must be created and submitted to the DA layer. You can read more about sequencer nodes here.

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 139b225c8..df4f2998c 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://rollkit.dev/README2024-09-27T17:28:15.000Zhttps://rollkit.dev/blog/overview2024-05-09T20:42:25.000Zhttps://rollkit.dev/blog/rollkit-the-first-sovereign-rollup-framework2024-05-09T20:42:25.000Zhttps://rollkit.dev/blog/sovereign-rollups-on-bitcoin2024-05-09T20:42:25.000Zhttps://rollkit.dev/guides/block-times2024-10-21T17:05:03.000Zhttps://rollkit.dev/guides/cometbft-to-rollkit2024-11-19T14:25:29.000Zhttps://rollkit.dev/guides/create-genesis2024-05-21T23:41:02.000Zhttps://rollkit.dev/guides/cw-orch2024-05-03T17:12:19.000Zhttps://rollkit.dev/guides/da-block-time2024-06-14T16:28:33.000Zhttps://rollkit.dev/guides/full-node2024-09-23T15:26:55.000Zhttps://rollkit.dev/guides/gas-price2024-08-16T17:00:21.000Zhttps://rollkit.dev/guides/ibc-connection2024-05-09T19:05:29.000Zhttps://rollkit.dev/guides/ignite-rollkit2024-11-15T17:15:32.000Zhttps://rollkit.dev/guides/lazy-sequencing2024-08-16T17:00:21.000Zhttps://rollkit.dev/guides/max-pending-blocks2024-05-21T23:41:02.000Zhttps://rollkit.dev/guides/overview2024-10-08T13:33:53.000Zhttps://rollkit.dev/guides/restart-rollup2024-10-21T17:05:03.000Zhttps://rollkit.dev/guides/rollkit-monitoring2024-04-25T22:26:49.000Zhttps://rollkit.dev/guides/use-rollkit-cli2024-05-21T23:41:02.000Zhttps://rollkit.dev/guides/use-tia-for-gas2024-08-08T16:28:58.000Zhttps://rollkit.dev/guides/zkml2024-09-09T17:27:05.000Zhttps://rollkit.dev/2024-10-06T07:13:53.000Zhttps://rollkit.dev/learn/about2024-09-30T16:29:13.000Zhttps://rollkit.dev/learn/building-and-deploying-a-rollup2024-07-02T19:46:05.000Zhttps://rollkit.dev/learn/intro2024-10-06T07:13:53.000Zhttps://rollkit.dev/learn/specifications2024-10-01T20:02:29.000Zhttps://rollkit.dev/learn/stack2024-09-03T20:39:01.000Zhttps://rollkit.dev/learn/transaction-flow2023-09-06T14:53:35.000Zhttps://rollkit.dev/testnets/cosmwasm-testnet2024-05-24T13:29:04.000Zhttps://rollkit.dev/tutorials/artela-evm-plus-plus2024-09-19T11:04:23.000Zhttps://rollkit.dev/tutorials/astria2024-11-08T14:03:12.000Zhttps://rollkit.dev/tutorials/based2024-11-08T14:03:12.000Zhttps://rollkit.dev/tutorials/beaconkit2024-09-03T20:31:11.000Zhttps://rollkit.dev/tutorials/bitcoin2024-02-09T02:41:25.000Zhttps://rollkit.dev/tutorials/centralized2024-11-08T14:03:12.000Zhttps://rollkit.dev/tutorials/cosmwasm2024-07-13T07:38:55.000Zhttps://rollkit.dev/tutorials/da/avail-da2024-11-19T07:51:19.000Zhttps://rollkit.dev/tutorials/da/celestia-da2024-11-19T07:51:19.000Zhttps://rollkit.dev/tutorials/da/local-da2024-11-19T07:51:19.000Zhttps://rollkit.dev/tutorials/da/overview2024-11-19T07:51:19.000Zhttps://rollkit.dev/tutorials/deploy-overview2024-11-15T17:15:32.000Zhttps://rollkit.dev/tutorials/docker-compose2024-11-15T17:15:32.000Zhttps://rollkit.dev/tutorials/evm-contract-interaction2024-07-25T18:34:12.000Zhttps://rollkit.dev/tutorials/forced2024-11-08T14:03:12.000Zhttps://rollkit.dev/tutorials/gm-world2024-07-12T11:55:06.000Zhttps://rollkit.dev/tutorials/kurtosis2024-11-15T17:15:32.000Zhttps://rollkit.dev/tutorials/octane-evm2024-07-24T16:56:26.000Zhttps://rollkit.dev/tutorials/polaris-evm2024-05-03T17:12:19.000Zhttps://rollkit.dev/tutorials/quick-start2024-05-07T14:56:34.000Zhttps://rollkit.dev/tutorials/sequencing2024-11-08T14:03:12.000Zhttps://rollkit.dev/tutorials/wordle2024-11-15T17:15:32.000Z \ No newline at end of file +https://rollkit.dev/README2024-09-27T17:28:15.000Zhttps://rollkit.dev/blog/overview2024-05-09T20:42:25.000Zhttps://rollkit.dev/blog/rollkit-the-first-sovereign-rollup-framework2024-05-09T20:42:25.000Zhttps://rollkit.dev/blog/sovereign-rollups-on-bitcoin2024-05-09T20:42:25.000Zhttps://rollkit.dev/guides/block-times2024-10-21T17:05:03.000Zhttps://rollkit.dev/guides/cometbft-to-rollkit2024-11-19T14:25:29.000Zhttps://rollkit.dev/guides/create-genesis2024-05-21T23:41:02.000Zhttps://rollkit.dev/guides/cw-orch2024-05-03T17:12:19.000Zhttps://rollkit.dev/guides/da-block-time2024-06-14T16:28:33.000Zhttps://rollkit.dev/guides/full-node2024-09-23T15:26:55.000Zhttps://rollkit.dev/guides/gas-price2024-08-16T17:00:21.000Zhttps://rollkit.dev/guides/ibc-connection2024-05-09T19:05:29.000Zhttps://rollkit.dev/guides/ignite-rollkit2024-11-15T17:15:32.000Zhttps://rollkit.dev/guides/lazy-sequencing2024-08-16T17:00:21.000Zhttps://rollkit.dev/guides/max-pending-blocks2024-05-21T23:41:02.000Zhttps://rollkit.dev/guides/overview2024-10-08T13:33:53.000Zhttps://rollkit.dev/guides/restart-rollup2024-10-21T17:05:03.000Zhttps://rollkit.dev/guides/rollkit-monitoring2024-04-25T22:26:49.000Zhttps://rollkit.dev/guides/use-rollkit-cli2024-05-21T23:41:02.000Zhttps://rollkit.dev/guides/use-tia-for-gas2024-08-08T16:28:58.000Zhttps://rollkit.dev/guides/zkml2024-09-09T17:27:05.000Zhttps://rollkit.dev/2024-10-06T07:13:53.000Zhttps://rollkit.dev/learn/about2024-09-30T16:29:13.000Zhttps://rollkit.dev/learn/building-and-deploying-a-rollup2024-07-02T19:46:05.000Zhttps://rollkit.dev/learn/intro2024-10-06T07:13:53.000Zhttps://rollkit.dev/learn/specifications2024-10-01T20:02:29.000Zhttps://rollkit.dev/learn/stack2024-09-03T20:39:01.000Zhttps://rollkit.dev/learn/transaction-flow2023-09-06T14:53:35.000Zhttps://rollkit.dev/testnets/cosmwasm-testnet2024-05-24T13:29:04.000Zhttps://rollkit.dev/tutorials/artela-evm-plus-plus2024-09-19T11:04:23.000Zhttps://rollkit.dev/tutorials/beaconkit2024-09-03T20:31:11.000Zhttps://rollkit.dev/tutorials/bitcoin2024-02-09T02:41:25.000Zhttps://rollkit.dev/tutorials/cosmwasm2024-07-13T07:38:55.000Zhttps://rollkit.dev/tutorials/da/avail-da2024-11-19T07:51:19.000Zhttps://rollkit.dev/tutorials/da/celestia-da2024-11-19T07:51:19.000Zhttps://rollkit.dev/tutorials/da/local-da2024-11-19T07:51:19.000Zhttps://rollkit.dev/tutorials/da/overview2024-11-19T07:51:19.000Zhttps://rollkit.dev/tutorials/deploy-overview2024-11-15T17:15:32.000Zhttps://rollkit.dev/tutorials/docker-compose2024-11-15T17:15:32.000Zhttps://rollkit.dev/tutorials/evm-contract-interaction2024-07-25T18:34:12.000Zhttps://rollkit.dev/tutorials/gm-world2024-07-12T11:55:06.000Zhttps://rollkit.dev/tutorials/kurtosis2024-11-15T17:15:32.000Zhttps://rollkit.dev/tutorials/octane-evm2024-07-24T16:56:26.000Zhttps://rollkit.dev/tutorials/polaris-evm2024-05-03T17:12:19.000Zhttps://rollkit.dev/tutorials/quick-start2024-05-07T14:56:34.000Zhttps://rollkit.dev/tutorials/sequencing/astria2024-11-19T17:46:19.000Zhttps://rollkit.dev/tutorials/sequencing/based2024-11-19T17:46:19.000Zhttps://rollkit.dev/tutorials/sequencing/centralized2024-11-19T17:46:19.000Zhttps://rollkit.dev/tutorials/sequencing/forced-inclusion2024-11-19T17:46:19.000Zhttps://rollkit.dev/tutorials/sequencing/local2024-11-19T17:46:19.000Zhttps://rollkit.dev/tutorials/sequencing/overview2024-11-19T17:46:19.000Zhttps://rollkit.dev/tutorials/wordle2024-11-15T17:15:32.000Z \ No newline at end of file diff --git a/testnets/cosmwasm-testnet.html b/testnets/cosmwasm-testnet.html index fa42c4c1f..660fe6d9a 100644 --- a/testnets/cosmwasm-testnet.html +++ b/testnets/cosmwasm-testnet.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -67,7 +67,7 @@

    CosmWasm Testnet

    Our CosmWasm testnet is deployed by following the cosmwasm tutorial. The rollkit/wasmd contains the code for the same.

    Details of ROSM testnet

    • Chain ID: rosm
    • Address Prefix: wasm
      • e.g., wasm1lysztpn74kl40w6ghfhy7xr0v44r658szuysl5
    • Rollkit version: v0.13.1
    • RPC: https://rpc.rosm.rollkit.dev/
      • Example: https://rpc.rosm.rollkit.dev/block?height=1

        json
        {
        +

    CosmWasm Testnet

    Our CosmWasm testnet is deployed by following the cosmwasm tutorial. The rollkit/wasmd contains the code for the same.

    Details of ROSM testnet

    • Chain ID: rosm
    • Address Prefix: wasm
      • e.g., wasm1lysztpn74kl40w6ghfhy7xr0v44r658szuysl5
    • Rollkit version: v0.13.1
    • RPC: https://rpc.rosm.rollkit.dev/

      WARNING

      The modular.cloud explorer is work in progress. In the meanwhile, the wasm CLI can be used to query the accounts. For example: to collect the transactions for any account, following command can be used.

      wasmd query txs --query "message.sender='wasm1lysztpn74kl40w6ghfhy7xr0v44r658szuysl5'" --node https://rpc.rosm.rollkit.dev

      Add Rosm to Keplr

      Don't have the Keplr Browser extension? Add Keplr Wallet Here

      Click to add Rosm testnet to your Keplr wallet

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/artela-evm-plus-plus.html b/tutorials/artela-evm-plus-plus.html index 7bfda61d2..f8a8ecd52 100644 --- a/tutorials/artela-evm-plus-plus.html +++ b/tutorials/artela-evm-plus-plus.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,7 +66,7 @@

    Quick Start Guide for Artela EVM++ with Rollkit

    This guide will assist you to quickly set up a rollup node with Artela EVM++ execution layer using Rollkit and local-DA.

    artela-evm-rollkit

    EVM++ is a modular dual-VM execution layer that supports the dynamic creation of native extension modules for blockchain at runtime. It enables developers to leverage WasmVM to build native extensions that co-process with EVM, offering enhanced customization capabilities. More than just a dual-VM setup, these native extensions facilitate blockchain-level customization. They allow for the integration of custom logic throughout the transaction lifecycle, providing access to an expanded runtime context.

    📦 Clone the Artela Rollkit Repository

    Start by cloning the Artela Rollkit repository:

    bash
    git clone https://github.com/artela-network/artela-rollkit.git
    +

    Quick Start Guide for Artela EVM++ with Rollkit

    This guide will assist you to quickly set up a rollup node with Artela EVM++ execution layer using Rollkit and local-DA.

    artela-evm-rollkit

    EVM++ is a modular dual-VM execution layer that supports the dynamic creation of native extension modules for blockchain at runtime. It enables developers to leverage WasmVM to build native extensions that co-process with EVM, offering enhanced customization capabilities. More than just a dual-VM setup, these native extensions facilitate blockchain-level customization. They allow for the integration of custom logic throughout the transaction lifecycle, providing access to an expanded runtime context.

    📦 Clone the Artela Rollkit Repository

    Start by cloning the Artela Rollkit repository:

    bash
    git clone https://github.com/artela-network/artela-rollkit.git
     cd artela-rollkit

    🛥️ Run with Docker Compose

    Ensure Docker is installed on your system before setting up the Artela rollup node. If not already installed, download and follow the setup instructions available here.

    TIP

    Make sure you meet these prerequisites of enabling host network mode in Docker.

    After installing Docker, run the following command to start a local development node:

    bash
    docker compose up -d

    This command launches the Artela rollup node with Rollkit and local-DA. To monitor the logs, use this command:

    bash
    docker logs artroll -f

    If you observe the following output, the local development node is running properly:

    bash
    ...
     7:09AM INF finalized block block_app_hash=E483920A1E1E7E492E47036300003769420813BB13BB3F25CFAFDB0DF19C144A height=3 module=BlockManager num_txs_res=0 num_val_updates=0
     7:09AM INF executed block app_hash=E483920A1E1E7E492E47036300003769420813BB13BB3F25CFAFDB0DF19C144A height=3 module=BlockManager
    @@ -75,7 +75,7 @@
     ...

    🔑 Get prefunded test accounts

    Access testing accounts by entering the artroll Docker container:

    bash
    docker exec -ti artroll /bin/bash

    Retrieve the address and private key of testing accounts using:

    bash
    # 👇 Alternatively, you can use myKey2.info, myKey3.info, myKey4.info
     ./entrypoint keyinfo --file ~/.artroll/keyring-test/mykey.info --passwd test

    This will display the testing private key and its address:

    bash
    private key: { Plain Private Key in Hex Format }
     address: { Address Associated with the Private Key }

    There are four testing accounts available in the local development node for interacting with the EVM chain.

    ⚙️ Configuring the Node

    You can modify runtime parameters of the Artela development node by adjusting its configuration files. Follow the steps below to make these changes.

    To configure the development node, first access the Docker container by running the following command:

    bash
    docker exec -it artroll /bin/bash

    Inside the container, you will need to modify the following configuration files:

    • /root/.artroll/config/app.toml
    • /root/.artroll/config/config.toml

    After making the necessary changes, return to the Docker host and restart the container to apply the new configuration:

    bash
    docker compose restart artroll

    🧪 Build on EVM++

    Let’s dive into Artela EVM++ by kicking off with the Hello World project, the following code will guide you through the essentials:

    👉 Contract interaction tutorial: Get hands-on experience with deploying and interacting with smart contracts on the Artela rollup node.

    TIP

    When you are following the Contract interaction tutorial, you need to make the following replacements:

    1. Use https://github.com/artela-network/gm-portal.git instead of the original gm-portal repo.
    2. Use the private key you obtained from the previous step in this tutorial instead of the one used in the Contract interaction tutorial.
    3. The contract address should be 0x9fcEbD70654D360b41ccD123dADAAad6ce13C788 instead of the one starts with 0x18D....

    👉 Quick Start for Aspect on EVM++: Try your first Aspect with Artela rollup node.

    TIP

    Please note that when you are following the Aspect on EVM++ tutorial, you need to make the following replacements:

    1. Replace npm install -g @artela/aspect-tool with npm install -g @artela-next/aspect-tool
    2. Replace the Artela Testnet node URL in project.config.json with http://localhost:8545 to connect to your local rollup node.
    3. Use the private key you obtained from the previous step in this tutorial instead of creating a new account.

    By now, we assume that you:

    • Have a basic understanding of Artela technology.
    • Have installed and played with Artela development tools.
    • Understand how Aspect functions and its impact on making dApps distinct and superior.
    • May already have numerous innovative ideas for building on Artela.

    📖 More to know

    If you want to gain a deeper understanding of Aspect’s capabilities and limitations to fully grasp how it can enhance or constrain your project, make sure not to overlook these essential concepts:

    💥 Build with examples

    Our community has built numbers of projects with Aspect, you can refer to these projects and modify them to learn how to use Aspect more effectively.

    Simple examples that use the basic functionalities of Aspect:

    Real-world use cases that show how to build more complex projects with Aspect:

    🛑 Stopping the Node

    To cease operations and shutdown the Artela rollup node, use:

    bash
    docker compose down

    This command halts all running containers and clears the environment.

    🎉 Conclusion

    Congratulations! You have successfully learnt some basic knowledge of EVM++ and have set up an Artela EVM++ rollup using Rollkit and local-DA. This setup enables you to test the integrated capabilities of Artela’s EVM++ with Rollkit.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/astria.html b/tutorials/astria.html deleted file mode 100644 index 1becb5206..000000000 --- a/tutorials/astria.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - Astria Sequencing | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tutorials/based.html b/tutorials/based.html deleted file mode 100644 index b466cfed8..000000000 --- a/tutorials/based.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - Based Sequencing | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tutorials/beaconkit.html b/tutorials/beaconkit.html index df10c948f..ac139d32d 100644 --- a/tutorials/beaconkit.html +++ b/tutorials/beaconkit.html @@ -9,37 +9,37 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -67,7 +67,7 @@

    Building a Sovereign Rollup with BeaconKit and Rollkit

    beaconkit

    Introduction

    This tutorial guides developers through the process of building and running a sovereign rollup using BeaconKit and Rollkit. BeaconKit is a modular framework for building EVM-based consensus clients, while Rollkit is a modular framework for building sovereign rollups. By combining these tools, you can create your own customizable rollup chain using the Ethereum Virtual Machine (EVM).

    Prerequisites

    Before you begin, ensure you have the following software installed on your machine:

    Rollkit

    Rollkit is a modular framework for sovereign rollups. Follow our Quick Start Guide to walk through the installation process. The installation script will install the Rollkit CLI, Golang, and jq if they are not already present on your machine.

    Docker

    Docker is essential for running containerized applications. Follow the provided link to install Docker on your system.

    Run a local Data Availability (DA) node

    First, set up a local data availability network node:

    bash
    cd $HOME && curl -sSL https://rollkit.dev/install-local-da.sh | sh -s v0.3.1

    This script builds and runs a DA node, which will listen on port 7980.

    Clone the BeaconKit repository

    Clone the BeaconKit repository and switch to the Rollkit branch:

    bash
    cd $HOME
    +

    Building a Sovereign Rollup with BeaconKit and Rollkit

    beaconkit

    Introduction

    This tutorial guides developers through the process of building and running a sovereign rollup using BeaconKit and Rollkit. BeaconKit is a modular framework for building EVM-based consensus clients, while Rollkit is a modular framework for building sovereign rollups. By combining these tools, you can create your own customizable rollup chain using the Ethereum Virtual Machine (EVM).

    Prerequisites

    Before you begin, ensure you have the following software installed on your machine:

    Rollkit

    Rollkit is a modular framework for sovereign rollups. Follow our Quick Start Guide to walk through the installation process. The installation script will install the Rollkit CLI, Golang, and jq if they are not already present on your machine.

    Docker

    Docker is essential for running containerized applications. Follow the provided link to install Docker on your system.

    Run a local Data Availability (DA) node

    First, set up a local data availability network node:

    bash
    cd $HOME && curl -sSL https://rollkit.dev/install-local-da.sh | sh -s v0.3.1

    This script builds and runs a DA node, which will listen on port 7980.

    Clone the BeaconKit repository

    Clone the BeaconKit repository and switch to the Rollkit branch:

    bash
    cd $HOME
     git clone -b rollkit https://github.com/rollkit/beacon-kit.git
     cd beacon-kit && git checkout rollkit

    Start the Go Ethereum (Geth) client

    Start local ephemeral Go Ethereum client to provide the execution layer:

    bash
    cd $HOME/beacon-kit
     make start-geth

    Notice within logs indicating that your Geth client is running the RPC server is listening on port 8545. You will need that port to deploy and interact with smart contracts on the BeaconKit EVM.

    Build and run the BeaconKit node

    Open a new terminal and run:

    bash
    cd $HOME/beacon-kit
    @@ -106,7 +106,7 @@
       "0x20f33ce90a13a4b5e7697e3544c3083b8f8a51d4": {
         "balance": "0x123450000000000000000"
       },

    Conclusion

    Congratulations! You've successfully set up a BeaconKit node using Rollkit, creating your own sovereign rollup. This setup demonstrates the basic functionality of combining BeaconKit with Rollkit.

    Next Steps

    To further customize your rollup chain:

    1. Experiment with different Rollkit settings to optimize performance.
    2. Consider implementing custom smart contracts on your rollup.
    3. Test the scalability and performance of your rollup under various conditions.

    Troubleshooting

    If you encounter issues:

    • Ensure all prerequisites are correctly installed and up to date.
    • Check that your local DA node is running correctly on port 7980.
    • Verify that the Geth client is properly initialized and running.
    • Review the BeaconKit logs for any specific error messages.

    For more detailed information and updates, visit the BeaconKit GitHub repository and the Rollkit documentation.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/bitcoin.html b/tutorials/bitcoin.html index fffe9cb96..b2b638960 100644 --- a/tutorials/bitcoin.html +++ b/tutorials/bitcoin.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -67,7 +67,7 @@

    Bitcoin rollup tutorial

    ☀️Introduction

    In this tutorial, we will explore how to use Rollkit to create sovereign rollups on Bitcoin. First, we will install Bitcoin Core to run a local testnet. Then, we will install and set up a Rollkit node to work with Bitcoin as a data availability layer. Lastly, we'll look at how to create a custom EVM execution environment and how to deploy a sovereign rollup on Bitcoin using Rollkit.

    By the end of this tutorial, you will have a good understanding of how Rollkit works and how to create sovereign rollups on Bitcoin using Rollkit. You will also have the knowledge and skills needed to customize Rollkit with different execution environments and data availability layers, opening up new possibilities for creating scalable and efficient blockchain applications.

    Read more in our blog post.

    rollkit-bitcoin

    📖 The stack

    Sovereign rollups on Bitcoin are made possible through a module that allows Rollkit rollups to use Bitcoin for data availability. This integration opens up possibilities for developers to create rollups with arbitrary execution environments that inherit Bitcoin’s data availability guarantees and security guarantees.

    The Taproot upgrade and Ordinals usage of Bitcoin for publishing arbitrary data made it possible to integrate Bitcoin as a data availability layer into Rollkit. The modular design of Rollkit allows for easy integration of new data availability layers, making it possible to deploy sovereign rollups on Bitcoin.

    The goal of Rollkit is to make it easy to build and customize rollups, enabling developers to build sovereign rollups on Bitcoin or customize Rollkit with different execution environments and data availability layers.

    💻 Prerequisites

    An Ubuntu machine with:

    • 8GB RAM
    • 160 GB SSD
    • Ubuntu 22.10
    • 4 core AMD CPU

    🛠️ Dependency setup

    First, make sure to update and upgrade the OS:

    bash
    sudo apt update && sudo apt upgrade -y

    These are essential packages that are necessary to execute many tasks like downloading files, compiling, and monitoring the nodes:

    bash
    sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential git make ncdu snapd npm -y

    Now, we will install the remaining dependencies.

    🏃 Golang

    We will use golang to build and run our test networks. Install it for AMD with these commands:

    bash
    ver="1.19.1"
    +

    Bitcoin rollup tutorial

    ☀️Introduction

    In this tutorial, we will explore how to use Rollkit to create sovereign rollups on Bitcoin. First, we will install Bitcoin Core to run a local testnet. Then, we will install and set up a Rollkit node to work with Bitcoin as a data availability layer. Lastly, we'll look at how to create a custom EVM execution environment and how to deploy a sovereign rollup on Bitcoin using Rollkit.

    By the end of this tutorial, you will have a good understanding of how Rollkit works and how to create sovereign rollups on Bitcoin using Rollkit. You will also have the knowledge and skills needed to customize Rollkit with different execution environments and data availability layers, opening up new possibilities for creating scalable and efficient blockchain applications.

    Read more in our blog post.

    rollkit-bitcoin

    📖 The stack

    Sovereign rollups on Bitcoin are made possible through a module that allows Rollkit rollups to use Bitcoin for data availability. This integration opens up possibilities for developers to create rollups with arbitrary execution environments that inherit Bitcoin’s data availability guarantees and security guarantees.

    The Taproot upgrade and Ordinals usage of Bitcoin for publishing arbitrary data made it possible to integrate Bitcoin as a data availability layer into Rollkit. The modular design of Rollkit allows for easy integration of new data availability layers, making it possible to deploy sovereign rollups on Bitcoin.

    The goal of Rollkit is to make it easy to build and customize rollups, enabling developers to build sovereign rollups on Bitcoin or customize Rollkit with different execution environments and data availability layers.

    💻 Prerequisites

    An Ubuntu machine with:

    • 8GB RAM
    • 160 GB SSD
    • Ubuntu 22.10
    • 4 core AMD CPU

    🛠️ Dependency setup

    First, make sure to update and upgrade the OS:

    bash
    sudo apt update && sudo apt upgrade -y

    These are essential packages that are necessary to execute many tasks like downloading files, compiling, and monitoring the nodes:

    bash
    sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential git make ncdu snapd npm -y

    Now, we will install the remaining dependencies.

    🏃 Golang

    We will use golang to build and run our test networks. Install it for AMD with these commands:

    bash
    ver="1.19.1"
     cd $HOME
     wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
     sudo rm -rf /usr/local/go
    @@ -188,7 +188,7 @@
     --private-key $ANVIL_KEY --rpc-url $RPC_URL

    We can then perform read operations with cast call:

    bash
    cast call $CONTRACT_ADDRESS "getCount()(int)" --rpc-url $RPC_URL

    🧪 Deploying to the Ethermint sovereign rollup

    Now that we've deployed and tested locally, we can deploy to our Ethermint chain.

    First, we will need to export the private key generated by the ethermint init.sh script:

    bash
    PRIVATE_KEY=$(ethermintd keys unsafe-export-eth-key mykey --keyring-backend test)

    NOTE: Here, the key name from init.sh is mykey but you can modify the init.sh to change the name of your key.

    Now, we can start deploying the smart contract to our Ethermint chain.

    To do so, run the following script:

    bash
    forge script script/Counter.s.sol:CounterScript \
     --rpc-url http://127.0.0.1:8545 --private-key $PRIVATE_KEY --broadcast

    Set the contract address in the output as the CONTRACT_ADDRESS variable:

    bash
    export CONTRACT_ADDRESS=<new-contract-address>

    Once the contract has been deployed to the Ethermint rollup, we can use cast send to test sending transactions to it:

    bash
    cast send $CONTRACT_ADDRESS "incrementCounter()" \
     --rpc-url http://127.0.0.1:8545 --private-key $PRIVATE_KEY

    We can then perform read operations with cast call:

    bash
    cast call $CONTRACT_ADDRESS "getCount()(int)" --rpc-url http://127.0.0.1:8545

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/centralized.html b/tutorials/centralized.html deleted file mode 100644 index 6e62f4037..000000000 --- a/tutorials/centralized.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - Centralized Sequencer | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Skip to content

    Centralized Sequencer

    A centralized sequencer is a sequencing middleware that receives rollup transactions and provides a local sequencing capabilities. Meaning, the transactions are ordered in the order they are received by the sequencer without any censorship. Further, the sequenced batches are made available in the DA network (such as Celestia). Under the hood, the centralized sequencer is a GRPC server that implements go-sequencing interface and the server is hosted by the same node that is running the aggregator for the Rollkit rollup.

    Rollkit with Centralized Sequencer

    Installation and Use

    sh
    git clone https://github.com/rollkit/centralized-sequencer.git
    -cd centralized-sequencer
    -make build
    -./build/centralized-sequencer -h
    sh
    Usage:
    -  -host string
    -    	centralized sequencer host (default "localhost")
    -  -port string
    -    	centralized sequencer port (default "50051")
    -  -listen-all
    -    	listen on all network interfaces (0.0.0.0) instead of just localhost
    -  -rollup-id string
    -    	rollup id (default "rollupId")
    -  -batch-time duration
    -    	time in seconds to wait before generating a new batch (default 2s)
    -  -da_address string
    -    	DA address (default "http://localhost:26658")
    -  -da_auth_token string
    -    	auth token for the DA
    -  -da_namespace string
    -    	DA namespace where the sequencer submits transactions
    -  -db_path string
    -    	path to the database

    As shown by the help command, a centralized sequencer is configured to serve a rollup (via rollup_id). The DA network to persist the sequenced batches are specified using da_address, da_auth_token and da_namespace.

    Released under the APACHE-2.0 License

    - - - - \ No newline at end of file diff --git a/tutorials/cosmwasm.html b/tutorials/cosmwasm.html index c57f7dd2c..7deec690d 100644 --- a/tutorials/cosmwasm.html +++ b/tutorials/cosmwasm.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -67,7 +67,7 @@

    🗞️ CosmWasm rollup

    CosmWasm is a smart contracting platform built for the Cosmos ecosystem by making use of WebAssembly (Wasm) to build smart contracts for Cosmos-SDK. In this tutorial, we will be exploring how to integrate CosmWasm with local DA layer using Rollkit.

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    The smart contract we will use for this tutorial is one provided by the CosmWasm team for Nameservice purchasing.

    You can check out the contract here.

    How to write the Rust smart contract for Nameservice is outside the scope of this tutorial.

    💻 CosmWasm dependency

    As with the GM Rollup, we use kurtosis to help with managing all the services we need to run. You can install kurtosis here.

    Once installed, you can verify the installation by running:

    bash
    kurtosis version
    bash
    CLI Version:   0.90.1
    +

    🗞️ CosmWasm rollup

    CosmWasm is a smart contracting platform built for the Cosmos ecosystem by making use of WebAssembly (Wasm) to build smart contracts for Cosmos-SDK. In this tutorial, we will be exploring how to integrate CosmWasm with local DA layer using Rollkit.

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    The smart contract we will use for this tutorial is one provided by the CosmWasm team for Nameservice purchasing.

    You can check out the contract here.

    How to write the Rust smart contract for Nameservice is outside the scope of this tutorial.

    💻 CosmWasm dependency

    As with the GM Rollup, we use kurtosis to help with managing all the services we need to run. You can install kurtosis here.

    Once installed, you can verify the installation by running:

    bash
    kurtosis version
    bash
    CLI Version:   0.90.1
     
     To see the engine version (provided it is running): kurtosis engine status

    🚀 Starting your rollup

    Now that we have kurtosis installed, we can launch our CosmWasm rollup along with the local DA by running the following command:

    bash
    kurtosis run github.com/rollkit/cosmwasm@v0.2.0

    You should see an output like this:

    bash
    INFO[2024-07-02T11:15:43-04:00] Creating a new enclave for Starlark to run inside...
     INFO[2024-07-11T11:53:13-04:00] Enclave 'forgotten-fen' created successfully 
    @@ -166,8 +166,8 @@
     timestamp: ""
     tx: null
     txhash: C147257485B72E7FFA5FDB943C94CE951A37817554339586FFD645AD2AA397C3

    If you try to register the same name again, you'll see an expected error:

    bash
    Error: rpc error: code = Unknown desc = rpc error: code = Unknown desc = failed to execute message; message index: 0: Name has been taken (name fred): execute wasm contract failed [CosmWasm/wasmd/x/wasm/keeper/keeper.go:364] With gas wanted: '0' and gas used: '123809' : unknown request

    Next, query the owner of the name record:

    bash
    NAME_QUERY='{"resolve_record": {"name": "fred"}}'
    -wasmd query wasm contract-state smart $CONTRACT "$NAME_QUERY" --node http://127.0.0.1:36657 --output json

    You'll see the owner's address in a JSON response:

    bash
    {"data":{"address":"wasm1y9ceqvnsnm9xtcdmhrjvv4rslgwfzmrzky2c5z"}}

    With that, we have instantiated and interacted with the CosmWasm nameservice smart contract on our local DA network using Rollkit!

    Released under the APACHE-2.0 License

    - +wasmd query wasm contract-state smart $CONTRACT "$NAME_QUERY" --node http://127.0.0.1:36657 --output json

    You'll see the owner's address in a JSON response:

    bash
    {"data":{"address":"wasm1y9ceqvnsnm9xtcdmhrjvv4rslgwfzmrzky2c5z"}}

    With that, we have instantiated and interacted with the CosmWasm nameservice smart contract on our local DA network using Rollkit!

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/tutorials/da/avail-da.html b/tutorials/da/avail-da.html index 54be8148c..ac37e5777 100644 --- a/tutorials/da/avail-da.html +++ b/tutorials/da/avail-da.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,7 +66,7 @@

    Using Avail as DA

    🌞 Introduction

    Disclaimer

    This tutorial is currently broken. Follow the work to fix this tutorial in rollkit/avail-da issue 57

    Avail DA offers scalable data availability that underpins the Avail ecosystem and ensures instantaneous and reliable data integrity, enabling rollups to grow, through the use of cutting-edge zero knowledge and KZG Polynomial commitments.

    This tutorial serves as a comprehensive guide for deploying your GM world rollup on Avail's data availability (DA) network.

    Before proceeding, ensure that you have completed the GM World rollup setup.

    Note : If you want to go through gm world setup docs for more information, you can refer GM world rollup tutorial, which covers setting up a local sovereign gm-world rollup and connecting it to a local (mock) DA node.

    🪶 Running an Avail light node

    Before you can start your rollup node, you need to initiate, sync, and possibly fund a light node on Turing Testnet which is the test network of Avail

    🚀 Using Turing Testnet

    • To fund your wallet address for using Turing Testnet: get AVAIL tokens from the faucet
    • Paste your mnemonic in the identity.toml file by creating a identity.toml with the following command: touch identity.toml Example:
    bash
    avail_secret_uri = '<paste your mnemonic here>'

    Running just an Avail light node is enough for Turing testnet. Run the Avail light node using the following command

    bash
    cargo run --release -- --network turing --app-id 1 --clean --identity identity.toml

    If you want to sync Avail light node with your desired block number, you can add the following config in your config.yaml file from here

    bash
    http_server_host = '127.0.0.1'
    +

    Using Avail as DA

    🌞 Introduction

    Disclaimer

    This tutorial is currently broken. Follow the work to fix this tutorial in rollkit/avail-da issue 57

    Avail DA offers scalable data availability that underpins the Avail ecosystem and ensures instantaneous and reliable data integrity, enabling rollups to grow, through the use of cutting-edge zero knowledge and KZG Polynomial commitments.

    This tutorial serves as a comprehensive guide for deploying your GM world rollup on Avail's data availability (DA) network.

    Before proceeding, ensure that you have completed the GM World rollup setup.

    Note : If you want to go through gm world setup docs for more information, you can refer GM world rollup tutorial, which covers setting up a local sovereign gm-world rollup and connecting it to a local (mock) DA node.

    🪶 Running an Avail light node

    Before you can start your rollup node, you need to initiate, sync, and possibly fund a light node on Turing Testnet which is the test network of Avail

    🚀 Using Turing Testnet

    • To fund your wallet address for using Turing Testnet: get AVAIL tokens from the faucet
    • Paste your mnemonic in the identity.toml file by creating a identity.toml with the following command: touch identity.toml Example:
    bash
    avail_secret_uri = '<paste your mnemonic here>'

    Running just an Avail light node is enough for Turing testnet. Run the Avail light node using the following command

    bash
    cargo run --release -- --network turing --app-id 1 --clean --identity identity.toml

    If you want to sync Avail light node with your desired block number, you can add the following config in your config.yaml file from here

    bash
    http_server_host = '127.0.0.1'
     http_server_port = 8000
     port = 38000
     sync_start_block = 322264

    After successfully starting a light node, it's time to start posting the batches of blocks of data that your rollup generates.

    🧹 Cleaning previous chain history

    From the GM world rollup tutorial, you should already have the gmd binary and the $HOME/.gm directory.

    To clear old rollup data:

    bash
    rm -r $(which gmd) && rm -rf $HOME/.gm

    🏗️ Building your rollup

    Now we need to rebuild our rollup by simply running the existing init.sh script:

    bash
    cd $HOME/gm && bash init.sh

    This process creates a new $HOME/.gm directory and a new gmd binary. Next, we need to connect our rollup to the running Avail light node.

    🛠️ Configuring flags for DA

    Now we're prepared to initiate our rollup and establish a connection with the Avail light node. The gmd start command requires two DA configuration flags:

    • --rollkit.da_start_height
    • --rollkit.da_address

    TIP

    Optionally, you could also set the --rollkit.da_block_time flag. This should be set to the finality time of the DA layer, not its actual block time, as Rollkit does not handle reorganization logic. The default value is 15 seconds.

    Let's determine what to provide for each of them.

    First, let's query the DA Layer start height using an RPC endpoint provided by Avail Labs. For local, it would be - https://localhost:8000/v1/latest_block, and for Turing Testnet - https://avail-turing-rpc.publicnode.com

    Here is an example for the local development (replace URL for Turing Testnet if needed):

    bash
    DA_BLOCK_HEIGHT=$(curl https://localhost:8000/v1/latest_block | jq -r '.result.block.header.height')
    @@ -74,8 +74,8 @@
         --rollkit.aggregator \
         --rollkit.da_address="grpc://localhost:3000" \   
         --rollkit.da_start_height $DA_BLOCK_HEIGHT \
    -    --minimum-gas-prices="0.1stake"

    Now, the rollup is running and posting blocks (aggregated in batches) to Avail. You can view your rollup by finding your account on Turing testnet

    INFO

    For details on configuring gas prices specifically for the DA network, see our DA Network Gas Price Guide. This is separate from the --minimum-gas-prices="0.025stake" setting, which is used for rollup network operations.

    🎉 Next steps

    Congratulations! You've built a local rollup that posts to Avail's testnets as well as locally. Well done! Now, go forth and build something great! Good luck!

    Released under the APACHE-2.0 License

    - + --minimum-gas-prices="0.1stake"

    Now, the rollup is running and posting blocks (aggregated in batches) to Avail. You can view your rollup by finding your account on Turing testnet

    INFO

    For details on configuring gas prices specifically for the DA network, see our DA Network Gas Price Guide. This is separate from the --minimum-gas-prices="0.025stake" setting, which is used for rollup network operations.

    🎉 Next steps

    Congratulations! You've built a local rollup that posts to Avail's testnets as well as locally. Well done! Now, go forth and build something great! Good luck!

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/tutorials/da/celestia-da.html b/tutorials/da/celestia-da.html index 92947e5db..f33f6baa3 100644 --- a/tutorials/da/celestia-da.html +++ b/tutorials/da/celestia-da.html @@ -9,36 +9,36 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + @@ -66,8 +66,8 @@

    Using Celestia as DA

    🌞 Introduction

    This tutorial serves as a comprehensive guide for deploying your rollup on Celestia's data availability (DA) network. From the Rollkit perspective, there's no difference in posting blocks to Celestia's testnets or Mainnet Beta.

    Before proceeding, ensure that you have completed the quick start tutorial, which covers installing the rollkit CLI and running a rollup against a local DA network.

    🪶 Running a Celestia light node

    Before you can start your rollup node, you need to initiate, sync, and fund a light node on one of Celestia's networks:

    The main difference lies in how you fund your wallet address: using testnet TIA or TIA for Mainnet Beta.

    After successfully starting a light node, it's time to start posting the batches of blocks of data that your rollup generates to Celestia.

    🏗️ Prerequisites

    🛠️ Configuring flags for DA

    Now that we are posting to the Celestia DA instead of the local DA, the rollkit start command requires three DA configuration flags:

    • --rollkit.da_start_height
    • --rollkit.da_auth_token
    • --rollkit.da_namespace

    TIP

    Optionally, you could also set the --rollkit.da_block_time flag. This should be set to the finality time of the DA layer, not its actual block time, as Rollkit does not handle reorganization logic. The default value is 15 seconds.

    Let's determine which values to provide for each of them.

    First, let's query the DA layer start height using our light node.

    bash
    DA_BLOCK_HEIGHT=$(celestia header network-head | jq -r '.result.header.height')
    -echo -e "\n Your DA_BLOCK_HEIGHT is $DA_BLOCK_HEIGHT \n"

    The output of the command above will look similar to this:

    bash
     Your DA_BLOCK_HEIGHT is 2127672

    Now, let's obtain the authentication token of your light node using the following command:

    bash
    AUTH_TOKEN=$(celestia light auth write --p2p.network arabica)
    +

    Using Celestia as DA

    🌞 Introduction

    This tutorial serves as a comprehensive guide for deploying your rollup on Celestia's data availability (DA) network. From the Rollkit perspective, there's no difference in posting blocks to Celestia's testnets or Mainnet Beta.

    Before proceeding, ensure that you have completed the quick start tutorial, which covers installing the rollkit CLI and running a rollup against a local DA network.

    🪶 Running a Celestia light node

    Before you can start your rollup node, you need to initiate, sync, and fund a light node on one of Celestia's networks:

    The main difference lies in how you fund your wallet address: using testnet TIA or TIA for Mainnet Beta.

    After successfully starting a light node, it's time to start posting the batches of blocks of data that your rollup generates to Celestia.

    🏗️ Prerequisites

    🛠️ Configuring flags for DA

    Now that we are posting to the Celestia DA instead of the local DA, the rollkit start command requires three DA configuration flags:

    • --rollkit.da_start_height
    • --rollkit.da_auth_token
    • --rollkit.da_namespace

    TIP

    Optionally, you could also set the --rollkit.da_block_time flag. This should be set to the finality time of the DA layer, not its actual block time, as Rollkit does not handle reorganization logic. The default value is 15 seconds.

    Let's determine which values to provide for each of them.

    First, let's query the DA layer start height using our light node.

    bash
    DA_BLOCK_HEIGHT=$(celestia header network-head | jq -r '.result.header.height')
    +echo -e "\n Your DA_BLOCK_HEIGHT is $DA_BLOCK_HEIGHT \n"

    The output of the command above will look similar to this:

    bash
     Your DA_BLOCK_HEIGHT is 2127672

    Now, let's obtain the authentication token of your light node using the following command:

    bash
    AUTH_TOKEN=$(celestia light auth write --p2p.network arabica)
     echo -e "\n Your DA AUTH_TOKEN is $AUTH_TOKEN \n"
    bash
    AUTH_TOKEN=$(celestia light auth write --p2p.network mocha)
     echo -e "\n Your DA AUTH_TOKEN is $AUTH_TOKEN \n"
    bash
    AUTH_TOKEN=$(celestia light auth write)
     echo -e "\n Your DA AUTH_TOKEN is $AUTH_TOKEN \n"

    The output of the command above will look similar to this:

    bash
     Your DA AUTH_TOKEN is eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBbGxvdyI6WyJwdWJsaWMiLCJyZWFkIiwid3JpdGUiXX0.cSrJjpfUdTNFtzGho69V0D_8kyECn9Mzv8ghJSpKRDE

    Next, let's set up the namespace to be used for posting data on Celestia:

    bash
    DA_NAMESPACE=00000000000000000000000000000000000000000008e5f679bf7116cb

    TIP

    00000000000000000000000000000000000000000008e5f679bf7116cb is a default namespace for Mocha testnet. You can set your own by using a command similar to this (or, you could get creative 😎):

    bash
    openssl rand -hex 10

    Replace the last 20 characters (10 bytes) in 00000000000000000000000000000000000000000008e5f679bf7116cb with the newly generated 10 bytes.

    Learn more about namespaces.

    Lastly, set your DA address for your light node, which by default runs at port 26658:

    bash
    DA_ADDRESS=http://localhost:26658

    🔥 Running your rollup connected to Celestia light node

    Finally, let's initiate the rollup node with all the flags:

    bash
    rollkit start \
    @@ -76,7 +76,7 @@
         --rollkit.da_namespace $DA_NAMESPACE \
         --rollkit.da_start_height $DA_BLOCK_HEIGHT \
         --rollkit.da_address $DA_ADDRESS

    Now, the rollup is running and posting blocks (aggregated in batches) to Celestia. You can view your rollup by using your namespace or account on one of Celestia's block explorers.

    For example, here on Celenium for Arabica.

    Other explorers:

    🎉 Next steps

    Congratulations! You've built a local rollup that posts data to Celestia's DA layer. Well done! Now, go forth and build something great! Good luck!

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/da/local-da.html b/tutorials/da/local-da.html index 9cb5dee89..1cd887a51 100644 --- a/tutorials/da/local-da.html +++ b/tutorials/da/local-da.html @@ -9,37 +9,37 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -67,11 +67,11 @@

    Using Local DA

    Introduction

    This tutorial serves as a comprehensive guide for using the local-da with your chain.

    Before proceeding, ensure that you have completed the quick start or build a chain tutorial, which covers installing the rollkit CLI, building your chain, and running your chain.

    Setting Up a Local DA Network

    To set up a local DA network node on your machine, run the following script to install and start the local DA node:

    bash
    curl -sSL https://rollkit.dev/install-local-da.sh | bash -s v0.3.1

    This script will build and run the node, which will then listen on port 7980.

    Configuring your rollup to connect to the local DA network

    To connect your rollup to the local DA network, you need to pass the --rollkit.da_address flag with the local DA node address.

    Run your rollup

    Start your rollup node with the following command, ensuring to include the DA address flag:

    sh
    rollkit start --rollkit.da_address http://localhost:7980
    sh
    rollkit start \
    +

    Using Local DA

    Introduction

    This tutorial serves as a comprehensive guide for using the local-da with your chain.

    Before proceeding, ensure that you have completed the quick start or build a chain tutorial, which covers installing the rollkit CLI, building your chain, and running your chain.

    Setting Up a Local DA Network

    To set up a local DA network node on your machine, run the following script to install and start the local DA node:

    bash
    curl -sSL https://rollkit.dev/install-local-da.sh | bash -s v0.3.1

    This script will build and run the node, which will then listen on port 7980.

    Configuring your rollup to connect to the local DA network

    To connect your rollup to the local DA network, you need to pass the --rollkit.da_address flag with the local DA node address.

    Run your rollup

    Start your rollup node with the following command, ensuring to include the DA address flag:

    sh
    rollkit start --rollkit.da_address http://localhost:7980
    sh
    rollkit start \
         --rollkit.aggregator \
         --rollkit.da_address http://localhost:7980 \
         --rollkit.sequencer_rollup_id wordle

    You should see the following log message indicating that your rollup is connected to the local DA network:

    shell
    I[2024-11-15|14:54:19.842] DA server is already running                 module=main address=http://localhost:7980

    Summary

    By following these steps, you will set up a local DA network node and configure your rollup to post data to it. This setup is useful for testing and development in a controlled environment.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/da/overview.html b/tutorials/da/overview.html index d960e4932..c178e52e4 100644 --- a/tutorials/da/overview.html +++ b/tutorials/da/overview.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,7 +66,7 @@

    DA

    Now that you have the foundations of running and building a rollup with Rollkit, it is time to start customizing it to fit your needs.

    The first choice you need to make is which data availability (DA) layer to use. The DA layer is a critical component of a blockchain, as it provides the data availability and finality guarantees that your chain needs to operate securely.

    Rollkit uses the go-da interface to communicate to DA layers. Any DA layer that implements this interface can be used with Rollkit.

    Go DA

    The go-da interface defines the core functions required to interact with a DA layer. Probably the two most important functions being Get and Submit.

    go
    // DA defines very generic interface for interaction with Data Availability layers.
    +

    DA

    Now that you have the foundations of running and building a rollup with Rollkit, it is time to start customizing it to fit your needs.

    The first choice you need to make is which data availability (DA) layer to use. The DA layer is a critical component of a blockchain, as it provides the data availability and finality guarantees that your chain needs to operate securely.

    Rollkit uses the go-da interface to communicate to DA layers. Any DA layer that implements this interface can be used with Rollkit.

    Go DA

    The go-da interface defines the core functions required to interact with a DA layer. Probably the two most important functions being Get and Submit.

    go
    // DA defines very generic interface for interaction with Data Availability layers.
     type DA interface {
     	// Get returns Blob for each given ID, or an error.
     	Get(ctx context.Context, ids []ID, namespace Namespace) ([]Blob, error)
    @@ -74,7 +74,7 @@
     	// Submit submits the Blobs to Data Availability layer.
     	Submit(ctx context.Context, blobs []Blob, gasPrice float64, namespace Namespace) ([]ID, error)
     }

    DA layers can integrate the go-da interface directly into their node like Celestia, or they can define a middleware service like Avail.

    Mock DA

    You might have noticed that we did not define any DA layer during the quick start or build a chain tutorials. This is because we used a mock DA layer that is built into Rollkit.

    If you revisit the logs from those tutorials, you will see one of the first lines being:

    shell
    I[2024-11-15|14:09:41.735] Starting mock DA server                      module=main address=http://localhost:26658

    The mock DA layer is a simple in-memory DA layer that is great for testing and development. It is not suitable for production use, as it does not provide the data availability and finality guarantees that a real DA layer would.

    DA Layers

    Now that you have a better understanding of what a DA layer is, you can start to explore the different DA layers that are available to use with Rollkit.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/deploy-overview.html b/tutorials/deploy-overview.html index 38f6fab05..946250d9d 100644 --- a/tutorials/deploy-overview.html +++ b/tutorials/deploy-overview.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,8 +66,8 @@

    Deploying Your Rollup

    One of the benefits of building rollups with Rollkit is the flexibility you have as a developer to choose things like the DA layer, the settlement scheme, and the execution environment.

    The challenge that comes with this flexibility is that there are more services that now need to be deployed and managed while running your rollup.

    In the tutorials so far, you've seen various helper scripts used to make things easier. While great for tutorials, there are better ways to deploy and manage rollups than using various bash scripts.

    In this section, you'll see a few examples of how you can deploy your rollup environment with all your services running in a more production-ready way.

    Disclaimer

    These examples are for educational purposes only. Before deploying your rollup for production use you should fully understand the services you are deploying and your choice in deployment method.

    Released under the APACHE-2.0 License

    - +

    Deploying Your Rollup

    One of the benefits of building rollups with Rollkit is the flexibility you have as a developer to choose things like the DA layer, the settlement scheme, and the execution environment.

    The challenge that comes with this flexibility is that there are more services that now need to be deployed and managed while running your rollup.

    In the tutorials so far, you've seen various helper scripts used to make things easier. While great for tutorials, there are better ways to deploy and manage rollups than using various bash scripts.

    In this section, you'll see a few examples of how you can deploy your rollup environment with all your services running in a more production-ready way.

    Disclaimer

    These examples are for educational purposes only. Before deploying your rollup for production use you should fully understand the services you are deploying and your choice in deployment method.

    Released under the APACHE-2.0 License

    + \ No newline at end of file diff --git a/tutorials/docker-compose.html b/tutorials/docker-compose.html index f31ed4c3b..e3a33bce0 100644 --- a/tutorials/docker-compose.html +++ b/tutorials/docker-compose.html @@ -9,38 +9,38 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -68,7 +68,7 @@

    🐳 Docker Compose

    This tutorial is going to show you how to deploy the wordle chain using Docker Compose.

    You can learn more about Docker Compose here.

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    💻 Pre-requisites

    Make sure you have your wordle chain ready by completing the Build your chain tutorial.

    🛠️ Dependencies

    💻 Docker Compose

    You can install docker compose here.

    Once installed, you can verify the installation by running:

    bash
    docker compose version
    bash
    Docker Compose version v2.23.0-desktop.1

    🛠️ Setting up your environment

    In addition to our chain, we need to run a DA and Sequencer node.

    We will use the local-da and local-sequencer for this tutorial and run it with our chain.

    To save time, we can use their respective Dockerfiles:

    This will allow us to focus on how we can run the wordle chain with Docker Compose.

    🐳 Dockerfile

    First, we need to create a Dockerfile for our wordle chain. Create a new file called Dockerfile in the root of the wordle directory and add the following code:

    dockerfile
    # Stage 1: Install ignite CLI and rollkit
    +

    🐳 Docker Compose

    This tutorial is going to show you how to deploy the wordle chain using Docker Compose.

    You can learn more about Docker Compose here.

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    💻 Pre-requisites

    Make sure you have your wordle chain ready by completing the Build your chain tutorial.

    🛠️ Dependencies

    💻 Docker Compose

    You can install docker compose here.

    Once installed, you can verify the installation by running:

    bash
    docker compose version
    bash
    Docker Compose version v2.23.0-desktop.1

    🛠️ Setting up your environment

    In addition to our chain, we need to run a DA and Sequencer node.

    We will use the local-da and local-sequencer for this tutorial and run it with our chain.

    To save time, we can use their respective Dockerfiles:

    This will allow us to focus on how we can run the wordle chain with Docker Compose.

    🐳 Dockerfile

    First, we need to create a Dockerfile for our wordle chain. Create a new file called Dockerfile in the root of the wordle directory and add the following code:

    dockerfile
    # Stage 1: Install ignite CLI and rollkit
     FROM golang as base
     
     # Install dependencies
    @@ -189,7 +189,7 @@
     86f9bfa5b6d2   wordle            "rollkit start --rol…"   7 minutes ago    Up 3 seconds                              wordle
     67a2c3058e01   local-sequencer   "local-sequencer -li…"   11 minutes ago   Up 3 seconds   0.0.0.0:50051->50051/tcp   local-sequencer
     dae3359665f8   local-da          "local-da -listen-all"   2 hours ago      Up 3 seconds   0.0.0.0:7980->7980/tcp     local-da

    We can see the wordle chain running in container wordle and the local DA network running in container local-da.

    Since our chain is running in a docker container, we want to enter the docker container to interact with it via the Rollkit CLI. We can do this by running:

    bash
    docker exec -it wordle sh

    Now that you are in the docker container, you can interact with the chain using the Rollkit CLI and the example commands you used in the Wordle tutorial.

    Once you are done interacting with your chain, you can exit out of your docker container with:

    bash
    exit

    Then you can shut down your chain environment by running CRTL+C in your terminal.

    🎉 Next steps

    Congratulations again! You now know how to run your chain with docker compose and interact with it using the Rollkit CLI in the docker container.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/evm-contract-interaction.html b/tutorials/evm-contract-interaction.html index 1f9df1727..0a6bbeaef 100644 --- a/tutorials/evm-contract-interaction.html +++ b/tutorials/evm-contract-interaction.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,7 +66,7 @@

    Smart Contract Interaction on EVM Rollup

    In this tutorial, you will deploy a smart contract to your EVM rollup and interact with it on a frontend. This tutorial assumes that you spinned up an EVM rollup, know it's RPC URL, and have funded an account on it.

    Install Foundry

    To install Foundry, run the following commands:

    bash
    curl -L https://foundry.paradigm.xyz | bash
    +

    Smart Contract Interaction on EVM Rollup

    In this tutorial, you will deploy a smart contract to your EVM rollup and interact with it on a frontend. This tutorial assumes that you spinned up an EVM rollup, know it's RPC URL, and have funded an account on it.

    Install Foundry

    To install Foundry, run the following commands:

    bash
    curl -L https://foundry.paradigm.xyz | bash
     foundryup

    Funds

    Here is the private key and derived address of the account for you to be used in this tutorial (make sure to fund it with some ETH):

    bash
    PrivateKey: 0xfffdbb37105441e14b0ee6330d855d8504ff39e705c3afa8f859ac9865f99306
     Address: 0x20f33CE90A13a4b5E7697E3544c3083B8F8A51D4

    Frontend

    Now we will make a frontend with a smart contract on our EVM rollup. First, clone the GM Portal repository:

    bash
    cd $HOME
     git clone https://github.com/rollkit/gm-portal.git
    @@ -100,7 +100,7 @@
     yarn && yarn dev

    Now, your frontend is running! We'll display and interact with our smart contract on our frontend.

    First, you will need to change the contract address on gm-portal/frontend/src/App.tsx to your contract address from above before you can interact with the contract on the frontend:

    TIP

    Only if you changed the contract, you will need to update the ABI in gm-portal/frontend/GmPortal.json from gm-portal/contracts/out/GmPortal.sol/GmPortal.json. This can be done with:

    bash
    cd $HOME
     cp gm-portal/contracts/out/GmPortal.sol/GmPortal.json gm-portal/frontend

    Interact with the frontend

    In order to interact with the contract on the frontend, you'll need to fund an account that you have in your Ethereum wallet or add the private key from above into your wallet.

    To transfer to an external account, use this command:

    bash
    export RECEIVER=<receiver ETH address>
     cast send --private-key $PRIVATE_KEY $RECEIVER --value 1ether --rpc-url $RPC_URL

    If you are in a different terminal than the one you set the private key in originally, you may need to set it again.

    Now, login with your wallet that you funded, and post a ooga booga on your ooga booga portal!

    frontend-evm

    Conclusion

    You have successfully deployed a smart contract to your EVM rollup and interacted with it on a frontend. You can now build more complex applications on your EVM rollup!

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/forced.html b/tutorials/forced.html deleted file mode 100644 index e8d0c3d1d..000000000 --- a/tutorials/forced.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - Forced Inclusion | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tutorials/gm-world.html b/tutorials/gm-world.html index a812618f4..6b4bb8c35 100644 --- a/tutorials/gm-world.html +++ b/tutorials/gm-world.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -67,7 +67,7 @@

    GM world rollup

    🌞 Introduction

    This tutorial will guide you through building a sovereign gm-world rollup (gm stands for "good morning") using Rollkit. Unlike the quick start guide, this tutorial provides a more practical approach to understanding sovereign rollup development.

    We will cover:

    • Building and configuring a Cosmos-SDK application-specific rollup blockchain.
    • Posting rollup data to a Data Availability (DA) network.
    • Executing transactions (the end goal).

    No prior understanding of the build process is required, just that it utilizes the Cosmos SDK for blockchain applications.

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    🛠️ Dependencies

    As we move into more advanced use cases, we use kurtosis to help with managing all the services we need to run. You can install kurtosis here.

    Once installed, you can verify the installation by running:

    bash
    kurtosis version
    bash
    CLI Version:   0.90.1
    +

    GM world rollup

    🌞 Introduction

    This tutorial will guide you through building a sovereign gm-world rollup (gm stands for "good morning") using Rollkit. Unlike the quick start guide, this tutorial provides a more practical approach to understanding sovereign rollup development.

    We will cover:

    • Building and configuring a Cosmos-SDK application-specific rollup blockchain.
    • Posting rollup data to a Data Availability (DA) network.
    • Executing transactions (the end goal).

    No prior understanding of the build process is required, just that it utilizes the Cosmos SDK for blockchain applications.

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    🛠️ Dependencies

    As we move into more advanced use cases, we use kurtosis to help with managing all the services we need to run. You can install kurtosis here.

    Once installed, you can verify the installation by running:

    bash
    kurtosis version
    bash
    CLI Version:   0.90.1
     
     To see the engine version (provided it is running): kurtosis engine status

    🚀 Starting your rollup

    Now that we have kurtosis installed, we can launch our GM rollup along with the local DA by running the following command:

    bash
    kurtosis run github.com/rollkit/gm@v0.3.1

    You should see an output like this:

    bash
    INFO[2024-07-02T11:15:43-04:00] Creating a new enclave for Starlark to run inside...
     INFO[2024-07-02T11:15:46-04:00] Enclave 'sparse-grotto' created successfully
    @@ -187,7 +187,7 @@
     pagination:
       next_key: null
       total: "0"

    📦 GM world UI app

    Now that you have an idea of how to interact with the rollup with the rollkit CLI, let's look at the user interface (UI) application aspect of connecting a wallet to a rollup.

    Connecting your wallet to your rollup is as straightforward as connecting to any other blockchain. It assumes you have the Keplr wallet extension installed in your browser.

    🔗 Connecting your wallet

    Kurtosis spun up a UI app alongside your rollup already, so to connect your Keplr wallet to the application, simply open your browser and go to http://localhost:3000.

    Click the "Connect Wallet" button on the page, and approve the connection request in the Keplr prompt.

    Once authorized, your wallet address will be displayed, confirming that your wallet is successfully connected.

    gm-world-frontend-connected

    TIP

    If you run into any issues, make sure your Keplr wallet is updated and set to connect to your local environment.

    🎉 Next steps

    Congratulations! You've experienced connecting to a rollup from the user side — simple and straightforward. Now, you might consider exploring how to add more application logic to your rollup using the Cosmos SDK, as demonstrated in our Wordle App tutorial.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/kurtosis.html b/tutorials/kurtosis.html index 518944de6..3b918867e 100644 --- a/tutorials/kurtosis.html +++ b/tutorials/kurtosis.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -67,7 +67,7 @@

    🟩 Kurtosis

    This tutorial is going to show you how to deploy the wordle chain using Kurtosis.

    You can learn more about Kurtosis here.

    Disclaimer

    Kurtosis currently does not fully support data persistence across runs, because of this it is not recommended for production use.

    This tutorial is WIP and does not currently support the new sequencing API introduced in rollkit v0.14.0

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    💻 Pre-requisites

    Make sure you have your wordle chain ready by completing the Build your chain tutorial.

    🛠️ Dependencies

    💻 Kurtosis CLI

    You can install the kurtosis cli here.

    Once installed, you can verify the installation by running:

    bash
    kurtosis version
    bash
    CLI Version:   1.3.1
    +

    🟩 Kurtosis

    This tutorial is going to show you how to deploy the wordle chain using Kurtosis.

    You can learn more about Kurtosis here.

    Disclaimer

    Kurtosis currently does not fully support data persistence across runs, because of this it is not recommended for production use.

    This tutorial is WIP and does not currently support the new sequencing API introduced in rollkit v0.14.0

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    💻 Pre-requisites

    Make sure you have your wordle chain ready by completing the Build your chain tutorial.

    🛠️ Dependencies

    💻 Kurtosis CLI

    You can install the kurtosis cli here.

    Once installed, you can verify the installation by running:

    bash
    kurtosis version
    bash
    CLI Version:   1.3.1
     
     To see the engine version (provided it is running): kurtosis engine status

    🛠️ Setting up your environment

    The wordle chain is a relatively simple chain in that there are just 2 nodes involved: the chain and the data availability network (DA) node.

    We will use a local DA node for this tutorial and run it in the same Kurtosis enclave as our chain.

    To save time, we can use the local DA kurtosis package found here.

    This will allow us to focus on how we can run the wordle chain in Kurtosis.

    🐳 Dockerfile

    First, we need to create a Dockerfile for our wordle chain.

    Create a new file called Dockerfile in the root of the wordle directory and add the following code from the Docker Compose tutorial.

    This Dockerfile sets up the environment to build the chain and run the wordle node. It then sets up the runtime environment to run the chain. This allows you as the developer to modify any files, and then simply rebuild the Docker image to run the new chain.

    Build the docker image by running the following command:

    bash
    docker build -t wordle .

    You can then see the built image by running:

    bash
    docker images

    You should see the following output:

    bash
    REPOSITORY  TAG     IMAGE ID       CREATED         SIZE
     wordle      latest  5d3533c1ea1c   8 seconds ago   443MB

    🟢 Kurtosis

    To initialize a kurtosis package, run the following command:

    bash
    kurtosis package init

    This will create a kurtosis.yml file and a main.star file. The kurtosis.yml file is where you define your package. Open it and update it to something like the following:

    yaml
    name: github.com/rollkit/wordle
    @@ -177,7 +177,7 @@
     6:57PM INF Creating and publishing block height=8 module=BlockManager
     6:57PM INF finalized block block_app_hash=C93D26AEE9B611952C8122DEB67DBAD95B3604F5C9C5DFBA95A3E7A4CF0AF641 height=8 module=BlockManager num_txs_res=0 num_val_updates=0
     ...

    Since our chain is running in a docker container, we want to enter the docker container to interact with it via the Rollkit CLI. We can do this by running:

    bash
    docker exec -it $WORDLE sh

    Now that you are in the docker container, you can interact with the chain using the Rollkit CLI and the example commands you used in the Wordle tutorial.

    Once you are done interacting with your chain, you can exit out of your docker container with:

    bash
    exit

    Then you can shut down your chain and kurtosis by running:

    bash
    kurtosis clean -a

    🎉 Next steps

    Congratulations again! You now know how to run your chain with Kurtosis and interact with it using the Rollkit CLI in the docker container.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/octane-evm.html b/tutorials/octane-evm.html index 50dca09af..e6d3ee57b 100644 --- a/tutorials/octane-evm.html +++ b/tutorials/octane-evm.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -66,10 +66,10 @@

    Quick start guide for Omni Octane with Rollkit

    This guide will help you quickly set up and run an Omni node using Rollkit and local-DA.

    📦 Clone the Omni repository

    To get started, clone the Omni repository with the Rollkit branch:

    bash
    git clone -b rollkit https://github.com/rollkit/omni.git
    +

    Quick start guide for Omni Octane with Rollkit

    This guide will help you quickly set up and run an Omni node using Rollkit and local-DA.

    📦 Clone the Omni repository

    To get started, clone the Omni repository with the Rollkit branch:

    bash
    git clone -b rollkit https://github.com/rollkit/omni.git
     cd omni

    🏗️ Build Docker images

    Before running Omni, you need to build the Docker images. This step requires GoReleaser to be installed on your system. If you don't have GoReleaser, you'll need to install it first:

    • On macOS with Homebrew:
      bash
      brew install goreleaser
    • On Linux or Windows with Go installed:
      bash
      go install github.com/goreleaser/goreleaser@latest

    Make sure GoReleaser is in your PATH after installation.

    Once GoReleaser is installed, run the following command to build the Docker images:

    bash
    make build-docker

    This command will build all the necessary Docker images for running Omni with Rollkit.

    If you encounter any issues with GoReleaser or the build process, make sure you have sufficient free space on your machine. You can check your available disk space using the df -h command on Linux/macOS or powershell -command "Get-PSDrive -PSProvider 'FileSystem'" on Windows.

    🚀 Deploy Omni with Rollkit and local-DA

    To start your Omni node with Rollkit and local-DA, execute:

    bash
    make devnet-zero-deploy

    Upon execution, the command will set up and start your Omni node. You should see output indicating the progress and status of your node. Notice the EVM Chain RPC available message, which indicates that the Omni node is ready to accept EVM transactions:

    bash
    24-07-22 20:29:03.655 INFO EVM Chain RPC available                  chain_id=1651 chain_name=omni_evm url=http://127.0.0.1:8000

    🧪 Smart Contract Deployment and Interaction

    To deploy and interact with smart contracts on the Omni EVM, you can use the tools you are already familiar with, follow our Contract interaction tutorial to get a hands on experience.

    To fund your account with some tokens, you can use the omni-cli, which needs to be installed first:

    bash
    make install-cli # install omni cli 
     omni devnet fund --rpc-url http://127.0.0.1:8000 --address=<your address>

    🛑 Stopping the node

    When you're done and want to stop the Omni node, use the following command:

    bash
    make devnet-zero-clean

    This will stop all running containers and clean up the environment.

    🎉 Conclusion

    That's it! You've successfully set up and run an Omni node with Rollkit and local-DA. This setup allows you to experiment with Omni's capabilities integrated with Rollkit.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/polaris-evm.html b/tutorials/polaris-evm.html index 15ce8168c..fea079488 100644 --- a/tutorials/polaris-evm.html +++ b/tutorials/polaris-evm.html @@ -9,34 +9,34 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -67,7 +67,7 @@

    Polaris EVM and Rollkit

    DANGER

    We regret to inform that Polaris V1 and Rollkit integration is not fully functional. Current issues are tracked in https://github.com/rollkit/rollkit/issues/1594. We are expecting Polaris V2 release soon and Rollkit support will be added along with update tutorial.

    This tutorial provides step-by-step instructions for running the Polaris EVM using Rollkit. Polaris EVM is a version of the Ethereum Virtual Machine (EVM) that is designed to run the Berachain network. This version has been modified to use Celestia as a data availability layer. This integration uses a local-celestia-devnet. Rollkit is used to deploy a Polaris EVM rollup without needing to set up a data availability and consensus network.

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    Prerequisites

    Before you can run Polaris EVM using Rollkit, you need to have the following software installed on your machine:

    • Docker running on your machine
    • Go version >= 1.21.0

    Run a local-celestia-devnet

    Before you can start Polaris EVM, you need to start a local-celestia-devnet instance in a separate terminal:

    bash
    docker run -t -i --platform linux/amd64 -p 26650:26650 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 ghcr.io/rollkit/local-celestia-devnet:v0.12.6

    Clone the repo

    To get started, clone the Polaris repository and switch to the Rollkit branch:

    bash
    cd $HOME
    +

    Polaris EVM and Rollkit

    DANGER

    We regret to inform that Polaris V1 and Rollkit integration is not fully functional. Current issues are tracked in https://github.com/rollkit/rollkit/issues/1594. We are expecting Polaris V2 release soon and Rollkit support will be added along with update tutorial.

    This tutorial provides step-by-step instructions for running the Polaris EVM using Rollkit. Polaris EVM is a version of the Ethereum Virtual Machine (EVM) that is designed to run the Berachain network. This version has been modified to use Celestia as a data availability layer. This integration uses a local-celestia-devnet. Rollkit is used to deploy a Polaris EVM rollup without needing to set up a data availability and consensus network.

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    Prerequisites

    Before you can run Polaris EVM using Rollkit, you need to have the following software installed on your machine:

    • Docker running on your machine
    • Go version >= 1.21.0

    Run a local-celestia-devnet

    Before you can start Polaris EVM, you need to start a local-celestia-devnet instance in a separate terminal:

    bash
    docker run -t -i --platform linux/amd64 -p 26650:26650 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 ghcr.io/rollkit/local-celestia-devnet:v0.12.6

    Clone the repo

    To get started, clone the Polaris repository and switch to the Rollkit branch:

    bash
    cd $HOME
     git clone https://github.com/berachain/polaris.git
     cd polaris && git checkout rollkit

    Install Foundry

    bash
    curl -L https://foundry.paradigm.xyz | bash

    Start the Polaris EVM using Rollkit

    Then start the chain in your first terminal:

    bash
    cd $HOME/polaris && foundryup
     make start

    Congratulations

    You now have a Polaris EVM Rollkit rollup running! The rollup logs will begin to look similar to this:

    bash
    7:58PM INF submitting block to DA layer height=11 module=BlockManager // [!code focus]
    @@ -128,7 +128,7 @@
     DA_BLOCK_HEIGHT=$(docker exec $(docker ps -q) celestia header local-head --token $AUTH_TOKEN | jq '.result.header.height' -r) // [!code --]
     DA_BLOCK_HEIGHT=$(curl https://rpc-mocha.pops.one/block |jq -r '.result.block.header.height') // [!code ++]

    Start the EVM rollup

    Change into the Polaris directory in your terminal:

    bash
    cd $HOME/polaris
     make start

    Congratulations! Your light node is now posting your rollup's data to Celestia's Mocha testnet.

    Find an explorer to view the default namespace in the tutorial or search for your own namespace on Celenium.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/quick-start.html b/tutorials/quick-start.html index eea853939..9bb91b1c6 100644 --- a/tutorials/quick-start.html +++ b/tutorials/quick-start.html @@ -9,37 +9,37 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -67,14 +67,14 @@

    Quick start guide

    Welcome to Rollkit, a sovereign rollup framework! The easiest way to launch your sovereign rollup node is by using the Rollkit CLI.

    📦 Install Rollkit (CLI)

    To install Rollkit, run the following command in your terminal:

    bash
    curl -sSL https://rollkit.dev/install.sh | sh -s v0.14.1

    Verify the installation by checking the Rollkit version:

    bash
    rollkit version

    A successful installation will display the version number and its associated git commit hash.

    🚀 Run your sovereign rollup node

    To start a basic sovereign rollup node, execute:

    bash
    rollkit start

    Upon execution, the CLI will output log entries that provide insights into the node's initialization and operation:

    bash
    I[2024-05-01|09:58:46.001] Found private validator                      module=main keyFile=/root/.rollkit/config/priv_validator_key.json stateFile=/root/.rollkit/data/priv_validator_state.json
    +

    Quick start guide

    Welcome to Rollkit, a sovereign rollup framework! The easiest way to launch your sovereign rollup node is by using the Rollkit CLI.

    📦 Install Rollkit (CLI)

    To install Rollkit, run the following command in your terminal:

    bash
    curl -sSL https://rollkit.dev/install.sh | sh -s v0.14.1

    Verify the installation by checking the Rollkit version:

    bash
    rollkit version

    A successful installation will display the version number and its associated git commit hash.

    🚀 Run your sovereign rollup node

    To start a basic sovereign rollup node, execute:

    bash
    rollkit start

    Upon execution, the CLI will output log entries that provide insights into the node's initialization and operation:

    bash
    I[2024-05-01|09:58:46.001] Found private validator                      module=main keyFile=/root/.rollkit/config/priv_validator_key.json stateFile=/root/.rollkit/data/priv_validator_state.json
     I[2024-05-01|09:58:46.002] Found node key                               module=main path=/root/.rollkit/config/node_key.json
     I[2024-05-01|09:58:46.002] Found genesis file                           module=main path=/root/.rollkit/config/genesis.json
     ...
     I[2024-05-01|09:58:46.080] Started node                                 module=main
     I[2024-05-01|09:58:46.081] Creating and publishing block                module=BlockManager height=223
     I[2024-05-01|09:58:46.082] Finalized block                              module=BlockManager height=223 num_txs_res=0 num_val_updates=0 block_app_hash=

    🎉 Conclusion

    That's it! Your sovereign rollup node is now up and running. It's incredibly simple to start a blockchain (which is essentially what a rollup is) these days using Rollkit. Explore further and discover how you can build useful applications on Rollkit. Good luck!

    Released under the APACHE-2.0 License

    - + \ No newline at end of file diff --git a/tutorials/sequencing.html b/tutorials/sequencing.html deleted file mode 100644 index 46fe3037a..000000000 --- a/tutorials/sequencing.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - Sequencing | Rollkit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Skip to content

    Sequencing

    Rollkit prior to Sequencing

    Rollkit's aggregator node was responsible for selecting and ordering transactions for including in the rollup blocks. The Rollkit aggregator used to follow a FCFS strategy, where every transaction submitted gets included in the block in order without any censorship. Use of a different sequencing strategy or connecting to a sequencing network (e.g., Astria) was not possible. Rollkit v0.14.0 onwards makes it possible for rollkit to connect to a sequencing network and communicate via grpc.

    Sequencing Interface

    go-sequencing defines a sequencing interface for communicating between any sequencing network and Rollkit. The key functions of the interface are defined as shown below.

    go
    SubmitRollupTransaction(rollupId, data) returns (error)
    -
    -GetNextBatch(rollupId, lastBatchHash, maxBytes) returns (batch, timestamp)
    -
    -VerifyBatch(rollupId, batchHash) returns (status)

    It mainly consists of:

    • SubmitRollupTransaction relays the rollup transactions from Rollkit rollup to the sequencing network
    • GetNextBatch returns the next batch of transactions along with a deterministic timestamp
    • VerifyBatch validates the sequenced batch

    Sequencing Implementations

    An implementation of the sequencing interface mainly acts as a middleware that connects Rollkit rollup and the sequencing layer. It implements the sequencing interface functions described above. For example, centralized-sequencer is the refactored functionality from the Rollkit prior to v0.14.0. The centralized sequencer is the middleware run by the aggregator node of the Rollkit rollup. The aggregator node relays rollup transactions to centralized sequencer which then submits them to the DA network (such as Celestia). The header producer node then retrieves (via GetNextBatch) the batched transaction from the centralized sequencer to execute the transactions and produce the updated rollup state. Similarly, there are other sequencing middlewares which can be built for various sequencing strategies or even for connecting to different third-party sequencing networks.

    The sequencing implementations that are currently work in progress:

    Released under the APACHE-2.0 License

    - - - - \ No newline at end of file diff --git a/tutorials/sequencing/astria.html b/tutorials/sequencing/astria.html new file mode 100644 index 000000000..67e7c8109 --- /dev/null +++ b/tutorials/sequencing/astria.html @@ -0,0 +1,73 @@ + + + + + + Astria Sequencing | Rollkit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tutorials/sequencing/based.html b/tutorials/sequencing/based.html new file mode 100644 index 000000000..c4752d045 --- /dev/null +++ b/tutorials/sequencing/based.html @@ -0,0 +1,73 @@ + + + + + + Based Sequencing | Rollkit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tutorials/sequencing/centralized.html b/tutorials/sequencing/centralized.html new file mode 100644 index 000000000..174a4eb71 --- /dev/null +++ b/tutorials/sequencing/centralized.html @@ -0,0 +1,103 @@ + + + + + + Centralized Sequencer | Rollkit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Skip to content

    Centralized Sequencer

    A centralized sequencer is a sequencing middleware that receives rollup transactions and provides a local sequencing capabilities. Meaning, the transactions are ordered in the order they are received by the sequencer without any censorship. Further, the sequenced batches are made available in the DA network (such as Celestia). Under the hood, the centralized sequencer is a GRPC server that implements go-sequencing interface and the server is hosted by the same node that is running the aggregator for the Rollkit rollup.

    Rollkit with Centralized Sequencer

    Prerequisites

    This tutorial serves as a comprehensive guide for using the centralized-sequencer with your chain.

    Before proceeding, ensure that you have completed the quick start or build a chain tutorial, which covers installing the rollkit CLI, building your chain, and running your chain.

    TIP

    It is important to note that the centralized sequencer expects a DA layer to be running when it starts. This means that you need to launch your DA Layer before starting the centralized sequencer.

    Additionally, you should have completed one of the DA Layer tutorials and have your DA layer ready to use with the centralized sequencer. This tutorial will use the local-da layer as an example.

    Installation the Centralized Sequencer

    sh
    git clone --depth 1 --branch v0.4.0 https://github.com/rollkit/centralized-sequencer.git
    +cd centralized-sequencer
    +make build
    +./build/centralized-sequencer -h
    sh
    Usage:
    +  -host string
    +    	centralized sequencer host (default "localhost")
    +  -port string
    +    	centralized sequencer port (default "50051")
    +  -listen-all
    +    	listen on all network interfaces (0.0.0.0) instead of just localhost
    +  -rollup-id string
    +    	rollup id (default "rollupId")
    +  -batch-time duration
    +    	time in seconds to wait before generating a new batch (default 2s)
    +  -da_address string
    +    	DA address (default "http://localhost:26658")
    +  -da_auth_token string
    +    	auth token for the DA
    +  -da_namespace string
    +    	DA namespace where the sequencer submits transactions
    +  -db_path string
    +    	path to the database

    As shown by the help command, a centralized sequencer is configured to serve a rollup (via rollup_id). The DA network to persist the sequenced batches are specified using da_address, da_auth_token and da_namespace.

    Run the centralized sequencer

    TIP

    As mentioned in the prerequisities, you should have your DA layer running. These steps assume the local-da is running on http://localhost:7980.

    Start your centralized sequencer with the following command:

    sh
    ./build/centralized-sequencer -rollup-id my-rollup -da_address http://localhost:7980
    sh
    ./build/centralized-sequencer -rollup-id wordle -da_address http://localhost:7980

    Run your chain

    To connect your chain to the centralized sequencer, you need to pass the --rollkit.sequencer_address flag with the local sequencer address and the --rollkit.sequencer_rollup_id to ensure your rollup id matches what the sequencer is expecting.

    Start your chain with the following command, ensuring to include the sequencer flag:

    sh
    rollkit start \
    +    --rollkit.da_address http://localhost:7980 \
    +    --rollkit.sequencer_address localhost:50051 \
    +    --rollkit.sequencer_rollup_id my-rollup
    sh
    rollkit start \
    +    --rollkit.aggregator \
    +    --rollkit.da_address http://localhost:7980 \
    +    --rollkit.sequencer_address localhost:50051 \
    +    --rollkit.sequencer_rollup_id wordle

    You should see the following log messages indicating that your chain is connected to the local sequencer:

    sh
    I[2024-11-15|15:22:33.636] sequencer already running                 module=main address=localhost:50051
    +I[2024-11-15|15:22:33.636] make sure your rollupID matches your sequencer module=main rollupID=my-rollup

    Then after a few blocks you should see this message confirming that your sequencer is successfully submitting batches to the DA layer:

    sh
    I[2024-11-15|16:04:07.698] successfully submitted Rollkit headers to DA layer module=BlockManager gasPrice=-1 daHeight=1 headerCount=14

    Summary

    By following these steps, you will have successfully set up and connected your chain to the centralized sequencer. You can now start submitting transactions to your chain.

    Released under the APACHE-2.0 License

    + + + + \ No newline at end of file diff --git a/tutorials/sequencing/forced-inclusion.html b/tutorials/sequencing/forced-inclusion.html new file mode 100644 index 000000000..50cc4b77a --- /dev/null +++ b/tutorials/sequencing/forced-inclusion.html @@ -0,0 +1,73 @@ + + + + + + Forced Inclusion | Rollkit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tutorials/sequencing/local.html b/tutorials/sequencing/local.html new file mode 100644 index 000000000..dd52f66c4 --- /dev/null +++ b/tutorials/sequencing/local.html @@ -0,0 +1,80 @@ + + + + + + Local Sequencer | Rollkit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Skip to content

    Local Sequencer

    Introduction

    This tutorial serves as a comprehensive guide for using the local-sequencer with your chain.

    Before proceeding, ensure that you have completed the quick start or build a chain tutorial, which covers installing the rollkit CLI, building your chain, and running your chain.

    Setting Up a Local Local Sequencer

    To set up a local sequencer on your machine, run the following script to install and start the local sequencer:

    bash
    curl -sSL https://rollkit.dev/install-local-sequencer.sh | bash -s v0.4.1 my-rollup
    bash
    curl -sSL https://rollkit.dev/install-local-sequencer.sh | bash -s v0.4.1 wordle

    This script will build and run the sequencer, which will then listen on port 50051 with the rollup-id of your chain.

    Configuring your chain to connect to the local sequencer

    To connect your chain to the local sequencer, you need to pass the --rollkit.sequencer_address flag with the centralized sequencer address and the --rollkit.sequencer_rollup_id to ensure your rollup id matches what the sequencer is expecting.

    Run your chain

    Start your chain with the following command, ensuring to include the sequencer flag:

    sh
    rollkit start \
    +    --rollkit.sequencer_address localhost:50051 \
    +    --rollkit.sequencer_rollup_id my-rollup
    sh
    rollkit start \
    +    --rollkit.aggregator \
    +    --rollkit.sequencer_address localhost:50051 \
    +    --rollkit.sequencer_rollup_id wordle

    You should see the following log messages indicating that your chain is connected to the local sequencer:

    sh
    I[2024-11-15|15:22:33.636] sequencer already running                 module=main address=localhost:50051
    +I[2024-11-15|15:22:33.636] make sure your rollupID matches your sequencer module=main rollupID=my-rollup

    Summary

    By following these steps, you will have successfully set up and connected your chain to the local sequencer. You can now start submitting transactions to your chain.

    Released under the APACHE-2.0 License

    + + + + \ No newline at end of file diff --git a/tutorials/sequencing/overview.html b/tutorials/sequencing/overview.html new file mode 100644 index 000000000..8baaebb65 --- /dev/null +++ b/tutorials/sequencing/overview.html @@ -0,0 +1,77 @@ + + + + + + Sequencing | Rollkit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Skip to content

    Sequencing

    The next step after choosing your DA layer is to choose your sequencing scheme.

    Rollkit prior to Sequencing

    Rollkit's aggregator node was responsible for selecting and ordering transactions for including in the rollup blocks. The Rollkit aggregator used to follow a FCFS strategy, where every transaction submitted gets included in the block in order without any censorship. Use of a different sequencing strategy or connecting to a sequencing network (e.g., Astria) was not possible. Rollkit v0.14.0 onwards makes it possible for rollkit to connect to a sequencing network and communicate via grpc.

    Sequencing Interface

    go-sequencing defines a sequencing interface for communicating between any sequencing network and Rollkit. The key functions of the interface are defined as shown below.

    go
    SubmitRollupTransaction(rollupId, data) returns (error)
    +
    +GetNextBatch(rollupId, lastBatchHash, maxBytes) returns (batch, timestamp)
    +
    +VerifyBatch(rollupId, batchHash) returns (status)

    It mainly consists of:

    • SubmitRollupTransaction relays the rollup transactions from Rollkit rollup to the sequencing network
    • GetNextBatch returns the next batch of transactions along with a deterministic timestamp
    • VerifyBatch validates the sequenced batch

    Mock Sequencer

    You might have noticed that we did not define a specific sequencer during the quick start or build a chain tutorials. This is because we used a mock sequencer that is built into Rollkit.

    If you revisit the logs from those tutorials, you will see one of the first lines being:

    shell
    I[2024-11-15|14:54:19.843] Starting mock sequencer    module=main address=localhost:50051 rollupID=test-rollup-a736683c

    The mock sequencer is a simple in-memory sequencer that is great for testing and development. It is not suitable for production use.

    Sequencing Implementations

    An implementation of the sequencing interface mainly acts as a middleware that connects Rollkit rollup and the sequencing layer. It implements the sequencing interface functions described above. For example, centralized-sequencer is the refactored functionality from the Rollkit prior to v0.14.0. The centralized sequencer is the middleware run by the aggregator node of the Rollkit rollup. The aggregator node relays rollup transactions to centralized sequencer which then submits them to the DA network (such as Celestia). The header producer node then retrieves (via GetNextBatch) the batched transaction from the centralized sequencer to execute the transactions and produce the updated rollup state. Similarly, there are other sequencing middlewares which can be built for various sequencing strategies or even for connecting to different third-party sequencing networks.

    The sequencing implementations that are currently work in progress:

    Released under the APACHE-2.0 License

    + + + + \ No newline at end of file diff --git a/tutorials/wordle.html b/tutorials/wordle.html index 97d3ffd3a..cd2960311 100644 --- a/tutorials/wordle.html +++ b/tutorials/wordle.html @@ -9,38 +9,38 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -68,7 +68,7 @@

    🕹️ Wordle app

    wordle-app

    This tutorial guide will go over building a cosmos-sdk app for Rollkit, the Sovereign-Rollup implementation of CometBFT, for the popular game Wordle.

    This tutorial will go over how to setup Rollkit in the Ignite CLI and use it to build the game. The tutorial will go over the simple design, as well as conclude with future implementations and ideas to extend this codebase.

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    💻 Pre-requisites

    This tutorial is targeted for developers who have some experience in the Cosmos-SDK. We will go through the steps to build the chain, but for more information on how the Cosmos-SDK components work, check out the Cosmos-SDK Docs.

    Additionally, we recommend that you have gone over the quick start guide first to see an example of a running chain.

    You also need to have Rollkit CLI installed. You can install it by running:

    bash
    curl -sSL https://rollkit.dev/install.sh | sh -s v0.14.1

    📖 Design implementation

    The rules of Wordle are simple: You have to guess the word of the day.

    Key Points to Consider:

    • The word is a five-letter word.
    • You have 6 guesses.
    • Every 24 hours, there’s a new word.

    The GUI for Wordle shows you a few indicators: a green highlight on a letter in a certain position means that’s the correct letter for the Wordle in the right position. A yellow highlight means it’s a correct letter for the Wordle included in the wrong position. A grey highlight means the letter isn’t part of the Wordle.

    For simplicity of the design, we will avoid those hints, although there are ways to extend this codebase to implement that, which we will show at the end.

    In this current design, we implement the following rules:

    • 1 Wordle can be submitted per day
    • Every address will have 6 tries to guess the word
    • It must be a five-letter word.
    • Whoever guesses the word correctly before their 6 tries are over gets an award of 100 WORDLE tokens.

    We will go over the architecture to achieve this further in the guide. But for now, we will get started setting up our development environment.

    ⛓️ Ignite and scaffolding the wordle chain

    🔥 Ignite

    Ignite is an amazing CLI tool to help us get started building our own blockchains for cosmos-sdk apps. It provides lots of power toolings and scaffoldings for adding messages, types, and modules with a host of cosmos-sdk libraries provided.

    You can read more about Ignite here.

    To install Ignite, you can run this command in your terminal:

    bash
    curl https://get.ignite.com/cli@v28.5.3! | bash

    This installs Ignite CLI in your local machine. This tutorial uses a macOS but it should work for Windows. For Windows users, check out the Ignite docs on installation for Windows machines.

    Now, refresh your terminal using source or open a new terminal session for the change to take place.

    If you run the following:

    bash
    ignite --help

    You should see an output of help commands meaning Ignite was installed successfully!

    ⛓️ Scaffolding the wordle chain

    Now, comes the fun part, creating a new blockchain! With Ignite, the process is pretty easy and straightforward.

    Ignite CLI comes with several scaffolding commands that are designed to make development more straightforward by creating everything you need to build your blockchain.

    First, we will use Ignite CLI to build the foundation of a fresh Cosmos SDK blockchain. Ignite minimizes how much blockchain code you must write yourself. If you are coming from the EVM-world, think of Ignite as a Cosmos-SDK version of Foundry or Hardhat but specifically designed to build blockchains.

    we first run the following command to set up our project for our new blockchain, wordle.

    bash
    ignite scaffold chain wordle --no-module

    This command scaffolds a new chain directory called wordle in your local directory from which you ran the command. Notice that we passed the --no-module flag, this is because we will be creating the module after.

    🗂️ Wordle directory

    Now, it’s time to enter the directory:

    bash
    cd wordle

    Inside you will see several directories and architecture for your cosmos-sdk blockchain.

    File/directoryPurpose
    app/Files that wire together the blockchain. The most important file is app.go that contains type definition of the blockchain and functions to create and initialize it.
    cmd/The main package responsible for the CLI of compiled binary.
    docs/Directory for project documentation. By default, an OpenAPI spec is generated.
    proto/Protocol buffer files describing the data structure.
    testutil/Helper functions for testing.
    vue/A Vue 3 web app template.
    x/Cosmos SDK modules and custom modules.
    config.ymlA configuration file for customizing a chain in development.
    readme.mdA readme file for your sovereign application-specific blockchain project.

    Going over each one is outside the scope of this guide, but we encourage you to read about it here.

    Most of the tutorial work will happen inside the x directory.

    🛠️ Setting up Rollkit

    Before we continue with building our Wordle App, we need to set up Rollkit on our codebase.

    🗞️ Installing Rollkit

    To install the Rollkit app to Ignite, run the following command:

    bash
    ignite app install github.com/ignite/apps/rollkit@rollkit/v0.2.1

    Next, add Rollkit to your project by running:

    bash
    ignite rollkit add

    ✨ Creating the wordle module

    For the Wordle module, we can add dependencies offered by Cosmos-SDK.

    From the Cosmos-SDK docs, a module is defined as the following:

    In a Cosmos SDK blockchain, application-specific logic is implemented in separate modules. Modules keep code easy to understand and reuse. Each module contains its own message and transaction processor, while the Cosmos SDK is responsible for routing each message to its respective module.

    Many modules exist for slashing, validating, auth.

    🔖 Scaffolding a module

    We will be using the bank module dependency for transactions.

    From the Cosmos-SDK docs, the bank module is defined as the following:

    The bank module is responsible for handling multi-asset coin transfers between accounts and tracking special-case pseudo-transfers which must work differently with particular kinds of accounts (notably delegating/undelegating for vesting accounts). It exposes several interfaces with varying capabilities for secure interaction with other modules which must alter user balances.

    We build the module with the bank dependency with the following command:

    bash
    ignite scaffold module wordle --dep bank -y

    This will scaffold the Wordle module to our Wordle Chain project.

    ✉️ Messages

    Messages allow us to process and submit information to our specific module.

    From the Cosmos-SDK docs, messages are:

    In the Cosmos SDK, messages are objects that are contained in transactions to trigger state transitions. Each Cosmos SDK module defines a list of messages and how to handle them.

    For messages for Wordle, given our initial design, we will make 2 messages with ignite.

    • The first one is: SubmitWordle and it only passes the Wordle of the Day.
    • The second one is: SubmitGuess and it attempts to guess the submitted wordle. It also passes a word as a guess.

    With these initial designs, we can start creating our messages!

    💬 Scaffolding a message

    To create the SubmitWordle message, we run the following command:

    bash
    ignite scaffold message submit-wordle word -y

    This creates the submit-wordle message that takes in word as a parameter.

    We now create the final message, SubmitGuess:

    bash
    ignite scaffold message submit-guess word -y

    Here, we are passing a word as a guess with submit-guess.

    🎨 Wordle types

    For the next steps, we will be creating types to be used by the messages we created.

    🏗️ Scaffolding wordle types

    bash
    ignite scaffold map wordle word submitter --no-message -y

    This type is a map called Wordle with two values of word and submitter. submitter is the address of the person that submitted the Wordle.

    The second type is the Guess type. It allows us to store the latest guess for each address that submitted a solution.

    bash
    ignite scaffold map guess word submitter count --no-message -y

    Here, we are also storing count to count how many guesses this address submitted.

    🔐 Keeper functions

    Now it’s time to implement the Keeper functions for each message. From the Cosmos-SDK docs, Keeper is defined as the following:

    The main core of a Cosmos SDK module is a piece called the keeper. The keeper handles interactions with the store, has references to other keepers for cross-module interactions, and contains most of the core functionality of a module.

    Keeper is an abstraction on Cosmos that allows us to interact with the Key-Value store and change the state of the blockchain.

    Here, it will help us outline the logic for each message we create.

    📤 SubmitWordle function

    We first start with the SubmitWordle function.

    Open up the following file: x/wordle/keeper/msg_server_submit_wordle.go

    Inside the following, replace the current code with the following code, which we will go over in a bit:

    go
    package keeper
    +

    🕹️ Wordle app

    wordle-app

    This tutorial guide will go over building a cosmos-sdk app for Rollkit, the Sovereign-Rollup implementation of CometBFT, for the popular game Wordle.

    This tutorial will go over how to setup Rollkit in the Ignite CLI and use it to build the game. The tutorial will go over the simple design, as well as conclude with future implementations and ideas to extend this codebase.

    TIP

    This tutorial explores Rollkit, currently in Alpha. If you encounter bugs, please report them via a GitHub issue ticket or reach out in our Telegram group.

    💻 Pre-requisites

    This tutorial is targeted for developers who have some experience in the Cosmos-SDK. We will go through the steps to build the chain, but for more information on how the Cosmos-SDK components work, check out the Cosmos-SDK Docs.

    Additionally, we recommend that you have gone over the quick start guide first to see an example of a running chain.

    You also need to have Rollkit CLI installed. You can install it by running:

    bash
    curl -sSL https://rollkit.dev/install.sh | sh -s v0.14.1

    📖 Design implementation

    The rules of Wordle are simple: You have to guess the word of the day.

    Key Points to Consider:

    • The word is a five-letter word.
    • You have 6 guesses.
    • Every 24 hours, there’s a new word.

    The GUI for Wordle shows you a few indicators: a green highlight on a letter in a certain position means that’s the correct letter for the Wordle in the right position. A yellow highlight means it’s a correct letter for the Wordle included in the wrong position. A grey highlight means the letter isn’t part of the Wordle.

    For simplicity of the design, we will avoid those hints, although there are ways to extend this codebase to implement that, which we will show at the end.

    In this current design, we implement the following rules:

    • 1 Wordle can be submitted per day
    • Every address will have 6 tries to guess the word
    • It must be a five-letter word.
    • Whoever guesses the word correctly before their 6 tries are over gets an award of 100 WORDLE tokens.

    We will go over the architecture to achieve this further in the guide. But for now, we will get started setting up our development environment.

    ⛓️ Ignite and scaffolding the wordle chain

    🔥 Ignite

    Ignite is an amazing CLI tool to help us get started building our own blockchains for cosmos-sdk apps. It provides lots of power toolings and scaffoldings for adding messages, types, and modules with a host of cosmos-sdk libraries provided.

    You can read more about Ignite here.

    To install Ignite, you can run this command in your terminal:

    bash
    curl https://get.ignite.com/cli@v28.5.3! | bash

    This installs Ignite CLI in your local machine. This tutorial uses a macOS but it should work for Windows. For Windows users, check out the Ignite docs on installation for Windows machines.

    Now, refresh your terminal using source or open a new terminal session for the change to take place.

    If you run the following:

    bash
    ignite --help

    You should see an output of help commands meaning Ignite was installed successfully!

    ⛓️ Scaffolding the wordle chain

    Now, comes the fun part, creating a new blockchain! With Ignite, the process is pretty easy and straightforward.

    Ignite CLI comes with several scaffolding commands that are designed to make development more straightforward by creating everything you need to build your blockchain.

    First, we will use Ignite CLI to build the foundation of a fresh Cosmos SDK blockchain. Ignite minimizes how much blockchain code you must write yourself. If you are coming from the EVM-world, think of Ignite as a Cosmos-SDK version of Foundry or Hardhat but specifically designed to build blockchains.

    we first run the following command to set up our project for our new blockchain, wordle.

    bash
    ignite scaffold chain wordle --no-module

    This command scaffolds a new chain directory called wordle in your local directory from which you ran the command. Notice that we passed the --no-module flag, this is because we will be creating the module after.

    🗂️ Wordle directory

    Now, it’s time to enter the directory:

    bash
    cd wordle

    Inside you will see several directories and architecture for your cosmos-sdk blockchain.

    File/directoryPurpose
    app/Files that wire together the blockchain. The most important file is app.go that contains type definition of the blockchain and functions to create and initialize it.
    cmd/The main package responsible for the CLI of compiled binary.
    docs/Directory for project documentation. By default, an OpenAPI spec is generated.
    proto/Protocol buffer files describing the data structure.
    testutil/Helper functions for testing.
    vue/A Vue 3 web app template.
    x/Cosmos SDK modules and custom modules.
    config.ymlA configuration file for customizing a chain in development.
    readme.mdA readme file for your sovereign application-specific blockchain project.

    Going over each one is outside the scope of this guide, but we encourage you to read about it here.

    Most of the tutorial work will happen inside the x directory.

    🛠️ Setting up Rollkit

    Before we continue with building our Wordle App, we need to set up Rollkit on our codebase.

    🗞️ Installing Rollkit

    To install the Rollkit app to Ignite, run the following command:

    bash
    ignite app install github.com/ignite/apps/rollkit@rollkit/v0.2.1

    Next, add Rollkit to your project by running:

    bash
    ignite rollkit add

    ✨ Creating the wordle module

    For the Wordle module, we can add dependencies offered by Cosmos-SDK.

    From the Cosmos-SDK docs, a module is defined as the following:

    In a Cosmos SDK blockchain, application-specific logic is implemented in separate modules. Modules keep code easy to understand and reuse. Each module contains its own message and transaction processor, while the Cosmos SDK is responsible for routing each message to its respective module.

    Many modules exist for slashing, validating, auth.

    🔖 Scaffolding a module

    We will be using the bank module dependency for transactions.

    From the Cosmos-SDK docs, the bank module is defined as the following:

    The bank module is responsible for handling multi-asset coin transfers between accounts and tracking special-case pseudo-transfers which must work differently with particular kinds of accounts (notably delegating/undelegating for vesting accounts). It exposes several interfaces with varying capabilities for secure interaction with other modules which must alter user balances.

    We build the module with the bank dependency with the following command:

    bash
    ignite scaffold module wordle --dep bank -y

    This will scaffold the Wordle module to our Wordle Chain project.

    ✉️ Messages

    Messages allow us to process and submit information to our specific module.

    From the Cosmos-SDK docs, messages are:

    In the Cosmos SDK, messages are objects that are contained in transactions to trigger state transitions. Each Cosmos SDK module defines a list of messages and how to handle them.

    For messages for Wordle, given our initial design, we will make 2 messages with ignite.

    • The first one is: SubmitWordle and it only passes the Wordle of the Day.
    • The second one is: SubmitGuess and it attempts to guess the submitted wordle. It also passes a word as a guess.

    With these initial designs, we can start creating our messages!

    💬 Scaffolding a message

    To create the SubmitWordle message, we run the following command:

    bash
    ignite scaffold message submit-wordle word -y

    This creates the submit-wordle message that takes in word as a parameter.

    We now create the final message, SubmitGuess:

    bash
    ignite scaffold message submit-guess word -y

    Here, we are passing a word as a guess with submit-guess.

    🎨 Wordle types

    For the next steps, we will be creating types to be used by the messages we created.

    🏗️ Scaffolding wordle types

    bash
    ignite scaffold map wordle word submitter --no-message -y

    This type is a map called Wordle with two values of word and submitter. submitter is the address of the person that submitted the Wordle.

    The second type is the Guess type. It allows us to store the latest guess for each address that submitted a solution.

    bash
    ignite scaffold map guess word submitter count --no-message -y

    Here, we are also storing count to count how many guesses this address submitted.

    🔐 Keeper functions

    Now it’s time to implement the Keeper functions for each message. From the Cosmos-SDK docs, Keeper is defined as the following:

    The main core of a Cosmos SDK module is a piece called the keeper. The keeper handles interactions with the store, has references to other keepers for cross-module interactions, and contains most of the core functionality of a module.

    Keeper is an abstraction on Cosmos that allows us to interact with the Key-Value store and change the state of the blockchain.

    Here, it will help us outline the logic for each message we create.

    📤 SubmitWordle function

    We first start with the SubmitWordle function.

    Open up the following file: x/wordle/keeper/msg_server_submit_wordle.go

    Inside the following, replace the current code with the following code, which we will go over in a bit:

    go
    package keeper
     
     import (
       "context"
    @@ -264,7 +264,7 @@
     tx: null
     txhash: F159E11116EC9505FC2C0D97E605357FEC0F3DAE06B57BFB17EA6A548905043E

    Let's grab the txhash for later:

    bash
    TX_HASH=F159E11116EC9505FC2C0D97E605357FEC0F3DAE06B57BFB17EA6A548905043E

    Note, this does not mean the transaction was included in the block yet. Let's query the transaction hash to check whether it has been included in the block yet or if there are any errors.

    bash
    rollkit query tx --type=hash $TX_HASH --output json | jq -r '.raw_log'

    This should display an output like the following:

    json
    [{"events":[{"type":"message","attributes":[{"key":"action","value":"submit_wordle"
     }]}]}]

    Test out a few things for fun:

    bash
    rollkit tx wordle submit-guess 12345 --from bob --keyring-backend test --chain-id wordle -b async -y

    After confirming the transaction, query the txhash given the same way you did above. You will see the response shows an Invalid Error because you submitted integers.

    Now try:

    bash
    rollkit  tx wordle submit-guess ABCDEFG --from bob --keyring-backend test --chain-id wordle -b async -y

    After confirming the transaction, query the txhash given the same way you did above. You will see the response shows an Invalid Error because you submitted a word larger than 5 characters.

    Now try to submit another wordle even though one was already submitted

    bash
    rollkit tx wordle submit-wordle meter --from bob --keyring-backend test --chain-id wordle -b async -y

    After submitting the transactions and confirming, query the txhash given the same way you did above. You will get an error that a wordle has already been submitted for the day.

    Now let’s try to guess a five letter word:

    bash
    rollkit tx wordle submit-guess least --from bob --keyring-backend test --chain-id wordle -b async -y

    After submitting the transactions and confirming, query the txhash given the same way you did above. Given you didn’t guess the correct word, it will increment the guess count for bob's account.

    We can verify this by querying the list:

    bash
    rollkit q wordle list-guess --output json

    This outputs all Guess objects submitted so far, with the index being today’s date and the address of the submitter.

    With that, we implemented a basic example of Wordle using Cosmos-SDK and Ignite and Rollkit. Read on to how you can extend the code base.

    🔮 Extending in the future

    There are many ways this codebase can be extended:

    1. You can improve messaging around when you guess the correct word.
    2. You can hash the word prior to submitting it to the chain, ensuring the hashing is local so that it’s not revealed via front-running by others monitoring the plaintext string when it’s submitted on-chain.
    3. You can improve the UI in terminal using a nice interface for Wordle. Some examples are here.
    4. You can improve current date to stick to a specific timezone.
    5. You can create a bot that submits a wordle every day at a specific time.
    6. You can create a vue.js front-end with Ignite using example open-source repositories here and here.

    🎉 Next steps

    Congratulations! You've built a Wordle app using Cosmos-SDK and Rollkit. Now, explore connecting your chain to DA networks like Celestia.

    Released under the APACHE-2.0 License

    - + \ No newline at end of file