tnp 18.0.1 → 18.0.2

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 (62) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/bin/start.js +217 -217
  3. package/bin/t +0 -0
  4. package/bin/t-debug +5 -5
  5. package/bin/t-debug-brk +4 -4
  6. package/bin/tnp +0 -0
  7. package/bin/tnp-debug +5 -5
  8. package/bin/tnp-debug-brk +4 -4
  9. package/browser/README.md +24 -24
  10. package/browser/esm2022/lib/constants.mjs +5 -2
  11. package/browser/esm2022/lib/models.mjs +1 -1
  12. package/browser/fesm2022/tnp.mjs +5 -2
  13. package/browser/fesm2022/tnp.mjs.map +1 -1
  14. package/browser/lib/constants.d.ts +1 -0
  15. package/browser/lib/models.d.ts +9 -25
  16. package/browser/package.json +25 -0
  17. package/build/Release/fse.node +0 -0
  18. package/cli.js +108552 -109488
  19. package/client/README.md +24 -24
  20. package/client/esm2022/lib/constants.mjs +5 -2
  21. package/client/esm2022/lib/models.mjs +1 -1
  22. package/client/fesm2022/tnp.mjs +5 -2
  23. package/client/fesm2022/tnp.mjs.map +1 -1
  24. package/client/lib/constants.d.ts +1 -0
  25. package/client/lib/models.d.ts +9 -25
  26. package/firedev.jsonc +391 -426
  27. package/lib/constants.d.ts +1 -0
  28. package/lib/constants.js +6 -3
  29. package/lib/constants.js.map +1 -1
  30. package/lib/models.d.ts +9 -25
  31. package/lib/models.js.map +1 -1
  32. package/lib/project/cli/cli-_GLOBAL_.backend.d.ts +1 -0
  33. package/lib/project/cli/cli-_GLOBAL_.backend.js +46 -0
  34. package/lib/project/cli/cli-_GLOBAL_.backend.js.map +1 -1
  35. package/lib/project/compilers/assets-list-file-generator/assets-list-file-generator.backend.d.ts +1 -1
  36. package/lib/project/features/copy-manager/base-copy-manager.backend.d.ts +1 -1
  37. package/lib/project/features/lib-project/lib-project-base.backend.d.ts +0 -5
  38. package/lib/project/features/lib-project/lib-project-base.backend.js +2 -37
  39. package/lib/project/features/lib-project/lib-project-base.backend.js.map +1 -1
  40. package/lib/project/features/lib-project/lib-project-smart-container.backend.js +21 -5
  41. package/lib/project/features/lib-project/lib-project-smart-container.backend.js.map +1 -1
  42. package/lib/project/features/lib-project/lib-project-standalone.backend.js +25 -9
  43. package/lib/project/features/lib-project/lib-project-standalone.backend.js.map +1 -1
  44. package/lib/project/features/package-json/package-json-base.backend.d.ts +8 -5
  45. package/lib/project/features/package-json/package-json-base.backend.js +12 -5
  46. package/lib/project/features/package-json/package-json-base.backend.js.map +1 -1
  47. package/lib/project/features/package-json/package-json-helpers.backend.js +9 -8
  48. package/lib/project/features/package-json/package-json-helpers.backend.js.map +1 -1
  49. package/lib/project/features/package-json/package-json.js +1 -1
  50. package/lib/project/features/package-json/package-json.js.map +1 -1
  51. package/package.json +3 -33
  52. package/path.txt +1 -1
  53. package/tmp-environment.json +30 -59
  54. package/websql/README.md +24 -24
  55. package/websql/esm2022/lib/constants.mjs +5 -2
  56. package/websql/esm2022/lib/models.mjs +1 -1
  57. package/websql/fesm2022/tnp.mjs +5 -2
  58. package/websql/fesm2022/tnp.mjs.map +1 -1
  59. package/websql/lib/constants.d.ts +1 -0
  60. package/websql/lib/models.d.ts +9 -25
  61. package/websql/package.json +25 -0
  62. package/paste.vbs +0 -52
@@ -1,6 +1,6 @@
1
1
  THIS FILE IS GENERATED. THIS FILE IS GENERATED. THIS FILE IS GENERATED.
2
2
 
3
- Assets from this folder are being shipped with this npm package (tnp@18.0.1)
3
+ Assets from this folder are being shipped with this npm package (tnp@18.0.2)
4
4
  created from this project.
5
5
 
6
6
  THIS FILE IS GENERATED.THIS FILE IS GENERATED. THIS FILE IS GENERATED.
package/bin/start.js CHANGED
@@ -1,217 +1,217 @@
1
- //#region @backend
2
- //#region quick fixes
3
- Error.stackTraceLimit = 100;
4
- global.i0 = {
5
- defineInjectable: function () { }
6
- }
7
- const process= require('process');
8
- process.removeAllListeners('warning');
9
- //#endregion
10
-
11
- //#region resolve constants
12
- const childprocsecretarg = '-childproc';
13
- const isWinGitBash = (process.platform === 'win32');
14
- const procType = (process.argv[1].endsWith('tnp') || process.argv[1].endsWith('firedev')) ? 'root'
15
- : ((process.argv.find(a => a.startsWith(childprocsecretarg)))
16
- ? 'child-of-root'
17
- : 'child-of-child'
18
- );
19
- const debugMode = (process.argv[1].endsWith('-debug') || process.argv[1].endsWith('-debug-brk'))
20
- global.spinnerInParentProcess = (procType === 'child-of-root');
21
- const orgArgv = JSON.parse(JSON.stringify(process.argv));
22
- global.tnpNonInteractive = (typeof process.argv.find(a => a.startsWith('--tnpNonInteractive')) !== 'undefined');
23
- const spinnerIsDefault = !tnpNonInteractive;
24
- global.frameworkName = 'tnp';
25
-
26
- global.globalSystemToolMode = true;
27
- const verbose = process.argv.includes('-verbose')
28
- global.hideLog = !verbose;
29
- global.verboseLevel = 0;
30
-
31
- global.skipCoreCheck = (typeof process.argv.find(a => a.startsWith('--skipCoreCheck')) !== 'undefined');
32
- const verboseLevelExists = (typeof process.argv.find(a => a.startsWith('-verbose=')) !== 'undefined');
33
- global.verboseLevel = (verboseLevelExists ? Number(
34
- process.argv.find(a => {
35
- const v = a.startsWith('-verbose=');
36
- if (v) {
37
- return v.replace('-verbose=', '');
38
- }
39
- })
40
- ) : 0) || 0;
41
-
42
- if (!verbose && verboseLevelExists) {
43
- global.hideLog = false;
44
- }
45
-
46
-
47
-
48
- const spinnerOnInArgs = process.argv.includes('-spinner');
49
- const spinnerOffInArgs = (process.argv.includes('-spinner=false') || process.argv.includes('-spinner=off'));
50
- //#endregion
51
-
52
- //#region clear argument from variables
53
- process.argv = process.argv.filter(a => !a.startsWith('-spinner'));
54
- process.argv = process.argv.filter(a => a !== '-childproc');
55
- process.argv = process.argv.filter(a => a !== '--skipCoreCheck');
56
- process.argv = process.argv.filter(a => !a.startsWith('-verbose'));
57
- //#endregion
58
-
59
- //#region fix argument
60
- process.argv = process.argv.map(a => {
61
- if (a === '-websql') {
62
- return '--websql'
63
- }
64
- return a;
65
- })
66
- //#endregion
67
-
68
- //#region variables
69
- let mode;
70
- let start;
71
- let startSpinner = spinnerIsDefault || spinnerOnInArgs;
72
- if (spinnerOffInArgs) {
73
- startSpinner = false;
74
- }
75
- if (procType === 'child-of-root' || debugMode) {
76
- startSpinner = false;
77
- }
78
-
79
- if (verbose || frameworkName === 'tnp' || global.skipCoreCheck) {
80
- startSpinner = false;
81
- }
82
-
83
- //#endregion
84
-
85
- const path = require('path');
86
-
87
-
88
- if (procType === 'child-of-root') {
89
- global.spinner = {
90
- start() {
91
- process.send && process.send('start-spinner')
92
- },
93
- stop() {
94
- process.send && process.send('stop-spinner')
95
- }
96
- }
97
- }
98
-
99
- if (startSpinner) {
100
- //#region start spinner in processs
101
- var ora = require('ora');
102
- var spinner = ora();
103
- spinner.start();
104
- global.spinner = spinner;
105
-
106
- const child_process = require('child_process');
107
- const orgArgvForChild = orgArgv.filter(a => !a.startsWith('-spinner'));
108
-
109
- const env = {
110
- ...process.env,
111
- FORCE_COLOR: '1'
112
- };
113
-
114
- const cwd = process.cwd();
115
- const argsToCHildProc = (`${orgArgvForChild.slice(2).join(' ')} ${global.verbose ? '-verbose' : ''} ${global.skipCoreCheck ? '--skipCoreCheck' : ''} `
116
- + `${spinnerOnInArgs ? '-spinner' : (spinnerOffInArgs ? '-spinner=off' : '')} ${childprocsecretarg}`).split(' ');
117
-
118
- const proc = child_process.fork(crossPlatofrmPath(__filename), argsToCHildProc, {
119
- env,
120
- stdio: [0, 1, 2, 'ipc'],
121
- cwd,
122
- });
123
-
124
- proc.on('exit', (code) => {
125
- spinner.stop();
126
- setTimeout(() => {
127
- process.exit(code);
128
- })
129
- });
130
-
131
- proc.on('message', message => {
132
- message = (message ? message : '').trimLeft();
133
- if (message === 'start-spinner') {
134
- spinner.start();
135
- } else if (message === 'stop-spinner') {
136
- spinner.stop();
137
- } else if (message.startsWith('info::')) {
138
- setText((message));
139
- } else if (message.startsWith('success::')) {
140
- setText((message));
141
- } else if (message.startsWith('taskstart::')) {
142
- setText((message));
143
- } else if (message.startsWith('taskdone::')) {
144
- setText((message));
145
- } else if (message.startsWith('error::')) {
146
- setText((message));
147
- } else if (message.startsWith('log::')) {
148
- setText((message), true);
149
- } else if (message.startsWith('warn::')) {
150
- setText((message));
151
- }
152
- });
153
-
154
- // process.stdin.resume(); // not needed ?
155
- //#endregion
156
- } else {
157
- //#region child or child of child
158
-
159
- //#region uknow dist or npm mode
160
- const fs = require('fs');
161
-
162
- const pathToDistRun = path.join(__dirname, '../dist/cli.js');
163
- const pathToIndexRun = path.join(__dirname, '../cli.js');
164
- const distExist = fs.existsSync(pathToDistRun);
165
-
166
- if (distExist) {
167
- mode = 'dist';
168
- !global.hideLog && setText('- firedev dist -', true);
169
- // TODO TOOOO MUCH TIME !!!!!!
170
- start = require(pathToDistRun.replace(/\.js$/g, '')).default;
171
- } else {
172
- mode = 'npm';
173
- !global.hideLog && setText('- npm mode -', true);
174
- start = require(pathToIndexRun.replace(/\.js$/g, '')).default;
175
- }
176
- //#endregion
177
-
178
-
179
- // global.start = start;
180
- process.argv = process.argv.filter(f => !!f);
181
- start(process.argv, global.frameworkName, mode);
182
- //#endregion
183
- }
184
-
185
- function crossPlatofrmPath(p) {
186
- if (isWinGitBash) {
187
- return p.replace(/\\/g, '/');
188
- }
189
- return p;
190
- }
191
-
192
- function setText(text, toSpiner = false) {
193
- const spinner = global.spinner;
194
- if (text) {
195
- text = text.split('::').slice(1).join('::');
196
- }
197
- if (spinner) {
198
- if (toSpiner) {
199
- spinner.text = text.replace(/(?:\r\n|\r|\n)/g, ' ');
200
- } else {
201
- const wasSpinning = spinner.isSpinning;
202
- if (wasSpinning) {
203
- spinner.stop();
204
- spinner.clear();
205
- }
206
- console.log(text);
207
- if (wasSpinning) {
208
- spinner.start()
209
- }
210
- }
211
- } else {
212
- console.log(text);
213
- }
214
-
215
- }
216
-
217
- //#endregion
1
+ //#region @backend
2
+ //#region quick fixes
3
+ Error.stackTraceLimit = 100;
4
+ global.i0 = {
5
+ defineInjectable: function () { }
6
+ }
7
+ const process= require('process');
8
+ process.removeAllListeners('warning');
9
+ //#endregion
10
+
11
+ //#region resolve constants
12
+ const childprocsecretarg = '-childproc';
13
+ const isWinGitBash = (process.platform === 'win32');
14
+ const procType = (process.argv[1].endsWith('tnp') || process.argv[1].endsWith('firedev')) ? 'root'
15
+ : ((process.argv.find(a => a.startsWith(childprocsecretarg)))
16
+ ? 'child-of-root'
17
+ : 'child-of-child'
18
+ );
19
+ const debugMode = (process.argv[1].endsWith('-debug') || process.argv[1].endsWith('-debug-brk'))
20
+ global.spinnerInParentProcess = (procType === 'child-of-root');
21
+ const orgArgv = JSON.parse(JSON.stringify(process.argv));
22
+ global.tnpNonInteractive = (typeof process.argv.find(a => a.startsWith('--tnpNonInteractive')) !== 'undefined');
23
+ const spinnerIsDefault = !tnpNonInteractive;
24
+ global.frameworkName = 'tnp';
25
+
26
+ global.globalSystemToolMode = true;
27
+ const verbose = process.argv.includes('-verbose')
28
+ global.hideLog = !verbose;
29
+ global.verboseLevel = 0;
30
+
31
+ global.skipCoreCheck = (typeof process.argv.find(a => a.startsWith('--skipCoreCheck')) !== 'undefined');
32
+ const verboseLevelExists = (typeof process.argv.find(a => a.startsWith('-verbose=')) !== 'undefined');
33
+ global.verboseLevel = (verboseLevelExists ? Number(
34
+ process.argv.find(a => {
35
+ const v = a.startsWith('-verbose=');
36
+ if (v) {
37
+ return v.replace('-verbose=', '');
38
+ }
39
+ })
40
+ ) : 0) || 0;
41
+
42
+ if (!verbose && verboseLevelExists) {
43
+ global.hideLog = false;
44
+ }
45
+
46
+
47
+
48
+ const spinnerOnInArgs = process.argv.includes('-spinner');
49
+ const spinnerOffInArgs = (process.argv.includes('-spinner=false') || process.argv.includes('-spinner=off'));
50
+ //#endregion
51
+
52
+ //#region clear argument from variables
53
+ process.argv = process.argv.filter(a => !a.startsWith('-spinner'));
54
+ process.argv = process.argv.filter(a => a !== '-childproc');
55
+ process.argv = process.argv.filter(a => a !== '--skipCoreCheck');
56
+ process.argv = process.argv.filter(a => !a.startsWith('-verbose'));
57
+ //#endregion
58
+
59
+ //#region fix argument
60
+ process.argv = process.argv.map(a => {
61
+ if (a === '-websql') {
62
+ return '--websql'
63
+ }
64
+ return a;
65
+ })
66
+ //#endregion
67
+
68
+ //#region variables
69
+ let mode;
70
+ let start;
71
+ let startSpinner = spinnerIsDefault || spinnerOnInArgs;
72
+ if (spinnerOffInArgs) {
73
+ startSpinner = false;
74
+ }
75
+ if (procType === 'child-of-root' || debugMode) {
76
+ startSpinner = false;
77
+ }
78
+
79
+ if (verbose || frameworkName === 'tnp' || global.skipCoreCheck) {
80
+ startSpinner = false;
81
+ }
82
+
83
+ //#endregion
84
+
85
+ const path = require('path');
86
+
87
+
88
+ if (procType === 'child-of-root') {
89
+ global.spinner = {
90
+ start() {
91
+ process.send && process.send('start-spinner')
92
+ },
93
+ stop() {
94
+ process.send && process.send('stop-spinner')
95
+ }
96
+ }
97
+ }
98
+
99
+ if (startSpinner) {
100
+ //#region start spinner in processs
101
+ var ora = require('ora');
102
+ var spinner = ora();
103
+ spinner.start();
104
+ global.spinner = spinner;
105
+
106
+ const child_process = require('child_process');
107
+ const orgArgvForChild = orgArgv.filter(a => !a.startsWith('-spinner'));
108
+
109
+ const env = {
110
+ ...process.env,
111
+ FORCE_COLOR: '1'
112
+ };
113
+
114
+ const cwd = process.cwd();
115
+ const argsToCHildProc = (`${orgArgvForChild.slice(2).join(' ')} ${global.verbose ? '-verbose' : ''} ${global.skipCoreCheck ? '--skipCoreCheck' : ''} `
116
+ + `${spinnerOnInArgs ? '-spinner' : (spinnerOffInArgs ? '-spinner=off' : '')} ${childprocsecretarg}`).split(' ');
117
+
118
+ const proc = child_process.fork(crossPlatofrmPath(__filename), argsToCHildProc, {
119
+ env,
120
+ stdio: [0, 1, 2, 'ipc'],
121
+ cwd,
122
+ });
123
+
124
+ proc.on('exit', (code) => {
125
+ spinner.stop();
126
+ setTimeout(() => {
127
+ process.exit(code);
128
+ })
129
+ });
130
+
131
+ proc.on('message', message => {
132
+ message = (message ? message : '').trimLeft();
133
+ if (message === 'start-spinner') {
134
+ spinner.start();
135
+ } else if (message === 'stop-spinner') {
136
+ spinner.stop();
137
+ } else if (message.startsWith('info::')) {
138
+ setText((message));
139
+ } else if (message.startsWith('success::')) {
140
+ setText((message));
141
+ } else if (message.startsWith('taskstart::')) {
142
+ setText((message));
143
+ } else if (message.startsWith('taskdone::')) {
144
+ setText((message));
145
+ } else if (message.startsWith('error::')) {
146
+ setText((message));
147
+ } else if (message.startsWith('log::')) {
148
+ setText((message), true);
149
+ } else if (message.startsWith('warn::')) {
150
+ setText((message));
151
+ }
152
+ });
153
+
154
+ // process.stdin.resume(); // not needed ?
155
+ //#endregion
156
+ } else {
157
+ //#region child or child of child
158
+
159
+ //#region uknow dist or npm mode
160
+ const fs = require('fs');
161
+
162
+ const pathToDistRun = path.join(__dirname, '../dist/cli.js');
163
+ const pathToIndexRun = path.join(__dirname, '../cli.js');
164
+ const distExist = fs.existsSync(pathToDistRun);
165
+
166
+ if (distExist) {
167
+ mode = 'dist';
168
+ !global.hideLog && setText('- firedev dist -', true);
169
+ // TODO TOOOO MUCH TIME !!!!!!
170
+ start = require(pathToDistRun.replace(/\.js$/g, '')).default;
171
+ } else {
172
+ mode = 'npm';
173
+ !global.hideLog && setText('- npm mode -', true);
174
+ start = require(pathToIndexRun.replace(/\.js$/g, '')).default;
175
+ }
176
+ //#endregion
177
+
178
+
179
+ // global.start = start;
180
+ process.argv = process.argv.filter(f => !!f);
181
+ start(process.argv, global.frameworkName, mode);
182
+ //#endregion
183
+ }
184
+
185
+ function crossPlatofrmPath(p) {
186
+ if (isWinGitBash) {
187
+ return p.replace(/\\/g, '/');
188
+ }
189
+ return p;
190
+ }
191
+
192
+ function setText(text, toSpiner = false) {
193
+ const spinner = global.spinner;
194
+ if (text) {
195
+ text = text.split('::').slice(1).join('::');
196
+ }
197
+ if (spinner) {
198
+ if (toSpiner) {
199
+ spinner.text = text.replace(/(?:\r\n|\r|\n)/g, ' ');
200
+ } else {
201
+ const wasSpinning = spinner.isSpinning;
202
+ if (wasSpinning) {
203
+ spinner.stop();
204
+ spinner.clear();
205
+ }
206
+ console.log(text);
207
+ if (wasSpinning) {
208
+ spinner.start()
209
+ }
210
+ }
211
+ } else {
212
+ console.log(text);
213
+ }
214
+
215
+ }
216
+
217
+ //#endregion
package/bin/t CHANGED
File without changes
package/bin/t-debug CHANGED
@@ -1,5 +1,5 @@
1
- #!/usr/bin/env -S node --inspect --stack-trace-limit=10000 --no-deprecation
2
- //#region @backend
3
- // --stack-trace-limit=10000
4
- require('./start');
5
- //#endregion
1
+ #!/usr/bin/env -S node --inspect --stack-trace-limit=10000 --no-deprecation
2
+ //#region @backend
3
+ // --stack-trace-limit=10000
4
+ require('./start');
5
+ //#endregion
package/bin/t-debug-brk CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env -S node --inspect-brk --stack-trace-limit=10000 --no-deprecation
2
- //#region @backend
3
- require('./start');
4
- //#endregion
1
+ #!/usr/bin/env -S node --inspect-brk --stack-trace-limit=10000 --no-deprecation
2
+ //#region @backend
3
+ require('./start');
4
+ //#endregion
package/bin/tnp CHANGED
File without changes
package/bin/tnp-debug CHANGED
@@ -1,5 +1,5 @@
1
- #!/usr/bin/env -S node --inspect --stack-trace-limit=10000 --no-deprecation
2
- //#region @backend
3
- // --stack-trace-limit=10000
4
- require('./start');
5
- //#endregion
1
+ #!/usr/bin/env -S node --inspect --stack-trace-limit=10000 --no-deprecation
2
+ //#region @backend
3
+ // --stack-trace-limit=10000
4
+ require('./start');
5
+ //#endregion
package/bin/tnp-debug-brk CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env -S node --inspect-brk --stack-trace-limit=10000 --no-deprecation
2
- //#region @backend
3
- require('./start');
4
- //#endregion
1
+ #!/usr/bin/env -S node --inspect-brk --stack-trace-limit=10000 --no-deprecation
2
+ //#region @backend
3
+ require('./start');
4
+ //#endregion
package/browser/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # MyLib
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
- > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # MyLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
+ > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -184,9 +184,12 @@ export const notAllowedProjectNames = [
184
184
  export function tempSourceFolder(outDir, appForLib, websql) {
185
185
  return `tmp-src-${appForLib ? 'app-' : ''}${outDir}${websql ? '-websql' : ''}`;
186
186
  }
187
- export const notAllowedAsPacakge = [
187
+ export const clientCodeVersionFolder = [
188
188
  config.folder.browser,
189
189
  config.folder.websql,
190
+ ];
191
+ export const notAllowedAsPacakge = [
192
+ ...clientCodeVersionFolder,
190
193
  config.folder.assets,
191
194
  ];
192
195
  export const MESSAGES = {
@@ -199,4 +202,4 @@ export const ONLY_COPY_ALLOWED = [
199
202
  ];
200
203
  ;
201
204
  ({}); // @--end-of-file-for-module=tnp lib/constants.ts
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wL3Byb2plY3RzL3RucC9zcmMvbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJNUMsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUM7QUFFOUMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQVUsR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDO0FBRXpELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLFNBQVM7SUFDVCxhQUFhO0lBQ2IsU0FBUztJQUNULFNBQVM7SUFDVCxRQUFRO0lBQ1IsVUFBVTtJQUNWLE1BQU07SUFDTixTQUFTO0lBQ1QsWUFBWTtJQUNaLFVBQVU7SUFDVixrQkFBa0I7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxLQUFLLENBQUM7QUFFOUMsTUFBTSxDQUFDLElBQUksNEJBQTRCO0FBQ3ZDLEtBQUs7QUFDTCxLQUFLO0FBRUwsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUVMLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixRQUFRO0lBQ1IsVUFBVTtJQUNWLGlCQUFpQjtJQUNqQiw0QkFBNEI7SUFDNUIsUUFBUTtJQUNSLE1BQU07SUFDTixVQUFVO0lBQ1YsUUFBUTtJQUNSLFNBQVM7Q0FDVixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsd0JBQXdCLENBQUM7QUFFbEUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDO0FBRTdDLE1B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O0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFFL0IsZ0JBQWdCO0lBQ2hCLE1BQU07SUFDTixlQUFlO0NBQ2hCLENBQUM7QUFFRCxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlEQUFpRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICd0bnAtY29uZmlnL2Jyb3dzZXInO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSAnLi9wcm9qZWN0L2Fic3RyYWN0L3Byb2plY3QnO1xuXG5pbXBvcnQgeyAgIGNyb3NzUGxhdGZvcm1QYXRoLCAgIHBhdGgsIC8qICovIC8qICovICAgIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5cbmV4cG9ydCBjb25zdCBmaXJlZGV2RnJhbWV3b3JrTmFtZSA9ICdmaXJlZGV2JztcblxuZXhwb3J0IGNvbnN0IGZpcmVkZXZJZ25vcmUgPSAnQGZpcmVkZXYnICsgJy0nICsgJ2lnbm9yZSc7XG5cbmV4cG9ydCBjb25zdCBPVkVSUklERV9GUk9NX1ROUCA9IFtcbiAgJ3NjcmlwdHMnLFxuICAnZGVzY3JpcHRpb24nLFxuICAnbGljZW5zZScsXG4gICdwcml2YXRlJyxcbiAgJ2F1dGhvcicsXG4gICdob21lcGFnZScsXG4gICdtYWluJyxcbiAgJ2VuZ2luZXMnLFxuICAnY2F0ZWdvcmllcycsXG4gICdrZXl3b3JkcycsXG4gICdhY3RpdmF0aW9uRXZlbnRzJyxcbl07XG5cbmV4cG9ydCBjb25zdCBVTklUX1RFU1RfVElNRU9VVCA9IDMwMDAwO1xuZXhwb3J0IGNvbnN0IElOVEVHUkFUSU9OX1RFU1RfVElNRU9VVCA9IDMwMDAwO1xuXG5leHBvcnQgbGV0IGZpcmVkZXZSZXBvUGF0aFVzZXJJblVzZXJEaXI6IHN0cmluZyA9XG4vKiAqL1xuLyogKi9cbiAgXG4oJycpO1xuXG5leHBvcnQgY29uc3QgYXJnc1RvQ2xlYXIgPSBbXG4gICd3ZWJzcWwnLFxuICAnc2VydmVBcHAnLFxuICAnc2tpcE5vZGVNb2R1bGVzJyxcbiAgJ3NraXBTbWFydENvbnRhaW5lckRpc3RJbml0JyxcbiAgJ2NvcHl0bycsXG4gICdwb3J0JyxcbiAgJ2JyYW5kaW5nJyxcbiAgJ3N0cnVjdCcsXG4gICd2ZXJib3NlJyxcbl07XG5cbmV4cG9ydCBjb25zdCBmb2xkZXJfc2hhcmVkX2ZvbGRlcl9pbmZvID0gJ3NoYXJlZF9mb2xkZXJfaW5mby50eHQnO1xuXG5leHBvcnQgY29uc3QgVEVNUF9ET0NTID0gJ3RtcC1kb2N1bWVudGF0aW9uJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUE9SVCA9IHtcbiAgRElTVF9TRVJWRVJfRE9DUzogNDAwMCxcbiAgQVBQX0JVSUxEX0xPQ0FMSE9TVDogNDIwMCxcbiAgU0VSVkVSX0xPQ0FMSE9TVDogNDE5OSxcbn07XG5cbmV4cG9ydCBjb25zdCB0bXBCdWlsZFBvcnQgPSAndG1wLWJ1aWxkLXBvcnQnO1xuZXhwb3J0IGNvbnN0IHRtcEJhc2VIcmVmT3ZlcndyaXRlUmVsUGF0aCA9ICd0bXAtYmFzZS1ocmVmLW92ZXJ3cml0ZSc7XG5cbi8qKlxuICpcbiAqIFBvcnRzIGZvcjpcbiAgICAgIG1heCA9IG1heCBpbnN0YW5jZXMgPSBtYXggY29udGFpbmVyIGNoaWxkcyA9IDIwO1xuICAgICAgbiA9IGZvbGRlciBwcm9jZXNzIGJ1aWxkIG51bWJlciAoc2VhcmNoZXMgZm9yIG5ldyBwb3J0IGFsd2F5cylcbiAgICAgIGluZGV4ID0gY29udGFpbmVyIHByb2plY3QgaW5kZXggKGNhbid0IGV4Y2VlZHMgbWF4KVxuXG4gICAgICBidWlsZCBwcm9jZXNzIHNlcnZpY2UgNDEwMCA9IDQxMDAgKyBuXG5cbiAgICAgIHN0YW5kYWxvbmUgc2VydmVyIDQ1MDAgPSA0MTAwICArIDQwMCArIG5cbiAgICAgIGNvbnRhaW5lcnMgc2VydmVycyA0NjAwID0gNDEwMCAgKyA1MDAgKyBuICogbWF4ICsgaW5kZXhcblxuICAgICAgc3RhbmRhbG9uZSBuZyBzZXJ2ZSBub3JtYWwgNDMwMCA9IDQxMDAgICsgMjAwICsgblxuICAgICAgc3RhbmRhbG9uZSBuZyBzZXJ2ZSB3ZWJzcWwgNDQwMCA9IDQxMDAgICsgMzAwICsgblxuXG4gICAgICBjb250YWluZXIgbmcgc2VydmUgbm9ybWFsIDQ4MDAgPSA0MTAwICArIDcwMCArIG4gKyBtYXggKyBpbmRleFxuICAgICAgY29udGFpbmVyIG5nIHNlcnZlIHdlYnNxbCA0OTAwID0gNDEwMCAgKyA4MDAgKyBuICsgbWF4ICsgaW5kZXhcbiAqXG4gKiBAcGFyYW0gYmFzZVBvcnQgNDEwMCArIG5cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBjbGFzcyBQb3J0VXRpbHMge1xuICBzdGF0aWMgaW5zdGFuY2UoYmFzZVBvcnQ6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgUG9ydFV0aWxzKGJhc2VQb3J0KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgbjogbnVtYmVyO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhc2VQb3J0OiBudW1iZXIpIHtcbiAgICB0aGlzLm4gPSAoYmFzZVBvcnQgLSAoYmFzZVBvcnQgJSAxMDAwKSkgLyAxMDAwO1xuICB9XG5cbiAgLyoqXG4gICAqIG1heCBjb250YWluZXIgIGNoaWxkc1xuICAgKi9cbiAgcHJpdmF0ZSBtYXggPSAyMDtcblxuICBjYWxjdWxhdGVQb3J0Rm9yRWxlY3Ryb25EZWJ1Z2dpbmcocHJvamVjdDogUHJvamVjdCk6IG51bWJlciB7XG4gICAgaWYgKCFwcm9qZWN0Ll9faXNJc29tb3JwaGljTGliKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiA5ODc2ICsgdGhpcy5uO1xuICB9XG5cbiAgY2FsY3VsYXRlU2VydmVyUG9ydEZvcihwcm9qZWN0OiBQcm9qZWN0KTogbnVtYmVyIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgY2FsY3VsYXRlQ2xpZW50UG9ydEZvcihcbiAgICBwcm9qZWN0OiBQcm9qZWN0LFxuICAgIHsgd2Vic3FsIH06IHsgd2Vic3FsOiBib29sZWFuIH0sXG4gICk6IG51bWJlciB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRm9yU3RhbmRhbG9uZVNlcnZlcigpIHtcbiAgICBjb25zdCBjbGllbnRTdGFuZGFsb25lUG9ydCA9IHRoaXMuYmFzZVBvcnQgKyA0MDAgKyB0aGlzLm47XG4gICAgcmV0dXJuIGNsaWVudFN0YW5kYWxvbmVQb3J0O1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVGb3JDb250YWluZXJTZXJ2ZXIoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGNsaWVudFNtYXJ0Q29udGFpbmVyQ2hpbGRQb3J0ID1cbiAgICAgIHRoaXMuYmFzZVBvcnQgKyA1MDAgKyB0aGlzLm4gKiB0aGlzLm1heCArIGluZGV4O1xuXG4gICAgcmV0dXJuIGNsaWVudFNtYXJ0Q29udGFpbmVyQ2hpbGRQb3J0O1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVGb3JTdGFuZGFsb25lQ2xpZW50KHsgd2Vic3FsIH06IHsgd2Vic3FsOiBib29sZWFuIH0pIHtcbiAgICBjb25zdCBjbGllbnRQb3J0ID0gdGhpcy5iYXNlUG9ydCArICh3ZWJzcWwgPyAzMDAgOiAyMDApICsgdGhpcy5uO1xuICAgIHJldHVybiBjbGllbnRQb3J0O1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVGb3JDb250YWluZXJDbGllbnQoXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICB7IHdlYnNxbCB9OiB7IHdlYnNxbDogYm9vbGVhbiB9LFxuICApIHtcbiAgICBjb25zdCBjbGllbnRQb3J0ID1cbiAgICAgIHRoaXMuYmFzZVBvcnQgKyAod2Vic3FsID8gODAwIDogNzAwKSArIHRoaXMubiAqIHRoaXMubWF4ICsgaW5kZXg7XG4gICAgcmV0dXJuIGNsaWVudFBvcnQ7XG4gIH1cblxuICBhcHBIb3N0VGVtcGxhdGVGb3IocHJvamVjdDogUHJvamVjdCkge1xuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IG5vdEFsbG93ZWRQcm9qZWN0TmFtZXMgPSBbXG5cbiAgJ2NvcHl0bycsXG4gICdhcHAnLFxuICAnYXBwcycsXG4gICdsaWJzJyxcbiAgJ2xpYicsXG4gICdzcmMnLFxuICAnc291cmNlJyxcbiAgJ21pZ3JhdGlvbnMnLFxuICAnYXNzZXRzJyxcbiAgJ2Fzc2V0cy1mb3InLFxuICAnYnJvd3NlcicsXG4gICd3ZWJzcWwnLFxuICAnY29tcGlsZWQnLFxuICAnZG9jcycsXG4gICdfJyxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZW1wU291cmNlRm9sZGVyKFxuICBvdXREaXI6ICdkaXN0JyxcbiAgYXBwRm9yTGliOiBib29sZWFuLFxuICB3ZWJzcWw6IGJvb2xlYW4sXG4pIHtcbiAgcmV0dXJuIGB0bXAtc3JjLSR7YXBwRm9yTGliID8gJ2FwcC0nIDogJyd9JHtvdXREaXJ9JHt3ZWJzcWwgPyAnLXdlYnNxbCcgOiAnJ31gO1xufVxuXG5leHBvcnQgY29uc3Qgbm90QWxsb3dlZEFzUGFjYWtnZSA9IFtcbiAgY29uZmlnLmZvbGRlci5icm93c2VyLFxuICBjb25maWcuZm9sZGVyLndlYnNxbCxcbiAgY29uZmlnLmZvbGRlci5hc3NldHMsXG5dO1xuXG5leHBvcnQgY29uc3QgTUVTU0FHRVMgPSB7XG4gIFNIVVRfRE9XTl9GT0xERVJTX0FORF9ERUJVR0dFUlM6XG4gICAgJ1BsZWFzZSBzaHV0IGRvd24geW91ciBjb2RlIGRlYnVnZ2VyIGFuZCBhbnkgb3BlbiB3aW5kb3dzIGZyb20gbm9kZV9tb2R1bGVzIGFuZCBwcmVzcyBhbnkga2V5Li4uJyxcbn07XG5cbmV4cG9ydCBjb25zdCBPTkxZX0NPUFlfQUxMT1dFRCA9IFtcblxuICAnYmV0dGVyLXNxbGl0ZTMnLFxuICAnLmJpbicsXG4gICcuaW5zdGFsbC1kYXRlJyxcbl07XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAgbGliL2NvbnN0YW50cy50cyJdfQ==
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wL3Byb2plY3RzL3RucC9zcmMvbGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJNUMsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUM7QUFFOUMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFVBQVUsR0FBRyxHQUFHLEdBQUcsUUFBUSxDQUFDO0FBRXpELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLFNBQVM7SUFDVCxhQUFhO0lBQ2IsU0FBUztJQUNULFNBQVM7SUFDVCxRQUFRO0lBQ1IsVUFBVTtJQUNWLE1BQU07SUFDTixTQUFTO0lBQ1QsWUFBWTtJQUNaLFVBQVU7SUFDVixrQkFBa0I7Q0FDbkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxLQUFLLENBQUM7QUFFOUMsTUFBTSxDQUFDLElBQUksNEJBQTRCO0FBQ3ZDLEtBQUs7QUFDTCxLQUFLO0FBRUwsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUVMLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixRQUFRO0lBQ1IsVUFBVTtJQUNWLGlCQUFpQjtJQUNqQiw0QkFBNEI7SUFDNUIsUUFBUTtJQUNSLE1BQU07SUFDTixVQUFVO0lBQ1YsUUFBUTtJQUNSLFNBQVM7Q0FDVixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsd0JBQXdCLENBQUM7QUFFbEUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDO0FBRTdDLE1B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TUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3RCLCtCQUErQixFQUM3QixpR0FBaUc7Q0FDcEcsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBRS9CLGdCQUFnQjtJQUNoQixNQUFNO0lBQ04sZUFBZTtDQUNoQixDQUFDO0FBRUQsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpREFBaUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gJy4vcHJvamVjdC9hYnN0cmFjdC9wcm9qZWN0JztcblxuaW1wb3J0IHsgICBjcm9zc1BsYXRmb3JtUGF0aCwgICBwYXRoLCAvKiAqLyAvKiAqLyAgICB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cblxuXG5leHBvcnQgY29uc3QgZmlyZWRldkZyYW1ld29ya05hbWUgPSAnZmlyZWRldic7XG5cbmV4cG9ydCBjb25zdCBmaXJlZGV2SWdub3JlID0gJ0BmaXJlZGV2JyArICctJyArICdpZ25vcmUnO1xuXG5leHBvcnQgY29uc3QgT1ZFUlJJREVfRlJPTV9UTlAgPSBbXG4gICdzY3JpcHRzJyxcbiAgJ2Rlc2NyaXB0aW9uJyxcbiAgJ2xpY2Vuc2UnLFxuICAncHJpdmF0ZScsXG4gICdhdXRob3InLFxuICAnaG9tZXBhZ2UnLFxuICAnbWFpbicsXG4gICdlbmdpbmVzJyxcbiAgJ2NhdGVnb3JpZXMnLFxuICAna2V5d29yZHMnLFxuICAnYWN0aXZhdGlvbkV2ZW50cycsXG5dO1xuXG5leHBvcnQgY29uc3QgVU5JVF9URVNUX1RJTUVPVVQgPSAzMDAwMDtcbmV4cG9ydCBjb25zdCBJTlRFR1JBVElPTl9URVNUX1RJTUVPVVQgPSAzMDAwMDtcblxuZXhwb3J0IGxldCBmaXJlZGV2UmVwb1BhdGhVc2VySW5Vc2VyRGlyOiBzdHJpbmcgPVxuLyogKi9cbi8qICovXG4gIFxuKCcnKTtcblxuZXhwb3J0IGNvbnN0IGFyZ3NUb0NsZWFyID0gW1xuICAnd2Vic3FsJyxcbiAgJ3NlcnZlQXBwJyxcbiAgJ3NraXBOb2RlTW9kdWxlcycsXG4gICdza2lwU21hcnRDb250YWluZXJEaXN0SW5pdCcsXG4gICdjb3B5dG8nLFxuICAncG9ydCcsXG4gICdicmFuZGluZycsXG4gICdzdHJ1Y3QnLFxuICAndmVyYm9zZScsXG5dO1xuXG5leHBvcnQgY29uc3QgZm9sZGVyX3NoYXJlZF9mb2xkZXJfaW5mbyA9ICdzaGFyZWRfZm9sZGVyX2luZm8udHh0JztcblxuZXhwb3J0IGNvbnN0IFRFTVBfRE9DUyA9ICd0bXAtZG9jdW1lbnRhdGlvbic7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BPUlQgPSB7XG4gIERJU1RfU0VSVkVSX0RPQ1M6IDQwMDAsXG4gIEFQUF9CVUlMRF9MT0NBTEhPU1Q6IDQyMDAsXG4gIFNFUlZFUl9MT0NBTEhPU1Q6IDQxOTksXG59O1xuXG5leHBvcnQgY29uc3QgdG1wQnVpbGRQb3J0ID0gJ3RtcC1idWlsZC1wb3J0JztcbmV4cG9ydCBjb25zdCB0bXBCYXNlSHJlZk92ZXJ3cml0ZVJlbFBhdGggPSAndG1wLWJhc2UtaHJlZi1vdmVyd3JpdGUnO1xuXG4vKipcbiAqXG4gKiBQb3J0cyBmb3I6XG4gICAgICBtYXggPSBtYXggaW5zdGFuY2VzID0gbWF4IGNvbnRhaW5lciBjaGlsZHMgPSAyMDtcbiAgICAgIG4gPSBmb2xkZXIgcHJvY2VzcyBidWlsZCBudW1iZXIgKHNlYXJjaGVzIGZvciBuZXcgcG9ydCBhbHdheXMpXG4gICAgICBpbmRleCA9IGNvbnRhaW5lciBwcm9qZWN0IGluZGV4IChjYW4ndCBleGNlZWRzIG1heClcblxuICAgICAgYnVpbGQgcHJvY2VzcyBzZXJ2aWNlIDQxMDAgPSA0MTAwICsgblxuXG4gICAgICBzdGFuZGFsb25lIHNlcnZlciA0NTAwID0gNDEwMCAgKyA0MDAgKyBuXG4gICAgICBjb250YWluZXJzIHNlcnZlcnMgNDYwMCA9IDQxMDAgICsgNTAwICsgbiAqIG1heCArIGluZGV4XG5cbiAgICAgIHN0YW5kYWxvbmUgbmcgc2VydmUgbm9ybWFsIDQzMDAgPSA0MTAwICArIDIwMCArIG5cbiAgICAgIHN0YW5kYWxvbmUgbmcgc2VydmUgd2Vic3FsIDQ0MDAgPSA0MTAwICArIDMwMCArIG5cblxuICAgICAgY29udGFpbmVyIG5nIHNlcnZlIG5vcm1hbCA0ODAwID0gNDEwMCAgKyA3MDAgKyBuICsgbWF4ICsgaW5kZXhcbiAgICAgIGNvbnRhaW5lciBuZyBzZXJ2ZSB3ZWJzcWwgNDkwMCA9IDQxMDAgICsgODAwICsgbiArIG1heCArIGluZGV4XG4gKlxuICogQHBhcmFtIGJhc2VQb3J0IDQxMDAgKyBuXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgY2xhc3MgUG9ydFV0aWxzIHtcbiAgc3RhdGljIGluc3RhbmNlKGJhc2VQb3J0OiBudW1iZXIpIHtcbiAgICByZXR1cm4gbmV3IFBvcnRVdGlscyhiYXNlUG9ydCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IG46IG51bWJlcjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlUG9ydDogbnVtYmVyKSB7XG4gICAgdGhpcy5uID0gKGJhc2VQb3J0IC0gKGJhc2VQb3J0ICUgMTAwMCkpIC8gMTAwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBtYXggY29udGFpbmVyICBjaGlsZHNcbiAgICovXG4gIHByaXZhdGUgbWF4ID0gMjA7XG5cbiAgY2FsY3VsYXRlUG9ydEZvckVsZWN0cm9uRGVidWdnaW5nKHByb2plY3Q6IFByb2plY3QpOiBudW1iZXIge1xuICAgIGlmICghcHJvamVjdC5fX2lzSXNvbW9ycGhpY0xpYikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gOTg3NiArIHRoaXMubjtcbiAgfVxuXG4gIGNhbGN1bGF0ZVNlcnZlclBvcnRGb3IocHJvamVjdDogUHJvamVjdCk6IG51bWJlciB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUNsaWVudFBvcnRGb3IoXG4gICAgcHJvamVjdDogUHJvamVjdCxcbiAgICB7IHdlYnNxbCB9OiB7IHdlYnNxbDogYm9vbGVhbiB9LFxuICApOiBudW1iZXIge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUZvclN0YW5kYWxvbmVTZXJ2ZXIoKSB7XG4gICAgY29uc3QgY2xpZW50U3RhbmRhbG9uZVBvcnQgPSB0aGlzLmJhc2VQb3J0ICsgNDAwICsgdGhpcy5uO1xuICAgIHJldHVybiBjbGllbnRTdGFuZGFsb25lUG9ydDtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRm9yQ29udGFpbmVyU2VydmVyKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBjbGllbnRTbWFydENvbnRhaW5lckNoaWxkUG9ydCA9XG4gICAgICB0aGlzLmJhc2VQb3J0ICsgNTAwICsgdGhpcy5uICogdGhpcy5tYXggKyBpbmRleDtcblxuICAgIHJldHVybiBjbGllbnRTbWFydENvbnRhaW5lckNoaWxkUG9ydDtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRm9yU3RhbmRhbG9uZUNsaWVudCh7IHdlYnNxbCB9OiB7IHdlYnNxbDogYm9vbGVhbiB9KSB7XG4gICAgY29uc3QgY2xpZW50UG9ydCA9IHRoaXMuYmFzZVBvcnQgKyAod2Vic3FsID8gMzAwIDogMjAwKSArIHRoaXMubjtcbiAgICByZXR1cm4gY2xpZW50UG9ydDtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRm9yQ29udGFpbmVyQ2xpZW50KFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgeyB3ZWJzcWwgfTogeyB3ZWJzcWw6IGJvb2xlYW4gfSxcbiAgKSB7XG4gICAgY29uc3QgY2xpZW50UG9ydCA9XG4gICAgICB0aGlzLmJhc2VQb3J0ICsgKHdlYnNxbCA/IDgwMCA6IDcwMCkgKyB0aGlzLm4gKiB0aGlzLm1heCArIGluZGV4O1xuICAgIHJldHVybiBjbGllbnRQb3J0O1xuICB9XG5cbiAgYXBwSG9zdFRlbXBsYXRlRm9yKHByb2plY3Q6IFByb2plY3QpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBub3RBbGxvd2VkUHJvamVjdE5hbWVzID0gW1xuXG4gICdjb3B5dG8nLFxuICAnYXBwJyxcbiAgJ2FwcHMnLFxuICAnbGlicycsXG4gICdsaWInLFxuICAnc3JjJyxcbiAgJ3NvdXJjZScsXG4gICdtaWdyYXRpb25zJyxcbiAgJ2Fzc2V0cycsXG4gICdhc3NldHMtZm9yJyxcbiAgJ2Jyb3dzZXInLFxuICAnd2Vic3FsJyxcbiAgJ2NvbXBpbGVkJyxcbiAgJ2RvY3MnLFxuICAnXycsXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gdGVtcFNvdXJjZUZvbGRlcihcbiAgb3V0RGlyOiAnZGlzdCcsXG4gIGFwcEZvckxpYjogYm9vbGVhbixcbiAgd2Vic3FsOiBib29sZWFuLFxuKSB7XG4gIHJldHVybiBgdG1wLXNyYy0ke2FwcEZvckxpYiA/ICdhcHAtJyA6ICcnfSR7b3V0RGlyfSR7d2Vic3FsID8gJy13ZWJzcWwnIDogJyd9YDtcbn1cblxuZXhwb3J0IGNvbnN0IGNsaWVudENvZGVWZXJzaW9uRm9sZGVyID0gW1xuICBjb25maWcuZm9sZGVyLmJyb3dzZXIsXG4gIGNvbmZpZy5mb2xkZXIud2Vic3FsLFxuXTtcblxuZXhwb3J0IGNvbnN0IG5vdEFsbG93ZWRBc1BhY2FrZ2UgPSBbXG4gIC4uLmNsaWVudENvZGVWZXJzaW9uRm9sZGVyLFxuICBjb25maWcuZm9sZGVyLmFzc2V0cyxcbl07XG5cbmV4cG9ydCBjb25zdCBNRVNTQUdFUyA9IHtcbiAgU0hVVF9ET1dOX0ZPTERFUlNfQU5EX0RFQlVHR0VSUzpcbiAgICAnUGxlYXNlIHNodXQgZG93biB5b3VyIGNvZGUgZGVidWdnZXIgYW5kIGFueSBvcGVuIHdpbmRvd3MgZnJvbSBub2RlX21vZHVsZXMgYW5kIHByZXNzIGFueSBrZXkuLi4nLFxufTtcblxuZXhwb3J0IGNvbnN0IE9OTFlfQ09QWV9BTExPV0VEID0gW1xuXG4gICdiZXR0ZXItc3FsaXRlMycsXG4gICcuYmluJyxcbiAgJy5pbnN0YWxsLWRhdGUnLFxuXTtcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucCBsaWIvY29uc3RhbnRzLnRzIl19