diff --git a/assets/swirl/js/swirl.js b/assets/swirl/js/swirl.js index 68dd2fc..a2f9d25 100644 --- a/assets/swirl/js/swirl.js +++ b/assets/swirl/js/swirl.js @@ -176,6 +176,19 @@ var Swirl; } } Core.Tab = Tab; + class FilterBox { + constructor(elem, callback, timeout) { + this.$elem = $(elem); + this.$elem.keyup(() => { + if (this.timer > 0) { + clearTimeout(this.timer); + } + let text = this.$elem.val().toLowerCase(); + this.timer = setTimeout(() => callback(text), timeout || 500); + }); + } + } + Core.FilterBox = FilterBox; })(Core = Swirl.Core || (Swirl.Core = {})); })(Swirl || (Swirl = {})); /*! @@ -1104,6 +1117,461 @@ var Swirl; })(Core = Swirl.Core || (Swirl.Core = {})); })(Swirl || (Swirl = {})); var Swirl; +(function (Swirl) { + var Core; + (function (Core) { + class GraphOptions { + constructor() { + this.type = "line"; + this.width = 12; + this.height = 150; + } + } + Core.GraphOptions = GraphOptions; + class Graph { + constructor(elem, opts) { + this.$elem = $(elem); + this.opts = $.extend(new GraphOptions(), opts); + this.name = this.$elem.data("chart-name"); + } + getName() { + return this.name; + } + getElem() { + return this.$elem; + } + getOptions() { + return this.opts; + } + } + Core.Graph = Graph; + class ValueGraph extends Graph { + constructor(elem, opts) { + super(elem, opts); + } + setData(d) { + } + resize(w, h) { + } + } + Core.ValueGraph = ValueGraph; + class ComplexGraph extends Graph { + constructor(elem, opts) { + super(elem, opts); + if (!this.opts.colors) { + this.opts.colors = ComplexGraph.defaultColors; + } + this.config = { + type: opts.type, + data: {}, + options: { + responsive: false, + maintainAspectRatio: false, + animation: { + duration: 0, + }, + } + }; + this.fillConfig(); + this.ctx = $(elem).find("canvas").get(0).getContext('2d'); + if (opts.height) { + this.ctx.canvas.width = this.ctx.canvas.parentElement.offsetWidth; + this.ctx.canvas.height = this.ctx.canvas.parentElement.offsetHeight; + } + this.chart = new Chart(this.ctx, this.config); + } + setData(d) { + } + resize(w, h) { + this.ctx.canvas.width = this.ctx.canvas.parentElement.offsetWidth; + this.ctx.canvas.height = this.ctx.canvas.parentElement.offsetHeight; + this.chart.resize(); + } + fillConfig() { + } + static formatValue(value, unit) { + switch (unit) { + case "percent:100": + return value.toFixed(1) + "%"; + case "percent:1": + return (value * 100).toFixed(1) + "%"; + case "time:s": + if (value < 1) { + return (value * 1000).toFixed(0) + 'ms'; + } + else { + return value.toFixed(2) + 's'; + } + case "size:bytes": + if (value < 1024) { + return value.toString() + 'B'; + } + else if (value < 1048576) { + return (value / 1024).toFixed(2) + 'K'; + } + else if (value < 1073741824) { + return (value / 1048576).toFixed(2) + 'M'; + } + else { + return (value / 1073741824).toFixed(2) + 'G'; + } + default: + return value.toFixed(2); + } + } + } + ComplexGraph.defaultColors = [ + 'rgb(255, 99, 132)', + 'rgb(75, 192, 192)', + 'rgb(255, 159, 64)', + 'rgb(54, 162, 235)', + 'rgb(153, 102, 255)', + 'rgb(255, 205, 86)', + 'rgb(201, 203, 207)', + ]; + Core.ComplexGraph = ComplexGraph; + class VectorGraph extends ComplexGraph { + fillConfig() { + this.config.options.legend = { + position: "right" + }; + this.config.options.tooltips = { + callbacks: { + label: (tooltipItem, data) => { + let label = data.labels[tooltipItem.index] + ": "; + let p = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index]; + if (typeof p == "number") { + label += ComplexGraph.formatValue(p, this.opts.unit); + } + return label; + } + }, + }; + } + setData(d) { + this.config.data.datasets = [{ + data: d.data, + backgroundColor: this.opts.colors, + }]; + this.config.data.labels = d.labels; + this.chart.update(); + } + } + Core.VectorGraph = VectorGraph; + class MatrixGraph extends ComplexGraph { + constructor(elem, opts) { + super(elem, opts); + } + fillConfig() { + this.config.options.scales = { + xAxes: [{ + type: 'time', + time: { + unit: 'minute', + tooltipFormat: 'YYYY/MM/DD HH:mm:ss', + displayFormats: { + minute: 'HH:mm' + } + }, + }], + }; + if (this.opts.unit) { + this.config.options.scales.yAxes = [{ + ticks: { + callback: (n) => ComplexGraph.formatValue(n, this.opts.unit), + } + }]; + this.config.options.tooltips = { + callbacks: { + label: (tooltipItem, data) => { + let label = data.datasets[tooltipItem.datasetIndex].label + ": "; + let p = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index]; + label += ComplexGraph.formatValue(p.y, this.opts.unit); + return label; + } + }, + }; + } + } + setData(d) { + let datasets = (d); + datasets.forEach((ds, i) => { + let color = (i < this.opts.colors.length) ? this.opts.colors[i] : this.opts.colors[0]; + ds.backgroundColor = Chart.helpers.color(color).alpha(0.3).rgbString(); + ds.borderColor = color; + ds.borderWidth = 2; + ds.pointRadius = 2; + }); + this.config.data.datasets = d; + this.chart.update(); + } + } + Core.MatrixGraph = MatrixGraph; + class GraphFactory { + static create(elem) { + let $elem = $(elem); + let opts = { + type: $elem.data("chart-type"), + unit: $elem.data("chart-unit"), + width: $elem.data("chart-width"), + height: $elem.data("chart-height"), + colors: $elem.data("chart-colors"), + }; + switch (opts.type) { + case "value": + return new ValueGraph($elem, opts); + case "line": + case "bar": + return new MatrixGraph($elem, opts); + case "pie": + return new VectorGraph($elem, opts); + } + return null; + } + } + Core.GraphFactory = GraphFactory; + class GraphPanelOptions { + constructor() { + this.time = "30m"; + this.refreshInterval = 15000; + } + } + Core.GraphPanelOptions = GraphPanelOptions; + class GraphPanel { + constructor(elem, opts) { + this.charts = []; + this.opts = $.extend(new GraphPanelOptions(), opts); + this.$panel = $(elem); + this.$panel.children().each((i, e) => { + let g = GraphFactory.create(e); + if (g != null) { + this.charts.push(g); + } + }); + $(window).resize(e => { + $.each(this.charts, (i, g) => { + g.resize(0, 0); + }); + }); + this.refreshData(); + } + refreshData() { + this.loadData(); + if (this.opts.refreshInterval > 0) { + this.timer = setTimeout(this.refreshData.bind(this), this.opts.refreshInterval); + } + } + refresh() { + if (!this.timer) { + this.loadData(); + if (this.opts.refreshInterval > 0) { + this.timer = setTimeout(this.refreshData.bind(this), this.opts.refreshInterval); + } + } + } + stop() { + clearTimeout(this.timer); + this.timer = 0; + } + setTime(time) { + this.opts.time = time; + this.loadData(); + } + addGraph(c) { + for (let i = 0; i < this.charts.length; i++) { + let chart = this.charts[i]; + if (chart.getName() === c.name) { + return; + } + } + let $chart = $(`
+
+
+

${c.title}

+ + + + + +
+
+
+ +
+
+
+
`); + this.$panel.append($chart); + let g = GraphFactory.create($chart); + if (g != null) { + this.charts.push(g); + } + this.loadData(); + } + removeGraph(name) { + let index; + for (let i = 0; i < this.charts.length; i++) { + let c = this.charts[i]; + if (c.getName() === name) { + index = i; + break; + } + } + this.loadData(); + } + save() { + let charts = this.charts.map(c => { + return { + name: c.getName(), + width: c.getOptions().width, + height: c.getOptions().height, + }; + }); + let args = { + name: this.opts.name, + key: this.opts.key || '', + charts: charts, + }; + $ajax.post(`/system/chart/save_panel`, args).json((r) => { + if (!r.success) { + Core.Modal.alert(r.message); + } + }); + } + loadData() { + let args = { + charts: this.charts.map(c => c.getName()).join(","), + time: this.opts.time, + }; + if (this.opts.key) { + args.key = this.opts.key; + } + $ajax.get(`/system/chart/data`, args).json((d) => { + $.each(this.charts, (i, g) => { + if (d[g.getName()]) { + g.setData(d[g.getName()]); + } + }); + }); + } + } + Core.GraphPanel = GraphPanel; + })(Core = Swirl.Core || (Swirl.Core = {})); +})(Swirl || (Swirl = {})); +var Swirl; +(function (Swirl) { + var Modal = Swirl.Core.Modal; + var GraphPanel = Swirl.Core.GraphPanel; + var FilterBox = Swirl.Core.FilterBox; + class IndexPage { + constructor() { + this.fb = new FilterBox("#txt-query", this.filterCharts.bind(this)); + this.panel = new GraphPanel("#div-charts", { name: "home" }); + $("#btn-add").click(this.showAddDlg.bind(this)); + $("#btn-add-chart").click(this.addChart.bind(this)); + $("#btn-save").click(() => { + this.panel.save(); + }); + } + showAddDlg() { + let $panel = $("#nav-charts"); + $panel.find("label.panel-block").remove(); + $ajax.get(`/system/chart/query`, { dashboard: "home" }).json((charts) => { + for (let i = 0; i < charts.length; i++) { + let c = charts[i]; + $panel.append(``); + } + this.charts = charts; + this.$charts = $panel.find("label.panel-block"); + }); + let dlg = new Modal("#dlg-add-chart"); + dlg.show(); + } + filterCharts(text) { + if (!text) { + this.$charts.show(); + return; + } + this.$charts.each((i, elem) => { + let $elem = $(elem); + let texts = [ + this.charts[i].name.toLowerCase(), + this.charts[i].title.toLowerCase(), + this.charts[i].desc.toLowerCase(), + ]; + for (let i = 0; i < texts.length; i++) { + let index = texts[i].indexOf(text); + if (index >= 0) { + $elem.show(); + return; + } + } + $elem.hide(); + }); + } + addChart() { + this.$charts.each((i, e) => { + if ($(e).find(":checked").length > 0) { + let c = this.charts[i]; + this.panel.addGraph(c); + } + }); + Modal.close(); + } + } + Swirl.IndexPage = IndexPage; +})(Swirl || (Swirl = {})); +var Swirl; +(function (Swirl) { + var Metric; + (function (Metric) { + var Modal = Swirl.Core.Modal; + var Dispatcher = Swirl.Core.Dispatcher; + var FilterBox = Swirl.Core.FilterBox; + class ListPage { + constructor() { + this.$charts = $("#div-charts").children(); + this.fb = new FilterBox("#txt-query", this.filterCharts.bind(this)); + Dispatcher.bind("#div-charts").on("delete-chart", this.deleteChart.bind(this)); + } + deleteChart(e) { + let $container = $(e.target).closest("div.column"); + let name = $container.data("name"); + Modal.confirm(`Are you sure to delete chart: ${name}?`, "Delete chart", (dlg, e) => { + $ajax.post(name + "/delete").trigger(e.target).json(r => { + $container.remove(); + dlg.close(); + }); + }); + } + filterCharts(text) { + if (!text) { + this.$charts.show(); + return; + } + this.$charts.each((i, elem) => { + let $elem = $(elem), texts = [ + $elem.data("name").toLowerCase(), + $elem.data("title").toLowerCase(), + $elem.data("desc").toLowerCase(), + ]; + for (let i = 0; i < texts.length; i++) { + let index = texts[i].indexOf(text); + if (index >= 0) { + $elem.show(); + return; + } + } + $elem.hide(); + }); + } + } + Metric.ListPage = ListPage; + })(Metric = Swirl.Metric || (Swirl.Metric = {})); +})(Swirl || (Swirl = {})); +var Swirl; (function (Swirl) { var Config; (function (Config) { @@ -1857,270 +2325,6 @@ var Swirl; })(Service = Swirl.Service || (Swirl.Service = {})); })(Swirl || (Swirl = {})); var Swirl; -(function (Swirl) { - var Core; - (function (Core) { - class GraphOptions { - constructor() { - this.type = "line"; - this.width = 12; - this.height = 50; - } - } - Core.GraphOptions = GraphOptions; - class Graph { - constructor(elem, opts) { - this.$elem = $(elem); - this.opts = $.extend(new GraphOptions(), opts); - this.name = this.$elem.data("chart-name"); - } - getName() { - return this.name; - } - } - Core.Graph = Graph; - class ValueGraph extends Graph { - constructor(elem, opts) { - super(elem, opts); - } - setData(d) { - } - setSize(w, h) { - } - } - Core.ValueGraph = ValueGraph; - class ComplexGraph extends Graph { - constructor(elem, opts) { - super(elem, opts); - if (!this.opts.colors) { - this.opts.colors = ComplexGraph.defaultColors; - } - this.config = { - type: opts.type, - data: {}, - options: { - animation: { - duration: 0, - }, - } - }; - this.fillConfig(); - this.ctx = $(elem).find("canvas").get(0).getContext('2d'); - if (opts.height) { - this.ctx.canvas.height = opts.height; - } - this.chart = new Chart(this.ctx, this.config); - } - setData(d) { - } - setSize(w, h) { - this.ctx.canvas.height = h; - this.chart.update(); - } - fillConfig() { - } - static formatValue(value, unit) { - switch (unit) { - case "percent:100": - return value.toFixed(1) + "%"; - case "percent:1": - return (value * 100).toFixed(1) + "%"; - case "time:s": - if (value < 1) { - return (value * 1000).toFixed(0) + 'ms'; - } - else { - return value.toFixed(2) + 's'; - } - case "size:bytes": - if (value < 1024) { - return value.toString() + 'B'; - } - else if (value < 1048576) { - return (value / 1024).toFixed(2) + 'K'; - } - else if (value < 1073741824) { - return (value / 1048576).toFixed(2) + 'M'; - } - else { - return (value / 1073741824).toFixed(2) + 'G'; - } - default: - return value.toFixed(2); - } - } - } - ComplexGraph.defaultColors = [ - 'rgb(255, 99, 132)', - 'rgb(75, 192, 192)', - 'rgb(255, 159, 64)', - 'rgb(54, 162, 235)', - 'rgb(153, 102, 255)', - 'rgb(255, 205, 86)', - 'rgb(201, 203, 207)', - ]; - Core.ComplexGraph = ComplexGraph; - class VectorGraph extends ComplexGraph { - fillConfig() { - this.config.options.legend = { - position: "right" - }; - this.config.options.tooltips = { - callbacks: { - label: (tooltipItem, data) => { - let label = data.labels[tooltipItem.index] + ": "; - let p = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index]; - if (typeof p == "number") { - label += ComplexGraph.formatValue(p, this.opts.unit); - } - return label; - } - }, - }; - } - setData(d) { - this.config.data.datasets = [{ - data: d.data, - backgroundColor: this.opts.colors, - }]; - this.config.data.labels = d.labels; - this.chart.update(); - } - } - Core.VectorGraph = VectorGraph; - class MatrixGraph extends ComplexGraph { - constructor(elem, opts) { - super(elem, opts); - } - fillConfig() { - this.config.options.scales = { - xAxes: [{ - type: 'time', - time: { - unit: 'minute', - tooltipFormat: 'YYYY/MM/DD HH:mm:ss', - displayFormats: { - minute: 'HH:mm' - } - }, - }], - }; - if (this.opts.unit) { - this.config.options.scales.yAxes = [{ - ticks: { - callback: (n) => ComplexGraph.formatValue(n, this.opts.unit), - } - }]; - this.config.options.tooltips = { - callbacks: { - label: (tooltipItem, data) => { - let label = data.datasets[tooltipItem.datasetIndex].label + ": "; - let p = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index]; - label += ComplexGraph.formatValue(p.y, this.opts.unit); - return label; - } - }, - }; - } - } - setData(d) { - let datasets = (d); - datasets.forEach((ds, i) => { - let color = (i < this.opts.colors.length) ? this.opts.colors[i] : this.opts.colors[0]; - ds.backgroundColor = Chart.helpers.color(color).alpha(0.3).rgbString(); - ds.borderColor = color; - ds.borderWidth = 2; - ds.pointRadius = 2; - }); - this.config.data.datasets = d; - this.chart.update(); - } - } - Core.MatrixGraph = MatrixGraph; - class GraphFactory { - static create(elem) { - let $elem = $(elem); - let opts = { - type: $elem.data("chart-type"), - unit: $elem.data("chart-unit"), - height: $elem.data("chart-height"), - colors: $elem.data("chart-colors"), - }; - switch (opts.type) { - case "value": - return new ValueGraph($elem, opts); - case "line": - case "bar": - return new MatrixGraph($elem, opts); - case "pie": - return new VectorGraph($elem, opts); - } - return null; - } - } - Core.GraphFactory = GraphFactory; - class GraphPanelOptions { - constructor() { - this.time = "30m"; - this.refreshInterval = 15000; - } - } - Core.GraphPanelOptions = GraphPanelOptions; - class GraphPanel { - constructor(elems, opts) { - this.charts = []; - this.opts = $.extend(new GraphPanelOptions(), opts); - $(elems).each((i, e) => { - let g = GraphFactory.create(e); - if (g != null) { - this.charts.push(g); - } - }); - this.refreshData(); - } - refreshData() { - this.loadData(); - if (this.opts.refreshInterval > 0) { - this.timer = setTimeout(this.refreshData.bind(this), this.opts.refreshInterval); - } - } - refresh() { - if (!this.timer) { - this.loadData(); - if (this.opts.refreshInterval > 0) { - this.timer = setTimeout(this.refreshData.bind(this), this.opts.refreshInterval); - } - } - } - stop() { - clearTimeout(this.timer); - this.timer = 0; - } - setTime(time) { - this.opts.time = time; - this.loadData(); - } - loadData() { - let args = { - dashboard: this.opts.name, - time: this.opts.time, - }; - if (this.opts.id) { - args.id = this.opts.id; - } - $ajax.get(`/system/chart/data`, args).json((d) => { - $.each(this.charts, (i, g) => { - if (d[g.getName()]) { - g.setData(d[g.getName()]); - } - }); - }); - } - } - Core.GraphPanel = GraphPanel; - })(Core = Swirl.Core || (Swirl.Core = {})); -})(Swirl || (Swirl = {})); -var Swirl; (function (Swirl) { var Service; (function (Service) { @@ -2132,9 +2336,9 @@ var Swirl; if ($cb_time.length == 0) { return; } - this.panel = new GraphPanel($("#div-charts").children("div"), { + this.panel = new GraphPanel("#div-charts", { name: "service", - id: $("#h2-service-name").text() + key: $("#h2-service-name").text() }); $("#btn-add").click(() => { Modal.alert("Coming soon..."); @@ -2454,77 +2658,4 @@ var Swirl; Volume.NewPage = NewPage; })(Volume = Swirl.Volume || (Swirl.Volume = {})); })(Swirl || (Swirl = {})); -var Swirl; -(function (Swirl) { - var Modal = Swirl.Core.Modal; - var GraphPanel = Swirl.Core.GraphPanel; - class IndexPage { - constructor() { - this.panel = new GraphPanel($("#div-charts").children("div"), { name: "home" }); - $("#btn-add").click(() => { - Modal.alert("Coming soon..."); - }); - } - } - Swirl.IndexPage = IndexPage; -})(Swirl || (Swirl = {})); -var Swirl; -(function (Swirl) { - var Metric; - (function (Metric) { - var Modal = Swirl.Core.Modal; - var Dispatcher = Swirl.Core.Dispatcher; - class FilterBox { - constructor(elem, callback, timeout) { - this.$elem = $(elem); - this.$elem.keyup(() => { - if (this.timer > 0) { - clearTimeout(this.timer); - } - let text = this.$elem.val().toLowerCase(); - this.timer = setTimeout(() => callback(text), timeout || 500); - }); - } - } - class ListPage { - constructor() { - this.$charts = $("#div-charts").children(); - this.fb = new FilterBox("#txt-query", this.filterCharts.bind(this)); - Dispatcher.bind("#div-charts").on("delete-chart", this.deleteChart.bind(this)); - } - deleteChart(e) { - let $container = $(e.target).closest("div.column"); - let name = $container.data("name"); - Modal.confirm(`Are you sure to delete chart: ${name}?`, "Delete chart", (dlg, e) => { - $ajax.post(name + "/delete").trigger(e.target).json(r => { - $container.remove(); - dlg.close(); - }); - }); - } - filterCharts(text) { - if (!text) { - this.$charts.show(); - return; - } - this.$charts.each((i, elem) => { - let $elem = $(elem), texts = [ - $elem.data("name").toLowerCase(), - $elem.data("title").toLowerCase(), - $elem.data("desc").toLowerCase(), - ]; - for (let i = 0; i < texts.length; i++) { - let index = texts[i].indexOf(text); - if (index >= 0) { - $(elem).show(); - return; - } - } - $(elem).hide(); - }); - } - } - Metric.ListPage = ListPage; - })(Metric = Swirl.Metric || (Swirl.Metric = {})); -})(Swirl || (Swirl = {})); //# sourceMappingURL=swirl.js.map \ No newline at end of file diff --git a/assets/swirl/js/swirl.js.map b/assets/swirl/js/swirl.js.map index 875bf4e..9824d74 100644 --- a/assets/swirl/js/swirl.js.map +++ b/assets/swirl/js/swirl.js.map @@ -1 +1 @@ -{"version":3,"file":"swirl.js","sourceRoot":"","sources":["../ts/core/bulma.ts","../ts/core/ajax.ts","../ts/core/validator.ts","../ts/core/form.ts","../ts/core/dispatcher.ts","../ts/core/table.ts","../ts/core/core.ts","../ts/config/list.ts","../ts/config/new.ts","../ts/container/list.ts","../ts/image/list.ts","../ts/network/detail.ts","../ts/network/list.ts","../ts/network/new.ts","../ts/node/edit.ts","../ts/node/list.ts","../ts/perm/edit.ts","../ts/registry/list.ts","../ts/role/edit.ts","../ts/role/list.ts","../ts/role/new.ts","../ts/secret/list.ts","../ts/secret/new.ts","../ts/service/edit.ts","../ts/service/list.ts","../ts/core/graph.ts","../ts/service/stats.ts","../ts/service/template/list.ts","../ts/setting/index.ts","../ts/stack/archive/edit.ts","../ts/stack/archive/list.ts","../ts/stack/task/list.ts","../ts/user/list.ts","../ts/volume/list.ts","../ts/volume/new.ts","../ts/index.ts","../ts/chart/list.ts"],"names":[],"mappings":"AAAA,IAAU,KAAK,CAkNd;AAlND,WAAU,KAAK;IAAC,IAAA,IAAI,CAkNnB;IAlNe,WAAA,IAAI;QAChB;YAMI,YAAY,KAAgC;gBACxC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/H,CAAC;YAED,MAAM,CAAC,UAAU;gBACb,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;oBACrB,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC;wBACtB,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACpC,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,CAAA;wBACjC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACf,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;wBAE/B,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;4BACnB,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACzC,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC7B,CAAC;YACL,CAAC;YAED,MAAM,CAAC,KAAK;gBACR,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzC,CAAC;YAED,MAAM,CAAC,OAAO;gBACV,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACxB,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,OAAe,EAAE,KAAc,EAAE,QAAqD;gBAC/F,KAAK,GAAG,KAAK,IAAI,QAAQ,CAAC;gBAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;;;;8CAIoB,KAAK;;;iDAGF,OAAO;;;;;iBAKvC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxB,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,QAAQ,GAAG,QAAQ,IAAI,UAAU,GAAU,EAAE,CAAoB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpF,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;gBACrB,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,CAAC,GAAG,CAAC;YACf,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,KAAc,EAAE,QAAqD;gBACjG,KAAK,GAAG,KAAK,IAAI,SAAS,CAAC;gBAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;;;;8CAIoB,KAAK;;;iDAGF,OAAO;;;;;;iBAMvC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxB,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACX,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7E,CAAC;gBACD,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;gBACrB,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,CAAC,GAAG,CAAC;YACf,CAAC;YAED,IAAI;gBACA,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAErC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;gBAEb,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,KAAK;gBACD,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACpC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACzB,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBACzC,CAAC;gBACD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,KAAK,CAAC,GAAY;gBACd,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC5C,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACN,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;wBACjB,MAAM,GAAG,CAAC,CAAC,8CAA8C,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBAC1G,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5B,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClB,CAAC;YACL,CAAC;YAED,IAAI,CAAC,QAAmC;gBACpC,EAAE,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,YAAY,OAAO,CAAC,CAAC,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtC,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;SACJ;QA5HY,UAAK,QA4HjB,CAAA;QAUD;YAII,YAAY,OAA4B;gBACpC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE;oBACxB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,CAAC;iBACV,EAAE,OAAO,CAAC,CAAC;YAChB,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,IAAsB,EAAE,GAAW,EAAE,IAAa;gBAC1D,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC;oBACrB,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,GAAG;oBACZ,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;gBACH,CAAC,CAAC,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,CAAC,CAAC;YACb,CAAC;YAEO,IAAI;gBACR,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,+BAA+B,IAAI,CAAC,OAAO,CAAC,IAAI,+EAA+E,IAAI,CAAC,OAAO,CAAC,OAAO,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;oBACxB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;YAED,IAAI;gBACA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/D,CAAC;SACJ;QA/BY,iBAAY,eA+BxB,CAAA;QAED;YAMI,YAAY,GAA8B,EAAE,OAAkC;gBAC1E,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;gBACrD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC3B,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACpC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAED,MAAM,CAAC,UAAU;gBACb,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;oBACnB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;wBACxB,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACpC,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;oBAChC,CAAC,CAAC,CAAC;oBACH,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC3B,CAAC;YACL,CAAC;YAED,MAAM,CAAC,KAAa;gBAChB,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC;oBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;oBACxD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACxD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC1C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACxB,CAAC;YACL,CAAC;SACJ;QAzCY,QAAG,MAyCf,CAAA;IACL,CAAC,EAlNe,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAkNnB;AAAD,CAAC,EAlNS,KAAK,KAAL,KAAK,QAkNd;AClND;;;;;GAKG;AAEH,IAAU,KAAK,CA0Xd;AA1XD,WAAU,KAAK;IAAC,IAAA,IAAI,CA0XnB;IA1Xe,WAAA,IAAI;QAMhB;SAMC;QANY,eAAU,aAMtB,CAAA;QAKD;YAAA;gBAmBI,YAAO,GAAY,KAAK,CAAC;gBAMzB,UAAK,GAAa,IAAI,CAAC;gBAcvB,YAAO,GAA6B,MAAM,CAAC;YAiC/C,CAAC;YAdG,MAAM,CAAC,iBAAiB;gBACpB,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;YACtC,CAAC;YAOD,MAAM,CAAC,iBAAiB,CAAC,OAAoB;gBACzC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;oBACV,WAAW,CAAC,cAAc,GAAG,OAAO,CAAC;gBACzC,CAAC;YACL,CAAC;;QAtEc,0BAAc,GAAgB,IAAI,WAAW,EAAE,CAAC;QADtD,gBAAW,cAwEvB,CAAA;QAKD,IAAY,UAUX;QAVD,WAAY,UAAU;YAClB,yCAAG,CAAA;YACH,2CAAI,CAAA;YACJ,yCAAG,CAAA;YACH,+CAAM,CAAA;YACN,2CAAI,CAAA;YACJ,6CAAK,CAAA;YACL,iDAAO,CAAA;YACP,iDAAO,CAAA;YACP,6CAAK,CAAA;QACT,CAAC,EAVW,UAAU,GAAV,eAAU,KAAV,eAAU,QAUrB;QAKD;YAyBI,YAAY,GAAW,EAAE,MAAkB,EAAE,IAAU;gBACnD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;oBACpB,GAAG,EAAE,GAAG;oBACR,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,WAAW,CAAC,UAAU;oBAClC,WAAW,EAAE,WAAW,CAAC,WAAW;oBACpC,YAAY,EAAE,WAAW,CAAC,YAAY;iBACzC,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACxC,CAAC;YAQD,UAAU,CAAC,OAAuC;gBAC9C,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YAQD,WAAW,CAAC,OAAuC;gBAC/C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YAQD,YAAY,CAAC,OAAyB;gBAClC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YAQD,OAAO,CAAC,OAAe;gBACnB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YAQD,KAAK,CAAC,KAAc;gBAChB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YAQD,OAAO,CAAC,IAAsB;gBAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YAQD,IAAI,CAAI,QAAyB;gBAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAI,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;YAOD,IAAI,CAAC,QAA8B;gBAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAS,MAAM,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC;YAOD,IAAI,CAAC,QAA8B;gBAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAS,MAAM,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC;YAES,MAAM,CAAI,QAAgB,EAAE,QAAyB;gBAC3D,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjE,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACX,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;wBACxC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAc,EAAE,UAAkB,EAAE,KAAa,EAAE,EAAE;wBAC1D,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;oBACnF,CAAC,CAAC,CAAC;gBACP,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,MAAM,CAAC,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;wBACjC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAI,EAAE,EAAE;4BAC3B,OAAO,CAAC,CAAC,CAAC,CAAC;wBACf,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;4BACX,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACrE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAc,EAAE,UAAkB,EAAE,KAAa,EAAE,EAAE;4BAC1D,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;wBACjF,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAES,aAAa;gBACnB,MAAM,CAAC;oBACH,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;oBACrB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;oBACvC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;oBACvB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;oBAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;oBAC7B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;iBAC5B,CAAC;YACN,CAAC;;QAjKM,sBAAU,GAAmC,OAAO,CAAC,EAAE;YAC1D,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC,CAAC;QACK,uBAAW,GAAmC,OAAO,CAAC,EAAE;YAC3D,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC,CAAC;QACK,wBAAY,GAAgE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YACpG,IAAI,GAAW,CAAC;YAChB,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;gBAEnB,IAAI,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;gBAC3B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;gBAClB,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBACX,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAA;gBAC1B,CAAC;YACL,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC3B,GAAG,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,IAAI,MAAM,CAAC;YAC5C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,MAAM,CAAA;YACV,CAAC;YACD,KAAA,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,EAAE,CAAC,CAAA;QAC/C,CAAC,CAAC;QAtBO,gBAAW,cAmKvB,CAAA;QAKD,oBAA4B,SAAQ,WAAW;YAO3C,KAAK,CAAI,QAAyB;gBAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAI,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;SACJ;QAVY,mBAAc,iBAU1B,CAAA;QAKD,qBAA6B,SAAQ,WAAW;YAO5C,OAAO,CAAC,OAAiC;gBACrC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YAES,aAAa;gBACnB,IAAI,QAAQ,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;gBACrC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC3B,KAAK,MAAM;wBACP,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;wBAC7B,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;wBAC7B,KAAK,CAAC;oBACV,KAAK,MAAM;wBACP,QAAQ,CAAC,WAAW,GAAG,iCAAiC,CAAC;wBACzD,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAClD,KAAK,CAAC;oBACV,KAAK,MAAM;wBACP,QAAQ,CAAC,WAAW,GAAG,kDAAkD,CAAC;wBAC1E,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,CAAC,QAAQ,CAAC;YACpB,CAAC;SACJ;QA7BY,oBAAe,kBA6B3B,CAAA;QAKD;YACI;YACA,CAAC;YAUD,MAAM,CAAC,GAAG,CAAC,GAAW,EAAE,IAAa;gBACjC,MAAM,CAAC,IAAI,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC;YAUD,MAAM,CAAC,IAAI,CAAC,GAAW,EAAE,IAAsB;gBAC3C,MAAM,CAAC,IAAI,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3D,CAAC;SACJ;QA3BY,SAAI,OA2BhB,CAAA;IAyBL,CAAC,EA1Xe,IAAI,GAAJ,UAAI,KAAJ,UAAI,QA0XnB;AAAD,CAAC,EA1XS,KAAK,KAAL,KAAK,QA0Xd;AAED,IAAI,KAAK,GAA0B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AC7XnD,IAAU,KAAK,CAmZd;AAnZD,WAAU,KAAK;IAAC,IAAA,IAAI,CAmZnB;IAnZe,WAAA,IAAI;QAiChB;YACI,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;gBAChD,IAAI,EAAE,GAAiB,MAAM,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,EAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC;YAC9D,CAAC;SACJ;QAQD;YACI,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;gBAChD,MAAM,CAAC,EAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;YACjD,CAAC;SACJ;QAQD;YACI,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;gBAChD,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3E,MAAM,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAC,CAAC;YAC1C,CAAC;SACJ;QAQD;YACI,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;gBAChD,MAAM,KAAK,GAAG,y4BAAy4B,CAAC;gBACx5B,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBACjC,MAAM,CAAC,EAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,CAAC;YAC7C,CAAC;SACJ;QAQD;YACI,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;gBAChD,MAAM,KAAK,GAAG,qqCAAqqC,CAAC;gBACprC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBACjC,MAAM,CAAC,EAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,CAAC;YAC7C,CAAC;SACJ;QAQD;YACI,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;gBAChD,MAAM,KAAK,GAAG,gGAAgG,CAAC;gBAC/G,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBACjC,MAAM,CAAC,EAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,CAAC;YAC7C,CAAC;SACJ;QAQD;YACI,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;gBAChD,MAAM,CAAC,EAAC,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,EAAC,CAAC;YACpD,CAAC;SACJ;QAQD;YACI,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;gBAChD,IAAI,CAAC,GAAkC,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC;gBAClD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACN,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC/C,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC1B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnB,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACvB,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpC,CAAC;oBACL,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACJ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC/C,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;wBAC/D,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,CAAC,CAAC;YACb,CAAC;YAES,SAAS,CAAC,KAAa;gBAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACxB,CAAC;SACJ;QAQD,eAAgB,SAAQ,UAAU;YACpB,SAAS,CAAC,KAAa;gBAC7B,IAAI,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACpD,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACjF,CAAC;SACJ;QAQD;YACI,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;gBAChD,MAAM,KAAK,GAAG,OAAO,CAAC;gBACtB,MAAM,CAAC,EAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC;YAClD,CAAC;SACJ;QAQD;YACI,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;gBAChD,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBACjC,MAAM,CAAC,EAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,CAAC;YAC7C,CAAC;SACJ;QAQD;YACI,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;gBAChD,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;gBAClC,CAAC;gBAED,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAkC,EAAC,EAAE,EAAE,KAAK,EAAC,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAkB,MAAM,CAAC,EAAE;oBACxF,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;oBACrB,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,CAAC,CAAC;YACb,CAAC;SACJ;QAKD;YA2CI,YAAoB,IAAmC,EAAE,OAA0B;gBAC/E,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBAGvB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAOzC,CAAC;gBAGD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,4CAA4C,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,qDAAqD,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1G,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,wDAAwD,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/G,CAAC;YAEO,UAAU,CAAC,CAAoB;gBACnC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACxC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACnC,CAAC;YAYD,MAAM,CAAC,IAAI,CAAC,IAAmC,EAAE,OAA0B;gBACvE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAClC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACL,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACjC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBACjC,CAAC;gBACD,MAAM,CAAC,CAAC,CAAC;YACb,CAAC;YAOD,QAAQ;gBACJ,IAAI,OAAO,GAAuB,EAAE,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;oBAC9C,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnB,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBACxC,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;wBACjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACzB,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,OAAO,CAAC;YACnB,CAAC;YAKD,KAAK;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;oBAC9C,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnB,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;YACP,CAAC;YAYD,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAoB,EAAE,GAAW;gBAC3D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YAC9B,CAAC;YAKD,MAAM,CAAC,UAAU,CAAC,IAAY,EAAE,GAAW;gBACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YAC9B,CAAC;YAKD,MAAM,CAAC,SAAS,CAAC,MAAwB;gBACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACzB,CAAC;YAEO,aAAa,CAAC,MAAc;gBAChC,IAAI,MAAM,GAAa,EAAE,CAAC;gBAC1B,IAAI,KAAK,GAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACjB,IAAI,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;wBACP,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;wBACvC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;wBAC9C,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;4BACR,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;wBAC9D,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjC,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;iBACjB,CAAC;YACN,CAAC;YAEO,MAAM,CAAC,IAAI,CAAC,MAAc,EAAE,MAAwB;gBACxD,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;oBAC3B,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;wBACT,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBACrD,CAAC;oBACD,IAAI,CAAC,CAAC;wBACF,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBACxC,CAAC;gBACL,CAAC;YACL,CAAC;YAEO,MAAM,CAAC,SAAS,CAAC,MAAc,EAAE,IAAY;gBAGjD,EAAE,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC;oBAAC,MAAM,CAAgB,MAAM,CAAC,CAAC,CAAE,CAAC,iBAAiB,CAAC;gBACzE,IAAI,CAAC,CAAC;oBACF,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;oBACvC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;wBAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM,CAAC,GAAG,CAAC;gBACf,CAAC;YACL,CAAC;;QAzLc,kBAAQ,GAAG,kEAAkE,CAAC;QAI9E,kBAAQ,GAAgC;YACnD,UAAU,EAAE,wBAAwB;YACpC,SAAS,EAAE,oCAAoC;YAC/C,OAAO,EAAE,oCAAoC;YAC7C,OAAO,EAAE,kCAAkC;YAC3C,QAAQ,EAAE,wDAAwD;YAClE,OAAO,EAAE,uDAAuD;YAChE,KAAK,EAAE,0BAA0B;YACjC,IAAI,EAAE,mCAAmC;YACzC,SAAS,EAAE,yBAAyB;YACpC,OAAO,EAAE,kBAAkB;YAC3B,QAAQ,EAAE,kBAAkB;SAC/B,CAAC;QACa,eAAK,GAAwC;YACxD,QAAQ,EAAE,IAAI,UAAU,EAAE;YAC1B,UAAU,EAAE,IAAI,YAAY,EAAE;YAC9B,SAAS,EAAE,IAAI,WAAW,EAAE;YAC5B,OAAO,EAAE,IAAI,SAAS,EAAE;YACxB,OAAO,EAAE,IAAI,cAAc,EAAE;YAC7B,QAAQ,EAAE,IAAI,UAAU,EAAE;YAC1B,OAAO,EAAE,IAAI,SAAS,EAAE;YACxB,KAAK,EAAE,IAAI,OAAO,EAAE;YACpB,IAAI,EAAE,IAAI,MAAM,EAAE;YAClB,SAAS,EAAE,IAAI,WAAW,EAAE;YAC5B,OAAO,EAAE,IAAI,SAAS,EAAE;YACxB,QAAQ,EAAE,IAAI,UAAU,EAAE;SAC7B,CAAC;QA/BO,cAAS,YA2LrB,CAAA;IACL,CAAC,EAnZe,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAmZnB;AAAD,CAAC,EAnZS,KAAK,KAAL,KAAK,QAmZd;ACzZD;;;;;;GAMG;AAEH,IAAU,KAAK,CA6Zd;AA7ZD,WAAU,KAAK;IAAC,IAAA,IAAI,CA6ZnB;IA7Ze,WAAA,IAAI;QAIhB;YAAA;gBACI,cAAS,GAAW,GAAG,CAAC;gBACxB,iBAAY,GAAY,IAAI,CAAC;gBAC7B,iBAAY,GAAY,KAAK,CAAC;gBAC9B,cAAS,GAAY,KAAK,CAAC;gBAC3B,qBAAgB,GAAY,IAAI,CAAC;gBACjC,kBAAa,GAAY,KAAK,CAAC;YACnC,CAAC;SAAA;QAPY,gBAAW,cAOvB,CAAA;QAUD;YAaI,YAAY,IAA+B,EAAE,OAAqB;gBAC9D,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;gBACpD,IAAI,CAAC,SAAS,GAAG,KAAA,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;YAOD,KAAK;gBACiB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC;gBAC5C,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBACjB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC3B,CAAC;YACL,CAAC;YAOD,KAAK;gBACD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;oBACrB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBACjB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC3B,CAAC;YACL,CAAC;YAUD,MAAM,CAAC,GAAY;gBACf,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAA,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5D,CAAC;YAOD,QAAQ;gBACJ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBAClB,MAAM,CAAC,IAAI,CAAC;gBAChB,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;YACjD,CAAC;YAUD,SAAS,CAAC,YAAuB;gBAC7B,IAAI,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAE9B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,KAAK,GAAQ,MAAM,CAAC,CAAC,CAAC,EACtB,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,EAAE,CAAC;oBAElE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;wBAAC,QAAQ,CAAC;oBAEnB,IAAI,KAAK,GAAU,IAAI,CAAC;oBACxB,EAAE,CAAC,CAAC,YAAY,CAAC;wBAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC9C,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;wBAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAEvD,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI;2BACvD,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBACpG,QAAQ,CAAC;oBACb,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACzE,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC;YAClB,CAAC;YAUD,WAAW,CAAC,IAAY,EAAE,YAAuB;gBAC7C,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC9B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,KAAK,GAAQ,MAAM,CAAC,CAAC,CAAC,EACtB,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,EAAE,EAC7D,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAE1C,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;wBACjD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBACvB,QAAQ,CAAC;oBACb,CAAC;oBAED,IAAI,OAAO,GAAG,YAAY,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;wBAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;YAKD,MAAM,CAAC,QAAQ;gBACX,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI;oBACvC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;oBACpB,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC3B,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAE9B,EAAE,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;wBACjB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA,CAAC,CAAC,CAAC,CAAC;wBAC9C,MAAM,CAAC;oBACX,CAAC;oBAGD,KAAK,CAAC,MAAM,CAAC;wBACT,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;4BACnB,MAAM,CAAC,KAAK,CAAC;wBACjB,CAAC;wBAED,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;wBAC7F,EAAE,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC;4BACtB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC5B,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAa,EAAE,EAAE;4BAC3B,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gCACZ,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gCACrC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oCACN,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;wCACd,QAAQ,CAAC,MAAM,EAAE,CAAC;oCACtB,CAAC;oCAAC,IAAI,CAAC,CAAC;wCACJ,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;oCACxB,CAAC;gCACL,CAAC;gCAAC,IAAI,CAAC,CAAC;oCACJ,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oCAC7C,KAAA,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;gCACpD,CAAC;4BACL,CAAC;4BAAC,IAAI,CAAC,CAAC;gCACJ,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;gCACpB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oCACT,GAAG,IAAI,YAAY,CAAA;gCACvB,CAAC;gCACD,KAAA,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC;4BAClD,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,MAAM,CAAC,KAAK,CAAC;oBACjB,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,iBAAiB,CAAC,KAAU,EAAE,GAAW;gBAC7C,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EACjD,KAAK,GAAU,EAAE,IAAI,EAAE,GAAG,EAAE,EAC5B,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAErC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACf,KAAK,OAAO;wBACR,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;4BACd,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;wBAC5D,KAAK,CAAC;oBACV,KAAK,UAAU;wBACX,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBAClF,KAAK,CAAC;oBACV,KAAK,iBAAiB;wBAClB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;wBACjB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;4BAChD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gCAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBAC5E,KAAK,CAAC;oBACV,KAAK,MAAM;wBAEP,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC5C,KAAK,CAAC;oBACV,KAAK,QAAQ,CAAC;oBACd,KAAK,QAAQ,CAAC;oBACd,KAAK,OAAO;wBACR,KAAK,CAAC;oBACV;wBACI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAClC,CAAC;gBAED,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;oBACtB,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACf,KAAK,SAAS;4BACV,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACpC,KAAK,CAAC;wBACV,KAAK,OAAO;4BACR,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACtC,KAAK,CAAC;wBACV,KAAK,MAAM;4BACP,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;4BAChE,KAAK,CAAC;oBACd,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC;YACjB,CAAC;YAEO,iBAAiB,CAAC,MAAgC,EAAE,KAAY,EAAE,KAAkB,EAAE,SAAiB;gBAE3G,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBAAC,MAAM,CAAC;gBAEpD,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACpD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3C,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAEpB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACd,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC/B,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACJ,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACzB,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC/B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gCAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAEtB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gCACd,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACnC,CAAC;4BAAC,IAAI,CAAC,CAAC;gCACJ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oCACpC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gCAC7B,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;4BACjC,CAAC;4BACD,CAAC,EAAE,CAAC;wBACR,CAAC;wBAAC,IAAI,CAAC,CAAC;4BACJ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gCAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BACtB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC1B,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAEO,UAAU,CAAC,KAAU;gBACzB,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACf,KAAK,YAAY;wBACb,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;wBACxB,KAAK,CAAC;oBACV,KAAK,iBAAiB;wBAClB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;4BAClC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;wBACtC,KAAK,CAAC;oBACV,KAAK,OAAO,CAAC;oBACb,KAAK,UAAU;wBACX,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;4BAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;wBACzC,KAAK,CAAC;oBACV,KAAK,QAAQ,CAAC;oBACd,KAAK,QAAQ,CAAC;oBACd,KAAK,OAAO,CAAC;oBACb,KAAK,MAAM;wBACP,KAAK,CAAC;oBACV;wBACI,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBACzB,CAAC;gBACD,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC7B,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;gBACtB,CAAC;YACL,CAAC;YAEO,WAAW,CAAC,GAAW,EAAE,SAAiB;gBAC9C,IAAI,MAAM,GAAa,EAAE,EACrB,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAC5B,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;gBACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3B,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EACvB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;oBACjB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzB,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACf,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;4BAEP,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gCAAC,QAAQ,CAAC;4BAEtB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,EAAE,CAAC,CAAC;wBACnF,CAAC;wBAED,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;4BACnC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC;gBACL,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC;YAClB,CAAC;YAEO,SAAS;gBACb,IAAI,MAAM,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC;gBACvG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;oBAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBAC1E,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;oBAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBAC1E,MAAM,CAAC,MAAM,CAAC;YAClB,CAAC;YAEO,aAAa,CAAC,GAAW,EAAE,GAAQ;gBACvC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;oBAAC,MAAM,CAAC;gBAEzB,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC1D,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3C,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEzB,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,IAAI,CAAC;wBAAC,MAAM,CAAC;oBAGzD,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACd,MAAM,CAAC,IAAI,CAAC;oBAChB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACJ,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACzB,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;4BACf,MAAM,CAAC,IAAI,CAAC;wBAChB,CAAC;wBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAE5B,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCACZ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BACvB,IAAI;gCACA,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;4BACtB,CAAC,EAAE,CAAC;wBACR,CAAC;wBAAC,IAAI,CAAC,CAAC;4BACJ,GAAG,GAAG,IAAI,CAAC;wBACf,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAEO,eAAe,CAAC,KAAU,EAAE,KAAU;gBAC1C,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACf,KAAK,OAAO;wBACR,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;4BAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC/C,KAAK,CAAC;oBACV,KAAK,UAAU;wBACX,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;4BAC/B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;4BACnC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;wBAC7C,KAAK,CAAC;oBACV,KAAK,iBAAiB;wBAClB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;gCAClC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBACjF,IAAI;4BACA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;wBACxB,KAAK,CAAC;oBACV,KAAK,QAAQ,CAAC;oBACd,KAAK,QAAQ,CAAC;oBACd,KAAK,OAAO,CAAC;oBACb,KAAK,MAAM;wBACP,KAAK,CAAC;oBACV;wBACI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC5B,CAAC;gBACD,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC7B,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;gBACtB,CAAC;YACL,CAAC;YAIO,QAAQ,CAAC,KAAY,EAAE,KAAU;gBACrC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;oBACrB,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;wBAAC,MAAM,CAAC,IAAI,CAAC;gBACnC,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC;YACjB,CAAC;YAEO,QAAQ,CAAC,GAAQ;gBACrB,MAAM,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;YACnC,CAAC;YAEO,OAAO,CAAC,GAAQ;gBACpB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;SACJ;QAvYY,SAAI,OAuYhB,CAAA;IACL,CAAC,EA7Ze,IAAI,GAAJ,UAAI,KAAJ,UAAI,QA6ZnB;AAAD,CAAC,EA7ZS,KAAK,KAAL,KAAK,QA6Zd;ACraD,IAAU,KAAK,CAsEd;AAtED,WAAU,KAAK;IAAC,IAAA,IAAI,CAsEnB;IAtEe,WAAA,IAAI;QAIhB;YAKI,YAAY,IAAa;gBAFjB,WAAM,GAAuD,EAAE,CAAC;gBAGpE,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC;YACjC,CAAC;YASD,MAAM,CAAC,IAAI,CAAC,IAA0C,EAAE,QAAgB,OAAO;gBAC3E,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;YASD,EAAE,CAAC,MAAc,EAAE,OAAsC;gBACrD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YAQD,GAAG,CAAC,MAAc;gBACd,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YASD,IAAI,CAAC,IAA0C,EAAE,QAAgB,OAAO;gBACpE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;YAEO,MAAM,CAAC,CAAoB;gBAC/B,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7E,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACT,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAClC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;wBACV,CAAC,CAAC,eAAe,EAAE,CAAC;wBACpB,OAAO,CAAC,CAAC,CAAC,CAAC;oBACf,CAAC;gBACL,CAAC;YACL,CAAC;SACJ;QAjEY,eAAU,aAiEtB,CAAA;IACL,CAAC,EAtEe,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAsEnB;AAAD,CAAC,EAtES,KAAK,KAAL,KAAK,QAsEd;ACtED;;;;;GAKG;AAEH,IAAU,KAAK,CA6Gd;AA7GD,WAAU,KAAK;IAAC,IAAA,IAAI,CA6GnB;IA7Ge,WAAA,IAAI;QAChB;YAII,YAAY,KAAgC;gBACxC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,KAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnD,CAAC;YASD,EAAE,CAAC,MAAc,EAAE,OAAsC;gBACrD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;SACJ;QApBY,UAAK,QAoBjB,CAAA;QAED,eAAuB,SAAQ,KAAK;YAChC,YAAY,KAAgC;gBACxC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAEb,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;oBACrB,IAAI,OAAO,GAAsB,CAAC,CAAC,MAAO,CAAC,OAAO,CAAC;oBACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;wBAC1C,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBAChE,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBAClB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;oBAC/C,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC;oBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,CAAC,IAAI,IAAI,IAAI,WAAW,CAAC,CAAC;gBAC5G,CAAC,CAAC,CAAA;YACN,CAAC;YAKD,YAAY;gBACR,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;oBACnD,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBAC5C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;YACP,CAAC;YAKD,YAAY;gBACR,IAAI,IAAI,GAAa,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;oBAC1C,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBAC5C,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBACrB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;oBACxB,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;SACJ;QAxCY,cAAS,YAwCrB,CAAA;QAED,eAAgC,SAAQ,KAAK;YAKzC,YAAY,IAA+B;gBACvC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;gBAEjD,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;YAC5G,CAAC;YAIO,MAAM;gBACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;YAEO,MAAM,CAAC,SAAS,CAAC,CAAoB;gBACzC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACvC,CAAC;SACJ;QAzBqB,cAAS,YAyB9B,CAAA;QAED,iBAAyB,SAAQ,SAAS;YACtC,YAAY,IAA+B;gBACvC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YAES,MAAM;gBACZ,MAAM,CAAC;+BACY,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK;+BACxB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK;;qFAE8B,IAAI,CAAC,KAAK;;;;gBAI/E,CAAC;YACT,CAAC;SACJ;QAhBY,gBAAW,cAgBvB,CAAA;IACL,CAAC,EA7Ge,IAAI,GAAJ,UAAI,KAAJ,UAAI,QA6GnB;AAAD,CAAC,EA7GS,KAAK,KAAL,KAAK,QA6Gd;AC9GD,IAAU,KAAK,CA2Ed;AA3ED,WAAU,KAAK;IAAC,IAAA,IAAI,CA2EnB;IA3Ee,WAAA,IAAI;QAChB;YACI,QAAQ,CAAC,MAAc,EAAE,MAAgB;gBACrC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAGnC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAGvD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACxC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;oBAClB,OAAO,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC1D,CAAC;gBACD,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,6BAA6B,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1G,CAAC;YAED,UAAU,CAAC,MAAc;gBACrB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAGnC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAGvD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACxC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;YAC3B,CAAC;YAED,KAAK,CAAC,MAAc;gBAChB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAGnC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;gBAG3C,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACxC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;YAC3B,CAAC;YAEO,QAAQ,CAAC,MAAc;gBAC3B,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACtC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBACjE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC7B,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC;YAClB,CAAC;SACJ;QAKD,CAAC,CAAC,GAAG,EAAE;YAEH,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC;gBACtB,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1C,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC7B,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAGH,KAAA,KAAK,CAAC,UAAU,EAAE,CAAC;YAGnB,KAAA,GAAG,CAAC,UAAU,EAAE,CAAC;YAGjB,KAAA,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACxF,KAAA,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAG5F,KAAA,SAAS,CAAC,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;YAGvC,KAAA,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC,EA3Ee,IAAI,GAAJ,UAAI,KAAJ,UAAI,QA2EnB;AAAD,CAAC,EA3ES,KAAK,KAAL,KAAK,QA2Ed;AChFD,IAAU,KAAK,CA2Cd;AA3CD,WAAU,KAAK;IAAC,IAAA,MAAM,CA2CrB;IA3Ce,WAAA,MAAM;QAClB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAEpC;YAGI;gBACI,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;gBAGvC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC;YAEO,YAAY,CAAC,CAAoB;gBACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3C,KAAK,CAAC,OAAO,CAAC,0CAA0C,IAAI,YAAY,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAClG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,GAAG,EAAE,EAAE,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBACnF,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,aAAa,CAAC,CAAoB;gBACtC,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACpC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBAChD,MAAM,CAAC;gBACX,CAAC;gBAED,KAAK,CAAC,OAAO,CAAC,0BAA0B,GAAG,CAAC,MAAM,WAAW,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACxF,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBAC9F,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;wBACnC,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QArCY,eAAQ,WAqCpB,CAAA;IACL,CAAC,EA3Ce,MAAM,GAAN,YAAM,KAAN,YAAM,QA2CrB;AAAD,CAAC,EA3CS,KAAK,KAAL,KAAK,QA2Cd;AC3CD,IAAU,KAAK,CAQd;AARD,WAAU,KAAK;IAAC,IAAA,MAAM,CAQrB;IARe,WAAA,MAAM;QAClB,IAAO,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QAE5C;YACI;gBACI,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;YACrC,CAAC;SACJ;QAJY,cAAO,UAInB,CAAA;IACL,CAAC,EARe,MAAM,GAAN,YAAM,KAAN,YAAM,QAQrB;AAAD,CAAC,EARS,KAAK,KAAL,KAAK,QAQd;ACRD,IAAU,KAAK,CA2Cd;AA3CD,WAAU,KAAK;IAAC,IAAA,SAAS,CA2CxB;IA3Ce,WAAA,SAAS;QACrB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAEpC;YAGI;gBACI,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;gBAGvC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnE,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,CAAC;YAEO,eAAe,CAAC,CAAoB;gBACxC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3C,KAAK,CAAC,OAAO,CAAC,6CAA6C,IAAI,YAAY,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACxG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,GAAG,EAAE;wBACtF,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,gBAAgB;gBACpB,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACpC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBAChD,MAAM,CAAC;gBACX,CAAC;gBAED,KAAK,CAAC,OAAO,CAAC,0BAA0B,GAAG,CAAC,MAAM,cAAc,EAAE,mBAAmB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC9F,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,GAAG,EAAE;wBACjG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;wBACnC,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QArCY,kBAAQ,WAqCpB,CAAA;IACL,CAAC,EA3Ce,SAAS,GAAT,eAAS,KAAT,eAAS,QA2CxB;AAAD,CAAC,EA3CS,KAAK,KAAL,KAAK,QA2Cd;AC3CD,IAAU,KAAK,CA2Cd;AA3CD,WAAU,KAAK;IAAC,IAAA,KAAK,CA2CpB;IA3Ce,WAAA,KAAK;QACjB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAEpC;YAGI;gBACI,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;gBAGvC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,CAAC;YAEO,WAAW,CAAC,CAAoB;gBACpC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3C,KAAK,CAAC,OAAO,CAAC,yCAAyC,IAAI,YAAY,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAChG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,GAAG,EAAE;wBACtF,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,YAAY;gBAChB,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACpC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBAChD,MAAM,CAAC;gBACX,CAAC;gBAED,KAAK,CAAC,OAAO,CAAC,0BAA0B,GAAG,CAAC,MAAM,UAAU,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACtF,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,GAAG,EAAE;wBACjG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;wBACnC,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QArCY,cAAQ,WAqCpB,CAAA;IACL,CAAC,EA3Ce,KAAK,GAAL,WAAK,KAAL,WAAK,QA2CpB;AAAD,CAAC,EA3CS,KAAK,KAAL,KAAK,QA2Cd;AC3CD,IAAU,KAAK,CAwBd;AAxBD,WAAU,KAAK;IAAC,IAAA,OAAO,CAwBtB;IAxBe,WAAA,OAAO;QACnB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAE1C;YACI;gBACI,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACtD,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;YAEO,UAAU,CAAC,CAAoB;gBACnC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACvB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,CAAC,OAAO,CAAC,iDAAiD,IAAI,YAAY,EAAE,sBAAsB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAChH,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAC,SAAS,EAAE,EAAE,EAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBACzF,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QAlBY,kBAAU,aAkBtB,CAAA;IACL,CAAC,EAxBe,OAAO,GAAP,aAAO,KAAP,aAAO,QAwBtB;AAAD,CAAC,EAxBS,KAAK,KAAL,KAAK,QAwBd;ACxBD,IAAU,KAAK,CAsBd;AAtBD,WAAU,KAAK;IAAC,IAAA,OAAO,CAsBtB;IAtBe,WAAA,OAAO;QACnB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAE1C;YACI;gBACI,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjD,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,CAAC;YAEO,aAAa,CAAC,CAAoB;gBACtC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,CAAC,OAAO,CAAC,2CAA2C,IAAI,YAAY,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACpG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBACtF,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QAhBY,gBAAQ,WAgBpB,CAAA;IACL,CAAC,EAtBe,OAAO,GAAP,aAAO,KAAP,aAAO,QAsBtB;AAAD,CAAC,EAtBS,KAAK,KAAL,KAAK,QAsBd;ACtBD,IAAU,KAAK,CAiBd;AAjBD,WAAU,KAAK;IAAC,IAAA,OAAO,CAiBtB;IAjBe,WAAA,OAAO;QACnB,IAAO,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QAE5C;YACI;gBACI,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAClC,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;gBAEjC,CAAC,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBACzC,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAC1B,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC1C,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QAbY,eAAO,UAanB,CAAA;IACL,CAAC,EAjBe,OAAO,GAAP,aAAO,KAAP,aAAO,QAiBtB;AAAD,CAAC,EAjBS,KAAK,KAAL,KAAK,QAiBd;ACjBD,IAAU,KAAK,CAQd;AARD,WAAU,KAAK;IAAC,IAAA,IAAI,CAQnB;IARe,WAAA,IAAI;QAChB,IAAO,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QAE5C;YACI;gBACI,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;YACrC,CAAC;SACJ;QAJY,aAAQ,WAIpB,CAAA;IACL,CAAC,EARe,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAQnB;AAAD,CAAC,EARS,KAAK,KAAL,KAAK,QAQd;ACRD,IAAU,KAAK,CAwBd;AAxBD,WAAU,KAAK;IAAC,IAAA,IAAI,CAwBnB;IAxBe,WAAA,IAAI;QAChB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAE1C;YACI;gBACI,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjD,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,CAAC;YAEO,UAAU,CAAC,CAAoB;gBACnC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACvB,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,EAAE,GAAE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACnB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,CAAC,OAAO,CAAC,wCAAwC,IAAI,YAAY,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC9F,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBAClF,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QAlBY,aAAQ,WAkBpB,CAAA;IACL,CAAC,EAxBe,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAwBnB;AAAD,CAAC,EAxBS,KAAK,KAAL,KAAK,QAwBd;ACxBD,IAAU,KAAK,CA2Dd;AA3DD,WAAU,KAAK;IAAC,IAAA,IAAI,CA2DnB;IA3De,WAAA,IAAI;QAChB,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1C,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC;YACI;gBAEI,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzC,CAAC,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,CAAC;YAEO,UAAU,CAAC,CAAoB;gBACnC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;YAChD,CAAC;YAEO,UAAU,CAAC,CAAoB;gBACnC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;oBAClB,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBACtC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;wBACpB,MAAM,CAAC;oBACX,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;wBAClF,IAAI,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;wBAC7B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,CAAC;wBAC1C,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;4BACrB,MAAM,CAAC,MAAM,CAAC;0CACI,IAAI,CAAC,EAAE,gBAAgB,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI;iBACxE,CAAC,CAAC;wBACC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAEO,OAAO;gBACX,IAAI,KAAK,GAAiC,EAAE,CAAC;gBAC7C,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACxC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBAEH,IAAI,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACf,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;wBACnB,MAAM,CAAC;oBACX,CAAC;oBAED,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;;0CAEG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;;6CAEb,GAAG,CAAC,GAAG,EAAE;mBACnC,CAAC,CAAC;gBACT,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,CAAC;YAC9C,CAAC;SACJ;QAtDY,aAAQ,WAsDpB,CAAA;IACL,CAAC,EA3De,IAAI,GAAJ,UAAI,KAAJ,UAAI,QA2DnB;AAAD,CAAC,EA3DS,KAAK,KAAL,KAAK,QA2Dd;AC3DD,IAAU,KAAK,CAkCd;AAlCD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAkCvB;IAlCe,WAAA,QAAQ;QACpB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAE1C;YACI;gBACI,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjD,UAAU,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjE,UAAU,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,CAAC;YAEO,cAAc,CAAC,CAAoB;gBACvC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,CAAC,OAAO,CAAC,4CAA4C,IAAI,YAAY,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACtG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBAClF,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,YAAY,CAAC,CAAoB;gBACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;gBACjC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/C,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrE,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpE,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzE,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;SACJ;QA5BY,iBAAQ,WA4BpB,CAAA;IACL,CAAC,EAlCe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAkCvB;AAAD,CAAC,EAlCS,KAAK,KAAL,KAAK,QAkCd;AClCD,IAAU,KAAK,CA8Bd;AA9BD,WAAU,KAAK;IAAC,IAAA,IAAI,CA8BnB;IA9Be,WAAA,IAAI;QAChB,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAE1C;YACI;gBACI,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;oBAC1C,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;oBAClB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACpC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5F,CAAC,CAAC,CAAC;gBAGH,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;qBACpC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACzC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,CAAC;YAEO,QAAQ,CAAC,CAAoB;gBACjC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5E,CAAC;YAEO,KAAK,CAAC,CAAoB;gBAC9B,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC/C,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;gBAC5D,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5E,CAAC;SACJ;QA1BY,aAAQ,WA0BpB,CAAA;IACL,CAAC,EA9Be,IAAI,GAAJ,UAAI,KAAJ,UAAI,QA8BnB;AAAD,CAAC,EA9BS,KAAK,KAAL,KAAK,QA8Bd;AC9BD,IAAU,KAAK,CAwBd;AAxBD,WAAU,KAAK;IAAC,IAAA,IAAI,CAwBnB;IAxBe,WAAA,IAAI;QAChB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAE1C;YACI;gBAEI,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC;qBAC1B,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACtD,CAAC;YAEO,UAAU,CAAC,CAAoB;gBACnC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,CAAC,OAAO,CAAC,wCAAwC,IAAI,YAAY,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC9F,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBAClF,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QAlBY,aAAQ,WAkBpB,CAAA;IACL,CAAC,EAxBe,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAwBnB;AAAD,CAAC,EAxBS,KAAK,KAAL,KAAK,QAwBd;ACxBD,IAAU,KAAK,CAwBd;AAxBD,WAAU,KAAK;IAAC,IAAA,IAAI,CAwBnB;IAxBe,WAAA,IAAI;QAChB,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAE1C;YACI;gBAEI,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;qBACpC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACzC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,CAAC;YAEO,QAAQ,CAAC,CAAoB;gBACjC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAClC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5E,CAAC;YAEO,KAAK,CAAC,CAAoB;gBAC9B,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACtB,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC/C,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;gBAC5D,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC5E,CAAC;SACJ;QApBY,YAAO,UAoBnB,CAAA;IACL,CAAC,EAxBe,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAwBnB;AAAD,CAAC,EAxBS,KAAK,KAAL,KAAK,QAwBd;ACxBD,IAAU,KAAK,CA2Cd;AA3CD,WAAU,KAAK;IAAC,IAAA,MAAM,CA2CrB;IA3Ce,WAAA,MAAM;QAClB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAEpC;YAGI;gBACI,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;gBAGvC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC;YAEO,YAAY,CAAC,CAAoB;gBACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC3C,KAAK,CAAC,OAAO,CAAC,0CAA0C,IAAI,YAAY,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAClG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBACrF,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,aAAa,CAAC,CAAoB;gBACtC,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACpC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;oBAC/C,MAAM,CAAC;gBACX,CAAC;gBAED,KAAK,CAAC,OAAO,CAAC,0BAA0B,GAAG,CAAC,MAAM,WAAW,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACxF,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBAChG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;wBACnC,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QArCY,eAAQ,WAqCpB,CAAA;IACL,CAAC,EA3Ce,MAAM,GAAN,YAAM,KAAN,YAAM,QA2CrB;AAAD,CAAC,EA3CS,KAAK,KAAL,KAAK,QA2Cd;AC3CD,IAAU,KAAK,CAQd;AARD,WAAU,KAAK;IAAC,IAAA,MAAM,CAQrB;IARe,WAAA,MAAM;QAClB,IAAO,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QAE5C;YACI;gBACI,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;YACrC,CAAC;SACJ;QAJY,cAAO,UAInB,CAAA;IACL,CAAC,EARe,MAAM,GAAN,YAAM,KAAN,YAAM,QAQrB;AAAD,CAAC,EARS,KAAK,KAAL,KAAK,QAQd;ACRD,IAAU,KAAK,CAgQd;AAhQD,WAAU,KAAK;IAAC,IAAA,OAAO,CAgQtB;IAhQe,WAAA,OAAO;QACnB,IAAO,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QACxC,IAAO,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5C,IAAO,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QACxC,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC;YAGI,YAAY,MAAc;gBACtB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACxB,CAAC;YAED,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;gBAChD,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC;oBAC/B,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;gBACvB,CAAC;gBAED,MAAM,KAAK,GAAG,gBAAgB,CAAC;gBAC/B,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YACpD,CAAC;SACJ;QAED,gBAAiB,SAAQ,SAAS;YACpB,MAAM;gBACZ,MAAM,CAAC;;;yCAGsB,IAAI,CAAC,KAAK;;;;;;;;sCAQb,IAAI,CAAC,KAAK;;wCAER,IAAI,CAAC,KAAK;;;yCAGT,IAAI,CAAC,KAAK;;;;;;;;yCAQV,IAAI,CAAC,KAAK;;;;;;;;;;;;;;;;;;kBAkBjC,CAAC;YACX,CAAC;SACJ;QAED,eAAgB,SAAQ,SAAS;YACnB,MAAM;gBACZ,MAAM,CAAC;kDAC+B,IAAI,CAAC,KAAK;;gDAEZ,IAAI,CAAC,KAAK;;;;mDAIP,IAAI,CAAC,KAAK;;;;;;;;mDAQV,IAAI,CAAC,KAAK;;;;;;;;;;;;;oBAazC,CAAC;YACb,CAAC;SACJ;QAED,qBAAsB,SAAQ,SAAS;YACzB,MAAM;gBACZ,MAAM,CAAC;;uDAEoC,IAAI,CAAC,KAAK;;;;0DAIP,IAAI,CAAC,KAAK;;;;;;;uDAOb,IAAI,CAAC,KAAK;;;;;;;;;oBAS7C,CAAC;YACb,CAAC;SACJ;QAED,qBAAsB,SAAQ,SAAS;YACzB,MAAM;gBACZ,MAAM,CAAC;;uDAEoC,IAAI,CAAC,KAAK;;;;;;;;;oBAS7C,CAAC;YACb,CAAC;SACJ;QAED,iBAAkB,SAAQ,KAAK;YAK3B,YAAY,IAA+B;gBACvC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBAE1C,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;YACjH,CAAC;YAEM,MAAM,CAAC,EAAU,EAAE,IAAY;gBAClC,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC;gBAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;sBACR,IAAI,gBAAgB,KAAK,eAAe,EAAE,gCAAgC,KAAK,iBAAiB,IAAI;mCACvF,KAAK,sBAAsB,IAAI;mCAC/B,KAAK;mCACL,KAAK;mCACL,KAAK;;yFAEiD,IAAI,CAAC,IAAI;;;;;;oBAM9E,CAAC,CAAC;gBACV,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;YAEO,aAAa,CAAC,CAAoB;gBACtC,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,WAAW,GAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC5C,GAAG,CAAC,KAAK,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;YAEO,MAAM,CAAC,SAAS,CAAC,CAAoB;gBACzC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACvC,CAAC;SACJ;QAED;YAMI;gBACI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC3B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;gBACpC,IAAI,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC/B,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAClC,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAClC,IAAI,WAAW,CAAC,2BAA2B,CAAC,CAAC;gBAC7C,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;gBACvC,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC;gBAChC,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAC;gBAC1C,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAC;gBAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAGhD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,+BAA+B,CAAC,CAAC;gBAGrG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAA;gBAC3E,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClE,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACtE,CAAC;YAEO,MAAM,CAAC,SAAS,CAAC,CAAc;gBACnC,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC1B,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBACnB,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,IAAI,SAAS,CAAC,CAAA;gBACnD,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,GAAG,CAAC,KAAK,EAAE,CAAC;oBACZ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;wBAChB,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;wBAChB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;SACJ;QA1CY,gBAAQ,WA0CpB,CAAA;QAED,aAAqB,SAAQ,QAAQ;YAIjC;gBACI,KAAK,EAAE,CAAC;gBAER,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBACzC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBACtB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAA;YACN,CAAC;SACJ;QAdY,eAAO,UAcnB,CAAA;IACL,CAAC,EAhQe,OAAO,GAAP,aAAO,KAAP,aAAO,QAgQtB;AAAD,CAAC,EAhQS,KAAK,KAAL,KAAK,QAgQd;AChQD,IAAU,KAAK,CAsDd;AAtDD,WAAU,KAAK;IAAC,IAAA,OAAO,CAsDtB;IAtDe,WAAA,OAAO;QACnB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAEpC;YAGI;gBACI,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;gBAGvC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACzD,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACjD,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,CAAC;YAEO,aAAa,CAAC,CAAoB;gBACtC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,CAAC,OAAO,CAAC,2CAA2C,IAAI,YAAY,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACpG,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,GAAG,EAAE;wBAChG,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,YAAY,CAAC,CAAoB;gBACrC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,IAAI,GAAG;oBACP,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;oBACxC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;iBAC/B,CAAC;gBACF,KAAK,CAAC,OAAO,CAAC,8BAA8B,IAAI,CAAC,KAAK,yCAAyC,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACzH,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;oBACjD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,GAAG,EAAE;wBAC3F,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,eAAe,CAAC,CAAoB;gBACxC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EACpC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EACxB,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,CAAC,OAAO,CAAC,6CAA6C,IAAI,YAAY,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACxG,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,WAAW,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,GAAG,EAAE;wBACjG,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QAhDY,gBAAQ,WAgDpB,CAAA;IACL,CAAC,EAtDe,OAAO,GAAP,aAAO,KAAP,aAAO,QAsDtB;AAAD,CAAC,EAtDS,KAAK,KAAL,KAAK,QAsDd;ACvDD,IAAU,KAAK,CAgWd;AAhWD,WAAU,KAAK;IAAC,IAAA,IAAI,CAgWnB;IAhWe,WAAA,IAAI;QAChB;YAAA;gBACI,SAAI,GAAY,MAAM,CAAC;gBAEvB,UAAK,GAAY,EAAE,CAAC;gBACpB,WAAM,GAAY,EAAE,CAAC;YAEzB,CAAC;SAAA;QANY,iBAAY,eAMxB,CAAA;QAED;YAKI,YAAsB,IAA+B,EAAE,IAAmB;gBACtE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;YAED,OAAO;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACrB,CAAC;SAKJ;QAlBqB,UAAK,QAkB1B,CAAA;QAKD,gBAAwB,SAAQ,KAAK;YAGjC,YAAY,IAA+B,EAAE,IAAmB;gBAC5D,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtB,CAAC;YAED,OAAO,CAAC,CAAM;YACd,CAAC;YAED,OAAO,CAAC,CAAS,EAAE,CAAS;YAC5B,CAAC;SACJ;QAZY,eAAU,aAYtB,CAAA;QAED,kBAA0B,SAAQ,KAAK;YAcnC,YAAY,IAA+B,EAAE,IAAmB;gBAC5D,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAElB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC;gBAClD,CAAC;gBAED,IAAI,CAAC,MAAM,GAAG;oBACV,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE;wBAQL,SAAS,EAAE;4BACP,QAAQ,EAAE,CAAC;yBAEd;qBAmBJ;iBACJ,CAAC;gBAGF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAElB,IAAI,CAAC,GAAG,GAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC/E,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBACd,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACzC,CAAC;gBACD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,CAAC,CAAM;YACd,CAAC;YAED,OAAO,CAAC,CAAS,EAAE,CAAS;gBACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,CAAC;YAES,UAAU;YACpB,CAAC;YAES,MAAM,CAAC,WAAW,CAAC,KAAa,EAAE,IAAY;gBACpD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACX,KAAK,aAAa;wBACd,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBAClC,KAAK,WAAW;wBACZ,MAAM,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBAC1C,KAAK,QAAQ;wBACT,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;4BACZ,MAAM,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;wBAC5C,CAAC;wBAAC,IAAI,CAAC,CAAC;4BACJ,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;wBAClC,CAAC;oBACL,KAAK,YAAY;wBACb,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;4BACf,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;wBAClC,CAAC;wBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;4BACzB,MAAM,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;wBAC3C,CAAC;wBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC;4BAC5B,MAAM,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;wBAC9C,CAAC;wBAAC,IAAI,CAAC,CAAC;4BACJ,MAAM,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;wBACjD,CAAC;oBACL;wBACI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;;QAnGgB,0BAAa,GAAG;YAC7B,mBAAmB;YACnB,mBAAmB;YACnB,mBAAmB;YACnB,mBAAmB;YACnB,oBAAoB;YACpB,mBAAmB;YACnB,oBAAoB;SACvB,CAAC;QAZO,iBAAY,eAwGxB,CAAA;QAKD,iBAAyB,SAAQ,YAAY;YAC/B,UAAU;gBAChB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG;oBACzB,QAAQ,EAAE,OAAO;iBACpB,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG;oBAC3B,SAAS,EAAE;wBACP,KAAK,EAAE,CAAC,WAAmC,EAAE,IAAqB,EAAU,EAAE;4BAC1E,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;4BAClD,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;4BACxE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;gCACvB,KAAK,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACzD,CAAC;4BACD,MAAM,CAAC,KAAK,CAAC;wBACjB,CAAC;qBACJ;iBACJ,CAAA;YACL,CAAC;YAED,OAAO,CAAC,CAAM;gBAaV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC;wBACzB,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;qBACpC,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;gBAUnC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,CAAC;SACJ;QAhDY,gBAAW,cAgDvB,CAAA;QAKD,iBAAyB,SAAQ,YAAY;YACzC,YAAY,IAA+B,EAAE,IAAmB;gBAC5D,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtB,CAAC;YAES,UAAU;gBAChB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG;oBACzB,KAAK,EAAE,CAAC;4BACJ,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE;gCAGF,IAAI,EAAE,QAAQ;gCACd,aAAa,EAAE,qBAAqB;gCACpC,cAAc,EAAE;oCACZ,MAAM,EAAE,OAAO;iCAClB;6BACJ;yBACJ,CAAC;iBACL,CAAC;gBACF,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;4BAChC,KAAK,EAAE;gCACH,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;6BACvE;yBACJ,CAAC,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG;wBAC3B,SAAS,EAAE;4BACP,KAAK,EAAE,CAAC,WAAmC,EAAE,IAAqB,EAAU,EAAE;gCAC1E,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;gCACjE,IAAI,CAAC,GAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gCAC7E,KAAK,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCACvD,MAAM,CAAC,KAAK,CAAC;4BACjB,CAAC;yBACJ;qBACJ,CAAA;gBACL,CAAC;YACL,CAAC;YAED,OAAO,CAAC,CAAM;gBACV,IAAI,QAAQ,GAA0B,CAAC,CAAC,CAAC,CAAC;gBAC1C,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;oBACvB,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACtF,EAAE,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;oBACvE,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC;oBACvB,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC;oBACnB,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC;gBAEvB,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,CAAC;SACJ;QApDY,gBAAW,cAoDvB,CAAA;QAED;YACI,MAAM,CAAC,MAAM,CAAC,IAA+B;gBACzC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpB,IAAI,IAAI,GAAiB;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC9B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;oBAClC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;iBACrC,CAAC;gBACF,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChB,KAAK,OAAO;wBACR,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACvC,KAAK,MAAM,CAAC;oBACZ,KAAK,KAAK;wBACN,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACxC,KAAK,KAAK;wBACN,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;YAChB,CAAC;SACJ;QApBY,iBAAY,eAoBxB,CAAA;QAED;YAAA;gBAGI,SAAI,GAAY,KAAK,CAAC;gBACtB,oBAAe,GAAY,KAAK,CAAC;YACrC,CAAC;SAAA;QALY,sBAAiB,oBAK7B,CAAA;QAED;YAKI,YAAY,KAAgC,EAAE,IAAwB;gBAH9D,WAAM,GAAY,EAAE,CAAC;gBAIzB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,iBAAiB,EAAE,EAAE,IAAI,CAAC,CAAC;gBAEpD,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACnB,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC/B,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;YAEO,WAAW;gBACf,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACpF,CAAC;YACL,CAAC;YAED,OAAO;gBACH,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBACd,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;wBAChC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBACpF,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI;gBACA,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACnB,CAAC;YAED,OAAO,CAAC,IAAY;gBAChB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC;YAEO,QAAQ;gBACZ,IAAI,IAAI,GAAQ;oBACZ,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;oBACzB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;iBACvB,CAAC;gBACF,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBACf,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAA6C,EAAE,EAAE;oBACzF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,CAAQ,EAAE,EAAE;wBACxC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;4BACjB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBAC9B,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QA5DY,eAAU,aA4DtB,CAAA;IACL,CAAC,EAhWe,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAgWnB;AAAD,CAAC,EAhWS,KAAK,KAAL,KAAK,QAgWd;AC9VD,IAAU,KAAK,CAiCd;AAjCD,WAAU,KAAK;IAAC,IAAA,OAAO,CAiCtB;IAjCe,WAAA,OAAO;QACnB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAE1C;YAGI;gBACI,IAAI,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC7B,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvB,MAAM,CAAC;gBACX,CAAC;gBAED,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC1D,IAAI,EAAE,SAAS;oBACf,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE;iBACnC,CAAC,CAAC;gBAEH,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACrB,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBACxB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACzB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACJ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBACtB,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QA5BY,iBAAS,YA4BrB,CAAA;IACL,CAAC,EAjCe,OAAO,GAAP,aAAO,KAAP,aAAO,QAiCtB;AAAD,CAAC,EAjCS,KAAK,KAAL,KAAK,QAiCd;AClCD,IAAU,KAAK,CAwBd;AAxBD,WAAU,KAAK;IAAC,IAAA,OAAO,CAwBtB;IAxBe,WAAA,OAAO;QAAC,IAAA,QAAQ,CAwB/B;QAxBuB,WAAA,QAAQ;YAC5B,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YAEhC,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAE1C;gBACI;oBAEI,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACjD,UAAU,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrE,CAAC;gBAEO,cAAc,CAAC,CAAoB;oBACvC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;oBACvC,KAAK,CAAC,OAAO,CAAC,4CAA4C,IAAI,YAAY,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACtG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,GAAG,EAAE;4BACrF,GAAG,CAAC,MAAM,EAAE,CAAC;4BACb,GAAG,CAAC,KAAK,EAAE,CAAC;wBAChB,CAAC,CAAC,CAAA;oBACN,CAAC,CAAC,CAAC;gBACP,CAAC;aACJ;YAlBY,iBAAQ,WAkBpB,CAAA;QACL,CAAC,EAxBuB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAwB/B;IAAD,CAAC,EAxBe,OAAO,GAAP,aAAO,KAAP,aAAO,QAwBtB;AAAD,CAAC,EAxBS,KAAK,KAAL,KAAK,QAwBd;ACzBD,IAAU,KAAK,CAkBd;AAlBD,WAAU,KAAK;IAAC,IAAA,OAAO,CAkBtB;IAlBe,WAAA,OAAO;QACnB;YACI;gBACI,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAC1B,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC1C,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;gBAC1E,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,mCAAmC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC7C,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;wBAC3B,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC7B,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC/B,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACJ,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC7B,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC/B,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QAhBY,iBAAS,YAgBrB,CAAA;IACL,CAAC,EAlBe,OAAO,GAAP,aAAO,KAAP,aAAO,QAkBtB;AAAD,CAAC,EAlBS,KAAK,KAAL,KAAK,QAkBd;ACjBD,IAAU,KAAK,CAkEd;AAlED,WAAU,KAAK;IAAC,IAAA,KAAK,CAkEpB;IAlEe,WAAA,KAAK;QAAC,IAAA,OAAO,CAkE5B;QAlEqB,WAAA,OAAO;YACzB,IAAO,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAExC,IAAO,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;YAG9C;gBACI,QAAQ,CAAC,KAAa,EAAE,MAAc,EAAE,GAAY;oBAChD,IAAI,EAAE,GAAqB,MAAM,CAAC,CAAC,CAAC,CAAC;oBACrC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBACpC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBACtB,MAAM,CAAC,EAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAC,CAAC;oBAC3F,CAAC;oBACD,MAAM,CAAC,EAAC,EAAE,EAAE,IAAI,EAAC,CAAA;gBACrB,CAAC;aACJ;YAED;gBAGI;oBACI,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,mBAAmB,EAAE,EAAE,EAAE,CAAC,CAAC;oBAE7D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,CAAC;oBAEjF,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;wBAC1B,IAAI,IAAI,GAAqB,CAAC,CAAC,MAAM,CAAC;wBACtC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BACxB,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC5C,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,0BAA0B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBACpC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC7B,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;wBACxC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;oBAC9C,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAClD,CAAC;gBAEO,MAAM,CAAC,CAAoB;oBAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAEnB,IAAI,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACrD,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACrB,MAAM,CAAC;oBACX,CAAC;oBAED,IAAI,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBACtC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBACnC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oBACpD,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACJ,IAAI,IAAI,GAAqB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBAED,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBACxC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAa,EAAE,EAAE;wBAC3E,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;4BACZ,QAAQ,CAAC,IAAI,GAAG,iBAAiB,CAAA;wBACrC,CAAC;wBAAC,IAAI,CAAC,CAAC;4BACJ,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;wBACxD,CAAC;oBACL,CAAC,CAAC,CAAA;gBACN,CAAC;aACJ;YAhDY,gBAAQ,WAgDpB,CAAA;QACL,CAAC,EAlEqB,OAAO,GAAP,aAAO,KAAP,aAAO,QAkE5B;IAAD,CAAC,EAlEe,KAAK,GAAL,WAAK,KAAL,WAAK,QAkEpB;AAAD,CAAC,EAlES,KAAK,KAAL,KAAK,QAkEd;AClED,IAAU,KAAK,CAmCd;AAnCD,WAAU,KAAK;IAAC,IAAA,KAAK,CAmCpB;IAnCe,WAAA,KAAK;QAAC,IAAA,OAAO,CAmC5B;QAnCqB,WAAA,OAAO;YACzB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YAEhC,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAE1C;gBACI;oBACI,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACjD,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC/D,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnE,CAAC;gBAEO,aAAa,CAAC,CAAoB;oBACtC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC9C,KAAK,CAAC,OAAO,CAAC,2CAA2C,IAAI,YAAY,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACpG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;4BAClF,GAAG,CAAC,KAAK,EAAE,CAAC;wBAChB,CAAC,CAAC,CAAA;oBACN,CAAC,CAAC,CAAC;gBACP,CAAC;gBAEO,aAAa,CAAC,CAAoB;oBACtC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC9C,KAAK,CAAC,OAAO,CAAC,2CAA2C,IAAI,YAAY,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACpG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;4BAClF,GAAG,CAAC,MAAM,EAAE,CAAC;4BACb,GAAG,CAAC,KAAK,EAAE,CAAC;wBAChB,CAAC,CAAC,CAAA;oBACN,CAAC,CAAC,CAAC;gBACP,CAAC;aACJ;YA7BY,gBAAQ,WA6BpB,CAAA;QACL,CAAC,EAnCqB,OAAO,GAAP,aAAO,KAAP,aAAO,QAmC5B;IAAD,CAAC,EAnCe,KAAK,GAAL,WAAK,KAAL,WAAK,QAmCpB;AAAD,CAAC,EAnCS,KAAK,KAAL,KAAK,QAmCd;ACnCD,IAAU,KAAK,CAsBd;AAtBD,WAAU,KAAK;IAAC,IAAA,KAAK,CAsBpB;IAtBe,WAAA,KAAK;QAAC,IAAA,IAAI,CAsBzB;QAtBqB,WAAA,IAAI;YACtB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YAEhC,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAE1C;gBACI;oBACI,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACjD,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBAEO,WAAW,CAAC,CAAoB;oBACpC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACpC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC9C,KAAK,CAAC,OAAO,CAAC,yCAAyC,IAAI,YAAY,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBAChG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;4BACtF,GAAG,CAAC,MAAM,EAAE,CAAC;4BACb,GAAG,CAAC,KAAK,EAAE,CAAC;wBAChB,CAAC,CAAC,CAAA;oBACN,CAAC,CAAC,CAAC;gBACP,CAAC;aACJ;YAhBY,aAAQ,WAgBpB,CAAA;QACL,CAAC,EAtBqB,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAsBzB;IAAD,CAAC,EAtBe,KAAK,GAAL,WAAK,KAAL,WAAK,QAsBpB;AAAD,CAAC,EAtBS,KAAK,KAAL,KAAK,QAsBd;ACtBD,IAAU,KAAK,CAgDd;AAhDD,WAAU,KAAK;IAAC,IAAA,IAAI,CAgDnB;IAhDe,WAAA,IAAI;QAChB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAE1C;YACI;gBAEI,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC;qBAC1B,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC7C,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC3C,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,CAAC;YAEO,UAAU,CAAC,CAAoB;gBACnC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,CAAC,OAAO,CAAC,wCAAwC,IAAI,YAAY,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC9F,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBAClF,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,SAAS,CAAC,CAAoB;gBAClC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,CAAC,OAAO,CAAC,uCAAuC,IAAI,YAAY,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC5F,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBACjF,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,WAAW,CAAC,CAAoB;gBACpC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,CAAC,OAAO,CAAC,yCAAyC,IAAI,YAAY,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAChG,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBACnF,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QA1CY,aAAQ,WA0CpB,CAAA;IACL,CAAC,EAhDe,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAgDnB;AAAD,CAAC,EAhDS,KAAK,KAAL,KAAK,QAgDd;AChDD,IAAU,KAAK,CAmDd;AAnDD,WAAU,KAAK;IAAC,IAAA,MAAM,CAmDrB;IAnDe,WAAA,MAAM;QAClB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAEpC;YAGI;gBACI,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;gBAGvC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtD,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,CAAC;YAEO,YAAY,CAAC,CAAoB;gBACrC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC9C,KAAK,CAAC,OAAO,CAAC,0CAA0C,IAAI,YAAY,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAClG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBACzF,GAAG,CAAC,MAAM,EAAE,CAAC;wBACb,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,aAAa,CAAC,CAAoB;gBACtC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACtC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;oBAC/C,MAAM,CAAC;gBACX,CAAC;gBAED,KAAK,CAAC,OAAO,CAAC,0BAA0B,KAAK,CAAC,MAAM,WAAW,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC1F,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBACpG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;wBACnC,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,YAAY,CAAC,CAAoB;gBACrC,KAAK,CAAC,OAAO,CAAC,4CAA4C,EAAE,eAAe,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBACpF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBACvD,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QA7CY,eAAQ,WA6CpB,CAAA;IACL,CAAC,EAnDe,MAAM,GAAN,YAAM,KAAN,YAAM,QAmDrB;AAAD,CAAC,EAnDS,KAAK,KAAL,KAAK,QAmDd;ACnDD,IAAU,KAAK,CAad;AAbD,WAAU,KAAK;IAAC,IAAA,MAAM,CAarB;IAbe,WAAA,MAAM;QAClB,IAAO,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QAE5C;YACI;gBACI,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAClC,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;gBAEjC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBACjD,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QATY,cAAO,UASnB,CAAA;IACL,CAAC,EAbe,MAAM,GAAN,YAAM,KAAN,YAAM,QAarB;AAAD,CAAC,EAbS,KAAK,KAAL,KAAK,QAad;ACZD,IAAU,KAAK,CAcd;AAdD,WAAU,KAAK;IACX,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;IAE1C;QAGI;YACI,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;YAC9E,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACrB,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACP,CAAC;KACJ;IATY,eAAS,YASrB,CAAA;AACL,CAAC,EAdS,KAAK,KAAL,KAAK,QAcd;ACfD,IAAU,KAAK,CAoEd;AApED,WAAU,KAAK;IAAC,IAAA,MAAM,CAoErB;IApEe,WAAA,MAAM;QAClB,IAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAEhC,IAAO,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAE1C;YAII,YAAY,IAA+B,EAAE,QAAgC,EAAE,OAAgB;gBAC3F,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;oBAClB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;wBACjB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC7B,CAAC;oBACD,IAAI,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;oBAClD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;YACP,CAAC;SACJ;QAED;YAII;gBACI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC3C,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAGpE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACnF,CAAC;YAEO,WAAW,CAAC,CAAoB;gBACpC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,KAAK,CAAC,OAAO,CAAC,yCAAyC,IAAI,YAAY,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAChG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAa,CAAC,CAAC,EAAE;wBAChE,UAAU,CAAC,MAAM,EAAE,CAAC;wBACpB,GAAG,CAAC,KAAK,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAA;gBACN,CAAC,CAAC,CAAC;YACP,CAAC;YAEO,YAAY,CAAC,IAAY;gBAC7B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACR,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpB,MAAM,CAAC;gBACX,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;oBAC1B,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,EACf,KAAK,GAAa;wBACd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;wBAChC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;wBACjC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;qBACnC,CAAC;oBACN,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAClC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACnC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;4BACb,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;4BACf,MAAM,CAAC;wBACX,CAAC;oBACL,CAAC;oBACD,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAA;YACN,CAAC;SACJ;QA9CY,eAAQ,WA8CpB,CAAA;IACL,CAAC,EApEe,MAAM,GAAN,YAAM,KAAN,YAAM,QAoErB;AAAD,CAAC,EApES,KAAK,KAAL,KAAK,QAoEd"} \ No newline at end of file +{"version":3,"file":"swirl.js","sourceRoot":"","sources":["../ts/core/bulma.ts","../ts/core/ajax.ts","../ts/core/validator.ts","../ts/core/form.ts","../ts/core/dispatcher.ts","../ts/core/table.ts","../ts/core/core.ts","../ts/core/graph.ts","../ts/index.ts","../ts/chart/list.ts","../ts/config/list.ts","../ts/config/new.ts","../ts/container/list.ts","../ts/image/list.ts","../ts/network/detail.ts","../ts/network/list.ts","../ts/network/new.ts","../ts/node/edit.ts","../ts/node/list.ts","../ts/perm/edit.ts","../ts/registry/list.ts","../ts/role/edit.ts","../ts/role/list.ts","../ts/role/new.ts","../ts/secret/list.ts","../ts/secret/new.ts","../ts/service/edit.ts","../ts/service/list.ts","../ts/service/stats.ts","../ts/service/template/list.ts","../ts/setting/index.ts","../ts/stack/archive/edit.ts","../ts/stack/archive/list.ts","../ts/stack/task/list.ts","../ts/user/list.ts","../ts/volume/list.ts","../ts/volume/new.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/assets/swirl/ts/chart/list.ts b/assets/swirl/ts/chart/list.ts index 77eb16f..9c084ed 100644 --- a/assets/swirl/ts/chart/list.ts +++ b/assets/swirl/ts/chart/list.ts @@ -3,22 +3,7 @@ namespace Swirl.Metric { import Modal = Swirl.Core.Modal; import AjaxResult = Swirl.Core.AjaxResult; import Dispatcher = Swirl.Core.Dispatcher; - - class FilterBox { - private $elem: JQuery; - private timer: number; - - constructor(elem: string | Element | JQuery, callback: (text: string) => void, timeout?: number) { - this.$elem = $(elem); - this.$elem.keyup(() => { - if (this.timer > 0) { - clearTimeout(this.timer); - } - let text: string = this.$elem.val().toLowerCase(); - this.timer = setTimeout(() => callback(text), timeout || 500); - }); - } - } + import FilterBox = Swirl.Core.FilterBox; export class ListPage { private fb: FilterBox; @@ -59,11 +44,11 @@ namespace Swirl.Metric { for (let i = 0; i= 0) { - $(elem).show(); + $elem.show(); return; } } - $(elem).hide(); + $elem.hide(); }) } } diff --git a/assets/swirl/ts/core/bulma.ts b/assets/swirl/ts/core/bulma.ts index 8af1d42..9b0c4c4 100644 --- a/assets/swirl/ts/core/bulma.ts +++ b/assets/swirl/ts/core/bulma.ts @@ -208,4 +208,20 @@ namespace Swirl.Core { } } } + + export class FilterBox { + private $elem: JQuery; + private timer: number; + + constructor(elem: string | Element | JQuery, callback: (text: string) => void, timeout?: number) { + this.$elem = $(elem); + this.$elem.keyup(() => { + if (this.timer > 0) { + clearTimeout(this.timer); + } + let text: string = this.$elem.val().toLowerCase(); + this.timer = setTimeout(() => callback(text), timeout || 500); + }); + } + } } diff --git a/assets/swirl/ts/core/graph.ts b/assets/swirl/ts/core/graph.ts index caa17ee..fa5a978 100644 --- a/assets/swirl/ts/core/graph.ts +++ b/assets/swirl/ts/core/graph.ts @@ -3,7 +3,7 @@ namespace Swirl.Core { type?: string = "line"; unit?: string; width?: number = 12; - height?: number = 50; + height?: number = 150; colors?: string[]; } @@ -22,7 +22,15 @@ namespace Swirl.Core { return this.name; } - abstract setSize(w: number, h: number): void; + getElem(): JQuery { + return this.$elem; + } + + getOptions(): GraphOptions { + return this.opts; + } + + abstract resize(w: number, h: number): void; abstract setData(d: any): void; } @@ -40,7 +48,7 @@ namespace Swirl.Core { setData(d: any): void { } - setSize(w: number, h: number): void { + resize(w: number, h: number): void { } } @@ -69,6 +77,8 @@ namespace Swirl.Core { type: opts.type, data: {}, options: { + responsive: false, + maintainAspectRatio: false, // title: { // // display: true, // text: opts.title || 'NONE' @@ -106,7 +116,8 @@ namespace Swirl.Core { this.ctx = ($(elem).find("canvas").get(0)).getContext('2d'); if (opts.height) { - this.ctx.canvas.height = opts.height; + this.ctx.canvas.width = this.ctx.canvas.parentElement.offsetWidth; + this.ctx.canvas.height = this.ctx.canvas.parentElement.offsetHeight; } this.chart = new Chart(this.ctx, this.config); } @@ -114,9 +125,12 @@ namespace Swirl.Core { setData(d: any): void { } - setSize(w: number, h: number): void { - this.ctx.canvas.height = h; - this.chart.update(); + resize(w: number, h: number): void { + // this.ctx.canvas.style.width = this.ctx.canvas.parentElement.offsetWidth + "px"; + // this.ctx.canvas.style.height = this.ctx.canvas.parentElement.offsetWidth + "px"; + this.ctx.canvas.width = this.ctx.canvas.parentElement.offsetWidth; + this.ctx.canvas.height = this.ctx.canvas.parentElement.offsetHeight; + this.chart.resize(); } protected fillConfig() { @@ -266,6 +280,7 @@ namespace Swirl.Core { let opts: GraphOptions = { type: $elem.data("chart-type"), unit: $elem.data("chart-unit"), + width: $elem.data("chart-width"), height: $elem.data("chart-height"), colors: $elem.data("chart-colors"), }; @@ -284,26 +299,33 @@ namespace Swirl.Core { export class GraphPanelOptions { name: string; - id?: string; + key?: string; time?: string = "30m"; refreshInterval?: number = 15000; // ms } export class GraphPanel { + private $panel: JQuery; private opts: GraphPanelOptions; private charts: Graph[] = []; private timer: number; - constructor(elems: string | Element | JQuery, opts?: GraphPanelOptions) { + constructor(elem: string | Element | JQuery, opts?: GraphPanelOptions) { this.opts = $.extend(new GraphPanelOptions(), opts); - - $(elems).each((i, e) => { + this.$panel = $(elem); + this.$panel.children().each((i, e) => { let g = GraphFactory.create(e); if (g != null) { this.charts.push(g); } }); + $(window).resize(e => { + $.each(this.charts, (i: number, g: Graph) => { + g.resize(0, 0); + }); + }); + this.refreshData(); } @@ -333,13 +355,83 @@ namespace Swirl.Core { this.loadData(); } + addGraph(c: any) { + for (let i =0; i< this.charts.length; i++) { + let chart = this.charts[i]; + if (chart.getName() === c.name) { + // chart already added. + return; + } + } + + let $chart = $(`
+
+
+

${c.title}

+ + + + + +
+
+
+ +
+
+
+
`); + this.$panel.append($chart); + + let g = GraphFactory.create($chart); + if (g != null) { + this.charts.push(g); + } + + this.loadData(); + } + + removeGraph(name: string) { + // todo: + let index:number; + for (let i =0; i< this.charts.length; i++) { + let c = this.charts[i]; + if (c.getName() === name) { + index = i; + break; + } + } + this.loadData(); + } + + save() { + let charts = this.charts.map(c => { + return { + name: c.getName(), + width: c.getOptions().width, + height: c.getOptions().height, + // colors: , + } + }); + let args = { + name: this.opts.name, + key: this.opts.key || '', + charts: charts, + }; + $ajax.post(`/system/chart/save_panel`, args).json((r: AjaxResult) => { + if (!r.success) { + Modal.alert(r.message); + } + }); + } + private loadData() { let args: any = { - dashboard: this.opts.name, + charts: this.charts.map(c => c.getName()).join(","), time: this.opts.time, }; - if (this.opts.id) { - args.id = this.opts.id; + if (this.opts.key) { + args.key = this.opts.key; } $ajax.get(`/system/chart/data`, args).json((d: { [index: string]: Chart.ChartDataSets[] }) => { $.each(this.charts, (i: number, g: Graph) => { diff --git a/assets/swirl/ts/index.ts b/assets/swirl/ts/index.ts index dc4863f..cacd2f8 100644 --- a/assets/swirl/ts/index.ts +++ b/assets/swirl/ts/index.ts @@ -3,15 +3,76 @@ namespace Swirl { import Modal = Swirl.Core.Modal; import GraphPanel = Swirl.Core.GraphPanel; + import FilterBox = Swirl.Core.FilterBox; export class IndexPage { private panel: GraphPanel; + private fb: FilterBox; + private charts: any; + private $charts: JQuery; constructor() { - this.panel = new GraphPanel($("#div-charts").children("div"), {name: "home"}); - $("#btn-add").click(() => { - Modal.alert("Coming soon..."); + this.fb = new FilterBox("#txt-query", this.filterCharts.bind(this)); + this.panel = new GraphPanel("#div-charts", {name: "home"}); + $("#btn-add").click(this.showAddDlg.bind(this)); + $("#btn-add-chart").click(this.addChart.bind(this)); + $("#btn-save").click(() => { + this.panel.save(); }); } + + private showAddDlg() { + let $panel = $("#nav-charts"); + $panel.find("label.panel-block").remove(); + + // load charts + $ajax.get(`/system/chart/query`, {dashboard: "home"}).json((charts: any) => { + for (let i = 0; i < charts.length; i++) { + let c = charts[i]; + $panel.append(``); + } + this.charts = charts; + this.$charts = $panel.find("label.panel-block"); + }); + + let dlg = new Modal("#dlg-add-chart"); + dlg.show(); + } + + private filterCharts(text: string) { + if (!text) { + this.$charts.show(); + return; + } + + this.$charts.each((i, elem) => { + let $elem = $(elem); + let texts: string[] = [ + this.charts[i].name.toLowerCase(), + this.charts[i].title.toLowerCase(), + this.charts[i].desc.toLowerCase(), + ]; + for (let i = 0; i < texts.length; i++) { + let index = texts[i].indexOf(text); + if (index >= 0) { + $elem.show(); + return; + } + } + $elem.hide(); + }) + } + + private addChart() { + this.$charts.each((i, e) => { + if ($(e).find(":checked").length > 0) { + let c = this.charts[i]; + this.panel.addGraph(c); + } + }); + Modal.close(); + } } } \ No newline at end of file diff --git a/assets/swirl/ts/service/stats.ts b/assets/swirl/ts/service/stats.ts index 3f9450f..4d2b03f 100644 --- a/assets/swirl/ts/service/stats.ts +++ b/assets/swirl/ts/service/stats.ts @@ -13,9 +13,9 @@ namespace Swirl.Service { return; } - this.panel = new GraphPanel($("#div-charts").children("div"), { + this.panel = new GraphPanel("#div-charts", { name: "service", - id: $("#h2-service-name").text() + key: $("#h2-service-name").text() }); $("#btn-add").click(() => { diff --git a/biz/chart.go b/biz/chart.go index 033f78b..f4ea17d 100644 --- a/biz/chart.go +++ b/biz/chart.go @@ -1,22 +1,44 @@ package biz import ( - "fmt" - "strings" + "os" "time" "github.com/cuigh/auxo/data" + "github.com/cuigh/auxo/errors" "github.com/cuigh/auxo/log" "github.com/cuigh/auxo/net/web" - "github.com/cuigh/swirl/biz/docker" "github.com/cuigh/swirl/dao" "github.com/cuigh/swirl/model" ) // Chart return a chart biz instance. -var Chart = &chartBiz{} +var Chart = newChartBiz() type chartBiz struct { + builtin []*model.Chart +} + +func newChartBiz() *chartBiz { + b := &chartBiz{} + b.builtin = append(b.builtin, model.NewChart("service", "$cpu", "CPU", "${name}", `rate(container_cpu_user_seconds_total{container_label_com_docker_swarm_service_name="${service}"}[5m]) * 100`, "percent:100")) + b.builtin = append(b.builtin, model.NewChart("service", "$memory", "Memory", "${name}", `container_memory_usage_bytes{container_label_com_docker_swarm_service_name="${service}"}`, "size:bytes")) + b.builtin = append(b.builtin, model.NewChart("service", "$network_in", "Network Receive", "${name}", `sum(irate(container_network_receive_bytes_total{container_label_com_docker_swarm_service_name="${service}"}[5m])) by(name)`, "size:bytes")) + b.builtin = append(b.builtin, model.NewChart("service", "$network_out", "Network Send", "${name}", `sum(irate(container_network_transmit_bytes_total{container_label_com_docker_swarm_service_name="${service}"}[5m])) by(name)`, "size:bytes")) + // for _, c := range categories { + // if c == "java" { + // charts = append(charts, model.NewChart("threads", "Threads", "${instance}", `jvm_threads_current{service="%s"}`, "")) + // charts = append(charts, model.NewChart("gc_duration", "GC Duration", "${instance}", `rate(jvm_gc_collection_seconds_sum{service="%s"}[1m])`, "time:s")) + // } else if c == "go" { + // charts = append(charts, model.NewChart("threads", "Threads", "${instance}", `go_threads{service="%s"}`, "")) + // charts = append(charts, model.NewChart("goroutines", "Goroutines", "${instance}", `go_goroutines{service="%s"}`, "")) + // charts = append(charts, model.NewChart("gc_duration", "GC Duration", "${instance}", `sum(go_gc_duration_seconds{service="%s"}) by (instance)`, "time:s")) + // } + // } + // for i, c := range charts { + // charts[i].Query = fmt.Sprintf(c.Query, name) + // } + return b } func (b *chartBiz) List() (charts []*model.Chart, err error) { @@ -28,8 +50,8 @@ func (b *chartBiz) List() (charts []*model.Chart, err error) { func (b *chartBiz) Create(chart *model.Chart, user web.User) (err error) { do(func(d dao.Interface) { - //chart.CreatedAt = time.Now() - //chart.UpdatedAt = chart.CreatedAt + // chart.CreatedAt = time.Now() + // chart.UpdatedAt = chart.CreatedAt err = d.ChartCreate(chart) }) return @@ -49,42 +71,31 @@ func (b *chartBiz) Get(name string) (chart *model.Chart, err error) { return } +func (b *chartBiz) Batch(names ...string) (charts []*model.Chart, err error) { + do(func(d dao.Interface) { + charts, err = d.ChartBatch(names...) + }) + return +} + func (b *chartBiz) Update(chart *model.Chart, user web.User) (err error) { do(func(d dao.Interface) { - //chart.UpdatedAt = time.Now() + // chart.UpdatedAt = time.Now() err = d.ChartUpdate(chart) }) return } func (b *chartBiz) GetServiceCharts(name string) (charts []*model.Chart, err error) { - service, _, err := docker.ServiceInspect(name) - if err != nil { - return nil, err - } + // service, _, err := docker.ServiceInspect(name) + // if err != nil { + // return nil, err + // } - var categories []string - if label := service.Spec.Labels["swirl.metrics"]; label != "" { - categories = strings.Split(label, ",") - } - - charts = append(charts, model.NewChart("cpu", "CPU", "${name}", `rate(container_cpu_user_seconds_total{container_label_com_docker_swarm_service_name="%s"}[5m]) * 100`, "percent:100")) - charts = append(charts, model.NewChart("memory", "Memory", "${name}", `container_memory_usage_bytes{container_label_com_docker_swarm_service_name="%s"}`, "size:bytes")) - charts = append(charts, model.NewChart("network_in", "Network Receive", "${name}", `sum(irate(container_network_receive_bytes_total{container_label_com_docker_swarm_service_name="%s"}[5m])) by(name)`, "size:bytes")) - charts = append(charts, model.NewChart("network_out", "Network Send", "${name}", `sum(irate(container_network_transmit_bytes_total{container_label_com_docker_swarm_service_name="%s"}[5m])) by(name)`, "size:bytes")) - for _, c := range categories { - if c == "java" { - charts = append(charts, model.NewChart("threads", "Threads", "${instance}", `jvm_threads_current{service="%s"}`, "")) - charts = append(charts, model.NewChart("gc_duration", "GC Duration", "${instance}", `rate(jvm_gc_collection_seconds_sum{service="%s"}[1m])`, "time:s")) - } else if c == "go" { - charts = append(charts, model.NewChart("threads", "Threads", "${instance}", `go_threads{service="%s"}`, "")) - charts = append(charts, model.NewChart("goroutines", "Goroutines", "${instance}", `go_goroutines{service="%s"}`, "")) - charts = append(charts, model.NewChart("gc_duration", "GC Duration", "${instance}", `sum(go_gc_duration_seconds{service="%s"}) by (instance)`, "time:s")) - } - } - for i, c := range charts { - charts[i].Query = fmt.Sprintf(c.Query, name) - } + // if label := service.Spec.Labels["swirl.metrics"]; label != "" { + // names := strings.Split(label, ",") + // } + charts = b.builtin return } @@ -130,24 +141,33 @@ func (b *chartBiz) Panel(panel model.ChartPanel) (charts []*model.Chart, err err return } -// todo: -func (b *chartBiz) FetchDatas(charts []*model.Chart, period time.Duration) (data.Map, error) { +func (b *chartBiz) FetchDatas(key string, names []string, period time.Duration) (data.Map, error) { + charts, err := b.getCharts(names) + if err != nil { + return nil, err + } + datas := data.Map{} end := time.Now() start := end.Add(-period) for _, chart := range charts { + query, err := b.formatQuery(chart, key) + if err != nil { + return nil, err + } + switch chart.Type { case "line", "bar": - m, err := Metric.GetMatrix(chart.Query, chart.Label, start, end) + m, err := Metric.GetMatrix(query, chart.Label, start, end) if err != nil { - log.Get("metric").Error(err) + log.Get("metric").Error(err, query) } else { datas[chart.Name] = m } case "pie", "table": - m, err := Metric.GetVector(chart.Query, chart.Label, end) + m, err := Metric.GetVector(query, chart.Label, end) if err != nil { - log.Get("metric").Error(err) + log.Get("metric").Error(err, query) } else { datas[chart.Name] = m } @@ -156,3 +176,49 @@ func (b *chartBiz) FetchDatas(charts []*model.Chart, period time.Duration) (data } return datas, nil } + +func (b *chartBiz) formatQuery(chart *model.Chart, key string) (string, error) { + if chart.Dashboard == "home" { + return chart.Query, nil + } + + var errs []error + m := map[string]string{chart.Dashboard: key} + query := os.Expand(chart.Query, func(k string) string { + if v, ok := m[k]; ok { + return v + } + errs = append(errs, errors.New("invalid argument in query: "+chart.Query)) + return "" + }) + if len(errs) == 0 { + return query, nil + } + return "", errs[0] +} + +func (b *chartBiz) getCharts(names []string) (charts []*model.Chart, err error) { + var ( + customNames []string + customCharts []*model.Chart + ) + + for _, n := range names { + if n[0] == '$' { + for _, c := range b.builtin { + if c.Name == n { + charts = append(charts, c) + } + } + } else { + customNames = append(customNames, n) + } + } + + if len(customNames) > 0 { + if customCharts, err = b.Batch(customNames...); err == nil { + charts = append(charts, customCharts...) + } + } + return +} diff --git a/biz/metric.go b/biz/metric.go index 4d589bf..56b0ea2 100644 --- a/biz/metric.go +++ b/biz/metric.go @@ -2,7 +2,6 @@ package biz import ( "context" - "fmt" "os" "time" @@ -37,26 +36,26 @@ type metricBiz struct { api lazy.Value } -func (b *metricBiz) GetServiceCharts(service string, categories []string) (charts []model.ChartInfo) { - charts = append(charts, model.NewChartInfo("cpu", "CPU", "${name}", `rate(container_cpu_user_seconds_total{container_label_com_docker_swarm_service_name="%s"}[5m]) * 100`)) - charts = append(charts, model.NewChartInfo("memory", "Memory", "${name}", `container_memory_usage_bytes{container_label_com_docker_swarm_service_name="%s"}`)) - charts = append(charts, model.NewChartInfo("network_in", "Network Receive", "${name}", `sum(irate(container_network_receive_bytes_total{container_label_com_docker_swarm_service_name="%s"}[5m])) by(name)`)) - charts = append(charts, model.NewChartInfo("network_out", "Network Send", "${name}", `sum(irate(container_network_transmit_bytes_total{container_label_com_docker_swarm_service_name="%s"}[5m])) by(name)`)) - for _, c := range categories { - if c == "java" { - charts = append(charts, model.NewChartInfo("threads", "Threads", "${instance}", `jvm_threads_current{service="%s"}`)) - charts = append(charts, model.NewChartInfo("gc_duration", "GC Duration", "${instance}", `rate(jvm_gc_collection_seconds_sum{service="%s"}[1m])`)) - } else if c == "go" { - charts = append(charts, model.NewChartInfo("threads", "Threads", "${instance}", `go_threads{service="%s"}`)) - charts = append(charts, model.NewChartInfo("goroutines", "Goroutines", "${instance}", `go_goroutines{service="%s"}`)) - charts = append(charts, model.NewChartInfo("gc_duration", "GC Duration", "${instance}", `sum(go_gc_duration_seconds{service="%s"}) by (instance)`)) - } - } - for i, c := range charts { - charts[i].Query = fmt.Sprintf(c.Query, service) - } - return -} +// func (b *metricBiz) GetServiceCharts(service string, categories []string) (charts []model.ChartInfo) { +// charts = append(charts, model.NewChartInfo("cpu", "CPU", "${name}", `rate(container_cpu_user_seconds_total{container_label_com_docker_swarm_service_name="%s"}[5m]) * 100`)) +// charts = append(charts, model.NewChartInfo("memory", "Memory", "${name}", `container_memory_usage_bytes{container_label_com_docker_swarm_service_name="%s"}`)) +// charts = append(charts, model.NewChartInfo("network_in", "Network Receive", "${name}", `sum(irate(container_network_receive_bytes_total{container_label_com_docker_swarm_service_name="%s"}[5m])) by(name)`)) +// charts = append(charts, model.NewChartInfo("network_out", "Network Send", "${name}", `sum(irate(container_network_transmit_bytes_total{container_label_com_docker_swarm_service_name="%s"}[5m])) by(name)`)) +// for _, c := range categories { +// if c == "java" { +// charts = append(charts, model.NewChartInfo("threads", "Threads", "${instance}", `jvm_threads_current{service="%s"}`)) +// charts = append(charts, model.NewChartInfo("gc_duration", "GC Duration", "${instance}", `rate(jvm_gc_collection_seconds_sum{service="%s"}[1m])`)) +// } else if c == "go" { +// charts = append(charts, model.NewChartInfo("threads", "Threads", "${instance}", `go_threads{service="%s"}`)) +// charts = append(charts, model.NewChartInfo("goroutines", "Goroutines", "${instance}", `go_goroutines{service="%s"}`)) +// charts = append(charts, model.NewChartInfo("gc_duration", "GC Duration", "${instance}", `sum(go_gc_duration_seconds{service="%s"}) by (instance)`)) +// } +// } +// for i, c := range charts { +// charts[i].Query = fmt.Sprintf(c.Query, service) +// } +// return +// } func (b *metricBiz) GetMatrix(query, label string, start, end time.Time) (lines []model.ChartLine, err error) { api, err := b.getAPI() diff --git a/biz/setting.go b/biz/setting.go index e5f5e7b..e1d8293 100644 --- a/biz/setting.go +++ b/biz/setting.go @@ -33,3 +33,13 @@ func (b *settingBiz) Update(setting *model.Setting, user web.User) (err error) { }) return } + +func (b *settingBiz) UpdateDashboard(name string, dashboard *model.ChartPanel, user web.User) (err error) { + do(func(d dao.Interface) { + err = d.UpdateDashboard(name, dashboard) + if err == nil { + Event.CreateSetting(model.EventActionUpdate, user) + } + }) + return +} diff --git a/controller/chart.go b/controller/chart.go index 7c6fa99..5b0682d 100644 --- a/controller/chart.go +++ b/controller/chart.go @@ -1,8 +1,10 @@ package controller import ( + "strings" "time" + "github.com/cuigh/auxo/errors" "github.com/cuigh/auxo/net/web" "github.com/cuigh/auxo/util/cast" "github.com/cuigh/swirl/biz" @@ -11,27 +13,29 @@ import ( // ChartController is a controller of metric chart. type ChartController struct { - List web.HandlerFunc `path:"/" name:"chart.list" authorize:"!" desc:"chart list page"` - Query web.HandlerFunc `path:"/query" name:"chart.query" authorize:"?" desc:"chart query"` - New web.HandlerFunc `path:"/new" name:"chart.new" authorize:"!" desc:"new chart page"` - Create web.HandlerFunc `path:"/new" method:"post" name:"chart.create" authorize:"!" desc:"create chart"` - Edit web.HandlerFunc `path:"/:name/edit" name:"chart.edit" authorize:"!" desc:"edit chart page"` - Delete web.HandlerFunc `path:"/:name/delete" method:"post" name:"chart.delete" authorize:"!" desc:"delete chart"` - Update web.HandlerFunc `path:"/:name/edit" method:"post" name:"chart.update" authorize:"!" desc:"update chart"` - Data web.HandlerFunc `path:"/data" name:"chart.data" authorize:"?" desc:"fetch chart datas"` + List web.HandlerFunc `path:"/" name:"chart.list" authorize:"!" desc:"chart list page"` + Query web.HandlerFunc `path:"/query" name:"chart.query" authorize:"?" desc:"chart query"` + New web.HandlerFunc `path:"/new" name:"chart.new" authorize:"!" desc:"new chart page"` + Create web.HandlerFunc `path:"/new" method:"post" name:"chart.create" authorize:"!" desc:"create chart"` + Edit web.HandlerFunc `path:"/:name/edit" name:"chart.edit" authorize:"!" desc:"edit chart page"` + Delete web.HandlerFunc `path:"/:name/delete" method:"post" name:"chart.delete" authorize:"!" desc:"delete chart"` + Update web.HandlerFunc `path:"/:name/edit" method:"post" name:"chart.update" authorize:"!" desc:"update chart"` + Data web.HandlerFunc `path:"/data" name:"chart.data" authorize:"?" desc:"fetch chart datas"` + SavePanel web.HandlerFunc `path:"/save_panel" method:"post" name:"chart.save_panel" authorize:"!" desc:"save panel"` } // Chart creates an instance of RoleController func Chart() (c *ChartController) { return &ChartController{ - List: chartList, - Query: chartQuery, - New: chartNew, - Create: chartCreate, - Edit: chartEdit, - Update: chartUpdate, - Delete: chartDelete, - Data: chartData, + List: chartList, + Query: chartQuery, + New: chartNew, + Create: chartCreate, + Edit: chartEdit, + Update: chartUpdate, + Delete: chartDelete, + Data: chartData, + SavePanel: chartSavePanel, } } @@ -64,7 +68,7 @@ func chartQuery(ctx web.Context) error { func chartNew(ctx web.Context) error { m := newModel(ctx).Set("Chart", &model.Chart{ Width: 12, - Height: 50, + Height: 150, Type: "line", Dashboard: "service", }) @@ -109,35 +113,33 @@ func chartDelete(ctx web.Context) error { return ajaxResult(ctx, err) } -// todo: func chartData(ctx web.Context) error { period := cast.ToDuration(ctx.Q("time"), time.Hour) - dashboard := ctx.Q("dashboard") - - var ( - charts []*model.Chart - err error - ) - if dashboard == "home" { - var setting *model.Setting - setting, err = biz.Setting.Get() - if err != nil { - return err - } - charts, err = biz.Chart.Panel(setting.Dashboard.Home) - - } else if dashboard == "service" { - id := ctx.Q("id") - charts, err = biz.Chart.GetServiceCharts(id) - } - - if err != nil { - return err - } - - datas, err := biz.Chart.FetchDatas(charts, period) + charts := strings.Split(ctx.Q("charts"), ",") + key := ctx.Q("key") + datas, err := biz.Chart.FetchDatas(key, charts, period) if err != nil { return err } return ctx.JSON(datas) } + +func chartSavePanel(ctx web.Context) error { + data := struct { + Name string `json:"name"` + Key string `json:"key"` + model.ChartPanel + }{} + err := ctx.Bind(&data) + if err != nil { + return err + } + + switch data.Name { + case "home": + err = biz.Setting.UpdateDashboard(data.Name, &data.ChartPanel, ctx.User()) + default: + err = errors.New("unknown dashboard: " + data.Name) + } + return ajaxResult(ctx, err) +} diff --git a/dao/dao.go b/dao/dao.go index 6b1d416..cab305d 100644 --- a/dao/dao.go +++ b/dao/dao.go @@ -62,6 +62,7 @@ type Interface interface { SettingGet() (setting *model.Setting, err error) SettingUpdate(setting *model.Setting) error + UpdateDashboard(name string, dashboard *model.ChartPanel) error ChartGet(name string) (*model.Chart, error) ChartBatch(names ...string) ([]*model.Chart, error) diff --git a/dao/mongo/setting.go b/dao/mongo/setting.go index 498ed3f..74a30a8 100644 --- a/dao/mongo/setting.go +++ b/dao/mongo/setting.go @@ -28,3 +28,17 @@ func (d *Dao) SettingUpdate(setting *model.Setting) (err error) { }) return } + +func (d *Dao) UpdateDashboard(name string, dashboard *model.ChartPanel) (err error) { + d.do(func(db *database) { + update := bson.M{ + "$set": bson.M{ + "dashboard": bson.M{ + name: dashboard, + }, + }, + } + err = db.C("setting").UpdateId(settingID, update) + }) + return +} diff --git a/model/metric.go b/model/metric.go index a651251..5415e90 100644 --- a/model/metric.go +++ b/model/metric.go @@ -21,17 +21,18 @@ type Chart struct { Options data.Map `json:"options"` } -func NewChart(name, title, label, query, unit string) *Chart { +func NewChart(dashboard, name, title, label, query, unit string) *Chart { return &Chart{ Name: name, Title: title, Description: title, Label: label, Query: query, + Dashboard: dashboard, Type: "line", Unit: unit, Width: 12, - Height: 50, + Height: 150, } } diff --git a/views/index.jet b/views/index.jet index 0be10af..41711a7 100644 --- a/views/index.jet +++ b/views/index.jet @@ -73,13 +73,20 @@
- + +
+
+
{{ range .Charts }} -
+

{{ .Title }}

@@ -100,11 +107,39 @@ {**}
- +
+ +
{{ end }}
+ + {{ end }} \ No newline at end of file diff --git a/views/service/stats.jet b/views/service/stats.jet index 734d46c..34afff3 100644 --- a/views/service/stats.jet +++ b/views/service/stats.jet @@ -76,11 +76,14 @@
+
+ +
{{ range .Charts }} -
+

{{ .Title }}

@@ -96,7 +99,9 @@
- +
+ +