@dialecte/scl 0.1.19 → 0.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index-ChFpcq4k.js → index-uvKv9uth.js} +210 -187
- package/dist/v2019C1/config/dialecte.config.d.ts +1 -0
- package/dist/v2019C1/config/dialecte.config.d.ts.map +1 -1
- package/dist/v2019C1/extensions/reference/constants/path-extraction.d.ts +4 -0
- package/dist/v2019C1/extensions/reference/constants/path-extraction.d.ts.map +1 -1
- package/dist/v2019C1/extensions/reference/query/build/path-segment.d.ts.map +1 -1
- package/dist/v2019C1/index.js +2 -2
- package/dist/v2019C1/test.js +1 -1
- package/package.json +2 -2
|
@@ -21445,14 +21445,14 @@ function $(a) {
|
|
|
21445
21445
|
const e = {};
|
|
21446
21446
|
for (const [t, i] of Object.entries(a))
|
|
21447
21447
|
for (const n of i) {
|
|
21448
|
-
const
|
|
21448
|
+
const u = e[n.resolution] ??= /* @__PURE__ */ new Map();
|
|
21449
21449
|
for (const r of n.target) {
|
|
21450
|
-
const
|
|
21451
|
-
|
|
21450
|
+
const s = u.get(r) ?? [];
|
|
21451
|
+
s.push({
|
|
21452
21452
|
refTagName: t,
|
|
21453
21453
|
uuidAttr: n.attribute.uuid,
|
|
21454
21454
|
pathAttr: n.attribute.path
|
|
21455
|
-
}),
|
|
21455
|
+
}), u.set(r, s);
|
|
21456
21456
|
}
|
|
21457
21457
|
}
|
|
21458
21458
|
return e;
|
|
@@ -21510,8 +21510,8 @@ const te = /* @__PURE__ */ new Set(["SourceRef", "ControlRef", "DOS", "SDS", "DA
|
|
|
21510
21510
|
ExtRef: { type: "attribute", attr: "intAddr", separator: "." },
|
|
21511
21511
|
ExtCtrl: { type: "attribute", attr: "intAddr", separator: "." },
|
|
21512
21512
|
// Process section - named path contributors (targets of lnode / ied-address resolution)
|
|
21513
|
-
SourceRef: { type: "
|
|
21514
|
-
ControlRef: { type: "
|
|
21513
|
+
SourceRef: { type: "sourceRef" },
|
|
21514
|
+
ControlRef: { type: "controlRef" },
|
|
21515
21515
|
// Process section - data specifications (6-100, dot-separated)
|
|
21516
21516
|
DOS: { type: "name", separator: "." },
|
|
21517
21517
|
DAS: { type: "name", separator: "." },
|
|
@@ -21558,6 +21558,10 @@ const te = /* @__PURE__ */ new Set(["SourceRef", "ControlRef", "DOS", "SDS", "DA
|
|
|
21558
21558
|
return [...ae];
|
|
21559
21559
|
case "attribute":
|
|
21560
21560
|
return [a.attr];
|
|
21561
|
+
case "sourceRef":
|
|
21562
|
+
return ["input", "inputInst", "pDA"];
|
|
21563
|
+
case "controlRef":
|
|
21564
|
+
return ["output", "outputInst"];
|
|
21561
21565
|
}
|
|
21562
21566
|
})
|
|
21563
21567
|
);
|
|
@@ -21568,41 +21572,59 @@ function ne(a) {
|
|
|
21568
21572
|
case "name": {
|
|
21569
21573
|
const e = a.separator ?? "/";
|
|
21570
21574
|
return (t) => {
|
|
21571
|
-
const i =
|
|
21575
|
+
const i = b(t, "name");
|
|
21572
21576
|
return i ? { segment: i, separator: e } : null;
|
|
21573
21577
|
};
|
|
21574
21578
|
}
|
|
21575
21579
|
case "lnClass":
|
|
21576
21580
|
return (e) => {
|
|
21577
|
-
const t =
|
|
21581
|
+
const t = b(e, "lnClass");
|
|
21578
21582
|
if (!t) return null;
|
|
21579
|
-
const i =
|
|
21583
|
+
const i = b(e, "prefix") ?? "", n = b(e, "inst") ?? b(e, "lnInst") ?? "";
|
|
21580
21584
|
return { segment: `${i}${t}${n}`, separator: "/" };
|
|
21581
21585
|
};
|
|
21582
21586
|
case "attribute":
|
|
21583
21587
|
return (e) => {
|
|
21584
|
-
const t =
|
|
21588
|
+
const t = b(e, a.attr);
|
|
21585
21589
|
return t ? { segment: t, separator: a.separator } : null;
|
|
21586
21590
|
};
|
|
21591
|
+
case "sourceRef":
|
|
21592
|
+
return (e) => {
|
|
21593
|
+
const t = b(e, "input");
|
|
21594
|
+
if (!t) return null;
|
|
21595
|
+
let i = t;
|
|
21596
|
+
const n = b(e, "inputInst");
|
|
21597
|
+
n && n !== "1" && (i += `(${n})`);
|
|
21598
|
+
const u = b(e, "pDA");
|
|
21599
|
+
return u && (i += `.${u}`), { segment: i, separator: "." };
|
|
21600
|
+
};
|
|
21601
|
+
case "controlRef":
|
|
21602
|
+
return (e) => {
|
|
21603
|
+
const t = b(e, "output");
|
|
21604
|
+
if (!t) return null;
|
|
21605
|
+
let i = t;
|
|
21606
|
+
const n = b(e, "outputInst");
|
|
21607
|
+
return n && n !== "1" && (i += `(${n})`), { segment: i, separator: "." };
|
|
21608
|
+
};
|
|
21587
21609
|
}
|
|
21588
21610
|
}
|
|
21589
21611
|
const re = Object.fromEntries(
|
|
21590
21612
|
Object.entries(y).map(([a, e]) => [a, ne(e)])
|
|
21591
21613
|
);
|
|
21592
|
-
function
|
|
21614
|
+
function L(a) {
|
|
21593
21615
|
const e = re[a.tagName];
|
|
21594
21616
|
return e ? e(a) : null;
|
|
21595
21617
|
}
|
|
21596
21618
|
function x(a) {
|
|
21597
21619
|
const { record: e, ancestry: t } = a, i = [];
|
|
21598
|
-
for (const
|
|
21599
|
-
const r =
|
|
21600
|
-
r && i.push({ ...r, ref: { tagName:
|
|
21620
|
+
for (const u of t) {
|
|
21621
|
+
const r = L(u);
|
|
21622
|
+
r && i.push({ ...r, ref: { tagName: u.tagName, id: u.id } });
|
|
21601
21623
|
}
|
|
21602
|
-
const n =
|
|
21624
|
+
const n = L(e);
|
|
21603
21625
|
return n && i.push({ ...n, ref: { tagName: e.tagName, id: e.id } }), i.length === 0 ? null : { path: O(i), segments: i };
|
|
21604
21626
|
}
|
|
21605
|
-
function
|
|
21627
|
+
function b(a, e) {
|
|
21606
21628
|
return a.attributes.find((t) => t.name === e)?.value;
|
|
21607
21629
|
}
|
|
21608
21630
|
function O(a) {
|
|
@@ -21623,24 +21645,24 @@ async function E(a, e) {
|
|
|
21623
21645
|
async function k(a, e) {
|
|
21624
21646
|
const { reference: t, target: i } = e, n = ue(t.tagName, i.tagName);
|
|
21625
21647
|
if (!n) return null;
|
|
21626
|
-
const
|
|
21627
|
-
if (
|
|
21628
|
-
if (
|
|
21648
|
+
const u = n.resolution;
|
|
21649
|
+
if (u === f.unsupported) return null;
|
|
21650
|
+
if (u === f.behaviorDescription) {
|
|
21629
21651
|
const c = await a.getRecord(i);
|
|
21630
|
-
return c ?
|
|
21652
|
+
return c ? L(d(c))?.segment ?? null : null;
|
|
21631
21653
|
}
|
|
21632
21654
|
const r = await E(a, i);
|
|
21633
21655
|
if (!r) return null;
|
|
21634
|
-
const
|
|
21635
|
-
if (
|
|
21656
|
+
const s = r.path;
|
|
21657
|
+
if (u === f.lnode) {
|
|
21636
21658
|
const c = await a.getRecord(t);
|
|
21637
|
-
if (!c) return
|
|
21659
|
+
if (!c) return s;
|
|
21638
21660
|
const l = c.attributes.find((p) => p.name === n.attribute.path)?.value;
|
|
21639
|
-
if (!l) return
|
|
21661
|
+
if (!l) return s;
|
|
21640
21662
|
const { qualifier: o } = G(l);
|
|
21641
|
-
return o ? `${
|
|
21663
|
+
return o ? `${s}.${o}` : s;
|
|
21642
21664
|
}
|
|
21643
|
-
return
|
|
21665
|
+
return s;
|
|
21644
21666
|
}
|
|
21645
21667
|
function ue(a, e) {
|
|
21646
21668
|
const t = m[a];
|
|
@@ -21651,18 +21673,18 @@ async function se(a, e, t) {
|
|
|
21651
21673
|
if (!i) return;
|
|
21652
21674
|
const n = e.attributes.find((p) => p.name === t)?.value;
|
|
21653
21675
|
if (!n) return;
|
|
21654
|
-
let
|
|
21655
|
-
(i.resolution === f.behaviorDescription || i.resolution === f.iedAddress) && (
|
|
21676
|
+
let u;
|
|
21677
|
+
(i.resolution === f.behaviorDescription || i.resolution === f.iedAddress) && (u = (await a.findAncestors(e, { order: "top-down" })).map((R) => d(R)));
|
|
21656
21678
|
const r = B(
|
|
21657
21679
|
i.resolution,
|
|
21658
21680
|
t,
|
|
21659
21681
|
n,
|
|
21660
|
-
|
|
21682
|
+
u
|
|
21661
21683
|
);
|
|
21662
21684
|
if (!r) return;
|
|
21663
|
-
const
|
|
21664
|
-
if (
|
|
21665
|
-
const c =
|
|
21685
|
+
const s = M(r.lookupKey);
|
|
21686
|
+
if (s.length === 0) return;
|
|
21687
|
+
const c = s[s.length - 1], l = s.slice(0, -1), o = await pe({
|
|
21666
21688
|
query: a,
|
|
21667
21689
|
targets: i.target,
|
|
21668
21690
|
segment: c,
|
|
@@ -21697,57 +21719,57 @@ function de(a) {
|
|
|
21697
21719
|
}
|
|
21698
21720
|
async function pe(a) {
|
|
21699
21721
|
const { query: e, targets: t, segment: i, expectedAncestry: n } = a;
|
|
21700
|
-
for (const
|
|
21701
|
-
const r = le[
|
|
21722
|
+
for (const u of t) {
|
|
21723
|
+
const r = le[u];
|
|
21702
21724
|
if (r) {
|
|
21703
|
-
const
|
|
21725
|
+
const s = await Se({
|
|
21704
21726
|
query: e,
|
|
21705
|
-
tagName:
|
|
21727
|
+
tagName: u,
|
|
21706
21728
|
segment: i,
|
|
21707
21729
|
instAttr: r,
|
|
21708
21730
|
expectedAncestry: n
|
|
21709
21731
|
});
|
|
21710
|
-
if (
|
|
21732
|
+
if (s) return s;
|
|
21711
21733
|
} else {
|
|
21712
|
-
const
|
|
21734
|
+
const s = await fe({
|
|
21713
21735
|
query: e,
|
|
21714
|
-
tagName:
|
|
21736
|
+
tagName: u,
|
|
21715
21737
|
segment: i,
|
|
21716
21738
|
expectedAncestry: n
|
|
21717
21739
|
});
|
|
21718
|
-
if (
|
|
21740
|
+
if (s) return s;
|
|
21719
21741
|
}
|
|
21720
21742
|
}
|
|
21721
21743
|
}
|
|
21722
21744
|
async function Se(a) {
|
|
21723
|
-
const { query: e, tagName: t, segment: i, instAttr: n, expectedAncestry:
|
|
21745
|
+
const { query: e, tagName: t, segment: i, instAttr: n, expectedAncestry: u } = a, r = de(i.segment);
|
|
21724
21746
|
if (!r) return;
|
|
21725
|
-
const
|
|
21747
|
+
const s = await e.findByAttributes({
|
|
21726
21748
|
tagName: t,
|
|
21727
21749
|
attributes: { lnClass: r.lnClass }
|
|
21728
21750
|
});
|
|
21729
|
-
for (const c of
|
|
21751
|
+
for (const c of s) {
|
|
21730
21752
|
const l = c.attributes.find((p) => p.name === "prefix")?.value ?? "", o = c.attributes.find((p) => p.name === n)?.value ?? "";
|
|
21731
|
-
if (!(l !== r.prefix || o !== r.inst) && await V(e, c,
|
|
21753
|
+
if (!(l !== r.prefix || o !== r.inst) && await V(e, c, u))
|
|
21732
21754
|
return c;
|
|
21733
21755
|
}
|
|
21734
21756
|
}
|
|
21735
21757
|
async function fe(a) {
|
|
21736
|
-
const { query: e, tagName: t, segment: i, expectedAncestry: n } = a,
|
|
21737
|
-
for (const r of
|
|
21738
|
-
const
|
|
21739
|
-
if (!(!
|
|
21758
|
+
const { query: e, tagName: t, segment: i, expectedAncestry: n } = a, u = await e.getRecordsByTagName(t);
|
|
21759
|
+
for (const r of u) {
|
|
21760
|
+
const s = L(d(r));
|
|
21761
|
+
if (!(!s || s.segment !== i.segment) && await V(e, r, n))
|
|
21740
21762
|
return r;
|
|
21741
21763
|
}
|
|
21742
21764
|
}
|
|
21743
21765
|
async function V(a, e, t) {
|
|
21744
21766
|
if (t.length === 0) return !0;
|
|
21745
21767
|
const i = await a.findAncestors(e), n = [];
|
|
21746
|
-
for (let
|
|
21747
|
-
const r =
|
|
21768
|
+
for (let u = i.length - 1; u >= 0; u--) {
|
|
21769
|
+
const r = L(d(i[u]));
|
|
21748
21770
|
r && n.push(r);
|
|
21749
21771
|
}
|
|
21750
|
-
return n.length !== t.length ? !1 : n.every((
|
|
21772
|
+
return n.length !== t.length ? !1 : n.every((u, r) => u.segment === t[r].segment);
|
|
21751
21773
|
}
|
|
21752
21774
|
async function me(a, e) {
|
|
21753
21775
|
const t = M(e);
|
|
@@ -21763,41 +21785,41 @@ async function me(a, e) {
|
|
|
21763
21785
|
async function v(a) {
|
|
21764
21786
|
const { query: e, current: t, segments: i, index: n } = a;
|
|
21765
21787
|
if (n >= i.length) return t;
|
|
21766
|
-
const
|
|
21767
|
-
if (
|
|
21768
|
-
const r = await e.getRecords(
|
|
21788
|
+
const u = t.children ?? [];
|
|
21789
|
+
if (u.length === 0) return;
|
|
21790
|
+
const r = await e.getRecords(u), s = i[n];
|
|
21769
21791
|
for (const c of r) {
|
|
21770
21792
|
if (!c) continue;
|
|
21771
|
-
const l =
|
|
21793
|
+
const l = L(d(c));
|
|
21772
21794
|
if (!l) {
|
|
21773
21795
|
const o = await v({ query: e, current: c, segments: i, index: n });
|
|
21774
21796
|
if (o) return o;
|
|
21775
21797
|
continue;
|
|
21776
21798
|
}
|
|
21777
|
-
if (l.segment ===
|
|
21799
|
+
if (l.segment === s.segment && l.separator === s.separator)
|
|
21778
21800
|
return v({ query: e, current: c, segments: i, index: n + 1 });
|
|
21779
21801
|
}
|
|
21780
21802
|
}
|
|
21781
21803
|
async function be(a, e) {
|
|
21782
21804
|
const { target: t, containerTagName: i } = e, n = await a.getRecord(t);
|
|
21783
21805
|
if (!n) return [];
|
|
21784
|
-
const
|
|
21785
|
-
if (!
|
|
21806
|
+
const u = n.attributes.find((c) => c.name === "uuid")?.value;
|
|
21807
|
+
if (!u) return [];
|
|
21786
21808
|
const r = Re(n.tagName);
|
|
21787
21809
|
if (r.length === 0) return [];
|
|
21788
|
-
const
|
|
21810
|
+
const s = [];
|
|
21789
21811
|
for (const c of r) {
|
|
21790
|
-
if (!T(c.refTagName,
|
|
21812
|
+
if (!T(c.refTagName, P)) continue;
|
|
21791
21813
|
const l = await a.findByAttributes({
|
|
21792
21814
|
tagName: c.refTagName,
|
|
21793
|
-
attributes: { [c.uuidAttr]:
|
|
21815
|
+
attributes: { [c.uuidAttr]: u }
|
|
21794
21816
|
});
|
|
21795
21817
|
for (const o of l) {
|
|
21796
21818
|
const p = i ? await Le(a, o, i) : void 0;
|
|
21797
|
-
|
|
21819
|
+
s.push({ ref: o, container: p });
|
|
21798
21820
|
}
|
|
21799
21821
|
}
|
|
21800
|
-
return
|
|
21822
|
+
return s;
|
|
21801
21823
|
}
|
|
21802
21824
|
function Re(a) {
|
|
21803
21825
|
const e = [];
|
|
@@ -21831,8 +21853,8 @@ function M(a) {
|
|
|
21831
21853
|
function G(a) {
|
|
21832
21854
|
const e = a.split("/"), t = e[e.length - 1], i = t.indexOf(".");
|
|
21833
21855
|
if (i === -1) return { path: a };
|
|
21834
|
-
const n = t.substring(0, i),
|
|
21835
|
-
return { path: [...e.slice(0, -1), n].join("/"), qualifier:
|
|
21856
|
+
const n = t.substring(0, i), u = t.substring(i + 1);
|
|
21857
|
+
return { path: [...e.slice(0, -1), n].join("/"), qualifier: u || void 0 };
|
|
21836
21858
|
}
|
|
21837
21859
|
function B(a, e, t, i) {
|
|
21838
21860
|
return !a || a === f.unsupported ? null : a === f.direct ? { lookupKey: t } : a === f.iedAddress ? Ae(t, i) : a === f.lnode ? Ce(t) : a === f.behaviorDescription ? ge(e, t, i) : null;
|
|
@@ -21871,7 +21893,7 @@ function ve(a) {
|
|
|
21871
21893
|
if (e === -1) return null;
|
|
21872
21894
|
const t = [];
|
|
21873
21895
|
for (let i = 0; i < e; i++) {
|
|
21874
|
-
const n =
|
|
21896
|
+
const n = L(a[i]);
|
|
21875
21897
|
n && t.push(n);
|
|
21876
21898
|
}
|
|
21877
21899
|
return t.length === 0 ? null : O(t);
|
|
@@ -21889,22 +21911,22 @@ function he(a) {
|
|
|
21889
21911
|
function Ne() {
|
|
21890
21912
|
const a = /* @__PURE__ */ new Map(), e = [], t = [];
|
|
21891
21913
|
return {
|
|
21892
|
-
beforeImportRecord: (
|
|
21893
|
-
const { record: r, ancestry:
|
|
21914
|
+
beforeImportRecord: (u) => {
|
|
21915
|
+
const { record: r, ancestry: s } = u, { tagName: c } = r, l = Fe(r);
|
|
21894
21916
|
if (l && De.has(c)) {
|
|
21895
|
-
const S = x({ record: r, ancestry:
|
|
21917
|
+
const S = x({ record: r, ancestry: s });
|
|
21896
21918
|
S && a.set(S.path, l);
|
|
21897
21919
|
}
|
|
21898
21920
|
if (!we.has(c)) return;
|
|
21899
|
-
const
|
|
21900
|
-
for (const S of
|
|
21921
|
+
const R = m[c];
|
|
21922
|
+
for (const S of R) {
|
|
21901
21923
|
const C = r.attributes.find(
|
|
21902
21924
|
(g) => g.name === S.attribute.path
|
|
21903
21925
|
)?.value;
|
|
21904
21926
|
if (!C || r.attributes.find(
|
|
21905
21927
|
(g) => g.name === S.attribute.uuid
|
|
21906
21928
|
)?.value) continue;
|
|
21907
|
-
const A = B(S.resolution, S.attribute.path, C,
|
|
21929
|
+
const A = B(S.resolution, S.attribute.path, C, s);
|
|
21908
21930
|
if (!A) {
|
|
21909
21931
|
S.resolution === f.unsupported && t.push({
|
|
21910
21932
|
type: "unsupported-xpath-reference",
|
|
@@ -21929,29 +21951,29 @@ function Ne() {
|
|
|
21929
21951
|
}
|
|
21930
21952
|
},
|
|
21931
21953
|
afterImport: async () => {
|
|
21932
|
-
const
|
|
21933
|
-
for (const
|
|
21934
|
-
const c = a.get(
|
|
21954
|
+
const u = [], r = [...t];
|
|
21955
|
+
for (const s of e) {
|
|
21956
|
+
const c = a.get(s.lookupKey) ?? (s.fallbackLookupKey ? a.get(s.fallbackLookupKey) : void 0);
|
|
21935
21957
|
if (!c) {
|
|
21936
21958
|
r.push({
|
|
21937
21959
|
type: "unresolved-reference",
|
|
21938
|
-
recordId:
|
|
21960
|
+
recordId: s.recordId,
|
|
21939
21961
|
details: {
|
|
21940
|
-
elementTag:
|
|
21941
|
-
uuidAttribute:
|
|
21942
|
-
pathValue:
|
|
21943
|
-
triedKeys:
|
|
21962
|
+
elementTag: s.elementTag,
|
|
21963
|
+
uuidAttribute: s.uuidAttributeName,
|
|
21964
|
+
pathValue: s.pathValue,
|
|
21965
|
+
triedKeys: s.fallbackLookupKey ? [s.lookupKey, s.fallbackLookupKey] : [s.lookupKey]
|
|
21944
21966
|
}
|
|
21945
21967
|
});
|
|
21946
21968
|
continue;
|
|
21947
21969
|
}
|
|
21948
|
-
|
|
21949
|
-
recordId:
|
|
21950
|
-
attributes: [{ name:
|
|
21970
|
+
u.push({
|
|
21971
|
+
recordId: s.recordId,
|
|
21972
|
+
attributes: [{ name: s.uuidAttributeName, value: c }]
|
|
21951
21973
|
});
|
|
21952
21974
|
}
|
|
21953
21975
|
return a.clear(), e.length = 0, t.length = 0, {
|
|
21954
|
-
updates:
|
|
21976
|
+
updates: u,
|
|
21955
21977
|
warnings: r.length > 0 ? r : void 0
|
|
21956
21978
|
};
|
|
21957
21979
|
}
|
|
@@ -21990,9 +22012,10 @@ const qe = {
|
|
|
21990
22012
|
uri: "http://www.iec.ch/61850/2019/SCL/6-100",
|
|
21991
22013
|
prefix: "eIEC61850-6-100"
|
|
21992
22014
|
}
|
|
21993
|
-
},
|
|
22015
|
+
}, P = {
|
|
21994
22016
|
rootElementName: Y,
|
|
21995
22017
|
singletonElements: j,
|
|
22018
|
+
transparentElements: ["Private"],
|
|
21996
22019
|
elements: H,
|
|
21997
22020
|
namespaces: xe,
|
|
21998
22021
|
attributes: w,
|
|
@@ -22006,38 +22029,38 @@ const qe = {
|
|
|
22006
22029
|
};
|
|
22007
22030
|
async function Oe(a) {
|
|
22008
22031
|
const { childRecord: e, parentRecord: t, query: i } = a;
|
|
22009
|
-
if (e.namespace.prefix ===
|
|
22032
|
+
if (e.namespace.prefix === P.namespaces.default.prefix)
|
|
22010
22033
|
return [];
|
|
22011
|
-
const n = t.tagName === "Private",
|
|
22012
|
-
if (!n && !
|
|
22034
|
+
const n = t.tagName === "Private", u = t.namespace.prefix === P.namespaces.default.prefix;
|
|
22035
|
+
if (!n && !u)
|
|
22013
22036
|
return [];
|
|
22014
|
-
const r = t.children.find((o) => o.tagName === "Private"),
|
|
22037
|
+
const r = t.children.find((o) => o.tagName === "Private"), s = {
|
|
22015
22038
|
...t,
|
|
22016
22039
|
children: t.children.filter((o) => o.id !== e.id)
|
|
22017
22040
|
};
|
|
22018
22041
|
return n ? Ee({ parentRecord: t, childRecord: e, query: i }) : r ? ke({
|
|
22019
22042
|
existingPrivateRef: r,
|
|
22020
22043
|
parentRecord: t,
|
|
22021
|
-
updatedParentRecord:
|
|
22044
|
+
updatedParentRecord: s,
|
|
22022
22045
|
childRecord: e,
|
|
22023
22046
|
query: i
|
|
22024
22047
|
}) : (await i.findAncestors(t)).some(
|
|
22025
22048
|
(o) => o.tagName === "Private" && o.attributes.some(
|
|
22026
22049
|
(p) => p.name === "type" && p.value === e.namespace.prefix
|
|
22027
22050
|
)
|
|
22028
|
-
) ? [] : Ve({ parentRecord: t, updatedParentRecord:
|
|
22051
|
+
) ? [] : Ve({ parentRecord: t, updatedParentRecord: s, childRecord: e });
|
|
22029
22052
|
}
|
|
22030
22053
|
async function Ee(a) {
|
|
22031
22054
|
const { parentRecord: e, childRecord: t, query: i } = a, n = e;
|
|
22032
22055
|
if (t.parent?.id === n.id && t.parent?.tagName === "Private")
|
|
22033
22056
|
return [];
|
|
22034
|
-
const
|
|
22035
|
-
I(
|
|
22057
|
+
const u = await U({ privateId: n.id, query: i });
|
|
22058
|
+
I(u, {
|
|
22036
22059
|
detail: "Latest private record not found",
|
|
22037
22060
|
key: "ELEMENT_NOT_FOUND"
|
|
22038
22061
|
});
|
|
22039
|
-
const { childRecord: r, privateRecord:
|
|
22040
|
-
privateRecord:
|
|
22062
|
+
const { childRecord: r, privateRecord: s } = z({
|
|
22063
|
+
privateRecord: u,
|
|
22041
22064
|
childRecord: t
|
|
22042
22065
|
});
|
|
22043
22066
|
return [
|
|
@@ -22048,15 +22071,15 @@ async function Ee(a) {
|
|
|
22048
22071
|
},
|
|
22049
22072
|
{
|
|
22050
22073
|
status: "updated",
|
|
22051
|
-
oldRecord: d(
|
|
22052
|
-
newRecord: d(
|
|
22074
|
+
oldRecord: d(u),
|
|
22075
|
+
newRecord: d(s)
|
|
22053
22076
|
}
|
|
22054
22077
|
];
|
|
22055
22078
|
}
|
|
22056
22079
|
async function ke(a) {
|
|
22057
|
-
const { existingPrivateRef: e, parentRecord: t, updatedParentRecord: i, childRecord: n, query:
|
|
22080
|
+
const { existingPrivateRef: e, parentRecord: t, updatedParentRecord: i, childRecord: n, query: u } = a, r = await U({
|
|
22058
22081
|
privateId: e.id,
|
|
22059
|
-
query:
|
|
22082
|
+
query: u
|
|
22060
22083
|
});
|
|
22061
22084
|
if (I(r, {
|
|
22062
22085
|
detail: "Latest private record not found",
|
|
@@ -22090,12 +22113,12 @@ function Ve(a) {
|
|
|
22090
22113
|
const { parentRecord: e, updatedParentRecord: t, childRecord: i } = a, n = {
|
|
22091
22114
|
id: crypto.randomUUID(),
|
|
22092
22115
|
tagName: "Private",
|
|
22093
|
-
namespace:
|
|
22116
|
+
namespace: P.namespaces.default,
|
|
22094
22117
|
attributes: [{ name: "type", value: i.namespace.prefix }],
|
|
22095
22118
|
value: "",
|
|
22096
22119
|
parent: { id: e.id, tagName: e.tagName },
|
|
22097
22120
|
children: [{ id: i.id, tagName: i.tagName }]
|
|
22098
|
-
},
|
|
22121
|
+
}, u = {
|
|
22099
22122
|
...i,
|
|
22100
22123
|
parent: { id: n.id, tagName: "Private" }
|
|
22101
22124
|
}, r = {
|
|
@@ -22107,7 +22130,7 @@ function Ve(a) {
|
|
|
22107
22130
|
{
|
|
22108
22131
|
status: "updated",
|
|
22109
22132
|
oldRecord: d(i),
|
|
22110
|
-
newRecord: d(
|
|
22133
|
+
newRecord: d(u)
|
|
22111
22134
|
},
|
|
22112
22135
|
{
|
|
22113
22136
|
status: "updated",
|
|
@@ -22132,23 +22155,23 @@ function z(a) {
|
|
|
22132
22155
|
}
|
|
22133
22156
|
async function h(a) {
|
|
22134
22157
|
const { uuid: e, entry: t, target: i, query: n } = a;
|
|
22135
|
-
if (!T(t.refTagName,
|
|
22136
|
-
const
|
|
22137
|
-
for (const
|
|
22138
|
-
if (
|
|
22158
|
+
if (!T(t.refTagName, P)) return [];
|
|
22159
|
+
const u = await n.getRecordsByTagName(t.refTagName), r = [];
|
|
22160
|
+
for (const s of u) {
|
|
22161
|
+
if (s.attributes.find(
|
|
22139
22162
|
(S) => S.name === t.uuidAttr
|
|
22140
22163
|
)?.value !== e) continue;
|
|
22141
|
-
const l = { tagName:
|
|
22142
|
-
if (!o ||
|
|
22164
|
+
const l = { tagName: s.tagName, id: s.id }, o = await Z.query.buildReferencePath(n, { reference: l, target: i });
|
|
22165
|
+
if (!o || s.attributes.find(
|
|
22143
22166
|
(S) => S.name === t.pathAttr
|
|
22144
22167
|
)?.value === o) continue;
|
|
22145
|
-
const
|
|
22168
|
+
const R = s.attributes.map(
|
|
22146
22169
|
(S) => S.name === t.pathAttr ? { ...S, value: o } : S
|
|
22147
22170
|
);
|
|
22148
22171
|
r.push({
|
|
22149
22172
|
status: "updated",
|
|
22150
|
-
oldRecord: d(
|
|
22151
|
-
newRecord: d({ ...
|
|
22173
|
+
oldRecord: d(s),
|
|
22174
|
+
newRecord: d({ ...s, attributes: R })
|
|
22152
22175
|
});
|
|
22153
22176
|
}
|
|
22154
22177
|
return r;
|
|
@@ -22169,8 +22192,8 @@ async function Me(a) {
|
|
|
22169
22192
|
const { childRecord: e, query: t } = a, i = ee.get(e.tagName);
|
|
22170
22193
|
if (!i?.length) return [];
|
|
22171
22194
|
const n = [];
|
|
22172
|
-
for (const
|
|
22173
|
-
const r = await Ge({ childRecord: e, pair:
|
|
22195
|
+
for (const u of i) {
|
|
22196
|
+
const r = await Ge({ childRecord: e, pair: u, query: t });
|
|
22174
22197
|
r && n.push(r);
|
|
22175
22198
|
}
|
|
22176
22199
|
return n;
|
|
@@ -22178,13 +22201,13 @@ async function Me(a) {
|
|
|
22178
22201
|
async function Ge(a) {
|
|
22179
22202
|
const { childRecord: e, pair: t, query: i } = a, n = e.attributes.find((o) => o.name === t.uuidAttr)?.value;
|
|
22180
22203
|
if (!n) return null;
|
|
22181
|
-
const
|
|
22204
|
+
const u = await Be({
|
|
22182
22205
|
uuidValue: n,
|
|
22183
22206
|
targetTagNames: t.targetTagNames,
|
|
22184
22207
|
query: i
|
|
22185
22208
|
});
|
|
22186
|
-
if (!
|
|
22187
|
-
const r = { tagName: e.tagName, id: e.id },
|
|
22209
|
+
if (!u) return null;
|
|
22210
|
+
const r = { tagName: e.tagName, id: e.id }, s = { tagName: u.tagName, id: u.id }, c = await k(i, { reference: r, target: s });
|
|
22188
22211
|
if (!c) return null;
|
|
22189
22212
|
const l = e.attributes.map(
|
|
22190
22213
|
(o) => o.name === t.pathAttr ? { ...o, value: c } : o
|
|
@@ -22201,63 +22224,63 @@ async function Ge(a) {
|
|
|
22201
22224
|
async function Be(a) {
|
|
22202
22225
|
const { uuidValue: e, targetTagNames: t, query: i } = a;
|
|
22203
22226
|
for (const n of t) {
|
|
22204
|
-
if (!T(n,
|
|
22227
|
+
if (!T(n, P)) continue;
|
|
22205
22228
|
const r = (await i.getRecordsByTagName(n)).find(
|
|
22206
|
-
(
|
|
22229
|
+
(s) => s.attributes.find((c) => c.name === "uuid")?.value === e
|
|
22207
22230
|
);
|
|
22208
22231
|
if (r) return { tagName: r.tagName, id: r.id };
|
|
22209
22232
|
}
|
|
22210
22233
|
return null;
|
|
22211
22234
|
}
|
|
22212
22235
|
async function Ue(a) {
|
|
22213
|
-
const { childRecord: e, query: t } = a, i = e.attributes.find((
|
|
22236
|
+
const { childRecord: e, query: t } = a, i = e.attributes.find((s) => s.name === "uuid")?.value;
|
|
22214
22237
|
if (!i) return [];
|
|
22215
22238
|
const n = N(e.tagName);
|
|
22216
22239
|
if (n.length === 0) return [];
|
|
22217
|
-
const
|
|
22218
|
-
for (const
|
|
22219
|
-
const c = await h({ uuid: i, entry:
|
|
22240
|
+
const u = { tagName: e.tagName, id: e.id }, r = [];
|
|
22241
|
+
for (const s of n) {
|
|
22242
|
+
const c = await h({ uuid: i, entry: s, target: u, query: t });
|
|
22220
22243
|
r.push(...c);
|
|
22221
22244
|
}
|
|
22222
22245
|
return r;
|
|
22223
22246
|
}
|
|
22224
22247
|
async function ze(a) {
|
|
22225
|
-
const { childRecord: e, parentRecord: t, query: i } = a, n = await Oe({ childRecord: e, parentRecord: t, query: i }),
|
|
22226
|
-
return [...n, ...
|
|
22248
|
+
const { childRecord: e, parentRecord: t, query: i } = a, n = await Oe({ childRecord: e, parentRecord: t, query: i }), u = await Ze({ childRecord: e, query: i });
|
|
22249
|
+
return [...n, ...u];
|
|
22227
22250
|
}
|
|
22228
22251
|
async function _e(a) {
|
|
22229
22252
|
const { cumulativeCloneMappings: e, query: t } = a, { uuidMap: i, uuidToRef: n } = await He(e, t);
|
|
22230
22253
|
if (i.size === 0) return [];
|
|
22231
|
-
const
|
|
22254
|
+
const u = [];
|
|
22232
22255
|
for (const { target: r } of e) {
|
|
22233
|
-
const
|
|
22234
|
-
|
|
22256
|
+
const s = await Ke({ target: r, uuidMap: i, uuidToRef: n, query: t });
|
|
22257
|
+
s && u.push(s);
|
|
22235
22258
|
}
|
|
22236
|
-
return
|
|
22259
|
+
return u;
|
|
22237
22260
|
}
|
|
22238
22261
|
async function He(a, e) {
|
|
22239
22262
|
const t = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
|
|
22240
|
-
for (const { source: n, target:
|
|
22241
|
-
await We({ source: n, target:
|
|
22263
|
+
for (const { source: n, target: u } of a)
|
|
22264
|
+
await We({ source: n, target: u, query: e, uuidMap: t, uuidToRef: i });
|
|
22242
22265
|
return { uuidMap: t, uuidToRef: i };
|
|
22243
22266
|
}
|
|
22244
22267
|
async function We(a) {
|
|
22245
|
-
const { source: e, target: t, query: i, uuidMap: n, uuidToRef:
|
|
22268
|
+
const { source: e, target: t, query: i, uuidMap: n, uuidToRef: u } = a, r = await i.getRecord(t);
|
|
22246
22269
|
if (!r) return;
|
|
22247
|
-
const
|
|
22248
|
-
!
|
|
22270
|
+
const s = e.attributes.find((l) => l.name === "uuid")?.value, c = r.attributes.find((l) => l.name === "uuid")?.value;
|
|
22271
|
+
!s || !c || (n.set(s, c), u.set(c, { tagName: r.tagName, id: r.id }));
|
|
22249
22272
|
}
|
|
22250
22273
|
async function Ke(a) {
|
|
22251
|
-
const { target: e, uuidMap: t, uuidToRef: i, query: n } = a,
|
|
22252
|
-
if (!(
|
|
22274
|
+
const { target: e, uuidMap: t, uuidToRef: i, query: n } = a, u = e.tagName;
|
|
22275
|
+
if (!(u in m)) return null;
|
|
22253
22276
|
const r = await n.getRecord(e);
|
|
22254
22277
|
if (!r) return null;
|
|
22255
|
-
const
|
|
22278
|
+
const s = m[u];
|
|
22256
22279
|
let c = [...r.attributes], l = !1;
|
|
22257
|
-
for (const o of
|
|
22280
|
+
for (const o of s) {
|
|
22258
22281
|
const p = await Xe({
|
|
22259
22282
|
pair: o,
|
|
22260
|
-
tagName:
|
|
22283
|
+
tagName: u,
|
|
22261
22284
|
refId: r.id,
|
|
22262
22285
|
updatedAttributes: c,
|
|
22263
22286
|
uuidMap: t,
|
|
@@ -22273,34 +22296,34 @@ async function Ke(a) {
|
|
|
22273
22296
|
} : null;
|
|
22274
22297
|
}
|
|
22275
22298
|
async function Xe(a) {
|
|
22276
|
-
const { pair: e, tagName: t, refId: i, uuidMap: n, uuidToRef:
|
|
22277
|
-
let
|
|
22278
|
-
const c =
|
|
22299
|
+
const { pair: e, tagName: t, refId: i, uuidMap: n, uuidToRef: u, query: r } = a;
|
|
22300
|
+
let s = [...a.updatedAttributes];
|
|
22301
|
+
const c = s.find((S) => S.name === e.attribute.uuid)?.value;
|
|
22279
22302
|
if (!c) return null;
|
|
22280
22303
|
const l = n.get(c);
|
|
22281
22304
|
if (!l) return null;
|
|
22282
22305
|
let o = !1;
|
|
22283
|
-
const p = Qe(
|
|
22284
|
-
p && (
|
|
22285
|
-
const
|
|
22286
|
-
attributes:
|
|
22306
|
+
const p = Qe(s, e.attribute.uuid, c, l);
|
|
22307
|
+
p && (s = p, o = !0);
|
|
22308
|
+
const R = await Ye({
|
|
22309
|
+
attributes: s,
|
|
22287
22310
|
pathAttrName: e.attribute.path,
|
|
22288
22311
|
newUuid: l,
|
|
22289
|
-
uuidToRef:
|
|
22312
|
+
uuidToRef: u,
|
|
22290
22313
|
tagName: t,
|
|
22291
22314
|
refId: i,
|
|
22292
22315
|
query: r
|
|
22293
22316
|
});
|
|
22294
|
-
return
|
|
22317
|
+
return R && (s = R, o = !0), o ? s : null;
|
|
22295
22318
|
}
|
|
22296
22319
|
function Qe(a, e, t, i) {
|
|
22297
22320
|
return i === t ? null : a.map((n) => n.name === e ? { ...n, value: i } : n);
|
|
22298
22321
|
}
|
|
22299
22322
|
async function Ye(a) {
|
|
22300
|
-
const { attributes: e, pathAttrName: t, newUuid: i, uuidToRef: n, tagName:
|
|
22323
|
+
const { attributes: e, pathAttrName: t, newUuid: i, uuidToRef: n, tagName: u, refId: r, query: s } = a, c = n.get(i);
|
|
22301
22324
|
if (!c) return null;
|
|
22302
|
-
const l = await Z.query.buildReferencePath(
|
|
22303
|
-
reference: { tagName:
|
|
22325
|
+
const l = await Z.query.buildReferencePath(s, {
|
|
22326
|
+
reference: { tagName: u, id: r },
|
|
22304
22327
|
target: { tagName: c.tagName, id: c.id }
|
|
22305
22328
|
});
|
|
22306
22329
|
return !l || e.find((p) => p.name === t)?.value === l ? null : e.map((p) => p.name === t ? { ...p, value: l } : p);
|
|
@@ -22309,7 +22332,7 @@ async function je(a) {
|
|
|
22309
22332
|
return _e(a);
|
|
22310
22333
|
}
|
|
22311
22334
|
function $e(a) {
|
|
22312
|
-
const { record: e } = a, { tagName: t, attributes: i } = e, n =
|
|
22335
|
+
const { record: e } = a, { tagName: t, attributes: i } = e, n = P.definition[t];
|
|
22313
22336
|
if (!("uuid" in n.attributes.details) || i.find((o) => o.name === "uuid")?.value) return e;
|
|
22314
22337
|
const c = n.attributes.details.uuid?.namespace, l = i.filter((o) => o.name !== "uuid");
|
|
22315
22338
|
return {
|
|
@@ -22328,11 +22351,11 @@ function Je(a) {
|
|
|
22328
22351
|
return $e(a);
|
|
22329
22352
|
}
|
|
22330
22353
|
async function et(a) {
|
|
22331
|
-
const { oldRecord: e, newRecord: t, query: i } = a, n = [],
|
|
22332
|
-
if (
|
|
22333
|
-
const r = N(t.tagName),
|
|
22354
|
+
const { oldRecord: e, newRecord: t, query: i } = a, n = [], u = t.attributes.find((r) => r.name === "uuid")?.value;
|
|
22355
|
+
if (u) {
|
|
22356
|
+
const r = N(t.tagName), s = { tagName: t.tagName, id: t.id };
|
|
22334
22357
|
for (const c of r) {
|
|
22335
|
-
const l = await h({ uuid:
|
|
22358
|
+
const l = await h({ uuid: u, entry: c, target: s, query: i });
|
|
22336
22359
|
n.push(...l);
|
|
22337
22360
|
}
|
|
22338
22361
|
}
|
|
@@ -22344,27 +22367,27 @@ async function et(a) {
|
|
|
22344
22367
|
}
|
|
22345
22368
|
function tt(a, e) {
|
|
22346
22369
|
for (const t of ie) {
|
|
22347
|
-
const i = a.attributes.find((
|
|
22370
|
+
const i = a.attributes.find((u) => u.name === t)?.value, n = e.attributes.find((u) => u.name === t)?.value;
|
|
22348
22371
|
if (i !== n) return !0;
|
|
22349
22372
|
}
|
|
22350
22373
|
return !1;
|
|
22351
22374
|
}
|
|
22352
22375
|
async function at(a) {
|
|
22353
|
-
const { newRecord: e, query: t } = a, i = { tagName: e.tagName, id: e.id }, n = await t.findDescendants(i),
|
|
22376
|
+
const { newRecord: e, query: t } = a, i = { tagName: e.tagName, id: e.id }, n = await t.findDescendants(i), u = [];
|
|
22354
22377
|
for (const r of Object.values(n))
|
|
22355
|
-
for (const
|
|
22356
|
-
if (
|
|
22357
|
-
const c = await t.any.getAttribute(
|
|
22378
|
+
for (const s of r) {
|
|
22379
|
+
if (s.id === e.id) continue;
|
|
22380
|
+
const c = await t.any.getAttribute(s, { name: "uuid" });
|
|
22358
22381
|
if (!c) continue;
|
|
22359
|
-
const l = N(
|
|
22382
|
+
const l = N(s.tagName);
|
|
22360
22383
|
if (l.length === 0) continue;
|
|
22361
|
-
const o = { tagName:
|
|
22384
|
+
const o = { tagName: s.tagName, id: s.id };
|
|
22362
22385
|
for (const p of l) {
|
|
22363
|
-
const
|
|
22364
|
-
|
|
22386
|
+
const R = await h({ uuid: c, entry: p, target: o, query: t });
|
|
22387
|
+
u.push(...R);
|
|
22365
22388
|
}
|
|
22366
22389
|
}
|
|
22367
|
-
return
|
|
22390
|
+
return u;
|
|
22368
22391
|
}
|
|
22369
22392
|
async function it(a) {
|
|
22370
22393
|
return et(a);
|
|
@@ -22387,36 +22410,36 @@ function nt(a) {
|
|
|
22387
22410
|
async function rt(a) {
|
|
22388
22411
|
const { record: e, query: t } = a, i = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set();
|
|
22389
22412
|
if (await _({ record: e, query: t, ids: i, uuids: n }), n.size === 0) return [];
|
|
22390
|
-
const
|
|
22391
|
-
for (const
|
|
22392
|
-
const c = await ut({ refTagName:
|
|
22393
|
-
|
|
22413
|
+
const u = [], r = Object.keys(m);
|
|
22414
|
+
for (const s of r) {
|
|
22415
|
+
const c = await ut({ refTagName: s, subtreeIds: i, subtreeUuids: n, query: t });
|
|
22416
|
+
u.push(...c);
|
|
22394
22417
|
}
|
|
22395
|
-
return
|
|
22418
|
+
return u;
|
|
22396
22419
|
}
|
|
22397
22420
|
async function ut(a) {
|
|
22398
|
-
const { refTagName: e, subtreeIds: t, subtreeUuids: i, query: n } = a,
|
|
22421
|
+
const { refTagName: e, subtreeIds: t, subtreeUuids: i, query: n } = a, u = m[e], r = await n.getRecordsByTagName(e), s = [];
|
|
22399
22422
|
for (const c of r) {
|
|
22400
22423
|
if (t.has(c.id)) continue;
|
|
22401
|
-
const l = await st({ refTagName: e, refRecord: c, refPairs:
|
|
22402
|
-
|
|
22424
|
+
const l = await st({ refTagName: e, refRecord: c, refPairs: u, subtreeUuids: i, query: n });
|
|
22425
|
+
s.push(...l);
|
|
22403
22426
|
}
|
|
22404
|
-
return
|
|
22427
|
+
return s;
|
|
22405
22428
|
}
|
|
22406
22429
|
async function st(a) {
|
|
22407
|
-
const { refTagName: e, refRecord: t, refPairs: i, subtreeUuids: n, query:
|
|
22408
|
-
return r.size === 0 ? [] : te.has(e) ? [ot(t, r)] : lt(t,
|
|
22430
|
+
const { refTagName: e, refRecord: t, refPairs: i, subtreeUuids: n, query: u } = a, r = ct({ refPairs: i, refRecord: t, subtreeUuids: n });
|
|
22431
|
+
return r.size === 0 ? [] : te.has(e) ? [ot(t, r)] : lt(t, u);
|
|
22409
22432
|
}
|
|
22410
22433
|
function ct(a) {
|
|
22411
22434
|
const { refPairs: e, refRecord: t, subtreeUuids: i } = a, n = /* @__PURE__ */ new Set();
|
|
22412
|
-
for (const
|
|
22435
|
+
for (const u of e) {
|
|
22413
22436
|
const r = t.attributes.find(
|
|
22414
|
-
(
|
|
22437
|
+
(s) => s.name === u.attribute.uuid
|
|
22415
22438
|
)?.value;
|
|
22416
22439
|
if (!(!r || !i.has(r))) {
|
|
22417
|
-
n.add(
|
|
22418
|
-
for (const
|
|
22419
|
-
n.add(
|
|
22440
|
+
n.add(u.attribute.uuid), n.add(u.attribute.path);
|
|
22441
|
+
for (const s of u.companions)
|
|
22442
|
+
n.add(s.name);
|
|
22420
22443
|
}
|
|
22421
22444
|
}
|
|
22422
22445
|
return n;
|
|
@@ -22440,7 +22463,7 @@ async function lt(a, e) {
|
|
|
22440
22463
|
if (i) {
|
|
22441
22464
|
const n = {
|
|
22442
22465
|
...i,
|
|
22443
|
-
children: i.children.filter((
|
|
22466
|
+
children: i.children.filter((u) => u.id !== a.id)
|
|
22444
22467
|
};
|
|
22445
22468
|
t.push({
|
|
22446
22469
|
status: "updated",
|
|
@@ -22454,11 +22477,11 @@ async function lt(a, e) {
|
|
|
22454
22477
|
async function _(a) {
|
|
22455
22478
|
const { record: e, query: t, ids: i, uuids: n } = a;
|
|
22456
22479
|
i.add(e.id);
|
|
22457
|
-
const
|
|
22458
|
-
|
|
22480
|
+
const u = e.attributes.find((r) => r.name === "uuid")?.value;
|
|
22481
|
+
u && n.add(u);
|
|
22459
22482
|
for (const r of e.children) {
|
|
22460
|
-
const
|
|
22461
|
-
|
|
22483
|
+
const s = await t.getRecord(r);
|
|
22484
|
+
s && await _({ record: s, query: t, ids: i, uuids: n });
|
|
22462
22485
|
}
|
|
22463
22486
|
}
|
|
22464
22487
|
async function dt(a) {
|
|
@@ -22477,7 +22500,7 @@ export {
|
|
|
22477
22500
|
bt as H,
|
|
22478
22501
|
te as K,
|
|
22479
22502
|
mt as R,
|
|
22480
|
-
|
|
22503
|
+
P as S,
|
|
22481
22504
|
m as U,
|
|
22482
22505
|
X as a,
|
|
22483
22506
|
ye as b,
|
|
@@ -28,6 +28,7 @@ export declare const SCL_NAMESPACES: {
|
|
|
28
28
|
export declare const SCL_DIALECTE_CONFIG: {
|
|
29
29
|
readonly rootElementName: "SCL";
|
|
30
30
|
readonly singletonElements: readonly ["Communication", "DataTypeTemplates", "Header", "History", "SCL"];
|
|
31
|
+
readonly transparentElements: readonly ["Private"];
|
|
31
32
|
readonly elements: readonly ["AccessControl", "AccessPoint", "Address", "AllocationRole", "AllocationRoleRef", "AnalogueWiringParameters", "AnalogueWiringParametersRef", "Application", "ApplicationSclRef", "Association", "Authentication", "BDA", "Bay", "BayType", "BehaviorDescription", "BehaviorDescriptionRef", "BehaviorReference", "BinaryWiringParameters", "BinaryWiringParametersRef", "BitRate", "CheckoutID", "ClientLN", "ClientServices", "CommProt", "Communication", "CommunicationServiceSpecifications", "ConductingEquipment", "ConfDataSet", "ConfLNs", "ConfLdName", "ConfLogControl", "ConfReportControl", "ConfSG", "ConfSigRef", "ConnectedAP", "ConnectivityNode", "ControlRef", "ControllingLNode", "DA", "DAI", "DAS", "DAType", "DO", "DOI", "DOS", "DOType", "DataObjectDirectory", "DataSet", "DataSetDirectory", "DataTypeTemplates", "DynAssociation", "DynDataSet", "EnumType", "EnumVal", "EqFunction", "EqSubFunction", "ExtCtrl", "ExtRef", "FCDA", "FileHandling", "Function", "FunctionCatRef", "FunctionCategory", "FunctionCategoryRef", "FunctionRef", "FunctionRole", "FunctionRoleContent", "FunctionSclRef", "FunctionTemplate", "FunctionalSubVariant", "FunctionalVariant", "FunctionalVariantGroup", "FunctionalVariantRef", "GOOSE", "GOOSEMcSecurity", "GOOSESecurity", "GSE", "GSEControl", "GSEDir", "GSESettings", "GSSE", "GeneralEquipment", "GetCBValues", "GetDataObjectDefinition", "GetDataSetValue", "GetDirectory", "GooseParameters", "GooseParametersRef", "Header", "History", "Hitem", "IED", "IEDName", "IEDSourceFiles", "InputVar", "InputVarRef", "Inputs", "IssuerName", "KDC", "L2CommParameters", "L3IPv4CommParameters", "L3IPv6CommParameters", "LDevice", "LN", "LN0", "LNode", "LNodeDataRef", "LNodeInputRef", "LNodeInputs", "LNodeOutputRef", "LNodeOutputs", "LNodeSpecNaming", "LNodeType", "Label", "Labels", "Line", "Log", "LogControl", "LogParameters", "LogParametersRef", "LogSettings", "MaxTime", "McSecurity", "MinRequestedSCDFile", "MinRequestedSCDFiles", "MinTime", "MultiAPPerSubNet", "NeutralPoint", "OptFields", "OutputVar", "OutputVarRef", "Outputs", "P", "PhysConn", "PowerSystemRelation", "PowerSystemRelationRef", "PowerSystemRelations", "PowerTransformer", "Private", "Process", "ProcessEcho", "ProcessResource", "ProcessResourceRef", "ProcessResources", "Project", "ProjectProcessReference", "ProtNs", "Protocol", "ReadWrite", "RedProt", "ReportControl", "ReportParameters", "ReportParametersRef", "ReportSettings", "Resource", "RptEnabled", "SCL", "SCSM", "SDI", "SDO", "SDS", "SGEdit", "SMV", "SMVParameters", "SMVParametersRef", "SMVSecurity", "SMVSettings", "SMVsc", "SVMcSecurity", "SampledValueControl", "SamplesPerSec", "SclFileReference", "SecPerSamples", "Security", "Server", "ServerAt", "ServiceSpecifications", "Services", "SetDataSetValue", "SettingControl", "SettingGroups", "SignalRole", "SmpRate", "SmvOpts", "SourceFiles", "SourceRef", "SubCategory", "SubCheckoutID", "SubEquipment", "SubFunction", "SubFunctionTemplate", "SubNetwork", "Subject", "SubscriberLNode", "Substation", "SupSubscription", "TapChanger", "Terminal", "Text", "TimeSyncProt", "TimerActivatedControl", "TransformerWinding", "TrgOps", "Val", "ValueHandling", "Variable", "VariableApplyTo", "VariableRef", "Voltage", "VoltageLevel"];
|
|
32
33
|
readonly namespaces: {
|
|
33
34
|
readonly default: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialecte.config.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/config/dialecte.config.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,aAAa;;;CAGN,CAAA;AAGpB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;CAaG,CAAA;AAEnC,eAAO,MAAM,cAAc;;;;;;;;;CAMjB,CAAA;AAEV,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAaM,CAAA;AAEtC,MAAM,WAAW,MAAO,SAAQ,QAAQ,CAAC,OAAO,mBAAmB,CAAC;CAAG"}
|
|
1
|
+
{"version":3,"file":"dialecte.config.d.ts","sourceRoot":"","sources":["../../../src/v2019C1/config/dialecte.config.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,aAAa;;;CAGN,CAAA;AAGpB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;CAaG,CAAA;AAEnC,eAAO,MAAM,cAAc;;;;;;;;;CAMjB,CAAA;AAEV,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcM,CAAA;AAEtC,MAAM,WAAW,MAAO,SAAQ,QAAQ,CAAC,OAAO,mBAAmB,CAAC;CAAG"}
|
|
@@ -15,6 +15,10 @@ export type ExtractionStrategy = {
|
|
|
15
15
|
type: 'attribute';
|
|
16
16
|
attr: string;
|
|
17
17
|
separator: '/' | '.';
|
|
18
|
+
} | {
|
|
19
|
+
type: 'sourceRef';
|
|
20
|
+
} | {
|
|
21
|
+
type: 'controlRef';
|
|
18
22
|
};
|
|
19
23
|
export declare const PATH_EXTRACTION_CONFIG: Record<string, ExtractionStrategy>;
|
|
20
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-extraction.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/constants/path-extraction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,kBAAkB,GAC3B;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAAA;CAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"path-extraction.d.ts","sourceRoot":"","sources":["../../../../../src/v2019C1/extensions/reference/constants/path-extraction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,kBAAkB,GAC3B;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,GAAG,GAAG,GAAG,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAA;AAEzB,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAiErE,CAAA;AAID;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,CAiB5D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-segment.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/reference/query/build/path-segment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EACX,WAAW,EAEX,WAAW,EAEX,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"path-segment.d.ts","sourceRoot":"","sources":["../../../../../../src/v2019C1/extensions/reference/query/build/path-segment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EACX,WAAW,EAEX,WAAW,EAEX,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAyDlD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI,CAIvE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC7C,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAA;CACjC,GAAG,WAAW,GAAG,IAAI,CAcrB;AAQD,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,CAMnE"}
|
package/dist/v2019C1/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R as q, U as w, K as Z, D as J, r as _, a as x, H, S as R } from "../index-
|
|
2
|
-
import { b as Xt, c as Yt, d as Wt } from "../index-
|
|
1
|
+
import { R as q, U as w, K as Z, D as J, r as _, a as x, H, S as R } from "../index-uvKv9uth.js";
|
|
2
|
+
import { b as Xt, c as Yt, d as Wt } from "../index-uvKv9uth.js";
|
|
3
3
|
import { isChildOf as b, stripAttributes as tt } from "@dialecte/core/helpers";
|
|
4
4
|
import { invariant as U } from "@dialecte/core/utils";
|
|
5
5
|
import { createDialecteDocument as et, openDialecteDocument as nt, importXmlFiles as at, exportXmlFile as ot } from "@dialecte/core";
|
package/dist/v2019C1/test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CUSTOM_RECORD_ID_ATTRIBUTE as R, CUSTOM_RECORD_ID_ATTRIBUTE_NAME as D } from "@dialecte/core/helpers";
|
|
2
2
|
import { createTestRunner as r, createTestRecordFactory as n, createXmlAssertions as a, XMLNS_DEV_NAMESPACE as o, createTestDialecte as S } from "@dialecte/core/test";
|
|
3
|
-
import { S as e, H as t } from "../index-
|
|
3
|
+
import { S as e, H as t } from "../index-uvKv9uth.js";
|
|
4
4
|
const E = 'xmlns="http://www.iec.ch/61850/2003/SCL"', _ = 'xmlns:eIEC61850-6-100="http://www.iec.ch/61850/2019/SCL/6-100"', i = `${E} ${_} ${o}`, A = r(e, t);
|
|
5
5
|
async function m(s) {
|
|
6
6
|
const { xmlString: c } = s;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dialecte/scl",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.20",
|
|
4
4
|
"description": "Dialecte - SCL (Substation Configuration Language) sdk",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"prepare": "husky"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@dialecte/core": "0.1.
|
|
50
|
+
"@dialecte/core": "0.1.22",
|
|
51
51
|
"dexie": "4.2.0"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|