@hybridless/hybridless 0.0.82 → 0.0.84-alpha10

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 (52) hide show
  1. package/README.md +2 -2
  2. package/core/DepsManager.js +90 -0
  3. package/core/DepsManager.js.map +1 -0
  4. package/core/Docker.js +76 -0
  5. package/core/Docker.js.map +1 -0
  6. package/core/Globals.js +110 -0
  7. package/core/Globals.js.map +1 -0
  8. package/core/Logger.js +82 -0
  9. package/core/Logger.js.map +1 -0
  10. package/index.js +397 -0
  11. package/index.js.map +1 -0
  12. package/options.js +87 -0
  13. package/options.js.map +1 -0
  14. package/options.json +7013 -6888
  15. package/package.json +2 -2
  16. package/resources/BaseEvents/FunctionBaseEvent.js +20 -0
  17. package/resources/BaseEvents/FunctionBaseEvent.js.map +1 -0
  18. package/resources/BaseEvents/FunctionContainerBaseEvent.js +187 -0
  19. package/resources/BaseEvents/FunctionContainerBaseEvent.js.map +1 -0
  20. package/resources/Function.js +229 -0
  21. package/resources/Function.js.map +1 -0
  22. package/resources/FunctionBatchJobEvent.js +104 -0
  23. package/resources/FunctionBatchJobEvent.js.map +1 -0
  24. package/resources/FunctionHttpdTaskEvent.js +116 -0
  25. package/resources/FunctionHttpdTaskEvent.js.map +1 -0
  26. package/resources/FunctionLambdaContainerEvent.js +201 -0
  27. package/resources/FunctionLambdaContainerEvent.js.map +1 -0
  28. package/resources/FunctionLambdaEvent.js +161 -0
  29. package/resources/FunctionLambdaEvent.js.map +1 -0
  30. package/resources/FunctionProcessTaskEvent.js +89 -0
  31. package/resources/FunctionProcessTaskEvent.js.map +1 -0
  32. package/resources/FunctionScheduledTaskEvent.js +89 -0
  33. package/resources/FunctionScheduledTaskEvent.js.map +1 -0
  34. package/resources/assets/job-batch/Dockerfile-Job-Nodejs10 +13 -0
  35. package/resources/assets/job-batch/Dockerfile-Job-Nodejs12 +13 -0
  36. package/resources/assets/job-batch/Dockerfile-Job-Nodejs14 +13 -0
  37. package/resources/assets/job-batch/Index-Job-NodejsX +24 -0
  38. package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Java11 +8 -0
  39. package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Java8 +8 -0
  40. package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Java8al12 +8 -0
  41. package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Nodejs10 +7 -0
  42. package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Nodejs12 +7 -0
  43. package/resources/assets/lambda-container/Dockerfile-LambdaContainer-Nodejs14 +7 -0
  44. package/resources/assets/task-httpd/Dockerfile-Httpd-Nodejs10 +15 -0
  45. package/resources/assets/task-httpd/Dockerfile-Httpd-PHP5 +9 -0
  46. package/resources/assets/task-httpd/Dockerfile-Httpd-PHP7 +9 -0
  47. package/resources/assets/task-httpd/Index-Httpd-NodejsX +15 -0
  48. package/resources/assets/task-httpd/healthCheck.php +1 -0
  49. package/resources/assets/task-process/Dockerfile-Process-Nodejs10 +10 -0
  50. package/resources/assets/task-process/Dockerfile-Process-Nodejs13 +10 -0
  51. package/resources/assets/task-scheduled/Dockerfile-Scheduled-Nodejs10 +10 -0
  52. package/resources/assets/task-scheduled/Dockerfile-Scheduled-Nodejs13 +10 -0
package/index.js ADDED
@@ -0,0 +1,397 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ const Function_1 = require("./resources/Function");
12
+ const Logger_1 = require("./core/Logger");
13
+ const Docker_1 = require("./core/Docker");
14
+ const _ = require("lodash");
15
+ const BPromise = require("bluebird");
16
+ const DepsManager_1 = require("./core/DepsManager");
17
+ const Globals_1 = require("./core/Globals");
18
+ const PluginOptionsSchema = require('./options.json');
19
+ let _globalHybridless = null;
20
+ class hybridless {
21
+ constructor(serverless, options) {
22
+ _globalHybridless = this;
23
+ this.serverless = serverless;
24
+ this.logger = new Logger_1.default(this, 'DEBUG');
25
+ this.docker = new Docker_1.default(this);
26
+ this.depManager = new DepsManager_1.default(this);
27
+ this.functions = [];
28
+ this.serverless.configSchemaHandler.defineTopLevelProperty('hybridless', PluginOptionsSchema);
29
+ this.configurationVariablesSources = this.getPluginVariablesResolution();
30
+ this.commands = {
31
+ hybridless: {
32
+ usage: 'Hybridless TODO',
33
+ commands: {
34
+ create: {
35
+ type: 'entrypoint',
36
+ lifecycleEvents: ['setup', 'spread', 'checkDependencies', 'createResources'],
37
+ },
38
+ prebuild: {
39
+ type: 'entrypoint',
40
+ lifecycleEvents: ['compile'],
41
+ },
42
+ build: {
43
+ type: 'entrypoint',
44
+ lifecycleEvents: ['build']
45
+ },
46
+ push: {
47
+ type: 'entrypoint',
48
+ lifecycleEvents: ['push']
49
+ },
50
+ predeploy: {
51
+ type: 'entrypoint',
52
+ lifecycleEvents: ['compileCloudFormation', 'pack']
53
+ },
54
+ cleanup: {
55
+ type: 'entrypoint',
56
+ lifecycleEvents: ['cleanupContainers']
57
+ }
58
+ }
59
+ }
60
+ };
61
+ this.hooks = {
62
+ 'hybridless:create:setup': () => BPromise.bind(this).then(this.setup),
63
+ 'hybridless:create:spread': () => BPromise.bind(this).then(this.spread),
64
+ 'hybridless:create:checkDependencies': () => BPromise.bind(this).then(this.checkDependencies),
65
+ 'hybridless:create:createResources': () => BPromise.bind(this).then(this.createResouces),
66
+ 'hybridless:prebuild:compile': () => BPromise.bind(this).then(this.compile),
67
+ 'hybridless:build:build': () => BPromise.bind(this).then(this.build),
68
+ 'hybridless:push:push': () => BPromise.bind(this).then(this.push),
69
+ 'hybridless:predeploy:compileCloudFormation': () => BPromise.bind(this).then(this.compileCloudFormation),
70
+ 'hybridless:predeploy:pack': () => BPromise.bind(this).then(this.modifyExecutionRole),
71
+ 'hybridless:cleanup:cleanupContainers': () => BPromise.bind(this).then(this.cleanupContainers),
72
+ 'before:package:initialize': () => {
73
+ return BPromise.bind(this)
74
+ .then(() => this.serverless.pluginManager.spawn('hybridless:create'));
75
+ },
76
+ 'before:package:createDeploymentArtifacts': () => {
77
+ return BPromise.bind(this)
78
+ .then(() => this.serverless.pluginManager.spawn('hybridless:prebuild'));
79
+ },
80
+ 'package:createDeploymentArtifacts': () => {
81
+ return BPromise.bind(this)
82
+ .then(() => this.serverless.pluginManager.spawn('hybridless:build'))
83
+ .then(() => this.serverless.pluginManager.spawn('hybridless:push'));
84
+ },
85
+ 'deploy:compileFunctions': () => {
86
+ return BPromise.bind(this)
87
+ .then(() => this.serverless.pluginManager.spawn('hybridless:predeploy'));
88
+ },
89
+ 'package:compileFunctions': () => {
90
+ return BPromise.bind(this)
91
+ .then(() => this.serverless.pluginManager.spawn('hybridless:predeploy'));
92
+ },
93
+ 'aws:deploy:finalize:cleanup': () => {
94
+ return BPromise.bind(this)
95
+ .then(() => this.serverless.pluginManager.spawn('hybridless:cleanup'));
96
+ }
97
+ };
98
+ }
99
+ setup() {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
102
+ if (!this.options)
103
+ this.logger.log('Setting up plugin...');
104
+ else
105
+ this.logger.log('Refreshing plugin options...');
106
+ const rawOptions = (this.serverless.pluginManager.serverlessConfigFile ? this.serverless.pluginManager.serverlessConfigFile.hybridless : this.serverless.configurationInput.hybridless);
107
+ let tmpOptions = (this.serverless.variables.populateObject ? yield this.serverless.variables.populateObject(rawOptions) : rawOptions);
108
+ tmpOptions = Object.assign({}, tmpOptions);
109
+ if (Array.isArray(tmpOptions.functions)) {
110
+ const tmp = tmpOptions.functions;
111
+ tmpOptions.functions = {};
112
+ for (let func of tmp)
113
+ tmpOptions.functions = Object.assign(Object.assign({}, tmpOptions.functions), func);
114
+ }
115
+ this.options = tmpOptions;
116
+ this.provider = this.serverless.getProvider(Globals_1.default.PluginDefaultProvider);
117
+ this.service = this.serverless.service;
118
+ this.stage = (this.service.custom ? this.service.custom.stage : null);
119
+ if (!this.stage)
120
+ this.stage = (this.service.provider ? this.service.provider.stage : this.service.stage);
121
+ this.region = this.service.provider.region;
122
+ for (let funcName of Object.keys(this.options.functions)) {
123
+ const found = this.functions.find((func) => func.getName(true) == funcName);
124
+ if (this.options.functions[funcName]) {
125
+ if (found)
126
+ found.funcOptions = this.options.functions[funcName];
127
+ else {
128
+ const func = new Function_1.BaseFunction(this, this.options.functions[funcName], `${funcName}`);
129
+ if (func)
130
+ this.functions.push(func);
131
+ else
132
+ this.logger.warn(`Skipping function ${funcName}, resource is invalid!`);
133
+ }
134
+ }
135
+ else
136
+ this.logger.warn(`Skipping function ${funcName}, resource is invalid!`);
137
+ }
138
+ resolve();
139
+ }));
140
+ });
141
+ }
142
+ spread() {
143
+ return __awaiter(this, void 0, void 0, function* () {
144
+ return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
145
+ this.logger.log('Spreading components...');
146
+ if (!this.options || !Object.keys(this.options).length) {
147
+ this.logger.error('No components to be processed.');
148
+ resolve();
149
+ return;
150
+ }
151
+ for (let func of this.functions)
152
+ yield func.spread();
153
+ resolve();
154
+ }));
155
+ });
156
+ }
157
+ checkDependencies() {
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
160
+ for (let func of this.functions)
161
+ yield func.checkDependencies();
162
+ yield this.depManager.loadDependecies();
163
+ this.validateExistingServerlessConfiguration();
164
+ resolve();
165
+ }));
166
+ });
167
+ }
168
+ createResouces() {
169
+ return __awaiter(this, void 0, void 0, function* () {
170
+ return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
171
+ if (!this.options || !Object.keys(this.options).length) {
172
+ this.logger.error('No components to push.');
173
+ resolve();
174
+ return;
175
+ }
176
+ this.logger.log('Creating components required resources...');
177
+ for (let func of this.functions)
178
+ yield func.createRequiredResources();
179
+ resolve();
180
+ }));
181
+ });
182
+ }
183
+ compile() {
184
+ return __awaiter(this, void 0, void 0, function* () {
185
+ return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
186
+ yield this.depManager.compile();
187
+ resolve();
188
+ }));
189
+ });
190
+ }
191
+ build() {
192
+ return __awaiter(this, void 0, void 0, function* () {
193
+ return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
194
+ if (!this.options || !Object.keys(this.options).length) {
195
+ this.logger.error('No components to build.');
196
+ resolve();
197
+ return;
198
+ }
199
+ this.logger.log('Building components from functions...');
200
+ let builds = [];
201
+ for (let func of this.functions)
202
+ builds.push(func.build());
203
+ yield BPromise.all(builds);
204
+ resolve();
205
+ }));
206
+ });
207
+ }
208
+ push() {
209
+ return __awaiter(this, void 0, void 0, function* () {
210
+ return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
211
+ if (!this.options || !Object.keys(this.options).length) {
212
+ this.logger.error('No components to push.');
213
+ resolve();
214
+ return;
215
+ }
216
+ this.logger.log('Pushing components from functions...');
217
+ for (let func of this.functions)
218
+ yield func.push();
219
+ resolve();
220
+ }));
221
+ });
222
+ }
223
+ modifyExecutionRole() {
224
+ return __awaiter(this, void 0, void 0, function* () {
225
+ return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
226
+ yield this._modifyExecutionRole();
227
+ resolve();
228
+ }));
229
+ });
230
+ }
231
+ compileCloudFormation() {
232
+ return __awaiter(this, void 0, void 0, function* () {
233
+ return new BPromise.resolve()
234
+ .then(() => (!this.depManager.isECSRequired() ? BPromise.resolve() : this.serverless.pluginManager.spawn('serverless-ecs-plugin:compile')));
235
+ });
236
+ }
237
+ cleanupContainers() {
238
+ return __awaiter(this, void 0, void 0, function* () {
239
+ return new BPromise((resolve) => __awaiter(this, void 0, void 0, function* () {
240
+ this.logger.log('Cleaning up functions...');
241
+ for (let func of this.functions)
242
+ yield func.cleanup();
243
+ resolve();
244
+ }));
245
+ });
246
+ }
247
+ getDefaultTags(raw) {
248
+ if (raw)
249
+ return this.options.tags;
250
+ if (this.options.tags && Object.keys(this.options.tags).length > 0) {
251
+ return Object.keys(this.options.tags).map((tagKey) => ({
252
+ "Key": tagKey,
253
+ "Value": this.options.tags[tagKey]
254
+ }));
255
+ }
256
+ return [];
257
+ }
258
+ getName() {
259
+ return this.provider.naming.getNormalizedFunctionName(`${this.service.service}`.replace(/-/g, ''));
260
+ }
261
+ getAccountID() {
262
+ return __awaiter(this, void 0, void 0, function* () {
263
+ const acc = yield this.provider.getAccountInfo();
264
+ if (acc && acc.accountId)
265
+ return acc.accountId;
266
+ return null;
267
+ });
268
+ }
269
+ getEnvironmentIvars() {
270
+ if (this.service.provider && this.service.provider.environment) {
271
+ let copy = JSON.parse(JSON.stringify(this.service.provider.environment));
272
+ for (let key of Object.keys(copy)) {
273
+ if (!copy[key])
274
+ delete copy[key];
275
+ }
276
+ return copy;
277
+ }
278
+ return {};
279
+ }
280
+ appendResource(serviceKey, service) {
281
+ _.set(this.serverless, `service.resources.Resources.${serviceKey}`, service);
282
+ }
283
+ appendServerlessFunction(func) {
284
+ if (!this.serverless.service.functions)
285
+ this.serverless.service.functions = {};
286
+ Object.keys(func).forEach((key) => {
287
+ var _a, _b, _c, _d, _e, _f, _g, _h;
288
+ func = Object.assign(Object.assign({}, func), { [key]: Object.assign(Object.assign({}, func[key]), ((((_c = (_b = (_a = this.serverless.service) === null || _a === void 0 ? void 0 : _a.functions) === null || _b === void 0 ? void 0 : _b[key]) === null || _c === void 0 ? void 0 : _c.events) || ((_d = func[key]) === null || _d === void 0 ? void 0 : _d.events)) ? {
289
+ events: (((_e = func[key]) === null || _e === void 0 ? void 0 : _e.events) || []).concat(((_h = (_g = (_f = this.serverless.service) === null || _f === void 0 ? void 0 : _f.functions) === null || _g === void 0 ? void 0 : _g[key]) === null || _h === void 0 ? void 0 : _h.events) || [])
290
+ } : {})) });
291
+ });
292
+ this.serverless.service.functions = Object.assign(Object.assign({}, this.serverless.service.functions), func);
293
+ }
294
+ appendECSCluster(clusterName, cluster) {
295
+ if (!this.serverless.service)
296
+ this.serverless.service = {};
297
+ if (!this.serverless.service.ecs)
298
+ this.serverless.service.ecs = [];
299
+ this.serverless.service.ecs.push(cluster);
300
+ }
301
+ _modifyExecutionRole() {
302
+ var _a, _b, _c, _d, _e, _f;
303
+ return __awaiter(this, void 0, void 0, function* () {
304
+ const policy = this.serverless.service.provider.compiledCloudFormationTemplate.Resources['IamRoleLambdaExecution'];
305
+ if (policy && this.depManager.isECSRequired()) {
306
+ if (policy.Properties.AssumeRolePolicyDocument.Statement[0].Principal.Service.indexOf('ecs-tasks.amazonaws.com') == -1) {
307
+ policy.Properties.AssumeRolePolicyDocument.Statement[0].Principal.Service.push('ecs-tasks.amazonaws.com');
308
+ }
309
+ }
310
+ else if (this.depManager.isECSRequired())
311
+ this.logger.warn('Could not find IamRoleLambdaExecution policy for appending trust relation with ECS. You probably dont have any lambda function and the role is not being created.');
312
+ if (policy && ((_b = (_a = this.serverless.service.provider) === null || _a === void 0 ? void 0 : _a.iam) === null || _b === void 0 ? void 0 : _b.servicesPrincipal)) {
313
+ for (let principal of (_d = (_c = this.serverless.service.provider) === null || _c === void 0 ? void 0 : _c.iam) === null || _d === void 0 ? void 0 : _d.servicesPrincipal) {
314
+ if (policy.Properties.AssumeRolePolicyDocument.Statement[0].Principal.Service.indexOf(principal) == -1) {
315
+ policy.Properties.AssumeRolePolicyDocument.Statement[0].Principal.Service.push(principal);
316
+ }
317
+ }
318
+ }
319
+ else if ((_f = (_e = this.serverless.service.provider) === null || _e === void 0 ? void 0 : _e.iam) === null || _f === void 0 ? void 0 : _f.servicesPrincipal)
320
+ this.logger.warn('Could not find IamRoleLambdaExecution policy for appending trust relation with additional specified services. You probably dont have any lambda function and the role is not being created.');
321
+ return BPromise.resolve();
322
+ });
323
+ }
324
+ validateExistingServerlessConfiguration() {
325
+ let configClone = _.cloneDeep(this.serverless.service);
326
+ ['serverless', 'serviceObject', 'pluginsData', 'serviceFilename', 'initialServerlessConfig', 'isDashboardMonitoringPreconfigured'].forEach((k) => delete configClone[k]);
327
+ this.serverless.configSchemaHandler.validateConfig(configClone);
328
+ }
329
+ getPluginVariablesResolution() {
330
+ const pluginRef = this;
331
+ return {
332
+ hybridless: {
333
+ resolve({ address }) {
334
+ return __awaiter(this, void 0, void 0, function* () {
335
+ yield pluginRef.setup();
336
+ if (address.indexOf('resolveContainerAddress') != 0)
337
+ return "Hybridless function is not supported.";
338
+ const params = address.split(':');
339
+ params.shift();
340
+ if (!params[0])
341
+ return "Function name not specified on hybridless:resolveContainerAddress environment resolution.";
342
+ const func = pluginRef.functions.find((func) => func.getName(true) == params[0]);
343
+ if (!func)
344
+ return "Specified function name not specified on hybridless:resolveContainerAddress environment resolution.";
345
+ if (params[1] != undefined) {
346
+ const funcEvent = func.getEventAtIndex(params[1]);
347
+ if (funcEvent && funcEvent['getContainerImageURL']) {
348
+ const imageURL = yield funcEvent.getContainerImageURL();
349
+ return { value: imageURL };
350
+ }
351
+ }
352
+ else {
353
+ for (let i = 0; i < func.getEventsCount(); i++) {
354
+ const funcEvent = func.getEventAtIndex(i);
355
+ if (funcEvent && funcEvent['getContainerImageURL']) {
356
+ const imageURL = yield funcEvent.getContainerImageURL();
357
+ return { value: imageURL };
358
+ }
359
+ }
360
+ }
361
+ return "hybridless:resolveContainerAddress environment resolution unresolved. " + address;
362
+ });
363
+ },
364
+ },
365
+ };
366
+ }
367
+ static getWebpackEntries() {
368
+ const entries = {};
369
+ for (let funcName of Object.keys(_globalHybridless.options.functions)) {
370
+ const func = _globalHybridless.options.functions[funcName];
371
+ const isNodeJS = (func.events.find((e) => (e.runtime.toLowerCase().indexOf('node') != -1)));
372
+ if (func.handler && isNodeJS) {
373
+ let noFuncHandler = func.handler.split('.');
374
+ noFuncHandler.splice(noFuncHandler.length - 1, 1);
375
+ noFuncHandler = noFuncHandler.join('.');
376
+ entries[noFuncHandler] = `./${noFuncHandler}.js`;
377
+ }
378
+ else if (isNodeJS) {
379
+ for (let event of func.events) {
380
+ let noFuncHandler = event.handler.split('.');
381
+ noFuncHandler.splice(noFuncHandler.length - 1, 1);
382
+ noFuncHandler = noFuncHandler.join('.');
383
+ entries[noFuncHandler] = `./${noFuncHandler}.js`;
384
+ }
385
+ }
386
+ }
387
+ return Object.assign(Object.assign({}, entries), (_globalHybridless.depManager.isWebpackRequired() ? require(Globals_1.default.Deps_Webpack).lib.entries : {}));
388
+ }
389
+ static getWebpackExternals() {
390
+ return (_globalHybridless.depManager.isWebpackRequired() ? require("webpack-node-externals")() : {});
391
+ }
392
+ static isWebpackLocal() {
393
+ return (_globalHybridless.depManager.isWebpackRequired() ? require(Globals_1.default.Deps_Webpack).lib.webpack.isLocal : false);
394
+ }
395
+ }
396
+ module.exports = hybridless;
397
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,mDAAoD;AAKpD,0CAAmC;AACnC,0CAAmC;AAEnC,4BAA6B;AAC7B,qCAAsC;AACtC,oDAA6C;AAC7C,4CAAqC;AAKrC,MAAM,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAEtD,IAAI,iBAAiB,GAAe,IAAI,CAAC;AAGzC,MAAM,UAAU;IAoBd,YAAY,UAAe,EAAE,OAAY;QACvC,iBAAiB,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAW,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;QAE9F,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEzE,IAAI,CAAC,QAAQ,GAAG;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,iBAAiB;gBACxB,QAAQ,EAAE;oBACR,MAAM,EAAE;wBACN,IAAI,EAAE,YAAY;wBAClB,eAAe,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;qBAC7E;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,YAAY;wBAClB,eAAe,EAAE,CAAC,SAAS,CAAC;qBAC7B;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,YAAY;wBAClB,eAAe,EAAE,CAAC,OAAO,CAAC;qBAC3B;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,YAAY;wBAClB,eAAe,EAAE,CAAC,MAAM,CAAC;qBAC1B;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,YAAY;wBAClB,eAAe,EAAE,CAAC,uBAAuB,EAAE,MAAM,CAAC;qBACnD;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,YAAY;wBAClB,eAAe,EAAE,CAAC,mBAAmB,CAAC;qBACvC;iBACF;aACF;SACF,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG;YAEX,yBAAyB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACrE,0BAA0B,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACvE,qCAAqC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC7F,mCAAmC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YACxF,6BAA6B,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC3E,wBAAwB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACpE,sBAAsB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACjE,4CAA4C,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;YACxG,2BAA2B,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACrF,sCAAsC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAE9F,2BAA2B,EAAE,GAAG,EAAE;gBAChC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;qBACvB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAA;YACzE,CAAC;YACD,0CAA0C,EAAE,GAAG,EAAE;gBAC/C,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;qBACvB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAA;YAC3E,CAAC;YACD,mCAAmC,EAAE,GAAG,EAAE;gBACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;qBACvB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;qBACnE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;YACvE,CAAC;YAED,yBAAyB,EAAE,GAAG,EAAE;gBAC9B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;qBACvB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAA;YAC5E,CAAC;YAED,0BAA0B,EAAE,GAAG,EAAE;gBAC/B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;qBACvB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAA;YAC5E,CAAC;YACD,6BAA6B,EAAE,GAAG,EAAE;gBAClC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;qBACvB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;YAC1E,CAAC;SACF,CAAC;IACJ,CAAC;IAKa,KAAK;;YACjB,OAAO,IAAI,QAAQ,CAAC,CAAO,OAAO,EAAE,EAAE;gBAIpC,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;;oBACtD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAErD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAExL,IAAI,UAAU,GAAY,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC/I,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBAE3C,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC;oBACjC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC;oBAC1B,KAAK,IAAI,IAAI,IAAI,GAAG;wBAAE,UAAU,CAAC,SAAS,mCAAQ,UAAU,CAAC,SAAS,GAAK,IAAI,CAAE,CAAC;iBACnF;gBACD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;gBAE1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,iBAAO,CAAC,qBAAqB,CAAC,CAAC;gBAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBACvC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtE,IAAI,CAAC,IAAI,CAAC,KAAK;oBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACzG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAG3C,KAAK,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBACxD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC;oBAC1F,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;wBACpC,IAAI,KAAK;4BAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;6BAC3D;4BACH,MAAM,IAAI,GAAiB,IAAI,uBAAY,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;4BACnG,IAAI,IAAI;gCAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;gCAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,QAAQ,wBAAwB,CAAC,CAAC;yBAC9E;qBACF;;wBAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,QAAQ,wBAAwB,CAAC,CAAC;iBAChF;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,MAAM;;YAClB,OAAO,IAAI,QAAQ,CAAC,CAAO,OAAO,EAAE,EAAE;gBACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBAE3C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;oBACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBACpD,OAAO,EAAE,CAAC;oBACV,OAAO;iBACR;gBAED,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAErD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,iBAAiB;;YAC7B,OAAO,IAAI,QAAQ,CAAC,CAAO,OAAO,EAAE,EAAE;gBAEpC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAEhE,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;gBAExC,IAAI,CAAC,uCAAuC,EAAE,CAAC;gBAE/C,OAAO,EAAE,CAAC;YACZ,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,cAAc;;YAC1B,OAAO,IAAI,QAAQ,CAAC,CAAO,OAAO,EAAE,EAAE;gBAEpC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;oBACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;oBAC5C,OAAO,EAAE,CAAC;oBACV,OAAO;iBACR;gBAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;gBAC7D,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAEtE,OAAO,EAAE,CAAC;YACZ,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,OAAO;;YACnB,OAAO,IAAI,QAAQ,CAAC,CAAO,OAAO,EAAE,EAAE;gBACpC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAChC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,KAAK;;YACjB,OAAO,IAAI,QAAQ,CAAC,CAAO,OAAO,EAAE,EAAE;gBAEpC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;oBACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAC7C,OAAO,EAAE,CAAC;oBACV,OAAO;iBACR;gBAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBACzD,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;oBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3D,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAE3B,OAAO,EAAE,CAAC;YACZ,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,IAAI;;YAChB,OAAO,IAAI,QAAQ,CAAC,CAAO,OAAO,EAAE,EAAE;gBAEpC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;oBACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;oBAC5C,OAAO,EAAE,CAAC;oBACV,OAAO;iBACR;gBAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBACxD,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAEnD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,mBAAmB;;YAC/B,OAAO,IAAI,QAAQ,CAAC,CAAO,OAAO,EAAE,EAAE;gBACpC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAClC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAEa,qBAAqB;;YACjC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;iBAC1B,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC;QAChJ,CAAC;KAAA;IAEa,iBAAiB;;YAC7B,OAAO,IAAI,QAAQ,CAAC,CAAO,OAAO,EAAE,EAAE;gBAEpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBAC5C,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAEtD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAA,CAAC,CAAC;QACL,CAAC;KAAA;IAIM,cAAc,CAAC,GAAa;QACjC,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAClE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;gBAC7D,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;aACnC,CAAC,CAAC,CAAC;SACL;QAAC,OAAO,EAAE,CAAC;IACd,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IACY,YAAY;;YACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YACjD,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS;gBAAE,OAAO,GAAG,CAAC,SAAS,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IACM,mBAAmB;QAExB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC9D,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YACzE,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;aAClC;YAAC,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,EAAE,CAAC;IACd,CAAC;IAIM,cAAc,CAAC,UAAkB,EAAE,OAAY;QACpD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,+BAA+B,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IACM,wBAAwB,CAAC,IAAS;QACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS;YAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;QAE/E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;;YAChC,IAAI,mCAAQ,IAAI,KAAE,CAAC,GAAG,CAAC,kCAClB,IAAI,CAAC,GAAG,CAAC,GACT,CAAC,CAAC,CAAA,MAAA,MAAA,MAAA,IAAI,CAAC,UAAU,CAAC,OAAO,0CAAE,SAAS,0CAAG,GAAG,CAAC,0CAAE,MAAM,MAAI,MAAA,IAAI,CAAC,GAAG,CAAC,0CAAE,MAAM,CAAA,CAAC,CAAC,CAAC,CAAC;oBAC7E,MAAM,EAAE,CAAC,CAAA,MAAA,IAAI,CAAC,GAAG,CAAC,0CAAE,MAAM,KAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA,MAAA,MAAA,MAAA,IAAI,CAAC,UAAU,CAAC,OAAO,0CAAE,SAAS,0CAAG,GAAG,CAAC,0CAAE,MAAM,KAAI,EAAE,CAAC;iBAClG,CAAC,CAAC,CAAC,EAAE,CAAC,IAEV,CAAA;QAAA,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,mCAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,GAAK,IAAI,CAAE,CAAC;IACxF,CAAC;IACM,gBAAgB,CAAC,WAAmB,EAAE,OAAY;QACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG;YAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IACa,oBAAoB;;;YAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YACnH,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE;gBAC7C,IAAI,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,EAAE;oBACtH,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;iBAE3G;aACF;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;gBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mKAAmK,CAAC,CAAC;YAClO,IAAI,MAAM,KAAI,MAAA,MAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,0CAAE,GAAG,0CAAE,iBAAiB,CAAA,EAAE;gBACtE,KAAK,IAAI,SAAS,IAAI,MAAA,MAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,0CAAE,GAAG,0CAAE,iBAAiB,EAAE;oBAC9E,IAAI,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;wBACtG,MAAM,CAAC,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBAC3F;iBACF;aACF;iBAAM,IAAI,MAAA,MAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,0CAAE,GAAG,0CAAE,iBAAiB;gBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6LAA6L,CAAC,CAAC;YACrR,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;;KAC3B;IAGO,uCAAuC;QAE7C,IAAI,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,oCAAoC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACzK,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IAGO,4BAA4B;QAClC,MAAM,SAAS,GAAe,IAAI,CAAC;QACnC,OAAO;YACL,UAAU,EAAE;gBACJ,OAAO,CAAC,EAAkC,OAAO,EAAE;;wBAIvD,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;wBAExB,IAAI,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC;4BAAE,OAAO,uCAAuC,CAAC;wBACpG,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAClC,MAAM,CAAC,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;4BAAE,OAAO,2FAA2F,CAAC;wBAEnH,MAAM,IAAI,GAAiB,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7G,IAAI,CAAC,IAAI;4BAAE,OAAO,qGAAqG,CAAC;wBAExH,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;4BAC1B,MAAM,SAAS,GAA2B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC1E,IAAI,SAAS,IAAI,SAAS,CAAC,sBAAsB,CAAC,EAAE;gCAClD,MAAM,QAAQ,GAAG,MAAqC,SAAU,CAAC,oBAAoB,EAAE,CAAC;gCACxF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;6BAC5B;yBACF;6BAAM;4BACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;gCAC9C,MAAM,SAAS,GAA2B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gCAClE,IAAI,SAAS,IAAI,SAAS,CAAC,sBAAsB,CAAC,EAAE;oCAClD,MAAM,QAAQ,GAAG,MAAqC,SAAU,CAAC,oBAAoB,EAAE,CAAC;oCACxF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;iCAC5B;6BACF;yBACF;wBAED,OAAO,wEAAwE,GAAG,OAAO,CAAC;oBAC5F,CAAC;iBAAA;aACF;SACF,CAAC;IACJ,CAAC;IAIM,MAAM,CAAC,iBAAiB;QAC7B,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,KAAK,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACrE,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5F,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE;gBAE5B,IAAI,aAAa,GAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjD,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClD,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAExC,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,aAAa,KAAK,CAAC;aAClD;iBAAM,IAAI,QAAQ,EAAE;gBACnB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;oBAE7B,IAAI,aAAa,GAAQ,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClD,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClD,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAExC,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,aAAa,KAAK,CAAC;iBAClD;aACF;SACF;QACD,uCACK,OAAO,GAEP,CAAC,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EACtG;IACJ,CAAC;IACM,MAAM,CAAC,mBAAmB;QAC/B,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACM,MAAM,CAAC,cAAc;QAC1B,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxH,CAAC;CACF;AAED,iBAAS,UAAU,CAAC"}
package/options.js ADDED
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OPropagateTagsType = exports.OFunctionBatchJobTypes = exports.OFunctionLambdaProtocol = exports.OFunctionBatchJobRuntime = exports.OFunctionLambdaContainerRuntime = exports.OFunctionScheduledTaskRuntime = exports.OFunctionProcessTaskRuntime = exports.OFunctionHttpdTaskRuntime = exports.OFunctionEventType = void 0;
4
+ ;
5
+ ;
6
+ var OFunctionEventType;
7
+ (function (OFunctionEventType) {
8
+ OFunctionEventType["httpd"] = "httpd";
9
+ OFunctionEventType["process"] = "process";
10
+ OFunctionEventType["scheduledTask"] = "scheduledTask";
11
+ OFunctionEventType["lambda"] = "lambda";
12
+ OFunctionEventType["lambdaContainer"] = "lambdaContainer";
13
+ OFunctionEventType["job"] = "job";
14
+ })(OFunctionEventType = exports.OFunctionEventType || (exports.OFunctionEventType = {}));
15
+ ;
16
+ var OFunctionHttpdTaskRuntime;
17
+ (function (OFunctionHttpdTaskRuntime) {
18
+ OFunctionHttpdTaskRuntime["nodejs10"] = "nodejs10";
19
+ OFunctionHttpdTaskRuntime["nodejs13"] = "nodejs13";
20
+ OFunctionHttpdTaskRuntime["php5"] = "php5";
21
+ OFunctionHttpdTaskRuntime["php7"] = "php7";
22
+ OFunctionHttpdTaskRuntime["container"] = "container";
23
+ })(OFunctionHttpdTaskRuntime = exports.OFunctionHttpdTaskRuntime || (exports.OFunctionHttpdTaskRuntime = {}));
24
+ ;
25
+ var OFunctionProcessTaskRuntime;
26
+ (function (OFunctionProcessTaskRuntime) {
27
+ OFunctionProcessTaskRuntime["nodejs10"] = "nodejs10";
28
+ OFunctionProcessTaskRuntime["nodejs13"] = "nodejs13";
29
+ OFunctionProcessTaskRuntime["container"] = "container";
30
+ })(OFunctionProcessTaskRuntime = exports.OFunctionProcessTaskRuntime || (exports.OFunctionProcessTaskRuntime = {}));
31
+ ;
32
+ var OFunctionScheduledTaskRuntime;
33
+ (function (OFunctionScheduledTaskRuntime) {
34
+ OFunctionScheduledTaskRuntime["nodejs10"] = "nodejs10";
35
+ OFunctionScheduledTaskRuntime["nodejs13"] = "nodejs13";
36
+ OFunctionScheduledTaskRuntime["container"] = "container";
37
+ })(OFunctionScheduledTaskRuntime = exports.OFunctionScheduledTaskRuntime || (exports.OFunctionScheduledTaskRuntime = {}));
38
+ ;
39
+ var OFunctionLambdaContainerRuntime;
40
+ (function (OFunctionLambdaContainerRuntime) {
41
+ OFunctionLambdaContainerRuntime["nodejs10"] = "nodejs10";
42
+ OFunctionLambdaContainerRuntime["nodejs12"] = "nodejs12";
43
+ OFunctionLambdaContainerRuntime["nodejs14"] = "nodejs14";
44
+ OFunctionLambdaContainerRuntime["container"] = "container";
45
+ OFunctionLambdaContainerRuntime["java11"] = "java11";
46
+ OFunctionLambdaContainerRuntime["java8al12"] = "java8.al12";
47
+ OFunctionLambdaContainerRuntime["java8"] = "java8";
48
+ })(OFunctionLambdaContainerRuntime = exports.OFunctionLambdaContainerRuntime || (exports.OFunctionLambdaContainerRuntime = {}));
49
+ ;
50
+ var OFunctionBatchJobRuntime;
51
+ (function (OFunctionBatchJobRuntime) {
52
+ OFunctionBatchJobRuntime["nodejs10"] = "nodejs10";
53
+ OFunctionBatchJobRuntime["nodejs12"] = "nodejs12";
54
+ OFunctionBatchJobRuntime["nodejs14"] = "nodejs14";
55
+ OFunctionBatchJobRuntime["container"] = "container";
56
+ })(OFunctionBatchJobRuntime = exports.OFunctionBatchJobRuntime || (exports.OFunctionBatchJobRuntime = {}));
57
+ ;
58
+ var OFunctionLambdaProtocol;
59
+ (function (OFunctionLambdaProtocol) {
60
+ OFunctionLambdaProtocol["http"] = "http";
61
+ OFunctionLambdaProtocol["httpAlb"] = "httpLoadBalancer";
62
+ OFunctionLambdaProtocol["dynamostreams"] = "dynamostreams";
63
+ OFunctionLambdaProtocol["sqs"] = "sqs";
64
+ OFunctionLambdaProtocol["sns"] = "sns";
65
+ OFunctionLambdaProtocol["scheduler"] = "scheduler";
66
+ OFunctionLambdaProtocol["cloudWatch"] = "cloudWatch";
67
+ OFunctionLambdaProtocol["cloudWatchLogstream"] = "cloudWatchLogstream";
68
+ OFunctionLambdaProtocol["cognito"] = "cognito";
69
+ OFunctionLambdaProtocol["s3"] = "s3";
70
+ OFunctionLambdaProtocol["none"] = "none";
71
+ })(OFunctionLambdaProtocol = exports.OFunctionLambdaProtocol || (exports.OFunctionLambdaProtocol = {}));
72
+ ;
73
+ var OFunctionBatchJobTypes;
74
+ (function (OFunctionBatchJobTypes) {
75
+ OFunctionBatchJobTypes["container"] = "container";
76
+ OFunctionBatchJobTypes["multinode"] = "multinode";
77
+ })(OFunctionBatchJobTypes = exports.OFunctionBatchJobTypes || (exports.OFunctionBatchJobTypes = {}));
78
+ ;
79
+ ;
80
+ var OPropagateTagsType;
81
+ (function (OPropagateTagsType) {
82
+ OPropagateTagsType["OFF"] = "OFF";
83
+ OPropagateTagsType["SERVICE"] = "SERVICE";
84
+ OPropagateTagsType["TASK"] = "TASK";
85
+ })(OPropagateTagsType = exports.OPropagateTagsType || (exports.OPropagateTagsType = {}));
86
+ ;
87
+ //# sourceMappingURL=options.js.map
package/options.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["src/options.ts"],"names":[],"mappings":";;;AA6BC,CAAC;AAOD,CAAC;AAGF,IAAY,kBAWX;AAXD,WAAY,kBAAkB;IAE5B,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,qDAA+B,CAAA;IAG/B,uCAAiB,CAAA;IACjB,yDAAmC,CAAA;IAEnC,iCAAW,CAAA;AACb,CAAC,EAXW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAW7B;AAAA,CAAC;AACF,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACnC,kDAAqB,CAAA;IACrB,kDAAqB,CAAA;IACrB,0CAAa,CAAA;IACb,0CAAa,CAAA;IACb,oDAAuB,CAAA;AACzB,CAAC,EANW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAMpC;AAAA,CAAC;AACF,IAAY,2BAIX;AAJD,WAAY,2BAA2B;IACrC,oDAAqB,CAAA;IACrB,oDAAqB,CAAA;IACrB,sDAAuB,CAAA;AACzB,CAAC,EAJW,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QAItC;AAAA,CAAC;AACF,IAAY,6BAIX;AAJD,WAAY,6BAA6B;IACvC,sDAAqB,CAAA;IACrB,sDAAqB,CAAA;IACrB,wDAAuB,CAAA;AACzB,CAAC,EAJW,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QAIxC;AAAA,CAAC;AACF,IAAY,+BAQX;AARD,WAAY,+BAA+B;IACzC,wDAAqB,CAAA;IACrB,wDAAqB,CAAA;IACrB,wDAAqB,CAAA;IACrB,0DAAuB,CAAA;IACvB,oDAAiB,CAAA;IACjB,2DAAwB,CAAA;IACxB,kDAAe,CAAA;AACjB,CAAC,EARW,+BAA+B,GAA/B,uCAA+B,KAA/B,uCAA+B,QAQ1C;AAAA,CAAC;AACF,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,iDAAqB,CAAA;IACrB,iDAAqB,CAAA;IACrB,iDAAqB,CAAA;IACrB,mDAAuB,CAAA;AACzB,CAAC,EALW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAKnC;AAAA,CAAC;AACF,IAAY,uBAYX;AAZD,WAAY,uBAAuB;IACjC,wCAAa,CAAA;IACb,uDAA4B,CAAA;IAC5B,0DAA+B,CAAA;IAC/B,sCAAW,CAAA;IACX,sCAAW,CAAA;IACX,kDAAuB,CAAA;IACvB,oDAAyB,CAAA;IACzB,sEAA2C,CAAA;IAC3C,8CAAmB,CAAA;IACnB,oCAAS,CAAA;IACT,wCAAa,CAAA;AACf,CAAC,EAZW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAYlC;AAAA,CAAC;AACF,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,iDAAuB,CAAA;IACvB,iDAAuB,CAAA;AACzB,CAAC,EAHW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAGjC;AAAA,CAAC;AAwBD,CAAC;AAmPF,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,iCAAW,CAAA;IACX,yCAAmB,CAAA;IACnB,mCAAa,CAAA;AACf,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B;AAAA,CAAC"}