spawn-term 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/cjs/components/App.js +4 -30
  2. package/dist/cjs/components/App.js.map +1 -1
  3. package/dist/cjs/components/ChildProcess.d.cts +5 -2
  4. package/dist/cjs/components/ChildProcess.d.ts +5 -2
  5. package/dist/cjs/components/ChildProcess.js +31 -21
  6. package/dist/cjs/components/ChildProcess.js.map +1 -1
  7. package/dist/cjs/createApp.d.cts +1 -1
  8. package/dist/cjs/createApp.d.ts +1 -1
  9. package/dist/cjs/createApp.js +5 -5
  10. package/dist/cjs/createApp.js.map +1 -1
  11. package/dist/cjs/index-cjs.d.cts +4 -4
  12. package/dist/cjs/index-cjs.d.ts +4 -4
  13. package/dist/cjs/index-cjs.js +4 -4
  14. package/dist/cjs/index-cjs.js.map +1 -1
  15. package/dist/cjs/index-esm.d.cts +4 -4
  16. package/dist/cjs/index-esm.d.ts +4 -4
  17. package/dist/cjs/index-esm.js +6 -6
  18. package/dist/cjs/index-esm.js.map +1 -1
  19. package/dist/cjs/spawnTerminal.d.cts +1 -1
  20. package/dist/cjs/spawnTerminal.d.ts +1 -1
  21. package/dist/cjs/spawnTerminal.js.map +1 -1
  22. package/dist/cjs/state/{ProcessStore.d.cts → Store.d.cts} +4 -4
  23. package/dist/cjs/state/{ProcessStore.d.ts → Store.d.ts} +4 -4
  24. package/dist/cjs/state/{ProcessStore.js → Store.js} +10 -15
  25. package/dist/cjs/state/Store.js.map +1 -0
  26. package/dist/cjs/types.d.cts +0 -7
  27. package/dist/cjs/types.d.ts +0 -7
  28. package/dist/cjs/types.js.map +1 -1
  29. package/dist/cjs/worker.d.cts +1 -1
  30. package/dist/cjs/worker.d.ts +1 -1
  31. package/dist/cjs/worker.js +23 -20
  32. package/dist/cjs/worker.js.map +1 -1
  33. package/dist/esm/components/App.js +3 -29
  34. package/dist/esm/components/App.js.map +1 -1
  35. package/dist/esm/components/ChildProcess.d.ts +5 -2
  36. package/dist/esm/components/ChildProcess.js +17 -10
  37. package/dist/esm/components/ChildProcess.js.map +1 -1
  38. package/dist/esm/createApp.d.ts +1 -1
  39. package/dist/esm/createApp.js +1 -1
  40. package/dist/esm/createApp.js.map +1 -1
  41. package/dist/esm/index-cjs.d.ts +4 -4
  42. package/dist/esm/index-cjs.js.map +1 -1
  43. package/dist/esm/index-esm.d.ts +4 -4
  44. package/dist/esm/index-esm.js.map +1 -1
  45. package/dist/esm/spawnTerminal.d.ts +1 -1
  46. package/dist/esm/spawnTerminal.js.map +1 -1
  47. package/dist/esm/state/{ProcessStore.d.ts → Store.d.ts} +4 -4
  48. package/dist/esm/state/{ProcessStore.js → Store.js} +5 -10
  49. package/dist/esm/state/Store.js.map +1 -0
  50. package/dist/esm/types.d.ts +0 -7
  51. package/dist/esm/types.js.map +1 -1
  52. package/dist/esm/worker.d.ts +1 -1
  53. package/dist/esm/worker.js +8 -7
  54. package/dist/esm/worker.js.map +1 -1
  55. package/package.json +2 -2
  56. package/dist/cjs/state/ProcessContext.d.cts +0 -6
  57. package/dist/cjs/state/ProcessContext.d.ts +0 -6
  58. package/dist/cjs/state/ProcessContext.js +0 -139
  59. package/dist/cjs/state/ProcessContext.js.map +0 -1
  60. package/dist/cjs/state/ProcessStore.js.map +0 -1
  61. package/dist/esm/state/ProcessContext.d.ts +0 -6
  62. package/dist/esm/state/ProcessContext.js +0 -51
  63. package/dist/esm/state/ProcessContext.js.map +0 -1
  64. package/dist/esm/state/ProcessStore.js.map +0 -1
@@ -1,6 +0,0 @@
1
- export declare function ProcessProvider({ children, store }: {
2
- children: any;
3
- store: any;
4
- }): import("react").JSX.Element;
5
- export declare function useProcesses(): any;
6
- export declare function useProcessDispatch(): any;
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get ProcessProvider () {
13
- return ProcessProvider;
14
- },
15
- get useProcessDispatch () {
16
- return useProcessDispatch;
17
- },
18
- get useProcesses () {
19
- return useProcesses;
20
- }
21
- });
22
- var _jsxruntime = require("react/jsx-runtime");
23
- var _react = require("react");
24
- function _array_like_to_array(arr, len) {
25
- if (len == null || len > arr.length) len = arr.length;
26
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
27
- return arr2;
28
- }
29
- function _array_with_holes(arr) {
30
- if (Array.isArray(arr)) return arr;
31
- }
32
- function _array_without_holes(arr) {
33
- if (Array.isArray(arr)) return _array_like_to_array(arr);
34
- }
35
- function _iterable_to_array(iter) {
36
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
37
- }
38
- function _iterable_to_array_limit(arr, i) {
39
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
40
- if (_i == null) return;
41
- var _arr = [];
42
- var _n = true;
43
- var _d = false;
44
- var _s, _e;
45
- try {
46
- for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
47
- _arr.push(_s.value);
48
- if (i && _arr.length === i) break;
49
- }
50
- } catch (err) {
51
- _d = true;
52
- _e = err;
53
- } finally{
54
- try {
55
- if (!_n && _i["return"] != null) _i["return"]();
56
- } finally{
57
- if (_d) throw _e;
58
- }
59
- }
60
- return _arr;
61
- }
62
- function _non_iterable_rest() {
63
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
64
- }
65
- function _non_iterable_spread() {
66
- throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
67
- }
68
- function _sliced_to_array(arr, i) {
69
- return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
70
- }
71
- function _to_consumable_array(arr) {
72
- return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
73
- }
74
- function _unsupported_iterable_to_array(o, minLen) {
75
- if (!o) return;
76
- if (typeof o === "string") return _array_like_to_array(o, minLen);
77
- var n = Object.prototype.toString.call(o).slice(8, -1);
78
- if (n === "Object" && o.constructor) n = o.constructor.name;
79
- if (n === "Map" || n === "Set") return Array.from(n);
80
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
81
- }
82
- var ProcessContext = /*#__PURE__*/ (0, _react.createContext)(null);
83
- var ProcessDispatchContext = /*#__PURE__*/ (0, _react.createContext)(null);
84
- function ProcessProvider(param) {
85
- var children = param.children, store = param.store;
86
- var _useReducer = _sliced_to_array((0, _react.useReducer)(ProcessReducer, []), 2), Process = _useReducer[0], dispatch = _useReducer[1];
87
- store.on('added', function(process) {
88
- return dispatch({
89
- type: 'added',
90
- process: process
91
- });
92
- });
93
- store.on('changed', function(process) {
94
- return dispatch({
95
- type: 'changed',
96
- process: process
97
- });
98
- });
99
- return /*#__PURE__*/ (0, _jsxruntime.jsx)(ProcessContext, {
100
- value: Process,
101
- children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ProcessDispatchContext, {
102
- value: dispatch,
103
- children: children
104
- })
105
- });
106
- }
107
- function useProcesses() {
108
- return (0, _react.useContext)(ProcessContext);
109
- }
110
- function useProcessDispatch() {
111
- return (0, _react.useContext)(ProcessDispatchContext);
112
- }
113
- function ProcessReducer(processes, action) {
114
- switch(action.type){
115
- case 'added':
116
- {
117
- if (processes.find(function(x) {
118
- return x.id === action.process.id;
119
- })) {
120
- console.log("".concat(action.process.id, " process added a second time"));
121
- return processes;
122
- }
123
- return _to_consumable_array(processes).concat([
124
- action.process
125
- ]);
126
- }
127
- case 'changed':
128
- {
129
- return processes.map(function(x) {
130
- return x.id === action.process.id ? action.process : x;
131
- });
132
- }
133
- default:
134
- {
135
- throw Error("Unknown action: ".concat(action.type));
136
- }
137
- }
138
- }
139
- /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/state/ProcessContext.tsx"],"sourcesContent":["import { createContext, useContext, useReducer } from 'react';\n\nconst ProcessContext = createContext(null);\nconst ProcessDispatchContext = createContext(null);\n\nexport function ProcessProvider({ children, store }) {\n const [Process, dispatch] = useReducer(ProcessReducer, []);\n\n store.on('added', (process) => dispatch({ type: 'added', process }));\n store.on('changed', (process) => dispatch({ type: 'changed', process }));\n\n return (\n <ProcessContext value={Process}>\n <ProcessDispatchContext value={dispatch}>{children}</ProcessDispatchContext>\n </ProcessContext>\n );\n}\n\nexport function useProcesses() {\n return useContext(ProcessContext);\n}\n\nexport function useProcessDispatch() {\n return useContext(ProcessDispatchContext);\n}\n\nfunction ProcessReducer(processes, action) {\n switch (action.type) {\n case 'added': {\n if (processes.find((x) => x.id === action.process.id)) {\n console.log(`${action.process.id} process added a second time`);\n return processes;\n }\n return [...processes, action.process];\n }\n case 'changed': {\n return processes.map((x) => (x.id === action.process.id ? action.process : x));\n }\n default: {\n throw Error(`Unknown action: ${action.type}`);\n }\n }\n}\n"],"names":["ProcessProvider","useProcessDispatch","useProcesses","ProcessContext","createContext","ProcessDispatchContext","children","store","useReducer","ProcessReducer","Process","dispatch","on","process","type","value","useContext","processes","action","find","x","id","console","log","map","Error"],"mappings":";;;;;;;;;;;QAKgBA;eAAAA;;QAiBAC;eAAAA;;QAJAC;eAAAA;;;;qBAlBsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtD,IAAMC,+BAAiBC,IAAAA,oBAAa,EAAC;AACrC,IAAMC,uCAAyBD,IAAAA,oBAAa,EAAC;AAEtC,SAASJ,gBAAgB,KAAmB;QAAjBM,WAAF,MAAEA,UAAUC,QAAZ,MAAYA;IAC1C,IAA4BC,+BAAAA,IAAAA,iBAAU,EAACC,gBAAgB,EAAE,OAAlDC,UAAqBF,gBAAZG,WAAYH;IAE5BD,MAAMK,EAAE,CAAC,SAAS,SAACC;eAAYF,SAAS;YAAEG,MAAM;YAASD,SAAAA;QAAQ;;IACjEN,MAAMK,EAAE,CAAC,WAAW,SAACC;eAAYF,SAAS;YAAEG,MAAM;YAAWD,SAAAA;QAAQ;;IAErE,qBACE,qBAACV;QAAeY,OAAOL;kBACrB,cAAA,qBAACL;YAAuBU,OAAOJ;sBAAWL;;;AAGhD;AAEO,SAASJ;IACd,OAAOc,IAAAA,iBAAU,EAACb;AACpB;AAEO,SAASF;IACd,OAAOe,IAAAA,iBAAU,EAACX;AACpB;AAEA,SAASI,eAAeQ,SAAS,EAAEC,MAAM;IACvC,OAAQA,OAAOJ,IAAI;QACjB,KAAK;YAAS;gBACZ,IAAIG,UAAUE,IAAI,CAAC,SAACC;2BAAMA,EAAEC,EAAE,KAAKH,OAAOL,OAAO,CAACQ,EAAE;oBAAG;oBACrDC,QAAQC,GAAG,CAAC,AAAC,GAAoB,OAAlBL,OAAOL,OAAO,CAACQ,EAAE,EAAC;oBACjC,OAAOJ;gBACT;gBACA,OAAO,AAAC,qBAAGA,kBAAJ;oBAAeC,OAAOL,OAAO;iBAAC;YACvC;QACA,KAAK;YAAW;gBACd,OAAOI,UAAUO,GAAG,CAAC,SAACJ;2BAAOA,EAAEC,EAAE,KAAKH,OAAOL,OAAO,CAACQ,EAAE,GAAGH,OAAOL,OAAO,GAAGO;;YAC7E;QACA;YAAS;gBACP,MAAMK,MAAM,AAAC,mBAA8B,OAAZP,OAAOJ,IAAI;YAC5C;IACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/state/ProcessStore.ts"],"sourcesContent":["import type { ChildProcess, ChildProcessUpdate } from '../types.js';\n\nexport type RenderFunction = () => void;\nexport type StoreData = ChildProcess[];\n\nexport default class ProcessStore {\n processes: ChildProcess[];\n onRender: RenderFunction;\n\n constructor(onRender: RenderFunction) {\n if (!onRender) throw new Error('missing on render');\n this.processes = [];\n this.onRender = onRender;\n }\n\n data(): StoreData {\n return this.processes;\n }\n\n add(process: ChildProcess): void {\n this.processes.push(process);\n this.onRender();\n }\n\n update(id: string, update: ChildProcessUpdate): void {\n const found = this.processes.find((x) => x.id === id);\n if (!found) {\n console.log(`Process ${id} not found`);\n return;\n }\n Object.assign(found, update);\n this.onRender();\n }\n}\n"],"names":["ProcessStore","onRender","Error","processes","data","add","process","push","update","id","found","find","x","console","log","Object","assign"],"mappings":";;;;;;;eAKqBA;;;;;;;;AAAN,IAAA,AAAMA,6BAAN;;aAAMA,aAIPC,QAAwB;gCAJjBD;QAKjB,IAAI,CAACC,UAAU,MAAM,IAAIC,MAAM;QAC/B,IAAI,CAACC,SAAS,GAAG,EAAE;QACnB,IAAI,CAACF,QAAQ,GAAGA;;iBAPCD;IAUnBI,OAAAA,IAEC,GAFDA,SAAAA;QACE,OAAO,IAAI,CAACD,SAAS;IACvB;IAEAE,OAAAA,GAGC,GAHDA,SAAAA,IAAIC,OAAqB;QACvB,IAAI,CAACH,SAAS,CAACI,IAAI,CAACD;QACpB,IAAI,CAACL,QAAQ;IACf;IAEAO,OAAAA,MAQC,GARDA,SAAAA,OAAOC,EAAU,EAAED,MAA0B;QAC3C,IAAME,QAAQ,IAAI,CAACP,SAAS,CAACQ,IAAI,CAAC,SAACC;mBAAMA,EAAEH,EAAE,KAAKA;;QAClD,IAAI,CAACC,OAAO;YACVG,QAAQC,GAAG,CAAC,AAAC,WAAa,OAAHL,IAAG;YAC1B;QACF;QACAM,OAAOC,MAAM,CAACN,OAAOF;QACrB,IAAI,CAACP,QAAQ;IACf;WA3BmBD"}
@@ -1,6 +0,0 @@
1
- export declare function ProcessProvider({ children, store }: {
2
- children: any;
3
- store: any;
4
- }): import("react").JSX.Element;
5
- export declare function useProcesses(): any;
6
- export declare function useProcessDispatch(): any;
@@ -1,51 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext, useReducer } from 'react';
3
- const ProcessContext = /*#__PURE__*/ createContext(null);
4
- const ProcessDispatchContext = /*#__PURE__*/ createContext(null);
5
- export function ProcessProvider({ children, store }) {
6
- const [Process, dispatch] = useReducer(ProcessReducer, []);
7
- store.on('added', (process)=>dispatch({
8
- type: 'added',
9
- process
10
- }));
11
- store.on('changed', (process)=>dispatch({
12
- type: 'changed',
13
- process
14
- }));
15
- return /*#__PURE__*/ _jsx(ProcessContext, {
16
- value: Process,
17
- children: /*#__PURE__*/ _jsx(ProcessDispatchContext, {
18
- value: dispatch,
19
- children: children
20
- })
21
- });
22
- }
23
- export function useProcesses() {
24
- return useContext(ProcessContext);
25
- }
26
- export function useProcessDispatch() {
27
- return useContext(ProcessDispatchContext);
28
- }
29
- function ProcessReducer(processes, action) {
30
- switch(action.type){
31
- case 'added':
32
- {
33
- if (processes.find((x)=>x.id === action.process.id)) {
34
- console.log(`${action.process.id} process added a second time`);
35
- return processes;
36
- }
37
- return [
38
- ...processes,
39
- action.process
40
- ];
41
- }
42
- case 'changed':
43
- {
44
- return processes.map((x)=>x.id === action.process.id ? action.process : x);
45
- }
46
- default:
47
- {
48
- throw Error(`Unknown action: ${action.type}`);
49
- }
50
- }
51
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/state/ProcessContext.tsx"],"sourcesContent":["import { createContext, useContext, useReducer } from 'react';\n\nconst ProcessContext = createContext(null);\nconst ProcessDispatchContext = createContext(null);\n\nexport function ProcessProvider({ children, store }) {\n const [Process, dispatch] = useReducer(ProcessReducer, []);\n\n store.on('added', (process) => dispatch({ type: 'added', process }));\n store.on('changed', (process) => dispatch({ type: 'changed', process }));\n\n return (\n <ProcessContext value={Process}>\n <ProcessDispatchContext value={dispatch}>{children}</ProcessDispatchContext>\n </ProcessContext>\n );\n}\n\nexport function useProcesses() {\n return useContext(ProcessContext);\n}\n\nexport function useProcessDispatch() {\n return useContext(ProcessDispatchContext);\n}\n\nfunction ProcessReducer(processes, action) {\n switch (action.type) {\n case 'added': {\n if (processes.find((x) => x.id === action.process.id)) {\n console.log(`${action.process.id} process added a second time`);\n return processes;\n }\n return [...processes, action.process];\n }\n case 'changed': {\n return processes.map((x) => (x.id === action.process.id ? action.process : x));\n }\n default: {\n throw Error(`Unknown action: ${action.type}`);\n }\n }\n}\n"],"names":["createContext","useContext","useReducer","ProcessContext","ProcessDispatchContext","ProcessProvider","children","store","Process","dispatch","ProcessReducer","on","process","type","value","useProcesses","useProcessDispatch","processes","action","find","x","id","console","log","map","Error"],"mappings":";AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,UAAU,QAAQ,QAAQ;AAE9D,MAAMC,+BAAiBH,cAAc;AACrC,MAAMI,uCAAyBJ,cAAc;AAE7C,OAAO,SAASK,gBAAgB,EAAEC,QAAQ,EAAEC,KAAK,EAAE;IACjD,MAAM,CAACC,SAASC,SAAS,GAAGP,WAAWQ,gBAAgB,EAAE;IAEzDH,MAAMI,EAAE,CAAC,SAAS,CAACC,UAAYH,SAAS;YAAEI,MAAM;YAASD;QAAQ;IACjEL,MAAMI,EAAE,CAAC,WAAW,CAACC,UAAYH,SAAS;YAAEI,MAAM;YAAWD;QAAQ;IAErE,qBACE,KAACT;QAAeW,OAAON;kBACrB,cAAA,KAACJ;YAAuBU,OAAOL;sBAAWH;;;AAGhD;AAEA,OAAO,SAASS;IACd,OAAOd,WAAWE;AACpB;AAEA,OAAO,SAASa;IACd,OAAOf,WAAWG;AACpB;AAEA,SAASM,eAAeO,SAAS,EAAEC,MAAM;IACvC,OAAQA,OAAOL,IAAI;QACjB,KAAK;YAAS;gBACZ,IAAII,UAAUE,IAAI,CAAC,CAACC,IAAMA,EAAEC,EAAE,KAAKH,OAAON,OAAO,CAACS,EAAE,GAAG;oBACrDC,QAAQC,GAAG,CAAC,GAAGL,OAAON,OAAO,CAACS,EAAE,CAAC,4BAA4B,CAAC;oBAC9D,OAAOJ;gBACT;gBACA,OAAO;uBAAIA;oBAAWC,OAAON,OAAO;iBAAC;YACvC;QACA,KAAK;YAAW;gBACd,OAAOK,UAAUO,GAAG,CAAC,CAACJ,IAAOA,EAAEC,EAAE,KAAKH,OAAON,OAAO,CAACS,EAAE,GAAGH,OAAON,OAAO,GAAGQ;YAC7E;QACA;YAAS;gBACP,MAAMK,MAAM,CAAC,gBAAgB,EAAEP,OAAOL,IAAI,EAAE;YAC9C;IACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/state/ProcessStore.ts"],"sourcesContent":["import type { ChildProcess, ChildProcessUpdate } from '../types.js';\n\nexport type RenderFunction = () => void;\nexport type StoreData = ChildProcess[];\n\nexport default class ProcessStore {\n processes: ChildProcess[];\n onRender: RenderFunction;\n\n constructor(onRender: RenderFunction) {\n if (!onRender) throw new Error('missing on render');\n this.processes = [];\n this.onRender = onRender;\n }\n\n data(): StoreData {\n return this.processes;\n }\n\n add(process: ChildProcess): void {\n this.processes.push(process);\n this.onRender();\n }\n\n update(id: string, update: ChildProcessUpdate): void {\n const found = this.processes.find((x) => x.id === id);\n if (!found) {\n console.log(`Process ${id} not found`);\n return;\n }\n Object.assign(found, update);\n this.onRender();\n }\n}\n"],"names":["ProcessStore","data","processes","add","process","push","onRender","update","id","found","find","x","console","log","Object","assign","Error"],"mappings":"AAKe,MAAMA;IAUnBC,OAAkB;QAChB,OAAO,IAAI,CAACC,SAAS;IACvB;IAEAC,IAAIC,OAAqB,EAAQ;QAC/B,IAAI,CAACF,SAAS,CAACG,IAAI,CAACD;QACpB,IAAI,CAACE,QAAQ;IACf;IAEAC,OAAOC,EAAU,EAAED,MAA0B,EAAQ;QACnD,MAAME,QAAQ,IAAI,CAACP,SAAS,CAACQ,IAAI,CAAC,CAACC,IAAMA,EAAEH,EAAE,KAAKA;QAClD,IAAI,CAACC,OAAO;YACVG,QAAQC,GAAG,CAAC,CAAC,QAAQ,EAAEL,GAAG,UAAU,CAAC;YACrC;QACF;QACAM,OAAOC,MAAM,CAACN,OAAOF;QACrB,IAAI,CAACD,QAAQ;IACf;IAvBA,YAAYA,QAAwB,CAAE;QACpC,IAAI,CAACA,UAAU,MAAM,IAAIU,MAAM;QAC/B,IAAI,CAACd,SAAS,GAAG,EAAE;QACnB,IAAI,CAACI,QAAQ,GAAGA;IAClB;AAoBF;AA5BA,SAAqBN,0BA4BpB"}