@mecanizou/telemetry-hub 1.3.12 → 1.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## [1.3.14](https://github.com/mecanizou-eco/telemetry-hub/compare/v1.3.13...v1.3.14) (2026-01-22)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * logger test ([2dd8510](https://github.com/mecanizou-eco/telemetry-hub/commit/2dd8510459e65edab0a678a8b7c08e4fefc73823))
7
+
8
+ ## [1.3.13](https://github.com/mecanizou-eco/telemetry-hub/compare/v1.3.12...v1.3.13) (2026-01-22)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * extract loggedUser ([19575c5](https://github.com/mecanizou-eco/telemetry-hub/commit/19575c5d1a85d65d2f8e118fc75107bb3c921dbb))
14
+ * extraction and logs prefix ([4393cbe](https://github.com/mecanizou-eco/telemetry-hub/commit/4393cbe24f205e0559d84d1e754228b0eca8dec5))
15
+
1
16
  ## [1.3.12](https://github.com/mecanizou-eco/telemetry-hub/compare/v1.3.11...v1.3.12) (2026-01-22)
2
17
 
3
18
 
@@ -18,6 +18,7 @@ const api_logs_1 = require("@opentelemetry/api-logs");
18
18
  let standardLogger;
19
19
  (0, vitest_1.beforeEach)(() => {
20
20
  process.env.SERVICE_NAME = 'test-service';
21
+ process.env.STAGE = 'production';
21
22
  mockLogger = {
22
23
  emit: vitest_1.vi.fn(),
23
24
  };
@@ -343,4 +344,4 @@ const api_logs_1 = require("@opentelemetry/api-logs");
343
344
  });
344
345
  });
345
346
  });
346
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9fX3Rlc3RzX18vbG9nZ2VyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBOEQ7QUFDOUQsc0NBQTJDO0FBQzNDLHNEQUF5RDtBQUV6RCxJQUFBLGlCQUFRLEVBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0lBQzlCLElBQUksVUFBZSxDQUFDO0lBQ3BCLElBQUksVUFBZSxDQUFDO0lBQ3BCLElBQUksY0FBOEIsQ0FBQztJQUVuQyxJQUFBLG1CQUFVLEVBQUMsR0FBRyxFQUFFO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDO1FBQzFDLFVBQVUsR0FBRztZQUNYLElBQUksRUFBRSxXQUFFLENBQUMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztRQUNGLFVBQVUsR0FBRztZQUNYLFNBQVMsRUFBRSxXQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUNqQyxTQUFTLEVBQUUsV0FBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDakMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7d0JBQ2xCLE9BQU8sRUFBRSxlQUFlO3dCQUN4QixNQUFNLEVBQUUsY0FBYztxQkFDdkIsQ0FBQztpQkFDSCxDQUFDO2FBQ0gsQ0FBQztTQUNILENBQUM7UUFDRixjQUFjLEdBQUcsSUFBSSx1QkFBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM5RCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsaUJBQVEsRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO1FBQ3hCLElBQUEsV0FBRSxFQUFDLG9DQUFvQyxFQUFFLEdBQVMsRUFBRTtZQUNsRCxNQUFNLFNBQVMsR0FBRztnQkFDaEIsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsV0FBVyxFQUFFLGNBQWM7Z0JB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UUFDM0UsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVzY3JpYmUsIGl0LCBleHBlY3QsIHZpLCBiZWZvcmVFYWNoIH0gZnJvbSAndml0ZXN0JztcbmltcG9ydCB7IFN0YW5kYXJkTG9nZ2VyIH0gZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IFNldmVyaXR5TnVtYmVyIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpLWxvZ3MnO1xuXG5kZXNjcmliZSgnU3RhbmRhcmRMb2dnZXInLCAoKSA9PiB7XG4gIGxldCBtb2NrTG9nZ2VyOiBhbnk7XG4gIGxldCBtb2NrVHJhY2VyOiBhbnk7XG4gIGxldCBzdGFuZGFyZExvZ2dlcjogU3RhbmRhcmRMb2dnZXI7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FID0gJ3Rlc3Qtc2VydmljZSc7XG4gICAgbW9ja0xvZ2dlciA9IHtcbiAgICAgIGVtaXQ6IHZpLmZuKCksXG4gICAgfTtcbiAgICBtb2NrVHJhY2VyID0ge1xuICAgICAgZ2V0VHJhY2VyOiB2aS5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgIHN0YXJ0U3BhbjogdmkuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIHNwYW5Db250ZXh0OiAoKSA9PiAoe1xuICAgICAgICAgICAgdHJhY2VJZDogJ3Rlc3QtdHJhY2UtaWQnLFxuICAgICAgICAgICAgc3BhbklkOiAndGVzdC1zcGFuLWlkJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICB9O1xuICAgIHN0YW5kYXJkTG9nZ2VyID0gbmV3IFN0YW5kYXJkTG9nZ2VyKG1vY2tMb2dnZXIsIG1vY2tUcmFjZXIpO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9nRXJyb3InLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgZW1pdGlyIGxvZyBjb20gc2V2ZXJpdHkgRVJST1InLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdUZXN0IGVycm9yIG1lc3NhZ2UnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAndGVzdCcsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBleHBlY3QobW9ja0xvZ2dlci5lbWl0KS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eU51bWJlcikudG9CZShTZXZlcml0eU51bWJlci5FUlJPUik7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eVRleHQpLnRvQmUoJ0VSUk9SJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5ib2R5KS50b0JlKCdUZXN0IGVycm9yIG1lc3NhZ2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGluY2x1aXIgaW5mb3JtYcOnw7VlcyBkbyBlcnJvIHF1YW5kbyBmb3JuZWNpZG8nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcignQ3VzdG9tIGVycm9yJyk7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdFcnJvciBvY2N1cnJlZCcsXG4gICAgICAgIGVycm9yLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydlcnJvciddWyd0eXBlJ10pLnRvQmUoJ0Vycm9yJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydlcnJvciddWydtZXNzYWdlJ10pLnRvQmUoJ0N1c3RvbSBlcnJvcicpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXJyb3InXVsnc3RhY2snXSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGluY2x1aXIgY29udGV4dG8gSFRUUCBxdWFuZG8gZm9ybmVjaWRvJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnSFRUUCBlcnJvcicsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgaHR0cDoge1xuICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgIHVybDogJy9hcGkvdGVzdCcsXG4gICAgICAgICAgZW5kcG9pbnQ6ICcvYXBpL3Rlc3QnLFxuICAgICAgICAgIHN0YXR1c0NvZGU6IDUwMCxcbiAgICAgICAgICBoZWFkZXJzOiB7ICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgICAgICBib2R5OiB7IHRlc3Q6ICdkYXRhJyB9LFxuICAgICAgICAgIHBhcmFtczogeyBpZDogJzEyMycgfSxcbiAgICAgICAgICBxdWVyeTogeyBmaWx0ZXI6ICdhY3RpdmUnIH0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwJ11bJ21ldGhvZCddKS50b0JlKCdQT1NUJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwJ11bJ3VybCddKS50b0JlKCcvYXBpL3Rlc3QnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAnXVsnZW5kcG9pbnQnXSkudG9CZSgnL2FwaS90ZXN0Jyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwJ11bJ3N0YXR1c0NvZGUnXSkudG9CZSg1MDApO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cCddWydoZWFkZXJzJ10pLnRvRXF1YWwoe1xuICAgICAgICAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfSk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwJ11bJ2JvZHknXSkudG9FcXVhbCh7IHRlc3Q6ICdkYXRhJyB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGluY2x1aXIgaW5mb3JtYcOnw7VlcyBkZSB1c3XDoXJpbyBxdWFuZG8gZm9ybmVjaWRvJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnVXNlciBlcnJvcicsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgdXNlcjoge1xuICAgICAgICAgIHVpZDogJ3VzZXItMTIzJyxcbiAgICAgICAgICBlbWFpbDogJ3VzZXJAZXhhbXBsZS5jb20nLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1sndXNlciddWyd1aWQnXSkudG9CZSgndXNlci0xMjMnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3VzZXInXVsnZW1haWwnXSkudG9CZSgndXNlckBleGFtcGxlLmNvbScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgaW5jbHVpciBpbmZvcm1hw6fDtWVzIGRlIGV4ZWN1w6fDo28gcXVhbmRvIGZvcm5lY2lkbycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ0V4ZWN1dGlvbiBlcnJvcicsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgZXhlY3V0aW9uOiB7XG4gICAgICAgICAgcmVxdWVzdElkOiAncmVxLTEyMycsXG4gICAgICAgICAgYXdzUmVxdWVzdElkOiAnYXdzLTQ1NicsXG4gICAgICAgICAgZnVuY3Rpb25OYW1lOiAndGVzdEZ1bmN0aW9uJyxcbiAgICAgICAgICBpbnZvY2F0aW9uSWQ6ICdpbnYtNzg5JyxcbiAgICAgICAgICBjb250cm9sbGVyOiAnVGVzdENvbnRyb2xsZXInLFxuICAgICAgICAgIGNvbnRyb2xsZXJNZXRob2Q6ICd0ZXN0TWV0aG9kJyxcbiAgICAgICAgICBvcmlnaW46ICdtb2JpbGUnLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXhlY3V0aW9uJ11bJ3JlcXVlc3RJZCddKS50b0JlKCdyZXEtMTIzJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydleGVjdXRpb24nXVsnYXdzUmVxdWVzdElkJ10pLnRvQmUoXG4gICAgICAgICdhd3MtNDU2J1xuICAgICAgKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2V4ZWN1dGlvbiddWydmdW5jdGlvbk5hbWUnXSkudG9CZShcbiAgICAgICAgJ3Rlc3RGdW5jdGlvbidcbiAgICAgICk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydleGVjdXRpb24nXVsnaW52b2NhdGlvbklkJ10pLnRvQmUoXG4gICAgICAgICdpbnYtNzg5J1xuICAgICAgKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2V4ZWN1dGlvbiddWydjb250cm9sbGVyJ10pLnRvQmUoXG4gICAgICAgICdUZXN0Q29udHJvbGxlcidcbiAgICAgICk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydleGVjdXRpb24nXVsnY29udHJvbGxlck1ldGhvZCddKS50b0JlKFxuICAgICAgICAndGVzdE1ldGhvZCdcbiAgICAgICk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydleGVjdXRpb24nXVsnb3JpZ2luJ10pLnRvQmUoJ21vYmlsZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgaW5jbHVpciBtw6l0cmljYXMgZGUgcGVyZm9ybWFuY2UgcXVhbmRvIGZvcm5lY2lkbycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ1BlcmZvcm1hbmNlIGVycm9yJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgICBwZXJmb3JtYW5jZToge1xuICAgICAgICAgIGR1cmF0aW9uTXM6IDE1MDAsXG4gICAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydkdXJhdGlvbiddWydtcyddKS50b0JlKDE1MDApO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXhlY3V0aW9uJ11bJ3N1Y2Nlc3MnXSkudG9CZShmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSBpbmNsdWlyIGNvbnRleHRvIGFkaWNpb25hbCBxdWFuZG8gZm9ybmVjaWRvJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnQ29udGV4dCBlcnJvcicsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgIGFkZGl0aW9uYWxJbmZvOiAnc29tZSBkYXRhJyxcbiAgICAgICAgICBuZXN0ZWQ6IHsgdmFsdWU6IDEyMyB9LFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snY29udGV4dCddKS50b0JlKFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh7IGFkZGl0aW9uYWxJbmZvOiAnc29tZSBkYXRhJywgbmVzdGVkOiB7IHZhbHVlOiAxMjMgfSB9KVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIHVzYXIgc2VydmljZU5hbWUgcGFkcsOjbyBxdWFuZG8gbsOjbyBmb3JuZWNpZG8nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdEZWZhdWx0IHNlcnZpY2UgZXJyb3InLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJycsIC8vIEVtcHR5IHN0cmluZyBwYXJhIHRlc3RhciBmYWxsYmFja1xuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snc2VydmljZSddWyduYW1lJ10pLnRvQmUoJ3Rlc3Qtc2VydmljZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgYWRpY2lvbmFyIHRpbWVzdGFtcCBhdXRvbWF0aWNhbWVudGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdUaW1lc3RhbXAgdGVzdCcsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3RpbWVzdGFtcCddKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1sndGltZXN0YW1wJ10pLnRvTWF0Y2goXG4gICAgICAgIC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1UXFxkezJ9OlxcZHsyfTpcXGR7Mn1cXC5cXGR7M31aJC9cbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSBmaWx0cmFyIHZhbG9yZXMgdW5kZWZpbmVkIGUgbnVsbCBkb3MgYXRyaWJ1dG9zJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnRmlsdGVyIHRlc3QnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICAgIHVzZXI6IHtcbiAgICAgICAgICB1aWQ6ICd1c2VyLTEyMycsXG4gICAgICAgICAgZW1haWw6IHVuZGVmaW5lZCBhcyBhbnksXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWyd1c2VyJ11bJ3VpZCddKS50b0JlKCd1c2VyLTEyMycpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1sndXNlciddWydlbWFpbCddKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dJbmZvJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIGVtaXRpciBsb2cgY29tIHNldmVyaXR5IElORk8nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBpbmZvRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ0luZm8gbWVzc2FnZScsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0luZm8oaW5mb0RhdGEpO1xuXG4gICAgICBleHBlY3QobW9ja0xvZ2dlci5lbWl0KS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eU51bWJlcikudG9CZShTZXZlcml0eU51bWJlci5JTkZPKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLnNldmVyaXR5VGV4dCkudG9CZSgnSU5GTycpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYm9keSkudG9CZSgnSW5mbyBtZXNzYWdlJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSBpbmNsdWlyIGRhZG9zIGRlIHBlcmZvcm1hbmNlIGVtIGxvZyBkZSBzdWNlc3NvJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgaW5mb0RhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdSZXF1ZXN0IGNvbXBsZXRlZCcsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICBkdXJhdGlvbk1zOiAyNTAsXG4gICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0luZm8oaW5mb0RhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydkdXJhdGlvbiddWydtcyddKS50b0JlKDI1MCk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydleGVjdXRpb24nXVsnc3VjY2VzcyddKS50b0JlKHRydWUpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9nV2FybicsICgpID0+IHtcbiAgICBpdCgnZGV2ZSBlbWl0aXIgbG9nIGNvbSBzZXZlcml0eSBXQVJOJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3Qgd2FybkRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdXYXJuaW5nIG1lc3NhZ2UnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dXYXJuKHdhcm5EYXRhKTtcblxuICAgICAgZXhwZWN0KG1vY2tMb2dnZXIuZW1pdCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuc2V2ZXJpdHlOdW1iZXIpLnRvQmUoU2V2ZXJpdHlOdW1iZXIuV0FSTik7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eVRleHQpLnRvQmUoJ1dBUk4nKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmJvZHkpLnRvQmUoJ1dhcm5pbmcgbWVzc2FnZScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9nRGVidWcnLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgZW1pdGlyIGxvZyBjb20gc2V2ZXJpdHkgREVCVUcnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBkZWJ1Z0RhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdEZWJ1ZyBtZXNzYWdlJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ2RldmVsb3BtZW50JyxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0RlYnVnKGRlYnVnRGF0YSk7XG5cbiAgICAgIGV4cGVjdChtb2NrTG9nZ2VyLmVtaXQpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLnNldmVyaXR5TnVtYmVyKS50b0JlKFNldmVyaXR5TnVtYmVyLkRFQlVHKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLnNldmVyaXR5VGV4dCkudG9CZSgnREVCVUcnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmJvZHkpLnRvQmUoJ0RlYnVnIG1lc3NhZ2UnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2J1aWxkQXR0cmlidXRlcycsICgpID0+IHtcbiAgICBpdCgnZGV2ZSBjb25zdHJ1aXIgYXRyaWJ1dG9zIGNvbXBsZXRvcyBjb20gdG9kb3Mgb3MgY2FtcG9zJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZnVsbERhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdDb21wbGV0ZSBsb2cnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ2NvbXBsZXRlLXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgICBlcnJvcjogbmV3IEVycm9yKCdUZXN0IGVycm9yJyksXG4gICAgICAgIGh0dHA6IHtcbiAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgIHVybDogJy9hcGkvdXNlcnMnLFxuICAgICAgICAgIGVuZHBvaW50OiAnL2FwaS91c2VycycsXG4gICAgICAgICAgc3RhdHVzQ29kZTogMjAwLFxuICAgICAgICB9LFxuICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgdWlkOiAndXNlci1hYmMnLFxuICAgICAgICAgIGVtYWlsOiAndXNlckBleGFtcGxlLmNvbScsXG4gICAgICAgIH0sXG4gICAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAgIHJlcXVlc3RJZDogJ3JlcS0wMDEnLFxuICAgICAgICAgIGF3c1JlcXVlc3RJZDogJ2F3cy0wMDInLFxuICAgICAgICAgIGZ1bmN0aW9uTmFtZTogJ2dldFVzZXJzJyxcbiAgICAgICAgICBpbnZvY2F0aW9uSWQ6ICdpbnYtMDAzJyxcbiAgICAgICAgICBjb250cm9sbGVyOiAnVXNlckNvbnRyb2xsZXInLFxuICAgICAgICAgIGNvbnRyb2xsZXJNZXRob2Q6ICdnZXRBbGwnLFxuICAgICAgICAgIG9yaWdpbjogJ3dlYicsXG4gICAgICAgIH0sXG4gICAgICAgIHBlcmZvcm1hbmNlOiB7XG4gICAgICAgICAgZHVyYXRpb25NczogMzAwLFxuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBjdXN0b206ICdkYXRhJyxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0luZm8oZnVsbERhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBjb25zdCBhdHRycyA9IGVtaXR0ZWRMb2cuYXR0cmlidXRlcztcblxuICAgICAgLy8gVmVyaWZpY2FyIHRvZG9zIG9zIGNhbXBvc1xuICAgICAgZXhwZWN0KGF0dHJzWydzZXJ2aWNlJ11bJ25hbWUnXSkudG9CZShmdWxsRGF0YS5zZXJ2aWNlTmFtZSk7XG4gICAgICBleHBlY3QoYXR0cnNbJ2Vycm9yJ11bJ3R5cGUnXSkudG9CZSgnRXJyb3InKTtcbiAgICAgIGV4cGVjdChhdHRyc1snaHR0cCddWydtZXRob2QnXSkudG9CZSgnR0VUJyk7XG4gICAgICBleHBlY3QoYXR0cnNbJ3VzZXInXVsndWlkJ10pLnRvQmUoJ3VzZXItYWJjJyk7XG4gICAgICBleHBlY3QoYXR0cnNbJ2V4ZWN1dGlvbiddWydyZXF1ZXN0SWQnXSkudG9CZSgncmVxLTAwMScpO1xuICAgICAgZXhwZWN0KGF0dHJzWydkdXJhdGlvbiddWydtcyddKS50b0JlKDMwMCk7XG4gICAgICBleHBlY3QoYXR0cnNbJ2NvbnRleHQnXSkudG9CZShKU09OLnN0cmluZ2lmeSh7IGN1c3RvbTogJ2RhdGEnIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGxpZGFyIGNvbSBjYW1wb3MgSFRUUCBwYXJjaWFpcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHBhcnRpYWxIdHRwRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ1BhcnRpYWwgSFRUUCcsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgaHR0cDoge1xuICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgIGVuZHBvaW50OiAnL2FwaS90ZXN0JyxcbiAgICAgICAgICAvLyB1cmwsIHN0YXR1c0NvZGUsIGhlYWRlcnMsIGV0YyBuw6NvIGZvcm5lY2lkb3NcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0luZm8ocGFydGlhbEh0dHBEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cCddWydtZXRob2QnXSkudG9CZSgnUE9TVCcpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cCddWydlbmRwb2ludCddKS50b0JlKCcvYXBpL3Rlc3QnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAnXVsndXJsJ10pLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAnXVsnc3RhdHVzX2NvZGUnXSkudG9CZVVuZGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnY29uc3RydXRvcicsICgpID0+IHtcbiAgICBpdCgnZGV2ZSBhY2VpdGFyIHNlcnZpY2VOYW1lIHBhZHLDo28gcGVyc29uYWxpemFkbycsICgpID0+IHtcbiAgICAgIGNvbnN0IGN1c3RvbUxvZ2dlciA9IG5ldyBTdGFuZGFyZExvZ2dlcihtb2NrTG9nZ2VyLCBtb2NrVHJhY2VyKTtcbiAgICAgIGNvbnN0IGxvZ0RhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdUZXN0JyxcbiAgICAgICAgc2VydmljZU5hbWU6ICcnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Rlc3QnLFxuICAgICAgfTtcblxuICAgICAgY3VzdG9tTG9nZ2VyLmxvZ0luZm8obG9nRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3NlcnZpY2UnXVsnbmFtZSddKS50b0JlKCd0ZXN0LXNlcnZpY2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIHVzYXIgXCJ1bmtub3duLXNlcnZpY2VcIiBjb21vIHBhZHLDo28gcXVhbmRvIG7Do28gZXNwZWNpZmljYWRvJywgKCkgPT4ge1xuICAgICAgcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FID0gJyc7XG4gICAgICBjb25zdCBkZWZhdWx0TG9nZ2VyID0gbmV3IFN0YW5kYXJkTG9nZ2VyKG1vY2tMb2dnZXIsIG1vY2tUcmFjZXIpO1xuICAgICAgY29uc3QgbG9nRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ1Rlc3QnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJycsXG4gICAgICAgIGVudmlyb25tZW50OiAndGVzdCcsXG4gICAgICB9O1xuXG4gICAgICBkZWZhdWx0TG9nZ2VyLmxvZ0luZm8obG9nRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3NlcnZpY2UnXVsnbmFtZSddKS50b0JlKCd1bmtub3duLXNlcnZpY2UnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9fX3Rlc3RzX18vbG9nZ2VyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBOEQ7QUFDOUQsc0NBQTJDO0FBQzNDLHNEQUF5RDtBQUV6RCxJQUFBLGlCQUFRLEVBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0lBQzlCLElBQUksVUFBZSxDQUFDO0lBQ3BCLElBQUksVUFBZSxDQUFDO0lBQ3BCLElBQUksY0FBOEIsQ0FBQztJQUVuQyxJQUFBLG1CQUFVLEVBQUMsR0FBRyxFQUFFO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztRQUNqQyxVQUFVLEdBQUc7WUFDWCxJQUFJLEVBQUUsV0FBRSxDQUFDLEVBQUUsRUFBRTtTQUNkLENBQUM7UUFDRixVQUFVLEdBQUc7WUFDWCxTQUFTLEVBQUUsV0FBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDakMsU0FBUyxFQUFFLFdBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQ2pDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO3dCQUNsQixPQUFPLEVBQUUsZUFBZTt3QkFDeEIsTUFBTSxFQUFFLGNBQWM7cUJBQ3ZCLENBQUM7aUJBQ0gsQ0FBQzthQUNILENBQUM7U0FDSCxDQUFDO1FBQ0YsY0FBYyxHQUFHLElBQUksdUJBQWMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDOUQsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLGlCQUFRLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtRQUN4QixJQUFBLFdBQUUsRUFBQyxvQ0FBb0MsRUFBRSxHQUFTLEVBQUU7WUFDbEQsTUFBTSxTQUFTLEdBQUc7Z0JB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QUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2NyaWJlLCBpdCwgZXhwZWN0LCB2aSwgYmVmb3JlRWFjaCB9IGZyb20gJ3ZpdGVzdCc7XG5pbXBvcnQgeyBTdGFuZGFyZExvZ2dlciB9IGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBTZXZlcml0eU51bWJlciB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L2FwaS1sb2dzJztcblxuZGVzY3JpYmUoJ1N0YW5kYXJkTG9nZ2VyJywgKCkgPT4ge1xuICBsZXQgbW9ja0xvZ2dlcjogYW55O1xuICBsZXQgbW9ja1RyYWNlcjogYW55O1xuICBsZXQgc3RhbmRhcmRMb2dnZXI6IFN0YW5kYXJkTG9nZ2VyO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHByb2Nlc3MuZW52LlNFUlZJQ0VfTkFNRSA9ICd0ZXN0LXNlcnZpY2UnO1xuICAgIHByb2Nlc3MuZW52LlNUQUdFID0gJ3Byb2R1Y3Rpb24nO1xuICAgIG1vY2tMb2dnZXIgPSB7XG4gICAgICBlbWl0OiB2aS5mbigpLFxuICAgIH07XG4gICAgbW9ja1RyYWNlciA9IHtcbiAgICAgIGdldFRyYWNlcjogdmkuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICBzdGFydFNwYW46IHZpLmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICBzcGFuQ29udGV4dDogKCkgPT4gKHtcbiAgICAgICAgICAgIHRyYWNlSWQ6ICd0ZXN0LXRyYWNlLWlkJyxcbiAgICAgICAgICAgIHNwYW5JZDogJ3Rlc3Qtc3Bhbi1pZCcsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuICAgICAgfSksXG4gICAgfTtcbiAgICBzdGFuZGFyZExvZ2dlciA9IG5ldyBTdGFuZGFyZExvZ2dlcihtb2NrTG9nZ2VyLCBtb2NrVHJhY2VyKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ0Vycm9yJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIGVtaXRpciBsb2cgY29tIHNldmVyaXR5IEVSUk9SJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnVGVzdCBlcnJvciBtZXNzYWdlJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Rlc3QnLFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgZXhwZWN0KG1vY2tMb2dnZXIuZW1pdCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuc2V2ZXJpdHlOdW1iZXIpLnRvQmUoU2V2ZXJpdHlOdW1iZXIuRVJST1IpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuc2V2ZXJpdHlUZXh0KS50b0JlKCdFUlJPUicpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYm9keSkudG9CZSgnVGVzdCBlcnJvciBtZXNzYWdlJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSBpbmNsdWlyIGluZm9ybWHDp8O1ZXMgZG8gZXJybyBxdWFuZG8gZm9ybmVjaWRvJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoJ0N1c3RvbSBlcnJvcicpO1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnRXJyb3Igb2NjdXJyZWQnLFxuICAgICAgICBlcnJvcixcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXJyb3InXVsndHlwZSddKS50b0JlKCdFcnJvcicpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXJyb3InXVsnbWVzc2FnZSddKS50b0JlKCdDdXN0b20gZXJyb3InKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2Vycm9yJ11bJ3N0YWNrJ10pLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSBpbmNsdWlyIGNvbnRleHRvIEhUVFAgcXVhbmRvIGZvcm5lY2lkbycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ0hUVFAgZXJyb3InLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICAgIGh0dHA6IHtcbiAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICB1cmw6ICcvYXBpL3Rlc3QnLFxuICAgICAgICAgIGVuZHBvaW50OiAnL2FwaS90ZXN0JyxcbiAgICAgICAgICBzdGF0dXNDb2RlOiA1MDAsXG4gICAgICAgICAgaGVhZGVyczogeyAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgICAgYm9keTogeyB0ZXN0OiAnZGF0YScgfSxcbiAgICAgICAgICBwYXJhbXM6IHsgaWQ6ICcxMjMnIH0sXG4gICAgICAgICAgcXVlcnk6IHsgZmlsdGVyOiAnYWN0aXZlJyB9LFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cCddWydtZXRob2QnXSkudG9CZSgnUE9TVCcpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cCddWyd1cmwnXSkudG9CZSgnL2FwaS90ZXN0Jyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwJ11bJ2VuZHBvaW50J10pLnRvQmUoJy9hcGkvdGVzdCcpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cCddWydzdGF0dXNDb2RlJ10pLnRvQmUoNTAwKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAnXVsnaGVhZGVycyddKS50b0VxdWFsKHtcbiAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snaHR0cCddWydib2R5J10pLnRvRXF1YWwoeyB0ZXN0OiAnZGF0YScgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSBpbmNsdWlyIGluZm9ybWHDp8O1ZXMgZGUgdXN1w6FyaW8gcXVhbmRvIGZvcm5lY2lkbycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ1VzZXIgZXJyb3InLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICAgIHVzZXI6IHtcbiAgICAgICAgICB1aWQ6ICd1c2VyLTEyMycsXG4gICAgICAgICAgZW1haWw6ICd1c2VyQGV4YW1wbGUuY29tJyxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3VzZXInXVsndWlkJ10pLnRvQmUoJ3VzZXItMTIzJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWyd1c2VyJ11bJ2VtYWlsJ10pLnRvQmUoJ3VzZXJAZXhhbXBsZS5jb20nKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGluY2x1aXIgaW5mb3JtYcOnw7VlcyBkZSBleGVjdcOnw6NvIHF1YW5kbyBmb3JuZWNpZG8nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdFeGVjdXRpb24gZXJyb3InLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAgIHJlcXVlc3RJZDogJ3JlcS0xMjMnLFxuICAgICAgICAgIGF3c1JlcXVlc3RJZDogJ2F3cy00NTYnLFxuICAgICAgICAgIGZ1bmN0aW9uTmFtZTogJ3Rlc3RGdW5jdGlvbicsXG4gICAgICAgICAgaW52b2NhdGlvbklkOiAnaW52LTc4OScsXG4gICAgICAgICAgY29udHJvbGxlcjogJ1Rlc3RDb250cm9sbGVyJyxcbiAgICAgICAgICBjb250cm9sbGVyTWV0aG9kOiAndGVzdE1ldGhvZCcsXG4gICAgICAgICAgb3JpZ2luOiAnbW9iaWxlJyxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2V4ZWN1dGlvbiddWydyZXF1ZXN0SWQnXSkudG9CZSgncmVxLTEyMycpO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXhlY3V0aW9uJ11bJ2F3c1JlcXVlc3RJZCddKS50b0JlKFxuICAgICAgICAnYXdzLTQ1NidcbiAgICAgICk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydleGVjdXRpb24nXVsnZnVuY3Rpb25OYW1lJ10pLnRvQmUoXG4gICAgICAgICd0ZXN0RnVuY3Rpb24nXG4gICAgICApO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXhlY3V0aW9uJ11bJ2ludm9jYXRpb25JZCddKS50b0JlKFxuICAgICAgICAnaW52LTc4OSdcbiAgICAgICk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydleGVjdXRpb24nXVsnY29udHJvbGxlciddKS50b0JlKFxuICAgICAgICAnVGVzdENvbnRyb2xsZXInXG4gICAgICApO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXhlY3V0aW9uJ11bJ2NvbnRyb2xsZXJNZXRob2QnXSkudG9CZShcbiAgICAgICAgJ3Rlc3RNZXRob2QnXG4gICAgICApO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXhlY3V0aW9uJ11bJ29yaWdpbiddKS50b0JlKCdtb2JpbGUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGluY2x1aXIgbcOpdHJpY2FzIGRlIHBlcmZvcm1hbmNlIHF1YW5kbyBmb3JuZWNpZG8nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBlcnJvckRhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdQZXJmb3JtYW5jZSBlcnJvcicsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICBkdXJhdGlvbk1zOiAxNTAwLFxuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZHVyYXRpb24nXVsnbXMnXSkudG9CZSgxNTAwKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2V4ZWN1dGlvbiddWydzdWNjZXNzJ10pLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgaW5jbHVpciBjb250ZXh0byBhZGljaW9uYWwgcXVhbmRvIGZvcm5lY2lkbycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ0NvbnRleHQgZXJyb3InLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBhZGRpdGlvbmFsSW5mbzogJ3NvbWUgZGF0YScsXG4gICAgICAgICAgbmVzdGVkOiB7IHZhbHVlOiAxMjMgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2NvbnRleHQnXSkudG9CZShcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoeyBhZGRpdGlvbmFsSW5mbzogJ3NvbWUgZGF0YScsIG5lc3RlZDogeyB2YWx1ZTogMTIzIH0gfSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSB1c2FyIHNlcnZpY2VOYW1lIHBhZHLDo28gcXVhbmRvIG7Do28gZm9ybmVjaWRvJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnRGVmYXVsdCBzZXJ2aWNlIGVycm9yJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICcnLCAvLyBFbXB0eSBzdHJpbmcgcGFyYSB0ZXN0YXIgZmFsbGJhY2tcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0Vycm9yKGVycm9yRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3NlcnZpY2UnXVsnbmFtZSddKS50b0JlKCd0ZXN0LXNlcnZpY2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXZlIGFkaWNpb25hciB0aW1lc3RhbXAgYXV0b21hdGljYW1lbnRlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZXJyb3JEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnVGltZXN0YW1wIHRlc3QnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dFcnJvcihlcnJvckRhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWyd0aW1lc3RhbXAnXSkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3RpbWVzdGFtcCddKS50b01hdGNoKFxuICAgICAgICAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9XFwuXFxkezN9WiQvXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgZmlsdHJhciB2YWxvcmVzIHVuZGVmaW5lZCBlIG51bGwgZG9zIGF0cmlidXRvcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IHtcbiAgICAgICAgbWVzc2FnZTogJ0ZpbHRlciB0ZXN0JyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgdWlkOiAndXNlci0xMjMnLFxuICAgICAgICAgIGVtYWlsOiB1bmRlZmluZWQgYXMgYW55LFxuICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3IoZXJyb3JEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1sndXNlciddWyd1aWQnXSkudG9CZSgndXNlci0xMjMnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ3VzZXInXVsnZW1haWwnXSkudG9CZVVuZGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9nSW5mbycsICgpID0+IHtcbiAgICBpdCgnZGV2ZSBlbWl0aXIgbG9nIGNvbSBzZXZlcml0eSBJTkZPJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgaW5mb0RhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdJbmZvIG1lc3NhZ2UnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dJbmZvKGluZm9EYXRhKTtcblxuICAgICAgZXhwZWN0KG1vY2tMb2dnZXIuZW1pdCkudG9IYXZlQmVlbkNhbGxlZFRpbWVzKDEpO1xuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuc2V2ZXJpdHlOdW1iZXIpLnRvQmUoU2V2ZXJpdHlOdW1iZXIuSU5GTyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eVRleHQpLnRvQmUoJ0lORk8nKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmJvZHkpLnRvQmUoJ0luZm8gbWVzc2FnZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgaW5jbHVpciBkYWRvcyBkZSBwZXJmb3JtYW5jZSBlbSBsb2cgZGUgc3VjZXNzbycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGluZm9EYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnUmVxdWVzdCBjb21wbGV0ZWQnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICAgIHBlcmZvcm1hbmNlOiB7XG4gICAgICAgICAgZHVyYXRpb25NczogMjUwLFxuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dJbmZvKGluZm9EYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZHVyYXRpb24nXVsnbXMnXSkudG9CZSgyNTApO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuYXR0cmlidXRlc1snZXhlY3V0aW9uJ11bJ3N1Y2Nlc3MnXSkudG9CZSh0cnVlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ1dhcm4nLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgZW1pdGlyIGxvZyBjb20gc2V2ZXJpdHkgV0FSTicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHdhcm5EYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnV2FybmluZyBtZXNzYWdlJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nLFxuICAgICAgfTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nV2Fybih3YXJuRGF0YSk7XG5cbiAgICAgIGV4cGVjdChtb2NrTG9nZ2VyLmVtaXQpLnRvSGF2ZUJlZW5DYWxsZWRUaW1lcygxKTtcbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLnNldmVyaXR5TnVtYmVyKS50b0JlKFNldmVyaXR5TnVtYmVyLldBUk4pO1xuICAgICAgZXhwZWN0KGVtaXR0ZWRMb2cuc2V2ZXJpdHlUZXh0KS50b0JlKCdXQVJOJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5ib2R5KS50b0JlKCdXYXJuaW5nIG1lc3NhZ2UnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ0RlYnVnJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIGVtaXRpciBsb2cgY29tIHNldmVyaXR5IERFQlVHJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZGVidWdEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnRGVidWcgbWVzc2FnZScsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdkZXZlbG9wbWVudCcsXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dEZWJ1ZyhkZWJ1Z0RhdGEpO1xuXG4gICAgICBleHBlY3QobW9ja0xvZ2dlci5lbWl0KS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMSk7XG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eU51bWJlcikudG9CZShTZXZlcml0eU51bWJlci5ERUJVRyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5zZXZlcml0eVRleHQpLnRvQmUoJ0RFQlVHJyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5ib2R5KS50b0JlKCdEZWJ1ZyBtZXNzYWdlJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdidWlsZEF0dHJpYnV0ZXMnLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgY29uc3RydWlyIGF0cmlidXRvcyBjb21wbGV0b3MgY29tIHRvZG9zIG9zIGNhbXBvcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZ1bGxEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnQ29tcGxldGUgbG9nJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICdjb21wbGV0ZS1zZXJ2aWNlJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICdwcm9kdWN0aW9uJyxcbiAgICAgICAgZXJyb3I6IG5ldyBFcnJvcignVGVzdCBlcnJvcicpLFxuICAgICAgICBodHRwOiB7XG4gICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICB1cmw6ICcvYXBpL3VzZXJzJyxcbiAgICAgICAgICBlbmRwb2ludDogJy9hcGkvdXNlcnMnLFxuICAgICAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgICAgfSxcbiAgICAgICAgdXNlcjoge1xuICAgICAgICAgIHVpZDogJ3VzZXItYWJjJyxcbiAgICAgICAgICBlbWFpbDogJ3VzZXJAZXhhbXBsZS5jb20nLFxuICAgICAgICB9LFxuICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICByZXF1ZXN0SWQ6ICdyZXEtMDAxJyxcbiAgICAgICAgICBhd3NSZXF1ZXN0SWQ6ICdhd3MtMDAyJyxcbiAgICAgICAgICBmdW5jdGlvbk5hbWU6ICdnZXRVc2VycycsXG4gICAgICAgICAgaW52b2NhdGlvbklkOiAnaW52LTAwMycsXG4gICAgICAgICAgY29udHJvbGxlcjogJ1VzZXJDb250cm9sbGVyJyxcbiAgICAgICAgICBjb250cm9sbGVyTWV0aG9kOiAnZ2V0QWxsJyxcbiAgICAgICAgICBvcmlnaW46ICd3ZWInLFxuICAgICAgICB9LFxuICAgICAgICBwZXJmb3JtYW5jZToge1xuICAgICAgICAgIGR1cmF0aW9uTXM6IDMwMCxcbiAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgY3VzdG9tOiAnZGF0YScsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dJbmZvKGZ1bGxEYXRhKTtcblxuICAgICAgY29uc3QgZW1pdHRlZExvZyA9IG1vY2tMb2dnZXIuZW1pdC5tb2NrLmNhbGxzWzBdWzBdO1xuICAgICAgY29uc3QgYXR0cnMgPSBlbWl0dGVkTG9nLmF0dHJpYnV0ZXM7XG5cbiAgICAgIC8vIFZlcmlmaWNhciB0b2RvcyBvcyBjYW1wb3NcbiAgICAgIGV4cGVjdChhdHRyc1snc2VydmljZSddWyduYW1lJ10pLnRvQmUoZnVsbERhdGEuc2VydmljZU5hbWUpO1xuICAgICAgZXhwZWN0KGF0dHJzWydlcnJvciddWyd0eXBlJ10pLnRvQmUoJ0Vycm9yJyk7XG4gICAgICBleHBlY3QoYXR0cnNbJ2h0dHAnXVsnbWV0aG9kJ10pLnRvQmUoJ0dFVCcpO1xuICAgICAgZXhwZWN0KGF0dHJzWyd1c2VyJ11bJ3VpZCddKS50b0JlKCd1c2VyLWFiYycpO1xuICAgICAgZXhwZWN0KGF0dHJzWydleGVjdXRpb24nXVsncmVxdWVzdElkJ10pLnRvQmUoJ3JlcS0wMDEnKTtcbiAgICAgIGV4cGVjdChhdHRyc1snZHVyYXRpb24nXVsnbXMnXSkudG9CZSgzMDApO1xuICAgICAgZXhwZWN0KGF0dHJzWydjb250ZXh0J10pLnRvQmUoSlNPTi5zdHJpbmdpZnkoeyBjdXN0b206ICdkYXRhJyB9KSk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSBsaWRhciBjb20gY2FtcG9zIEhUVFAgcGFyY2lhaXMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBwYXJ0aWFsSHR0cERhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdQYXJ0aWFsIEhUVFAnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgICAgIGh0dHA6IHtcbiAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICBlbmRwb2ludDogJy9hcGkvdGVzdCcsXG4gICAgICAgICAgLy8gdXJsLCBzdGF0dXNDb2RlLCBoZWFkZXJzLCBldGMgbsOjbyBmb3JuZWNpZG9zXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBzdGFuZGFyZExvZ2dlci5sb2dJbmZvKHBhcnRpYWxIdHRwRGF0YSk7XG5cbiAgICAgIGNvbnN0IGVtaXR0ZWRMb2cgPSBtb2NrTG9nZ2VyLmVtaXQubW9jay5jYWxsc1swXVswXTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAnXVsnbWV0aG9kJ10pLnRvQmUoJ1BPU1QnKTtcbiAgICAgIGV4cGVjdChlbWl0dGVkTG9nLmF0dHJpYnV0ZXNbJ2h0dHAnXVsnZW5kcG9pbnQnXSkudG9CZSgnL2FwaS90ZXN0Jyk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwJ11bJ3VybCddKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydodHRwJ11bJ3N0YXR1c19jb2RlJ10pLnRvQmVVbmRlZmluZWQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2NvbnN0cnV0b3InLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgYWNlaXRhciBzZXJ2aWNlTmFtZSBwYWRyw6NvIHBlcnNvbmFsaXphZG8nLCAoKSA9PiB7XG4gICAgICBjb25zdCBjdXN0b21Mb2dnZXIgPSBuZXcgU3RhbmRhcmRMb2dnZXIobW9ja0xvZ2dlciwgbW9ja1RyYWNlcik7XG4gICAgICBjb25zdCBsb2dEYXRhID0ge1xuICAgICAgICBtZXNzYWdlOiAnVGVzdCcsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAnJyxcbiAgICAgICAgZW52aXJvbm1lbnQ6ICd0ZXN0JyxcbiAgICAgIH07XG5cbiAgICAgIGN1c3RvbUxvZ2dlci5sb2dJbmZvKGxvZ0RhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydzZXJ2aWNlJ11bJ25hbWUnXSkudG9CZSgndGVzdC1zZXJ2aWNlJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSB1c2FyIFwidW5rbm93bi1zZXJ2aWNlXCIgY29tbyBwYWRyw6NvIHF1YW5kbyBuw6NvIGVzcGVjaWZpY2FkbycsICgpID0+IHtcbiAgICAgIHByb2Nlc3MuZW52LlNFUlZJQ0VfTkFNRSA9ICcnO1xuICAgICAgY29uc3QgZGVmYXVsdExvZ2dlciA9IG5ldyBTdGFuZGFyZExvZ2dlcihtb2NrTG9nZ2VyLCBtb2NrVHJhY2VyKTtcbiAgICAgIGNvbnN0IGxvZ0RhdGEgPSB7XG4gICAgICAgIG1lc3NhZ2U6ICdUZXN0JyxcbiAgICAgICAgc2VydmljZU5hbWU6ICcnLFxuICAgICAgICBlbnZpcm9ubWVudDogJ3Rlc3QnLFxuICAgICAgfTtcblxuICAgICAgZGVmYXVsdExvZ2dlci5sb2dJbmZvKGxvZ0RhdGEpO1xuXG4gICAgICBjb25zdCBlbWl0dGVkTG9nID0gbW9ja0xvZ2dlci5lbWl0Lm1vY2suY2FsbHNbMF1bMF07XG4gICAgICBleHBlY3QoZW1pdHRlZExvZy5hdHRyaWJ1dGVzWydzZXJ2aWNlJ11bJ25hbWUnXSkudG9CZSgndW5rbm93bi1zZXJ2aWNlJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -10,7 +10,8 @@ export declare class StandardLogger implements IStandardLogger {
10
10
  private readonly spanContext;
11
11
  private readonly environment;
12
12
  private readonly defaultServiceName;
13
- constructor(logger: Logger, tracer: IStandardTracer, scopeAttributes?: Attributes);
13
+ private readonly disableEmitter;
14
+ constructor(logger: Logger, tracer: IStandardTracer, scopeAttributes?: Attributes, disableEmitter?: boolean);
14
15
  defineDefaultAttributes(scopeAttributes?: any): void;
15
16
  logError(data: LogParams): Promise<void>;
16
17
  logInfo(data: LogParams): Promise<void>;
@@ -13,8 +13,9 @@ exports.StandardLogger = void 0;
13
13
  const api_logs_1 = require("@opentelemetry/api-logs");
14
14
  const environment_1 = require("./environment");
15
15
  class StandardLogger {
16
- constructor(logger, tracer, scopeAttributes) {
16
+ constructor(logger, tracer, scopeAttributes, disableEmitter) {
17
17
  this.defaultAttributes = {};
18
+ this.disableEmitter = false;
18
19
  this.logger = logger;
19
20
  this.tracer = tracer;
20
21
  this.spanContext = this.tracer.getTracer().startSpan('init-logger');
@@ -24,6 +25,8 @@ class StandardLogger {
24
25
  this.scopeAttributes = scopeAttributes;
25
26
  this.defineDefaultAttributes(scopeAttributes);
26
27
  this.environment = (0, environment_1.getEnvironmentStage)();
28
+ this.disableEmitter =
29
+ disableEmitter || this.environment === 'development' || false;
27
30
  }
28
31
  defineDefaultAttributes(scopeAttributes) {
29
32
  var _a, _b, _c;
@@ -86,7 +89,12 @@ class StandardLogger {
86
89
  body: fullData.body || fullData.message || '',
87
90
  attributes: this.buildAttributes(fullData),
88
91
  };
89
- this.logger.emit(logRecord);
92
+ if (this.disableEmitter) {
93
+ console.log('[Telemetry] Log emission disabled. Log record:', logRecord);
94
+ }
95
+ else {
96
+ this.logger.emit(logRecord);
97
+ }
90
98
  });
91
99
  }
92
100
  buildAttributes(data) {
@@ -124,4 +132,4 @@ class StandardLogger {
124
132
  }
125
133
  }
126
134
  exports.StandardLogger = StandardLogger;
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFpRTtBQUlqRSwrQ0FBb0Q7QUFNcEQsTUFBYSxjQUFjO0lBU3pCLFlBQ0UsTUFBYyxFQUNkLE1BQXVCLEVBQ3ZCLGVBQTRCO1FBWHZCLHNCQUFpQixHQUF3QixFQUFFLENBQUM7UUFhakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZO1lBQ2hELENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVk7WUFDMUIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBRXRCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUEsaUNBQW1CLEdBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsZUFBcUI7O1FBQ2xELElBQUksQ0FBQyxpQkFBaUIsR0FBRztZQUN2QixLQUFLLEVBQUU7Z0JBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTzthQUMzQztZQUNELElBQUksRUFBRTtnQkFDSixFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNO2FBQzFDO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFDRixDQUFBLE1BQUEsZUFB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QUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQ3JELENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXRLRCx3Q0FzS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXZlcml0eU51bWJlciwgTG9nZ2VyIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpLWxvZ3MnO1xuaW1wb3J0IHsgSVN0YW5kYXJkTG9nZ2VyLCBTdGFuZGFyZExvZ0RhdGEsIExvZ1BhcmFtcyB9IGZyb20gJy4vbG9nZ2VyLXR5cGVzJztcbmltcG9ydCB7IElTdGFuZGFyZFRyYWNlciB9IGZyb20gJy4vdHJhY2VyLXR5cGVzJztcbmltcG9ydCB7IEF0dHJpYnV0ZXMsIFNwYW4gfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGknO1xuaW1wb3J0IHsgZ2V0RW52aXJvbm1lbnRTdGFnZSB9IGZyb20gJy4vZW52aXJvbm1lbnQnO1xuXG4vKipcbiAqIExvZ2dlciBjb3JlIHF1ZSBpbXBsZW1lbnRhIG8gcGFkcsOjbyBkZSBsb2dzIGVzdHJ1dHVyYWRvcy5cbiAqIFJlY2ViZSB1bSBMb2dnZXJQcm92aWRlciBkbyBPcGVuVGVsZW1ldHJ5IHBhcmEgZW1pdGlyIG9zIGxvZ3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFuZGFyZExvZ2dlciBpbXBsZW1lbnRzIElTdGFuZGFyZExvZ2dlciB7XG4gIHB1YmxpYyBkZWZhdWx0QXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICBwdWJsaWMgc2NvcGVBdHRyaWJ1dGVzPzogQXR0cmlidXRlcztcbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFjZXI6IElTdGFuZGFyZFRyYWNlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBzcGFuQ29udGV4dDogU3BhbjtcbiAgcHJpdmF0ZSByZWFkb25seSBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRTZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxvZ2dlcjogTG9nZ2VyLFxuICAgIHRyYWNlcjogSVN0YW5kYXJkVHJhY2VyLFxuICAgIHNjb3BlQXR0cmlidXRlcz86IEF0dHJpYnV0ZXNcbiAgKSB7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI7XG4gICAgdGhpcy50cmFjZXIgPSB0cmFjZXI7XG4gICAgdGhpcy5zcGFuQ29udGV4dCA9IHRoaXMudHJhY2VyLmdldFRyYWNlcigpLnN0YXJ0U3BhbignaW5pdC1sb2dnZXInKTtcblxuICAgIHRoaXMuZGVmYXVsdFNlcnZpY2VOYW1lID0gcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FXG4gICAgICA/IHByb2Nlc3MuZW52LlNFUlZJQ0VfTkFNRVxuICAgICAgOiAndW5rbm93bi1zZXJ2aWNlJztcblxuICAgIHRoaXMuc2NvcGVBdHRyaWJ1dGVzID0gc2NvcGVBdHRyaWJ1dGVzO1xuICAgIHRoaXMuZGVmaW5lRGVmYXVsdEF0dHJpYnV0ZXMoc2NvcGVBdHRyaWJ1dGVzKTtcbiAgICB0aGlzLmVudmlyb25tZW50ID0gZ2V0RW52aXJvbm1lbnRTdGFnZSgpO1xuICB9XG5cbiAgcHVibGljIGRlZmluZURlZmF1bHRBdHRyaWJ1dGVzKHNjb3BlQXR0cmlidXRlcz86IGFueSkge1xuICAgIHRoaXMuZGVmYXVsdEF0dHJpYnV0ZXMgPSB7XG4gICAgICB0cmFjZToge1xuICAgICAgICBpZDogdGhpcy5zcGFuQ29udGV4dC5zcGFuQ29udGV4dCgpLnRyYWNlSWQsXG4gICAgICB9LFxuICAgICAgc3Bhbjoge1xuICAgICAgICBpZDogdGhpcy5zcGFuQ29udGV4dC5zcGFuQ29udGV4dCgpLnNwYW5JZCxcbiAgICAgIH0sXG4gICAgICBmdW5jdGlvbjoge1xuICAgICAgICBuYW1lOlxuICAgICAgICAgIHNjb3BlQXR0cmlidXRlcz8uWydmdW5jdGlvbiddPy5bJ25hbWUnXSB8fFxuICAgICAgICAgIHNjb3BlQXR0cmlidXRlcz8uZnVuY3Rpb25OYW1lIHx8XG4gICAgICAgICAgJ3Vua25vd24nLFxuICAgICAgICBpbnZvY2F0aW9uSWQ6XG4gICAgICAgICAgc2NvcGVBdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uJ10/LlsnaW52b2NhdGlvbklkJ10gfHxcbiAgICAgICAgICBzY29wZUF0dHJpYnV0ZXM/LlsnZXhlY3V0aW9uJ10/LlsnYXdzUmVxdWVzdElkJ10gfHxcbiAgICAgICAgICBzY29wZUF0dHJpYnV0ZXM/Lmludm9jYXRpb25JZCB8fFxuICAgICAgICAgICd1bmtub3duJyxcbiAgICAgIH0sXG4gICAgICByZXF1ZXN0OiB7XG4gICAgICAgIGlkOlxuICAgICAgICAgIHNjb3BlQXR0cmlidXRlcz8uWydyZXF1ZXN0SWQnXSB8fFxuICAgICAgICAgIHNjb3BlQXR0cmlidXRlcz8ucmVxdWVzdElkIHx8XG4gICAgICAgICAgJ3Vua25vd24nLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgbG9nRXJyb3IoZGF0YTogTG9nUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5sb2coe1xuICAgICAgLi4uZGF0YSxcbiAgICAgIHNldmVyaXR5OiAnRVJST1InLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbG9nSW5mbyhkYXRhOiBMb2dQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxvZyh7XG4gICAgICAuLi5kYXRhLFxuICAgICAgc2V2ZXJpdHk6ICdJTkZPJyxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGxvZ1dhcm4oZGF0YTogTG9nUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5sb2coe1xuICAgICAgLi4uZGF0YSxcbiAgICAgIHNldmVyaXR5OiAnV0FSTicsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBsb2dEZWJ1ZyhkYXRhOiBMb2dQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxvZyh7XG4gICAgICAuLi5kYXRhLFxuICAgICAgc2V2ZXJpdHk6ICdERUJVRycsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBsb2coXG4gICAgZGF0YTogT21pdDxMb2dQYXJhbXMsICd0aW1lc3RhbXAnIHwgJ2Vudmlyb25tZW50Jz4gJiB7XG4gICAgICBzZXZlcml0eTogU3RhbmRhcmRMb2dEYXRhWydzZXZlcml0eSddO1xuICAgIH1cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZnVsbERhdGE6IFN0YW5kYXJkTG9nRGF0YSA9IHtcbiAgICAgIC4uLmRhdGEsXG4gICAgICBzZXJ2aWNlTmFtZTogZGF0YS5zZXJ2aWNlTmFtZSB8fCB0aGlzLmRlZmF1bHRTZXJ2aWNlTmFtZSxcbiAgICAgIGVudmlyb25tZW50OiB0aGlzLmVudmlyb25tZW50LFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgfTtcblxuICAgIGNvbnN0IHNldmVyaXR5TWFwID0ge1xuICAgICAgRVJST1I6IFNldmVyaXR5TnVtYmVyLkVSUk9SLFxuICAgICAgV0FSTjogU2V2ZXJpdHlOdW1iZXIuV0FSTixcbiAgICAgIElORk86IFNldmVyaXR5TnVtYmVyLklORk8sXG4gICAgICBERUJVRzogU2V2ZXJpdHlOdW1iZXIuREVCVUcsXG4gICAgfTtcblxuICAgIGNvbnN0IGxvZ1JlY29yZCA9IHtcbiAgICAgIG1lc3NhZ2U6IGZ1bGxEYXRhLm1lc3NhZ2UgfHwgJycsXG4gICAgICBzZXZlcml0eU51bWJlcjogc2V2ZXJpdHlNYXBbZnVsbERhdGEuc2V2ZXJpdHldLFxuICAgICAgc2V2ZXJpdHlUZXh0OiBmdWxsRGF0YS5zZXZlcml0eSxcbiAgICAgIGJvZHk6IGZ1bGxEYXRhLmJvZHkgfHwgZnVsbERhdGEubWVzc2FnZSB8fCAnJyxcbiAgICAgIGF0dHJpYnV0ZXM6IHRoaXMuYnVpbGRBdHRyaWJ1dGVzKGZ1bGxEYXRhKSxcbiAgICB9O1xuXG4gICAgdGhpcy5sb2dnZXIuZW1pdChsb2dSZWNvcmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEF0dHJpYnV0ZXMoZGF0YTogU3RhbmRhcmRMb2dEYXRhKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgYW55PiA9IHtcbiAgICAgIGR1cmF0aW9uOiB7XG4gICAgICAgIHRpbWVzdGFtcDogZGF0YS50aW1lc3RhbXAsXG4gICAgICB9LFxuICAgICAgc2VydmljZToge1xuICAgICAgICBuYW1lOiBkYXRhLnNlcnZpY2VOYW1lIHx8IHRoaXMuZGVmYXVsdFNlcnZpY2VOYW1lLFxuICAgICAgfSxcbiAgICAgIGRlcGxveW1lbnQ6IHtcbiAgICAgICAgZW52aXJvbm1lbnROYW1lOiBkYXRhLmVudmlyb25tZW50LFxuICAgICAgfSxcbiAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAuLi5kYXRhLmV4ZWN1dGlvbixcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIEluZm9ybWHDp8O1ZXMgZG8gZXJyb1xuICAgIGlmIChkYXRhLmVycm9yKSB7XG4gICAgICBhdHRyaWJ1dGVzWydlcnJvciddID0ge1xuICAgICAgICB0eXBlOiBkYXRhLmVycm9yLm5hbWUgfHwgJycsXG4gICAgICAgIG1lc3NhZ2U6IGRhdGEuZXJyb3IubWVzc2FnZSB8fCAnJyxcbiAgICAgICAgc3RhY2s6IGRhdGEuZXJyb3Iuc3RhY2sgfHwgJycsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIFBlcmZvcm1hbmNlXG4gICAgaWYgKGRhdGEucGVyZm9ybWFuY2UpIHtcbiAgICAgIGlmIChkYXRhLnBlcmZvcm1hbmNlLmR1cmF0aW9uTXMpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2R1cmF0aW9uJ11bJ21zJ10gPSBkYXRhLnBlcmZvcm1hbmNlLmR1cmF0aW9uTXM7XG4gICAgICBpZiAoZGF0YS5wZXJmb3JtYW5jZS5zdWNjZXNzICE9PSB1bmRlZmluZWQpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2V4ZWN1dGlvbiddWydzdWNjZXNzJ10gPSBkYXRhLnBlcmZvcm1hbmNlLnN1Y2Nlc3M7XG4gICAgfVxuXG4gICAgLy8gQ29udGV4dG8gYWRpY2lvbmFsXG4gICAgaWYgKGRhdGEuY29udGV4dCkge1xuICAgICAgYXR0cmlidXRlc1snY29udGV4dCddID0gSlNPTi5zdHJpbmdpZnkoZGF0YS5jb250ZXh0KTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0ge1xuICAgICAgLi4uZGF0YSxcbiAgICAgIC4uLnRoaXMuZGVmYXVsdEF0dHJpYnV0ZXMsXG4gICAgICAuLi5hdHRyaWJ1dGVzLFxuICAgIH07XG5cbiAgICBkZWxldGUgZW50cmllcy5ib2R5O1xuXG4gICAgLy8gRmlsdHJhciB2YWxvcmVzIHVuZGVmaW5lZC9udWxsXG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGVudHJpZXMpLmZpbHRlcihcbiAgICAgICAgKFssIHZhbHVlXSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbFxuICAgICAgKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFpRTtBQUlqRSwrQ0FBb0Q7QUFNcEQsTUFBYSxjQUFjO0lBVXpCLFlBQ0UsTUFBYyxFQUNkLE1BQXVCLEVBQ3ZCLGVBQTRCLEVBQzVCLGNBQXdCO1FBYm5CLHNCQUFpQixHQUF3QixFQUFFLENBQUM7UUFPbEMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFRL0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZO1lBQ2hELENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVk7WUFDMUIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBRXRCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUEsaUNBQW1CLEdBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsY0FBYztZQUNqQixjQUFjLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxhQUFhLElBQUksS0FBSyxDQUFDO0lBQ2xFLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxlQUFxQjs7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHO1lBQ3ZCLEtBQUssRUFBRTtnQkFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPO2FBQzNDO1lBQ0Qs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QVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELE1BQU0sT0FBTyxpREFDUixJQUFJLEdBQ0osSUFBSSxDQUFDLGlCQUFpQixHQUN0QixVQUFVLENBQ2QsQ0FBQztRQUVGLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQztRQUdwQixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUM1QixDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUNyRCxDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE5S0Qsd0NBOEtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2V2ZXJpdHlOdW1iZXIsIExvZ2dlciB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L2FwaS1sb2dzJztcbmltcG9ydCB7IElTdGFuZGFyZExvZ2dlciwgU3RhbmRhcmRMb2dEYXRhLCBMb2dQYXJhbXMgfSBmcm9tICcuL2xvZ2dlci10eXBlcyc7XG5pbXBvcnQgeyBJU3RhbmRhcmRUcmFjZXIgfSBmcm9tICcuL3RyYWNlci10eXBlcyc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVzLCBTcGFuIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpJztcbmltcG9ydCB7IGdldEVudmlyb25tZW50U3RhZ2UgfSBmcm9tICcuL2Vudmlyb25tZW50JztcblxuLyoqXG4gKiBMb2dnZXIgY29yZSBxdWUgaW1wbGVtZW50YSBvIHBhZHLDo28gZGUgbG9ncyBlc3RydXR1cmFkb3MuXG4gKiBSZWNlYmUgdW0gTG9nZ2VyUHJvdmlkZXIgZG8gT3BlblRlbGVtZXRyeSBwYXJhIGVtaXRpciBvcyBsb2dzLlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRMb2dnZXIgaW1wbGVtZW50cyBJU3RhbmRhcmRMb2dnZXIge1xuICBwdWJsaWMgZGVmYXVsdEF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgcHVibGljIHNjb3BlQXR0cmlidXRlcz86IEF0dHJpYnV0ZXM7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhY2VyOiBJU3RhbmRhcmRUcmFjZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3BhbkNvbnRleHQ6IFNwYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgZW52aXJvbm1lbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0U2VydmljZU5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBkaXNhYmxlRW1pdHRlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxvZ2dlcjogTG9nZ2VyLFxuICAgIHRyYWNlcjogSVN0YW5kYXJkVHJhY2VyLFxuICAgIHNjb3BlQXR0cmlidXRlcz86IEF0dHJpYnV0ZXMsXG4gICAgZGlzYWJsZUVtaXR0ZXI/OiBib29sZWFuXG4gICkge1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyO1xuICAgIHRoaXMudHJhY2VyID0gdHJhY2VyO1xuICAgIHRoaXMuc3BhbkNvbnRleHQgPSB0aGlzLnRyYWNlci5nZXRUcmFjZXIoKS5zdGFydFNwYW4oJ2luaXQtbG9nZ2VyJyk7XG5cbiAgICB0aGlzLmRlZmF1bHRTZXJ2aWNlTmFtZSA9IHByb2Nlc3MuZW52LlNFUlZJQ0VfTkFNRVxuICAgICAgPyBwcm9jZXNzLmVudi5TRVJWSUNFX05BTUVcbiAgICAgIDogJ3Vua25vd24tc2VydmljZSc7XG5cbiAgICB0aGlzLnNjb3BlQXR0cmlidXRlcyA9IHNjb3BlQXR0cmlidXRlcztcbiAgICB0aGlzLmRlZmluZURlZmF1bHRBdHRyaWJ1dGVzKHNjb3BlQXR0cmlidXRlcyk7XG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IGdldEVudmlyb25tZW50U3RhZ2UoKTtcbiAgICB0aGlzLmRpc2FibGVFbWl0dGVyID1cbiAgICAgIGRpc2FibGVFbWl0dGVyIHx8IHRoaXMuZW52aXJvbm1lbnQgPT09ICdkZXZlbG9wbWVudCcgfHwgZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZGVmaW5lRGVmYXVsdEF0dHJpYnV0ZXMoc2NvcGVBdHRyaWJ1dGVzPzogYW55KSB7XG4gICAgdGhpcy5kZWZhdWx0QXR0cmlidXRlcyA9IHtcbiAgICAgIHRyYWNlOiB7XG4gICAgICAgIGlkOiB0aGlzLnNwYW5Db250ZXh0LnNwYW5Db250ZXh0KCkudHJhY2VJZCxcbiAgICAgIH0sXG4gICAgICBzcGFuOiB7XG4gICAgICAgIGlkOiB0aGlzLnNwYW5Db250ZXh0LnNwYW5Db250ZXh0KCkuc3BhbklkLFxuICAgICAgfSxcbiAgICAgIGZ1bmN0aW9uOiB7XG4gICAgICAgIG5hbWU6XG4gICAgICAgICAgc2NvcGVBdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uJ10/LlsnbmFtZSddIHx8XG4gICAgICAgICAgc2NvcGVBdHRyaWJ1dGVzPy5mdW5jdGlvbk5hbWUgfHxcbiAgICAgICAgICAndW5rbm93bicsXG4gICAgICAgIGludm9jYXRpb25JZDpcbiAgICAgICAgICBzY29wZUF0dHJpYnV0ZXM/LlsnZnVuY3Rpb24nXT8uWydpbnZvY2F0aW9uSWQnXSB8fFxuICAgICAgICAgIHNjb3BlQXR0cmlidXRlcz8uWydleGVjdXRpb24nXT8uWydhd3NSZXF1ZXN0SWQnXSB8fFxuICAgICAgICAgIHNjb3BlQXR0cmlidXRlcz8uaW52b2NhdGlvbklkIHx8XG4gICAgICAgICAgJ3Vua25vd24nLFxuICAgICAgfSxcbiAgICAgIHJlcXVlc3Q6IHtcbiAgICAgICAgaWQ6XG4gICAgICAgICAgc2NvcGVBdHRyaWJ1dGVzPy5bJ3JlcXVlc3RJZCddIHx8XG4gICAgICAgICAgc2NvcGVBdHRyaWJ1dGVzPy5yZXF1ZXN0SWQgfHxcbiAgICAgICAgICAndW5rbm93bicsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBhc3luYyBsb2dFcnJvcihkYXRhOiBMb2dQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxvZyh7XG4gICAgICAuLi5kYXRhLFxuICAgICAgc2V2ZXJpdHk6ICdFUlJPUicsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBsb2dJbmZvKGRhdGE6IExvZ1BhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubG9nKHtcbiAgICAgIC4uLmRhdGEsXG4gICAgICBzZXZlcml0eTogJ0lORk8nLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbG9nV2FybihkYXRhOiBMb2dQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxvZyh7XG4gICAgICAuLi5kYXRhLFxuICAgICAgc2V2ZXJpdHk6ICdXQVJOJyxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGxvZ0RlYnVnKGRhdGE6IExvZ1BhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubG9nKHtcbiAgICAgIC4uLmRhdGEsXG4gICAgICBzZXZlcml0eTogJ0RFQlVHJyxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGxvZyhcbiAgICBkYXRhOiBPbWl0PExvZ1BhcmFtcywgJ3RpbWVzdGFtcCcgfCAnZW52aXJvbm1lbnQnPiAmIHtcbiAgICAgIHNldmVyaXR5OiBTdGFuZGFyZExvZ0RhdGFbJ3NldmVyaXR5J107XG4gICAgfVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmdWxsRGF0YTogU3RhbmRhcmRMb2dEYXRhID0ge1xuICAgICAgLi4uZGF0YSxcbiAgICAgIHNlcnZpY2VOYW1lOiBkYXRhLnNlcnZpY2VOYW1lIHx8IHRoaXMuZGVmYXVsdFNlcnZpY2VOYW1lLFxuICAgICAgZW52aXJvbm1lbnQ6IHRoaXMuZW52aXJvbm1lbnQsXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICB9O1xuXG4gICAgY29uc3Qgc2V2ZXJpdHlNYXAgPSB7XG4gICAgICBFUlJPUjogU2V2ZXJpdHlOdW1iZXIuRVJST1IsXG4gICAgICBXQVJOOiBTZXZlcml0eU51bWJlci5XQVJOLFxuICAgICAgSU5GTzogU2V2ZXJpdHlOdW1iZXIuSU5GTyxcbiAgICAgIERFQlVHOiBTZXZlcml0eU51bWJlci5ERUJVRyxcbiAgICB9O1xuXG4gICAgY29uc3QgbG9nUmVjb3JkID0ge1xuICAgICAgbWVzc2FnZTogZnVsbERhdGEubWVzc2FnZSB8fCAnJyxcbiAgICAgIHNldmVyaXR5TnVtYmVyOiBzZXZlcml0eU1hcFtmdWxsRGF0YS5zZXZlcml0eV0sXG4gICAgICBzZXZlcml0eVRleHQ6IGZ1bGxEYXRhLnNldmVyaXR5LFxuICAgICAgYm9keTogZnVsbERhdGEuYm9keSB8fCBmdWxsRGF0YS5tZXNzYWdlIHx8ICcnLFxuICAgICAgYXR0cmlidXRlczogdGhpcy5idWlsZEF0dHJpYnV0ZXMoZnVsbERhdGEpLFxuICAgIH07XG5cbiAgICBpZiAodGhpcy5kaXNhYmxlRW1pdHRlcikge1xuICAgICAgY29uc29sZS5sb2coJ1tUZWxlbWV0cnldIExvZyBlbWlzc2lvbiBkaXNhYmxlZC4gTG9nIHJlY29yZDonLCBsb2dSZWNvcmQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci5lbWl0KGxvZ1JlY29yZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEF0dHJpYnV0ZXMoZGF0YTogU3RhbmRhcmRMb2dEYXRhKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgYW55PiA9IHtcbiAgICAgIGR1cmF0aW9uOiB7XG4gICAgICAgIHRpbWVzdGFtcDogZGF0YS50aW1lc3RhbXAsXG4gICAgICB9LFxuICAgICAgc2VydmljZToge1xuICAgICAgICBuYW1lOiBkYXRhLnNlcnZpY2VOYW1lIHx8IHRoaXMuZGVmYXVsdFNlcnZpY2VOYW1lLFxuICAgICAgfSxcbiAgICAgIGRlcGxveW1lbnQ6IHtcbiAgICAgICAgZW52aXJvbm1lbnROYW1lOiBkYXRhLmVudmlyb25tZW50LFxuICAgICAgfSxcbiAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAuLi5kYXRhLmV4ZWN1dGlvbixcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIEluZm9ybWHDp8O1ZXMgZG8gZXJyb1xuICAgIGlmIChkYXRhLmVycm9yKSB7XG4gICAgICBhdHRyaWJ1dGVzWydlcnJvciddID0ge1xuICAgICAgICB0eXBlOiBkYXRhLmVycm9yLm5hbWUgfHwgJycsXG4gICAgICAgIG1lc3NhZ2U6IGRhdGEuZXJyb3IubWVzc2FnZSB8fCAnJyxcbiAgICAgICAgc3RhY2s6IGRhdGEuZXJyb3Iuc3RhY2sgfHwgJycsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIFBlcmZvcm1hbmNlXG4gICAgaWYgKGRhdGEucGVyZm9ybWFuY2UpIHtcbiAgICAgIGlmIChkYXRhLnBlcmZvcm1hbmNlLmR1cmF0aW9uTXMpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2R1cmF0aW9uJ11bJ21zJ10gPSBkYXRhLnBlcmZvcm1hbmNlLmR1cmF0aW9uTXM7XG4gICAgICBpZiAoZGF0YS5wZXJmb3JtYW5jZS5zdWNjZXNzICE9PSB1bmRlZmluZWQpXG4gICAgICAgIGF0dHJpYnV0ZXNbJ2V4ZWN1dGlvbiddWydzdWNjZXNzJ10gPSBkYXRhLnBlcmZvcm1hbmNlLnN1Y2Nlc3M7XG4gICAgfVxuXG4gICAgLy8gQ29udGV4dG8gYWRpY2lvbmFsXG4gICAgaWYgKGRhdGEuY29udGV4dCkge1xuICAgICAgYXR0cmlidXRlc1snY29udGV4dCddID0gSlNPTi5zdHJpbmdpZnkoZGF0YS5jb250ZXh0KTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0ge1xuICAgICAgLi4uZGF0YSxcbiAgICAgIC4uLnRoaXMuZGVmYXVsdEF0dHJpYnV0ZXMsXG4gICAgICAuLi5hdHRyaWJ1dGVzLFxuICAgIH07XG5cbiAgICBkZWxldGUgZW50cmllcy5ib2R5O1xuXG4gICAgLy8gRmlsdHJhciB2YWxvcmVzIHVuZGVmaW5lZC9udWxsXG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGVudHJpZXMpLmZpbHRlcihcbiAgICAgICAgKFssIHZhbHVlXSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbFxuICAgICAgKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -9,6 +9,7 @@ export declare function extractHttpAttributes(event: any): {
9
9
  };
10
10
  export declare function extractLoggedUser(event: any): {
11
11
  email?: string;
12
+ name?: string;
12
13
  uid?: string;
13
14
  } | undefined;
14
15
  export declare function extractDefaultAttributes(request: any): Record<string, any>;
@@ -3,10 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractHttpAttributes = extractHttpAttributes;
4
4
  exports.extractLoggedUser = extractLoggedUser;
5
5
  exports.extractDefaultAttributes = extractDefaultAttributes;
6
- const environment_1 = require("../core/environment");
7
6
  function extractHttpAttributes(event) {
8
7
  var _a, _b, _c, _d, _e, _f;
9
- if (event.requestContext) {
8
+ if (event === null || event === void 0 ? void 0 : event.requestContext) {
10
9
  return {
11
10
  method: ((_a = event.requestContext.http) === null || _a === void 0 ? void 0 : _a.method) || 'unknown',
12
11
  routeKey: event.routeKey || ((_b = event.requestContext) === null || _b === void 0 ? void 0 : _b.routeKey) || 'unknown',
@@ -18,27 +17,30 @@ function extractHttpAttributes(event) {
18
17
  };
19
18
  }
20
19
  return {
21
- method: event.httpMethod || 'unknown',
22
- routeKey: event.routeKey || ((_e = event.requestContext) === null || _e === void 0 ? void 0 : _e.routeKey) || 'unknown',
23
- url: event.path || 'unknown',
24
- user_agent: ((_f = event.headers) === null || _f === void 0 ? void 0 : _f['User-Agent']) || 'unknown',
25
- path_parameters: event.pathParameters || {},
26
- query_string_parameters: event.queryStringParameters || {},
27
- body: event.body || {},
20
+ method: (event === null || event === void 0 ? void 0 : event.httpMethod) || 'unknown',
21
+ routeKey: (event === null || event === void 0 ? void 0 : event.routeKey) || ((_e = event.requestContext) === null || _e === void 0 ? void 0 : _e.routeKey) || 'unknown',
22
+ url: (event === null || event === void 0 ? void 0 : event.path) || 'unknown',
23
+ user_agent: ((_f = event === null || event === void 0 ? void 0 : event.headers) === null || _f === void 0 ? void 0 : _f['User-Agent']) || 'unknown',
24
+ path_parameters: (event === null || event === void 0 ? void 0 : event.pathParameters) || {},
25
+ query_string_parameters: (event === null || event === void 0 ? void 0 : event.queryStringParameters) || {},
26
+ body: (event === null || event === void 0 ? void 0 : event.body) || {},
28
27
  };
29
28
  }
30
29
  function extractLoggedUser(event) {
31
- var _a, _b, _c, _d, _e, _f;
32
- let loggedUser = (_c = (_b = (_a = event === null || event === void 0 ? void 0 : event.requestContext) === null || _a === void 0 ? void 0 : _a.authorizer) === null || _b === void 0 ? void 0 : _b.lambda) === null || _c === void 0 ? void 0 : _c.loggerUser;
30
+ var _a, _b, _c, _d;
31
+ let loggedUser = (_c = (_b = (_a = event === null || event === void 0 ? void 0 : event.requestContext) === null || _a === void 0 ? void 0 : _a.authorizer) === null || _b === void 0 ? void 0 : _b.lambda) === null || _c === void 0 ? void 0 : _c.loggedUser;
33
32
  if (loggedUser) {
34
33
  loggedUser =
35
34
  typeof loggedUser === 'string' ? JSON.parse(loggedUser) : loggedUser;
36
- if ((loggedUser === null || loggedUser === void 0 ? void 0 : loggedUser.user) &&
37
- ((_d = loggedUser === null || loggedUser === void 0 ? void 0 : loggedUser.user) === null || _d === void 0 ? void 0 : _d.account_user) &&
38
- ((_f = (_e = loggedUser === null || loggedUser === void 0 ? void 0 : loggedUser.user) === null || _e === void 0 ? void 0 : _e.account_user) === null || _f === void 0 ? void 0 : _f.account)) {
35
+ const accountUser = (_d = loggedUser === null || loggedUser === void 0 ? void 0 : loggedUser.user) === null || _d === void 0 ? void 0 : _d.account_user;
36
+ const firstAccountUser = Array.isArray(accountUser)
37
+ ? accountUser[0]
38
+ : accountUser;
39
+ if ((loggedUser === null || loggedUser === void 0 ? void 0 : loggedUser.user) && accountUser && (firstAccountUser === null || firstAccountUser === void 0 ? void 0 : firstAccountUser.account)) {
39
40
  return {
40
41
  email: loggedUser.user.email,
41
- uid: loggedUser.user.account_user.account.uid,
42
+ uid: firstAccountUser.account.uid,
43
+ name: firstAccountUser.account.name,
42
44
  };
43
45
  }
44
46
  }
@@ -46,28 +48,46 @@ function extractLoggedUser(event) {
46
48
  }
47
49
  function extractDefaultAttributes(request) {
48
50
  var _a, _b;
49
- const lambdaContext = (request === null || request === void 0 ? void 0 : request.context) || (request === null || request === void 0 ? void 0 : request.lambdaContext);
50
- const functionName = (lambdaContext === null || lambdaContext === void 0 ? void 0 : lambdaContext.functionName) || 'unknown';
51
- const invocationId = (lambdaContext === null || lambdaContext === void 0 ? void 0 : lambdaContext.awsRequestId) || 'unknown';
52
- const serviceName = process.env.SERVICE_NAME || 'sst-service';
53
- const event = request === null || request === void 0 ? void 0 : request.event;
54
- const queryStringParameters = (event === null || event === void 0 ? void 0 : event.queryStringParameters) || {};
55
- const origin = queryStringParameters.origin || 'unknown';
56
- const http = extractHttpAttributes(event);
57
- const routeKey = (event === null || event === void 0 ? void 0 : event.routeKey) || ((_a = event === null || event === void 0 ? void 0 : event.requestContext) === null || _a === void 0 ? void 0 : _a.routeKey) || 'unknown';
58
- const requestId = (event === null || event === void 0 ? void 0 : event.requestId) || ((_b = event === null || event === void 0 ? void 0 : event.requestContext) === null || _b === void 0 ? void 0 : _b.requestId) || 'unknown';
59
- const loggedUser = extractLoggedUser(event);
60
- const stage = (0, environment_1.getEnvironmentStage)();
61
- return {
62
- functionName,
63
- invocationId,
64
- serviceName,
65
- origin,
66
- routeKey,
67
- requestId,
68
- stage,
69
- http,
70
- loggedUser,
71
- };
51
+ try {
52
+ const lambdaContext = (request === null || request === void 0 ? void 0 : request.context) || (request === null || request === void 0 ? void 0 : request.lambdaContext);
53
+ const functionName = (lambdaContext === null || lambdaContext === void 0 ? void 0 : lambdaContext.functionName) || 'unknown';
54
+ const invocationId = (lambdaContext === null || lambdaContext === void 0 ? void 0 : lambdaContext.awsRequestId) || 'unknown';
55
+ const serviceName = process.env.SERVICE_NAME || 'sst-service';
56
+ const event = (request === null || request === void 0 ? void 0 : request.event) || request;
57
+ const queryStringParameters = (event === null || event === void 0 ? void 0 : event.queryStringParameters) || {};
58
+ const origin = queryStringParameters.origin || 'unknown';
59
+ const http = extractHttpAttributes(event);
60
+ const routeKey = (event === null || event === void 0 ? void 0 : event.routeKey) || ((_a = event === null || event === void 0 ? void 0 : event.requestContext) === null || _a === void 0 ? void 0 : _a.routeKey) || 'unknown';
61
+ const requestId = (event === null || event === void 0 ? void 0 : event.requestId) || ((_b = event === null || event === void 0 ? void 0 : event.requestContext) === null || _b === void 0 ? void 0 : _b.requestId) || 'unknown';
62
+ const loggedUser = extractLoggedUser(event);
63
+ let stage = process.env.STAGE || 'development';
64
+ if (stage === 'prod')
65
+ stage = 'production';
66
+ return {
67
+ functionName,
68
+ invocationId,
69
+ serviceName,
70
+ origin,
71
+ routeKey,
72
+ requestId,
73
+ stage,
74
+ http,
75
+ loggedUser,
76
+ };
77
+ }
78
+ catch (error) {
79
+ console.error('[Telemetry] Error extracting default attributes:', error);
80
+ return {
81
+ functionName: 'unknown',
82
+ invocationId: 'unknown',
83
+ serviceName: 'unknown',
84
+ origin: 'unknown',
85
+ routeKey: 'unknown',
86
+ requestId: 'unknown',
87
+ stage: 'unknown',
88
+ http: {},
89
+ loggedUser: undefined,
90
+ };
91
+ }
72
92
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zc3QvZXh0cmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLHNEQThCQztBQUVELDhDQXFCQztBQUVELDREQTJCQztBQXBGRCxxREFBMEQ7QUFFMUQsU0FBZ0IscUJBQXFCLENBQUMsS0FBVTs7SUFTOUMsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsT0FBTztZQUNMLE1BQU0sRUFBRSxDQUFBLE1BQUEsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLDBDQUFFLE1BQU0sS0FBSSxTQUFTO1lBQ3RELFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxLQUFJLE1BQUEsS0FBSyxDQUFDLGNBQWMsMENBQUUsUUFBUSxDQUFBLElBQUksU0FBUztZQUN2RSxHQUFHLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUFVLEtBQUksTUFBQSxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksMENBQUUsSUFBSSxDQUFBO1lBQ3ZFLFVBQVUsRUFBRSxDQUFBLE1BQUEsS0FBSyxDQUFDLE9BQU8sMENBQUcsWUFBWSxDQUFDLEtBQUksU0FBUztZQUN0RCxlQUFlLEVBQUUsS0FBSyxDQUFDLGNBQWMsSUFBSSxFQUFFO1lBQzNDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxFQUFFO1lBQzFELElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUU7U0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLElBQUksU0FBUztRQUNyQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsS0FBSSxNQUFBLEtBQUssQ0FBQyxjQUFjLDBDQUFFLFFBQVEsQ0FBQSxJQUFJLFNBQVM7UUFDdkUsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksU0FBUztRQUM1QixVQUFVLEVBQUUsQ0FBQSxN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bUIsR0FBRSxDQUFDO0lBRXBDLE9BQU87UUFDTCxZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxNQUFNO1FBQ04sUUFBUTtRQUNSLFNBQVM7UUFDVCxLQUFLO1FBQ0wsSUFBSTtRQUNKLFVBQVU7S0FDWCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEVudmlyb25tZW50U3RhZ2UgfSBmcm9tICcuLi9jb3JlL2Vudmlyb25tZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RIdHRwQXR0cmlidXRlcyhldmVudDogYW55KToge1xuICBtZXRob2Q6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG4gIHJvdXRlS2V5Pzogc3RyaW5nO1xuICB1c2VyX2FnZW50OiBzdHJpbmc7XG4gIHBhdGhfcGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgcXVlcnlfc3RyaW5nX3BhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGJvZHk6IGFueTtcbn0ge1xuICBpZiAoZXZlbnQucmVxdWVzdENvbnRleHQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWV0aG9kOiBldmVudC5yZXF1ZXN0Q29udGV4dC5odHRwPy5tZXRob2QgfHwgJ3Vua25vd24nLFxuICAgICAgcm91dGVLZXk6IGV2ZW50LnJvdXRlS2V5IHx8IGV2ZW50LnJlcXVlc3RDb250ZXh0Py5yb3V0ZUtleSB8fCAndW5rbm93bicsXG4gICAgICB1cmw6IGV2ZW50LnJlcXVlc3RDb250ZXh0LmRvbWFpbk5hbWUgJiYgZXZlbnQucmVxdWVzdENvbnRleHQuaHR0cD8ucGF0aCxcbiAgICAgIHVzZXJfYWdlbnQ6IGV2ZW50LmhlYWRlcnM/LlsndXNlci1hZ2VudCddIHx8ICd1bmtub3duJyxcbiAgICAgIHBhdGhfcGFyYW1ldGVyczogZXZlbnQucGF0aFBhcmFtZXRlcnMgfHwge30sXG4gICAgICBxdWVyeV9zdHJpbmdfcGFyYW1ldGVyczogZXZlbnQucXVlcnlTdHJpbmdQYXJhbWV0ZXJzIHx8IHt9LFxuICAgICAgYm9keTogZXZlbnQuYm9keSB8fCB7fSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZXRob2Q6IGV2ZW50Lmh0dHBNZXRob2QgfHwgJ3Vua25vd24nLFxuICAgIHJvdXRlS2V5OiBldmVudC5yb3V0ZUtleSB8fCBldmVudC5yZXF1ZXN0Q29udGV4dD8ucm91dGVLZXkgfHwgJ3Vua25vd24nLFxuICAgIHVybDogZXZlbnQucGF0aCB8fCAndW5rbm93bicsXG4gICAgdXNlcl9hZ2VudDogZXZlbnQuaGVhZGVycz8uWydVc2VyLUFnZW50J10gfHwgJ3Vua25vd24nLFxuICAgIHBhdGhfcGFyYW1ldGVyczogZXZlbnQucGF0aFBhcmFtZXRlcnMgfHwge30sXG4gICAgcXVlcnlfc3RyaW5nX3BhcmFtZXRlcnM6IGV2ZW50LnF1ZXJ5U3RyaW5nUGFyYW1ldGVycyB8fCB7fSxcbiAgICBib2R5OiBldmVudC5ib2R5IHx8IHt9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdExvZ2dlZFVzZXIoXG4gIGV2ZW50OiBhbnlcbik6IHsgZW1haWw/OiBzdHJpbmc7IHVpZD86IHN0cmluZyB9IHwgdW5kZWZpbmVkIHtcbiAgbGV0IGxvZ2dlZFVzZXIgPSBldmVudD8ucmVxdWVzdENvbnRleHQ/LmF1dGhvcml6ZXI/LmxhbWJkYT8ubG9nZ2VyVXNlcjtcblxuICBpZiAobG9nZ2VkVXNlcikge1xuICAgIGxvZ2dlZFVzZXIgPVxuICAgICAgdHlwZW9mIGxvZ2dlZFVzZXIgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShsb2dnZWRVc2VyKSA6IGxvZ2dlZFVzZXI7XG4gICAgaWYgKFxuICAgICAgbG9nZ2VkVXNlcj8udXNlciAmJlxuICAgICAgbG9nZ2VkVXNlcj8udXNlcj8uYWNjb3VudF91c2VyICYmXG4gICAgICBsb2dnZWRVc2VyPy51c2VyPy5hY2NvdW50X3VzZXI/LmFjY291bnRcbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVtYWlsOiBsb2dnZWRVc2VyLnVzZXIuZW1haWwsXG4gICAgICAgIHVpZDogbG9nZ2VkVXNlci51c2VyLmFjY291bnRfdXNlci5hY2NvdW50LnVpZCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3REZWZhdWx0QXR0cmlidXRlcyhyZXF1ZXN0OiBhbnkpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgY29uc3QgbGFtYmRhQ29udGV4dCA9IHJlcXVlc3Q/LmNvbnRleHQgfHwgcmVxdWVzdD8ubGFtYmRhQ29udGV4dDtcbiAgY29uc3QgZnVuY3Rpb25OYW1lID0gbGFtYmRhQ29udGV4dD8uZnVuY3Rpb25OYW1lIHx8ICd1bmtub3duJztcbiAgY29uc3QgaW52b2NhdGlvbklkID0gbGFtYmRhQ29udGV4dD8uYXdzUmVxdWVzdElkIHx8ICd1bmtub3duJztcbiAgY29uc3Qgc2VydmljZU5hbWUgPSBwcm9jZXNzLmVudi5TRVJWSUNFX05BTUUgfHwgJ3NzdC1zZXJ2aWNlJztcbiAgY29uc3QgZXZlbnQgPSByZXF1ZXN0Py5ldmVudDtcbiAgY29uc3QgcXVlcnlTdHJpbmdQYXJhbWV0ZXJzID0gZXZlbnQ/LnF1ZXJ5U3RyaW5nUGFyYW1ldGVycyB8fCB7fTtcbiAgY29uc3Qgb3JpZ2luID0gcXVlcnlTdHJpbmdQYXJhbWV0ZXJzLm9yaWdpbiB8fCAndW5rbm93bic7XG4gIGNvbnN0IGh0dHAgPSBleHRyYWN0SHR0cEF0dHJpYnV0ZXMoZXZlbnQpO1xuICBjb25zdCByb3V0ZUtleSA9XG4gICAgZXZlbnQ/LnJvdXRlS2V5IHx8IGV2ZW50Py5yZXF1ZXN0Q29udGV4dD8ucm91dGVLZXkgfHwgJ3Vua25vd24nO1xuICBjb25zdCByZXF1ZXN0SWQgPVxuICAgIGV2ZW50Py5yZXF1ZXN0SWQgfHwgZXZlbnQ/LnJlcXVlc3RDb250ZXh0Py5yZXF1ZXN0SWQgfHwgJ3Vua25vd24nO1xuICBjb25zdCBsb2dnZWRVc2VyID0gZXh0cmFjdExvZ2dlZFVzZXIoZXZlbnQpO1xuICBjb25zdCBzdGFnZSA9IGdldEVudmlyb25tZW50U3RhZ2UoKTtcblxuICByZXR1cm4ge1xuICAgIGZ1bmN0aW9uTmFtZSxcbiAgICBpbnZvY2F0aW9uSWQsXG4gICAgc2VydmljZU5hbWUsXG4gICAgb3JpZ2luLFxuICAgIHJvdXRlS2V5LFxuICAgIHJlcXVlc3RJZCxcbiAgICBzdGFnZSxcbiAgICBodHRwLFxuICAgIGxvZ2dlZFVzZXIsXG4gIH07XG59XG4iXX0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zc3QvZXh0cmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLHNEQThCQztBQUVELDhDQXdCQztBQUVELDREQTJDQztBQXJHRCxTQUFnQixxQkFBcUIsQ0FBQyxLQUFVOztJQVM5QyxJQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxjQUFjLEVBQUUsQ0FBQztRQUMxQixPQUFPO1lBQ0wsTUFBTSxFQUFFLENBQUEsTUFBQSxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksMENBQUUsTUFBTSxLQUFJLFNBQVM7WUFDdEQsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLEtBQUksTUFBQSxLQUFLLENBQUMsY0FBYywwQ0FBRSxRQUFRLENBQUEsSUFBSSxTQUFTO1lBQ3ZFLEdBQUcsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLFVBQVUsS0FBSSxNQUFBLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSwwQ0FBRSxJQUFJLENBQUE7WUFDdkUsVUFBVSxFQUFFLENBQUEsTUFBQSxLQUFLLENBQUMsT0FBTywwQ0FBRyxZQUFZLENBQUMsS0FBSSxTQUFTO1lBQ3RELGVBQWUsRUFBRSxLQUFLLENBQUMsY0FBYyxJQUFJLEVBQUU7WUFDM0MsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLHFCQUFxQixJQUFJLEVBQUU7WUFDMUQsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTtTQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLEVBQUUsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsVUFBVSxLQUFJLFNBQVM7UUFDdEMsUUFBUSxFQUFFLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFFBQVEsTUFBSSxNQUFBLEtBQUssQ0FBQyxjQUFjLDBDQUFFLFFBQVEsQ0FBQSxJQUFJLFNBQVM7UUFD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aXJvbm1lbnRTdGFnZSB9IGZyb20gJy4uL2NvcmUvZW52aXJvbm1lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdEh0dHBBdHRyaWJ1dGVzKGV2ZW50OiBhbnkpOiB7XG4gIG1ldGhvZDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgcm91dGVLZXk/OiBzdHJpbmc7XG4gIHVzZXJfYWdlbnQ6IHN0cmluZztcbiAgcGF0aF9wYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBxdWVyeV9zdHJpbmdfcGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgYm9keTogYW55O1xufSB7XG4gIGlmIChldmVudD8ucmVxdWVzdENvbnRleHQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWV0aG9kOiBldmVudC5yZXF1ZXN0Q29udGV4dC5odHRwPy5tZXRob2QgfHwgJ3Vua25vd24nLFxuICAgICAgcm91dGVLZXk6IGV2ZW50LnJvdXRlS2V5IHx8IGV2ZW50LnJlcXVlc3RDb250ZXh0Py5yb3V0ZUtleSB8fCAndW5rbm93bicsXG4gICAgICB1cmw6IGV2ZW50LnJlcXVlc3RDb250ZXh0LmRvbWFpbk5hbWUgJiYgZXZlbnQucmVxdWVzdENvbnRleHQuaHR0cD8ucGF0aCxcbiAgICAgIHVzZXJfYWdlbnQ6IGV2ZW50LmhlYWRlcnM/LlsndXNlci1hZ2VudCddIHx8ICd1bmtub3duJyxcbiAgICAgIHBhdGhfcGFyYW1ldGVyczogZXZlbnQucGF0aFBhcmFtZXRlcnMgfHwge30sXG4gICAgICBxdWVyeV9zdHJpbmdfcGFyYW1ldGVyczogZXZlbnQucXVlcnlTdHJpbmdQYXJhbWV0ZXJzIHx8IHt9LFxuICAgICAgYm9keTogZXZlbnQuYm9keSB8fCB7fSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZXRob2Q6IGV2ZW50Py5odHRwTWV0aG9kIHx8ICd1bmtub3duJyxcbiAgICByb3V0ZUtleTogZXZlbnQ/LnJvdXRlS2V5IHx8IGV2ZW50LnJlcXVlc3RDb250ZXh0Py5yb3V0ZUtleSB8fCAndW5rbm93bicsXG4gICAgdXJsOiBldmVudD8ucGF0aCB8fCAndW5rbm93bicsXG4gICAgdXNlcl9hZ2VudDogZXZlbnQ/LmhlYWRlcnM/LlsnVXNlci1BZ2VudCddIHx8ICd1bmtub3duJyxcbiAgICBwYXRoX3BhcmFtZXRlcnM6IGV2ZW50Py5wYXRoUGFyYW1ldGVycyB8fCB7fSxcbiAgICBxdWVyeV9zdHJpbmdfcGFyYW1ldGVyczogZXZlbnQ/LnF1ZXJ5U3RyaW5nUGFyYW1ldGVycyB8fCB7fSxcbiAgICBib2R5OiBldmVudD8uYm9keSB8fCB7fSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RMb2dnZWRVc2VyKFxuICBldmVudDogYW55XG4pOiB7IGVtYWlsPzogc3RyaW5nOyBuYW1lPzogc3RyaW5nOyB1aWQ/OiBzdHJpbmcgfSB8IHVuZGVmaW5lZCB7XG4gIGxldCBsb2dnZWRVc2VyID0gZXZlbnQ/LnJlcXVlc3RDb250ZXh0Py5hdXRob3JpemVyPy5sYW1iZGE/LmxvZ2dlZFVzZXI7XG5cbiAgaWYgKGxvZ2dlZFVzZXIpIHtcbiAgICBsb2dnZWRVc2VyID1cbiAgICAgIHR5cGVvZiBsb2dnZWRVc2VyID09PSAnc3RyaW5nJyA/IEpTT04ucGFyc2UobG9nZ2VkVXNlcikgOiBsb2dnZWRVc2VyO1xuXG4gICAgY29uc3QgYWNjb3VudFVzZXIgPSBsb2dnZWRVc2VyPy51c2VyPy5hY2NvdW50X3VzZXI7XG4gICAgY29uc3QgZmlyc3RBY2NvdW50VXNlciA9IEFycmF5LmlzQXJyYXkoYWNjb3VudFVzZXIpXG4gICAgICA/IGFjY291bnRVc2VyWzBdXG4gICAgICA6IGFjY291bnRVc2VyO1xuXG4gICAgaWYgKGxvZ2dlZFVzZXI/LnVzZXIgJiYgYWNjb3VudFVzZXIgJiYgZmlyc3RBY2NvdW50VXNlcj8uYWNjb3VudCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZW1haWw6IGxvZ2dlZFVzZXIudXNlci5lbWFpbCxcbiAgICAgICAgdWlkOiBmaXJzdEFjY291bnRVc2VyLmFjY291bnQudWlkLFxuICAgICAgICBuYW1lOiBmaXJzdEFjY291bnRVc2VyLmFjY291bnQubmFtZSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3REZWZhdWx0QXR0cmlidXRlcyhyZXF1ZXN0OiBhbnkpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBsYW1iZGFDb250ZXh0ID0gcmVxdWVzdD8uY29udGV4dCB8fCByZXF1ZXN0Py5sYW1iZGFDb250ZXh0O1xuICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IGxhbWJkYUNvbnRleHQ/LmZ1bmN0aW9uTmFtZSB8fCAndW5rbm93bic7XG4gICAgY29uc3QgaW52b2NhdGlvbklkID0gbGFtYmRhQ29udGV4dD8uYXdzUmVxdWVzdElkIHx8ICd1bmtub3duJztcbiAgICBjb25zdCBzZXJ2aWNlTmFtZSA9IHByb2Nlc3MuZW52LlNFUlZJQ0VfTkFNRSB8fCAnc3N0LXNlcnZpY2UnO1xuICAgIGNvbnN0IGV2ZW50ID0gcmVxdWVzdD8uZXZlbnQgfHwgcmVxdWVzdDtcbiAgICBjb25zdCBxdWVyeVN0cmluZ1BhcmFtZXRlcnMgPSBldmVudD8ucXVlcnlTdHJpbmdQYXJhbWV0ZXJzIHx8IHt9O1xuICAgIGNvbnN0IG9yaWdpbiA9IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycy5vcmlnaW4gfHwgJ3Vua25vd24nO1xuICAgIGNvbnN0IGh0dHAgPSBleHRyYWN0SHR0cEF0dHJpYnV0ZXMoZXZlbnQpO1xuICAgIGNvbnN0IHJvdXRlS2V5ID1cbiAgICAgIGV2ZW50Py5yb3V0ZUtleSB8fCBldmVudD8ucmVxdWVzdENvbnRleHQ/LnJvdXRlS2V5IHx8ICd1bmtub3duJztcbiAgICBjb25zdCByZXF1ZXN0SWQgPVxuICAgICAgZXZlbnQ/LnJlcXVlc3RJZCB8fCBldmVudD8ucmVxdWVzdENvbnRleHQ/LnJlcXVlc3RJZCB8fCAndW5rbm93bic7XG4gICAgY29uc3QgbG9nZ2VkVXNlciA9IGV4dHJhY3RMb2dnZWRVc2VyKGV2ZW50KTtcbiAgICBsZXQgc3RhZ2UgPSBwcm9jZXNzLmVudi5TVEFHRSB8fCAnZGV2ZWxvcG1lbnQnO1xuICAgIGlmIChzdGFnZSA9PT0gJ3Byb2QnKSBzdGFnZSA9ICdwcm9kdWN0aW9uJztcblxuICAgIHJldHVybiB7XG4gICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICBpbnZvY2F0aW9uSWQsXG4gICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgIG9yaWdpbixcbiAgICAgIHJvdXRlS2V5LFxuICAgICAgcmVxdWVzdElkLFxuICAgICAgc3RhZ2UsXG4gICAgICBodHRwLFxuICAgICAgbG9nZ2VkVXNlcixcbiAgICB9O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1tUZWxlbWV0cnldIEVycm9yIGV4dHJhY3RpbmcgZGVmYXVsdCBhdHRyaWJ1dGVzOicsIGVycm9yKTtcbiAgICByZXR1cm4ge1xuICAgICAgZnVuY3Rpb25OYW1lOiAndW5rbm93bicsXG4gICAgICBpbnZvY2F0aW9uSWQ6ICd1bmtub3duJyxcbiAgICAgIHNlcnZpY2VOYW1lOiAndW5rbm93bicsXG4gICAgICBvcmlnaW46ICd1bmtub3duJyxcbiAgICAgIHJvdXRlS2V5OiAndW5rbm93bicsXG4gICAgICByZXF1ZXN0SWQ6ICd1bmtub3duJyxcbiAgICAgIHN0YWdlOiAndW5rbm93bicsXG4gICAgICBodHRwOiB7fSxcbiAgICAgIGxvZ2dlZFVzZXI6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -53,7 +53,7 @@ const middyTelemetryMiddleware = (options) => ({
53
53
  };
54
54
  }
55
55
  catch (error) {
56
- console.error('Error in middyTelemetryMiddleware before hook:', error);
56
+ console.error('[Telemetry] Error in middyTelemetryMiddleware before hook:', error);
57
57
  }
58
58
  }),
59
59
  after: (request) => __awaiter(void 0, void 0, void 0, function* () {
@@ -87,7 +87,10 @@ const middyTelemetryMiddleware = (options) => ({
87
87
  serviceName: serviceName,
88
88
  environmentName: environment,
89
89
  });
90
- const standardLogger = (0, telemetry_1.getStandardLogger)(spanResult.span.attributes);
90
+ const standardLogger = (0, telemetry_1.getStandardLogger)({
91
+ scopeAttributes: spanResult.span.attributes,
92
+ forceNewInstance: true,
93
+ });
91
94
  yield standardLogger.logInfo(Object.assign(Object.assign({ message: 'Request completed successfully' }, attributes), { execution: {
92
95
  origin,
93
96
  routeKey: routeKey,
@@ -100,7 +103,7 @@ const middyTelemetryMiddleware = (options) => ({
100
103
  yield (0, telemetry_1.forceFlush)();
101
104
  }
102
105
  catch (error) {
103
- console.error('Error in middyTelemetryMiddleware after hook:', error);
106
+ console.error('[Telemetry] Error in middyTelemetryMiddleware after hook:', error);
104
107
  }
105
108
  }),
106
109
  onError: (request) => __awaiter(void 0, void 0, void 0, function* () {
@@ -136,7 +139,10 @@ const middyTelemetryMiddleware = (options) => ({
136
139
  serviceName: serviceName,
137
140
  environmentName: environment,
138
141
  });
139
- const standardLogger = (0, telemetry_1.getStandardLogger)(spanResult.span.attributes);
142
+ const standardLogger = (0, telemetry_1.getStandardLogger)({
143
+ scopeAttributes: spanResult.span.attributes,
144
+ forceNewInstance: true,
145
+ });
140
146
  yield standardLogger.logError({
141
147
  message: (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error occurred',
142
148
  error: error || undefined,
@@ -159,9 +165,9 @@ const middyTelemetryMiddleware = (options) => ({
159
165
  yield (0, telemetry_1.forceFlush)();
160
166
  }
161
167
  catch (error) {
162
- console.error('Error in middyTelemetryMiddleware onError hook:', error);
168
+ console.error('[Telemetry] Error in middyTelemetryMiddleware onError hook:', error);
163
169
  }
164
170
  }),
165
171
  });
166
172
  exports.middyTelemetryMiddleware = middyTelemetryMiddleware;
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zc3QvbWlkZHkvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSw0Q0FBd0Q7QUFDeEQscURBQThDO0FBQzlDLDRDQUFnRjtBQUNoRiw4Q0FBeUQ7QUFJbEQsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxPQUFnQyxFQUNYLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sRUFBRSxDQUFPLE9BQU8sRUFBRSxFQUFFO1FBQ3hCLElBQUksQ0FBQztZQUNILE1BQU0sU0FBUyxHQUFHLDZCQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFcEMsTUFBTSxVQUFVLEdBQUcsSUFBQSxxQ0FBd0IsRUFBQyxPQUFPLENBQVEsQ0FBQztZQUc1RCxNQUFNLGNBQWMsR0FBRyxJQUFBLDZCQUFpQixHQUFFLENBQUM7WUFDM0MsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLFNBQVMsaUNBQ3RDLFVBQVUsS0FDYixRQUFRLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFDakMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQzdCLFNBQVMsRUFBRTtvQkFDVCxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7b0JBQ3JDLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtvQkFDekIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO29CQUM3QixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7aUJBQ2hDLElBQ0QsQ0FBQztZQUVILE1BQU0sS0FBSyxHQUFHLGFBQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWxELE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FDbEQsMkJBQTJCLEVBQzNCO2dCQUNFLFdBQVcsRUFBRSx5Q0FBeUM7Z0JBQ3RELElBQUksRUFBRSxJQUFJO2dCQUNWLFNBQVMsRUFBRSxlQUFTLENBQUMs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QVEsRUFBRSxRQUFRO29CQUNsQixTQUFTLEVBQUUsU0FBUztpQkFDckI7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLFVBQVU7b0JBQ1YsT0FBTyxFQUFFLEtBQUs7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFNBQVMsRUFBRSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxXQUFXLDBDQUFFLElBQUk7aUJBQ3BDO2FBQ0YsQ0FBQyxDQUFDO1lBR0gsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBQSxzQkFBVSxHQUFFLENBQUM7UUFDckIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLGlEQUFpRCxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUM7QUFqTlUsUUFBQSx3QkFBd0IsNEJBaU5sQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtaWRkeSBmcm9tICdAbWlkZHkvY29yZSc7XG5pbXBvcnQgeyBtZXRyaWNzLCBWYWx1ZVR5cGUgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGknO1xuaW1wb3J0IHsgcGVyZm9ybWFuY2UgfSBmcm9tICdub2RlOnBlcmZfaG9va3MnO1xuaW1wb3J0IHsgZm9yY2VGbHVzaCwgZ2V0U3RhbmRhcmRMb2dnZXIsIGdldFN0YW5kYXJkVHJhY2VyIH0gZnJvbSAnLi4vdGVsZW1ldHJ5JztcbmltcG9ydCB7IGV4dHJhY3REZWZhdWx0QXR0cmlidXRlcyB9IGZyb20gJy4uL2V4dHJhY3Rpb24nO1xuXG5pbnRlcmZhY2UgTWlkZHlNaWRkbGV3YXJlT3B0aW9ucyB7fVxuXG5leHBvcnQgY29uc3QgbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlID0gKFxuICBvcHRpb25zPzogTWlkZHlNaWRkbGV3YXJlT3B0aW9uc1xuKTogbWlkZHkuTWlkZGxld2FyZU9iaiA9PiAoe1xuICBiZWZvcmU6IGFzeW5jIChyZXF1ZXN0KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gZXh0cmFjdERlZmF1bHRBdHRyaWJ1dGVzKHJlcXVlc3QpIGFzIGFueTtcblxuICAgICAgLy8gVXNhciBTdGFuZGFyZFRyYWNlciBwYXJhIGNyaWFyIHNwYW4gY29tIGF0cmlidXRvcyBwYWRyb25pemFkb3NcbiAgICAgIGNvbnN0IHN0YW5kYXJkVHJhY2VyID0gZ2V0U3RhbmRhcmRUcmFjZXIoKTtcbiAgICAgIGNvbnN0IHNwYW5SZXN1bHQgPSBzdGFuZGFyZFRyYWNlci5zdGFydFNwYW4oe1xuICAgICAgICAuLi5hdHRyaWJ1dGVzLFxuICAgICAgICBzcGFuTmFtZTogYXR0cmlidXRlcy5mdW5jdGlvbk5hbWUsXG4gICAgICAgIGVudmlyb25tZW50OiBhdHRyaWJ1dGVzLnN0YWdlLFxuICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICBhd3NSZXF1ZXN0SWQ6IGF0dHJpYnV0ZXMuaW52b2NhdGlvbklkLFxuICAgICAgICAgIG9yaWdpbjogYXR0cmlidXRlcy5vcmlnaW4sXG4gICAgICAgICAgcm91dGVLZXk6IGF0dHJpYnV0ZXMucm91dGVLZXksXG4gICAgICAgICAgcmVxdWVzdElkOiBhdHRyaWJ1dGVzLnJlcXVlc3RJZCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBtZXRlciA9IG1ldHJpY3MuZ2V0TWV0ZXIoYXR0cmlidXRlcy5vcmlnaW4pO1xuXG4gICAgICBjb25zdCBleGVjdXRpb25UaW1lSGlzdG9ncmFtID0gbWV0ZXIuY3JlYXRlSGlzdG9ncmFtKFxuICAgICAgICAnbGFtYmRhX2V4ZWN1dGlvbl9kdXJhdGlvbicsXG4gICAgICAgIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RlbXBvIHRvdGFsIGRlIGV4ZWN1w6fDo28gZG8gTGFtYmRhIGVtIG1zJyxcbiAgICAgICAgICB1bml0OiAnbXMnLFxuICAgICAgICAgIHZhbHVlVHlwZTogVmFsdWVUeXBlLkRPVUJMRSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIGNvbnN0IHN1Y2Nlc3NDb3VudGVyID0gbWV0ZXIuY3JlYXRlQ291bnRlcigndG90YWxfc3VjY2Vzc2Z1bCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUb3RhbCBkZSBvcGVyYcOnw7VlcyBiZW0tc3VjZWRpZGFzJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZmFpbHVyZUNvdW50ZXIgPSBtZXRlci5jcmVhdGVDb3VudGVyKCd0b3RhbF9mYWlsZWQnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVG90YWwgZGUgb3BlcmHDp8O1ZXMgY29tIGZhbGhhJyxcbiAgICAgIH0pO1xuXG4gICAgICAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbCA9IHtcbiAgICAgICAgc3BhblJlc3VsdCxcbiAgICAgICAgbWV0ZXIsXG4gICAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sXG4gICAgICAgIHN1Y2Nlc3NDb3VudGVyLFxuICAgICAgICBmYWlsdXJlQ291bnRlcixcbiAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICBzZXJ2aWNlTmFtZTogYXR0cmlidXRlcy5zZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQ6IGF0dHJpYnV0ZXMuc3RhZ2UsXG4gICAgICAgIG9yaWdpbjogYXR0cmlidXRlcy5vcmlnaW4sXG4gICAgICAgIHJvdXRlS2V5OiBhdHRyaWJ1dGVzLnJvdXRlS2V5LFxuICAgICAgICByZXF1ZXN0SWQ6IGF0dHJpYnV0ZXMucmVxdWVzdElkLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlIGJlZm9yZSBob29rOicsIGVycm9yKTtcbiAgICB9XG4gIH0sXG5cbiAgYWZ0ZXI6IGFzeW5jIChyZXF1ZXN0KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG90ZWxEYXRhID0gKHJlcXVlc3QuY29udGV4dCBhcyBhbnkpLm90ZWw7XG4gICAgICBpZiAoIW90ZWxEYXRhKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgc3BhblJlc3VsdCxcbiAgICAgICAgc3VjY2Vzc0NvdW50ZXIsXG4gICAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0sXG4gICAgICAgIHN0YXJ0VGltZSxcbiAgICAgICAgc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50LFxuICAgICAgfSA9IG90ZWxEYXRhO1xuXG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gZXh0cmFjdERlZmF1bHRBdHRyaWJ1dGVzKHJlcXVlc3QpIGFzIGFueTtcbiAgICAgIGNvbnN0IG9yaWdpbiA9IGF0dHJpYnV0ZXMub3JpZ2luIHx8ICd1bmtub3duJztcblxuICAgICAgLy8gTWFyY2FyIHNwYW4gY29tbyBzdWNlc3NvIHVzYW5kbyBTdGFuZGFyZFRyYWNlclxuICAgICAgc3BhblJlc3VsdC5zZXRTdWNjZXNzKHRydWUpO1xuXG4gICAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbiddPy5bJ25hbWUnXTtcbiAgICAgIGNvbnN0IHJvdXRlS2V5ID0gc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsnaHR0cCddPy5bJ3JvdXRlS2V5J107XG4gICAgICBjb25zdCByZXF1ZXN0SWQgPVxuICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydleGVjdXRpb24nXT8uWydyZXF1ZXN0SWQnXTtcblxuICAgICAgLy8gTcOpdHJpY2FzXG4gICAgICBzdWNjZXNzQ291bnRlci5hZGQoMSwge1xuICAgICAgICBvcmlnaW4sXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgcm91dGVLZXk6IHJvdXRlS2V5LFxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50TmFtZTogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xuXG4gICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLnJlY29yZChkdXJhdGlvbk1zLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgcm91dGVLZXk6IHJvdXRlS2V5LFxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50TmFtZTogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcbiAgICAgIC8vIExvZyBlc3RydXR1cmFkbyBkZSBzdWNlc3NvXG4gICAgICBjb25zdCBzdGFuZGFyZExvZ2dlciA9IGdldFN0YW5kYXJkTG9nZ2VyKHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzKTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nSW5mbyh7XG4gICAgICAgIG1lc3NhZ2U6ICdSZXF1ZXN0IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHknLFxuICAgICAgICAuLi5hdHRyaWJ1dGVzLFxuICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgcm91dGVLZXk6IHJvdXRlS2V5LFxuICAgICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICB9LFxuICAgICAgICBwZXJmb3JtYW5jZToge1xuICAgICAgICAgIGR1cmF0aW9uTXMsXG4gICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBGaW5hbGl6YXIgc3BhblxuICAgICAgc3BhblJlc3VsdC5lbmQoKTtcbiAgICAgIGF3YWl0IGZvcmNlRmx1c2goKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgaW4gbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlIGFmdGVyIGhvb2s6JywgZXJyb3IpO1xuICAgIH1cbiAgfSxcblxuICBvbkVycm9yOiBhc3luYyAocmVxdWVzdCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvdGVsRGF0YSA9IChyZXF1ZXN0LmNvbnRleHQgYXMgYW55KS5vdGVsO1xuICAgICAgaWYgKCFvdGVsRGF0YSkgcmV0dXJuO1xuXG4gICAgICBjb25zdCB7XG4gICAgICAgIHNwYW5SZXN1bHQsXG4gICAgICAgIGZhaWx1cmVDb3VudGVyLFxuICAgICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLFxuICAgICAgICBzdGFydFRpbWUsXG4gICAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgICBlbnZpcm9ubWVudCxcbiAgICAgICAgb3JpZ2luLFxuICAgICAgfSA9IG90ZWxEYXRhO1xuICAgICAgY29uc3QgZXJyb3IgPSByZXF1ZXN0LmVycm9yO1xuXG4gICAgICAvLyBNYXJjYXIgc3BhbiBjb21vIGVycm8gdXNhbmRvIFN0YW5kYXJkVHJhY2VyXG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgc3BhblJlc3VsdC5zZXRFcnJvcihlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9XG4gICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uJ11bJ25hbWUnXSB8fCAndW5rbm93bic7XG4gICAgICBjb25zdCByZXF1ZXN0SWQgPSBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydyZXF1ZXN0SWQnXSB8fCAndW5rbm93bic7XG4gICAgICBjb25zdCByb3V0ZUtleSA9XG4gICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2h0dHAnXVsncm91dGVLZXknXSB8fCAndW5rbm93bic7XG5cbiAgICAgIC8vIE3DqXRyaWNhc1xuICAgICAgZmFpbHVyZUNvdW50ZXIuYWRkKDEsIHtcbiAgICAgICAgb3JpZ2luLFxuICAgICAgICBlcnJvcl90eXBlOiBlcnJvcj8uY29uc3RydWN0b3I/Lm5hbWUgfHwgJ1Vua25vd25FcnJvcicsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25OYW1lLFxuICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgcm91dGVLZXk6IHJvdXRlS2V5LFxuICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50TmFtZTogZW52aXJvbm1lbnQsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xuXG4gICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLnJlY29yZChkdXJhdGlvbk1zLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgc3RhdHVzOiAnZXJyb3InLFxuICAgICAgICBmdW5jdGlvbk5hbWU6IGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgcmVxdWVzdElkOiByZXF1ZXN0SWQsXG4gICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lLFxuICAgICAgICBlbnZpcm9ubWVudE5hbWU6IGVudmlyb25tZW50LFxuICAgICAgfSk7XG5cbiAgICAgIC8vIExvZyBlc3RydXR1cmFkbyBkZSBlcnJvXG4gICAgICBjb25zdCBzdGFuZGFyZExvZ2dlciA9IGdldFN0YW5kYXJkTG9nZ2VyKHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzKTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3Ioe1xuICAgICAgICBtZXNzYWdlOiBlcnJvcj8ubWVzc2FnZSB8fCAnVW5rbm93biBlcnJvciBvY2N1cnJlZCcsXG4gICAgICAgIGVycm9yOiBlcnJvciB8fCB1bmRlZmluZWQsXG4gICAgICAgIGVudmlyb25tZW50LFxuICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICBhd3NSZXF1ZXN0SWQ6XG4gICAgICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbiddPy5bJ2F3c19yZXF1ZXN0X2lkJ10sXG4gICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgfSxcbiAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZXJyb3JUeXBlOiBlcnJvcj8uY29uc3RydWN0b3I/Lm5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgLy8gRmluYWxpemFyIHNwYW5cbiAgICAgIHNwYW5SZXN1bHQuZW5kKCk7XG4gICAgICBhd2FpdCBmb3JjZUZsdXNoKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIG1pZGR5VGVsZW1ldHJ5TWlkZGxld2FyZSBvbkVycm9yIGhvb2s6JywgZXJyb3IpO1xuICAgIH1cbiAgfSxcbn0pO1xuIl19
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zc3QvbWlkZHkvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSw0Q0FBd0Q7QUFDeEQscURBQThDO0FBQzlDLDRDQUFnRjtBQUNoRiw4Q0FBeUQ7QUFJbEQsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxPQUFnQyxFQUNYLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sRUFBRSxDQUFPLE9BQU8sRUFBRSxFQUFFO1FBQ3hCLElBQUksQ0FBQztZQUNILE1BQU0sU0FBUyxHQUFHLDZCQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7WUFFcEMsTUFBTSxVQUFVLEdBQUcsSUFBQSxxQ0FBd0IsRUFBQyxPQUFPLENBQVEsQ0FBQztZQUc1RCxNQUFNLGNBQWMsR0FBRyxJQUFBLDZCQUFpQixHQUFFLENBQUM7WUFDM0MsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLFNBQVMsaUNBQ3RDLFVBQVUsS0FDYixRQUFRLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFDakMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQzdCLFNBQVMsRUFBRTtvQkFDVCxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7b0JBQ3JDLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtvQkFDekIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO29CQUM3QixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7aUJBQ2hDLElBQ0QsQ0FBQztZQUVILE1BQU0sS0FBSyxHQUFHLGFBQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWxELE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FDbEQsMkJBQTJCLEVBQzNCO2dCQUNFLFdBQVcsRUFBRSx5Q0FBeUM7Z0JBQ3RELElBQUksRUFBRSxJQUFJO2dCQUNWLFNBQVMsRUFBRSxlQUFTLENBQUMs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Q1YsTUFBQSxNQUFBLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSwwQ0FBRyxVQUFVLENBQUMsMENBQUcsZ0JBQWdCLENBQUM7b0JBQzlELE1BQU07b0JBQ04sUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFNBQVMsRUFBRSxTQUFTO2lCQUNyQjtnQkFDRCxXQUFXLEVBQUU7b0JBQ1gsVUFBVTtvQkFDVixPQUFPLEVBQUUsS0FBSztpQkFDZjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFdBQVcsMENBQUUsSUFBSTtpQkFDcEM7YUFDRixDQUFDLENBQUM7WUFHSCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFBLHNCQUFVLEdBQUUsQ0FBQztRQUNyQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQ1gsNkRBQTZELEVBQzdELEtBQUssQ0FDTixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQztBQWhPVSxRQUFBLHdCQUF3Qiw0QkFnT2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1pZGR5IGZyb20gJ0BtaWRkeS9jb3JlJztcbmltcG9ydCB7IG1ldHJpY3MsIFZhbHVlVHlwZSB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L2FwaSc7XG5pbXBvcnQgeyBwZXJmb3JtYW5jZSB9IGZyb20gJ25vZGU6cGVyZl9ob29rcyc7XG5pbXBvcnQgeyBmb3JjZUZsdXNoLCBnZXRTdGFuZGFyZExvZ2dlciwgZ2V0U3RhbmRhcmRUcmFjZXIgfSBmcm9tICcuLi90ZWxlbWV0cnknO1xuaW1wb3J0IHsgZXh0cmFjdERlZmF1bHRBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vZXh0cmFjdGlvbic7XG5cbmludGVyZmFjZSBNaWRkeU1pZGRsZXdhcmVPcHRpb25zIHt9XG5cbmV4cG9ydCBjb25zdCBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgPSAoXG4gIG9wdGlvbnM/OiBNaWRkeU1pZGRsZXdhcmVPcHRpb25zXG4pOiBtaWRkeS5NaWRkbGV3YXJlT2JqID0+ICh7XG4gIGJlZm9yZTogYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBleHRyYWN0RGVmYXVsdEF0dHJpYnV0ZXMocmVxdWVzdCkgYXMgYW55O1xuXG4gICAgICAvLyBVc2FyIFN0YW5kYXJkVHJhY2VyIHBhcmEgY3JpYXIgc3BhbiBjb20gYXRyaWJ1dG9zIHBhZHJvbml6YWRvc1xuICAgICAgY29uc3Qgc3RhbmRhcmRUcmFjZXIgPSBnZXRTdGFuZGFyZFRyYWNlcigpO1xuICAgICAgY29uc3Qgc3BhblJlc3VsdCA9IHN0YW5kYXJkVHJhY2VyLnN0YXJ0U3Bhbih7XG4gICAgICAgIC4uLmF0dHJpYnV0ZXMsXG4gICAgICAgIHNwYW5OYW1lOiBhdHRyaWJ1dGVzLmZ1bmN0aW9uTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQ6IGF0dHJpYnV0ZXMuc3RhZ2UsXG4gICAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAgIGF3c1JlcXVlc3RJZDogYXR0cmlidXRlcy5pbnZvY2F0aW9uSWQsXG4gICAgICAgICAgb3JpZ2luOiBhdHRyaWJ1dGVzLm9yaWdpbixcbiAgICAgICAgICByb3V0ZUtleTogYXR0cmlidXRlcy5yb3V0ZUtleSxcbiAgICAgICAgICByZXF1ZXN0SWQ6IGF0dHJpYnV0ZXMucmVxdWVzdElkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG1ldGVyID0gbWV0cmljcy5nZXRNZXRlcihhdHRyaWJ1dGVzLm9yaWdpbik7XG5cbiAgICAgIGNvbnN0IGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0gPSBtZXRlci5jcmVhdGVIaXN0b2dyYW0oXG4gICAgICAgICdsYW1iZGFfZXhlY3V0aW9uX2R1cmF0aW9uJyxcbiAgICAgICAge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGVtcG8gdG90YWwgZGUgZXhlY3XDp8OjbyBkbyBMYW1iZGEgZW0gbXMnLFxuICAgICAgICAgIHVuaXQ6ICdtcycsXG4gICAgICAgICAgdmFsdWVUeXBlOiBWYWx1ZVR5cGUuRE9VQkxFLFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgY29uc3Qgc3VjY2Vzc0NvdW50ZXIgPSBtZXRlci5jcmVhdGVDb3VudGVyKCd0b3RhbF9zdWNjZXNzZnVsJywge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1RvdGFsIGRlIG9wZXJhw6fDtWVzIGJlbS1zdWNlZGlkYXMnLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBmYWlsdXJlQ291bnRlciA9IG1ldGVyLmNyZWF0ZUNvdW50ZXIoJ3RvdGFsX2ZhaWxlZCcsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUb3RhbCBkZSBvcGVyYcOnw7VlcyBjb20gZmFsaGEnLFxuICAgICAgfSk7XG5cbiAgICAgIChyZXF1ZXN0LmNvbnRleHQgYXMgYW55KS5vdGVsID0ge1xuICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICBtZXRlcixcbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcbiAgICAgICAgc3VjY2Vzc0NvdW50ZXIsXG4gICAgICAgIGZhaWx1cmVDb3VudGVyLFxuICAgICAgICBzdGFydFRpbWUsXG4gICAgICAgIHNlcnZpY2VOYW1lOiBhdHRyaWJ1dGVzLnNlcnZpY2VOYW1lLFxuICAgICAgICBlbnZpcm9ubWVudDogYXR0cmlidXRlcy5zdGFnZSxcbiAgICAgICAgb3JpZ2luOiBhdHRyaWJ1dGVzLm9yaWdpbixcbiAgICAgICAgcm91dGVLZXk6IGF0dHJpYnV0ZXMucm91dGVLZXksXG4gICAgICAgIHJlcXVlc3RJZDogYXR0cmlidXRlcy5yZXF1ZXN0SWQsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnW1RlbGVtZXRyeV0gRXJyb3IgaW4gbWlkZHlUZWxlbWV0cnlNaWRkbGV3YXJlIGJlZm9yZSBob29rOicsXG4gICAgICAgIGVycm9yXG4gICAgICApO1xuICAgIH1cbiAgfSxcblxuICBhZnRlcjogYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3RlbERhdGEgPSAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbDtcbiAgICAgIGlmICghb3RlbERhdGEpIHJldHVybjtcblxuICAgICAgY29uc3Qge1xuICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICBzdWNjZXNzQ291bnRlcixcbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcbiAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICB9ID0gb3RlbERhdGE7XG5cbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBleHRyYWN0RGVmYXVsdEF0dHJpYnV0ZXMocmVxdWVzdCkgYXMgYW55O1xuICAgICAgY29uc3Qgb3JpZ2luID0gYXR0cmlidXRlcy5vcmlnaW4gfHwgJ3Vua25vd24nO1xuXG4gICAgICAvLyBNYXJjYXIgc3BhbiBjb21vIHN1Y2Vzc28gdXNhbmRvIFN0YW5kYXJkVHJhY2VyXG4gICAgICBzcGFuUmVzdWx0LnNldFN1Y2Nlc3ModHJ1ZSk7XG5cbiAgICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2Z1bmN0aW9uJ10/LlsnbmFtZSddO1xuICAgICAgY29uc3Qgcm91dGVLZXkgPSBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydodHRwJ10/Llsncm91dGVLZXknXTtcbiAgICAgIGNvbnN0IHJlcXVlc3RJZCA9XG4gICAgICAgIHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzPy5bJ2V4ZWN1dGlvbiddPy5bJ3JlcXVlc3RJZCddO1xuXG4gICAgICAvLyBNw6l0cmljYXNcbiAgICAgIHN1Y2Nlc3NDb3VudGVyLmFkZCgxLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICByb3V0ZUtleTogcm91dGVLZXksXG4gICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnROYW1lOiBlbnZpcm9ubWVudCxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBkdXJhdGlvbk1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XG5cbiAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0ucmVjb3JkKGR1cmF0aW9uTXMsIHtcbiAgICAgICAgb3JpZ2luLFxuICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICByb3V0ZUtleTogcm91dGVLZXksXG4gICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnROYW1lOiBlbnZpcm9ubWVudCxcbiAgICAgIH0pO1xuICAgICAgLy8gTG9nIGVzdHJ1dHVyYWRvIGRlIHN1Y2Vzc29cbiAgICAgIGNvbnN0IHN0YW5kYXJkTG9nZ2VyID0gZ2V0U3RhbmRhcmRMb2dnZXIoe1xuICAgICAgICBzY29wZUF0dHJpYnV0ZXM6IHNwYW5SZXN1bHQuc3Bhbi5hdHRyaWJ1dGVzLFxuICAgICAgICBmb3JjZU5ld0luc3RhbmNlOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IHN0YW5kYXJkTG9nZ2VyLmxvZ0luZm8oe1xuICAgICAgICBtZXNzYWdlOiAnUmVxdWVzdCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgLi4uYXR0cmlidXRlcyxcbiAgICAgICAgZXhlY3V0aW9uOiB7XG4gICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgfSxcbiAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgLy8gRmluYWxpemFyIHNwYW5cbiAgICAgIHNwYW5SZXN1bHQuZW5kKCk7XG4gICAgICBhd2FpdCBmb3JjZUZsdXNoKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdbVGVsZW1ldHJ5XSBFcnJvciBpbiBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgYWZ0ZXIgaG9vazonLFxuICAgICAgICBlcnJvclxuICAgICAgKTtcbiAgICB9XG4gIH0sXG5cbiAgb25FcnJvcjogYXN5bmMgKHJlcXVlc3QpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgb3RlbERhdGEgPSAocmVxdWVzdC5jb250ZXh0IGFzIGFueSkub3RlbDtcbiAgICAgIGlmICghb3RlbERhdGEpIHJldHVybjtcblxuICAgICAgY29uc3Qge1xuICAgICAgICBzcGFuUmVzdWx0LFxuICAgICAgICBmYWlsdXJlQ291bnRlcixcbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbSxcbiAgICAgICAgc3RhcnRUaW1lLFxuICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnQsXG4gICAgICAgIG9yaWdpbixcbiAgICAgIH0gPSBvdGVsRGF0YTtcbiAgICAgIGNvbnN0IGVycm9yID0gcmVxdWVzdC5lcnJvcjtcblxuICAgICAgLy8gTWFyY2FyIHNwYW4gY29tbyBlcnJvIHVzYW5kbyBTdGFuZGFyZFRyYWNlclxuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHNwYW5SZXN1bHQuc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmdW5jdGlvbk5hbWUgPVxuICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbiddWyduYW1lJ10gfHwgJ3Vua25vd24nO1xuICAgICAgY29uc3QgcmVxdWVzdElkID0gc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXM/LlsncmVxdWVzdElkJ10gfHwgJ3Vua25vd24nO1xuICAgICAgY29uc3Qgcm91dGVLZXkgPVxuICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydodHRwJ11bJ3JvdXRlS2V5J10gfHwgJ3Vua25vd24nO1xuXG4gICAgICAvLyBNw6l0cmljYXNcbiAgICAgIGZhaWx1cmVDb3VudGVyLmFkZCgxLCB7XG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgZXJyb3JfdHlwZTogZXJyb3I/LmNvbnN0cnVjdG9yPy5uYW1lIHx8ICdVbmtub3duRXJyb3InLFxuICAgICAgICBmdW5jdGlvbk5hbWU6IGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgcmVxdWVzdElkOiByZXF1ZXN0SWQsXG4gICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lLFxuICAgICAgICBlbnZpcm9ubWVudE5hbWU6IGVudmlyb25tZW50LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGR1cmF0aW9uTXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZTtcblxuICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbS5yZWNvcmQoZHVyYXRpb25Ncywge1xuICAgICAgICBvcmlnaW4sXG4gICAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiBmdW5jdGlvbk5hbWUsXG4gICAgICAgIHJlcXVlc3RJZDogcmVxdWVzdElkLFxuICAgICAgICByb3V0ZUtleTogcm91dGVLZXksXG4gICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgZW52aXJvbm1lbnROYW1lOiBlbnZpcm9ubWVudCxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBMb2cgZXN0cnV0dXJhZG8gZGUgZXJyb1xuICAgICAgY29uc3Qgc3RhbmRhcmRMb2dnZXIgPSBnZXRTdGFuZGFyZExvZ2dlcih7XG4gICAgICAgIHNjb3BlQXR0cmlidXRlczogc3BhblJlc3VsdC5zcGFuLmF0dHJpYnV0ZXMsXG4gICAgICAgIGZvcmNlTmV3SW5zdGFuY2U6IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgc3RhbmRhcmRMb2dnZXIubG9nRXJyb3Ioe1xuICAgICAgICBtZXNzYWdlOiBlcnJvcj8ubWVzc2FnZSB8fCAnVW5rbm93biBlcnJvciBvY2N1cnJlZCcsXG4gICAgICAgIGVycm9yOiBlcnJvciB8fCB1bmRlZmluZWQsXG4gICAgICAgIGVudmlyb25tZW50LFxuICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICBhd3NSZXF1ZXN0SWQ6XG4gICAgICAgICAgICBzcGFuUmVzdWx0LnNwYW4uYXR0cmlidXRlcz8uWydmdW5jdGlvbiddPy5bJ2F3c19yZXF1ZXN0X2lkJ10sXG4gICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgIHJvdXRlS2V5OiByb3V0ZUtleSxcbiAgICAgICAgICByZXF1ZXN0SWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgfSxcbiAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZXJyb3JUeXBlOiBlcnJvcj8uY29uc3RydWN0b3I/Lm5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgLy8gRmluYWxpemFyIHNwYW5cbiAgICAgIHNwYW5SZXN1bHQuZW5kKCk7XG4gICAgICBhd2FpdCBmb3JjZUZsdXNoKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdbVGVsZW1ldHJ5XSBFcnJvciBpbiBtaWRkeVRlbGVtZXRyeU1pZGRsZXdhcmUgb25FcnJvciBob29rOicsXG4gICAgICAgIGVycm9yXG4gICAgICApO1xuICAgIH1cbiAgfSxcbn0pO1xuIl19
@@ -1,5 +1,9 @@
1
1
  import { Attributes } from '@opentelemetry/api';
2
2
  import { StandardLogger, StandardTracer } from '../core';
3
- export declare const getStandardLogger: (scopeAttributes?: Attributes) => StandardLogger;
3
+ export declare const getStandardLogger: ({ scopeAttributes, forceNewInstance, disableEmitter, }?: {
4
+ scopeAttributes?: Attributes;
5
+ forceNewInstance?: boolean;
6
+ disableEmitter?: boolean;
7
+ } | undefined) => StandardLogger;
4
8
  export declare const getStandardTracer: () => StandardTracer;
5
9
  export declare const forceFlush: () => Promise<void>;
@@ -96,15 +96,15 @@ const sdk = new sdk_node_1.NodeSDK({
96
96
  sdk.start();
97
97
  let standardLogger = null;
98
98
  let standardTracer = null;
99
- const getStandardLogger = (scopeAttributes) => {
99
+ const getStandardLogger = ({ scopeAttributes, forceNewInstance = false, disableEmitter = false, } = {}) => {
100
100
  var _a, _b;
101
- if (!standardLogger) {
101
+ if (!standardLogger || forceNewInstance) {
102
102
  const tracer = (0, exports.getStandardTracer)();
103
103
  const logger = loggerProvider.getLogger('sst-middleware-logger', '1.0.0', {
104
104
  includeTraceContext: true,
105
105
  scopeAttributes,
106
106
  });
107
- standardLogger = new core_1.StandardLogger(logger, tracer, scopeAttributes);
107
+ standardLogger = new core_1.StandardLogger(logger, tracer, scopeAttributes, disableEmitter);
108
108
  }
109
109
  else {
110
110
  const hasScope = ((_b = (_a = standardLogger.defaultAttributes) === null || _a === void 0 ? void 0 : _a.function) === null || _b === void 0 ? void 0 : _b.name) !== 'unknown';
@@ -129,4 +129,4 @@ const forceFlush = () => __awaiter(void 0, void 0, void 0, function* () {
129
129
  yield loggerProvider.forceFlush();
130
130
  });
131
131
  exports.forceFlush = forceFlush;
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NzdC90ZWxlbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQWtEO0FBQ2xELHNGQUE0RTtBQUM1RSwwRkFBK0U7QUFDL0Usb0ZBQXlFO0FBQ3pFLDREQUEyRTtBQUMzRSw4REFBZ0Q7QUFDaEQsb0VBQXNEO0FBQ3RELDhFQUF3RTtBQUN4RSw0Q0FBdUQ7QUFDdkQsa0NBQXlEO0FBRXpELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUM7QUFDakQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQztBQUVyRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRXhFLE1BQU0sT0FBTyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsS0FBSyxDQUFDO0FBRWhFLE1BQU0sYUFBYSxHQUFHLElBQUksNENBQWlCLENBQUM7SUFDMUMsR0FBRyxFQUFFLEdBQUcsT0FBTyxTQUFTO0lBQ3hCLE9BQU8sRUFBRTtRQUNQLGFBQWEsRUFBRSxTQUFTLFNBQVMsRUFBRTtRQUNuQyxjQUFjLEVBQUUsa0JBQWtCO0tBQ25DO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxjQUFjLEdBQUcsSUFBSSwrQ0FBa0IsQ0FBQztJQUM1QyxHQUFHLEVBQUUsR0FBRyxPQUFPLFVBQVU7SUFDekIsT0FBTyxFQUFFO1FBQ1AsYUFBYSxFQUFFLFNBQVMsU0FBUyxFQUFFO1FBQ25DLGNBQWMsRUFBRSxrQkFBa0I7S0FDbkM7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLFdBQVcsR0FBRyxJQUFJLHlDQUFlLENBQUM7SUFDdEMsR0FBRyxFQUFFLEdBQUcsT0FBTyxPQUFPO0lBQ3RCLE9BQU8sRUFBRTtRQUNQLGFBQWEsRUFBRSxTQUFTLFNBQVMsRUFBRTtRQUNuQyxjQUFjLEVBQUUsa0JBQWtCO0tBQ25DO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxZQUFZLEdBQUcsSUFBSSwyQ0FBNkIsQ0FBQztJQUNyRCxRQUFRLEVBQUUsY0FBYztJQUN4QixvQkFBb0IsRUFBRSxJQUFJO0NBQzNCLENBQUMsQ0FBQztBQUdILE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLGFBQWEsQ0FBQztBQUM5RCxNQUFNLFFBQVEsR0FBRyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQyx3Q0FBaUIsQ0FBQyxFQUFFLFdBQVc7Q0FDakMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxjQUFjLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUM3RCxNQUFNLGtCQUFrQixHQUFHLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3pFLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBRXpELE1BQU0sR0FBRyxHQUFHLElBQUksa0JBQU8sQ0FBQztJQUN0QixhQUFhO0lBQ2IsWUFBWSxFQUFFLFlBQW1CO0NBQ2xDLENBQUMsQ0FBQztBQUVILEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUdaLElBQUksY0FBYyxHQUEwQixJQUFJLENBQUM7QUFDakQsSUFBSSxjQUFjLEdBQTBCLElBQUksQ0FBQztBQUUxQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLGVBQTRCLEVBQ1osRUFBRTs7SUFDbEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUEseUJBQWlCLEdBQUUsQ0FBQztRQUNuQyxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDLHVCQUF1QixFQUFFLE9BQU8sRUFBRTtZQUN4RSxtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLGVBQWU7U0FDaEIsQ0FBQyxDQUFDO1FBQ0gsY0FBYyxHQUFHLElBQUkscUJBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxRQUFRLEdBQ1osQ0FBQSxNQUFBLE1BQUEsY0FBYyxDQUFDLGlCQUFpQiwwQ0FBRSxRQUFRLDBDQUFFLElBQUksTUFBSyxTQUFTLENBQUM7UUFFakUsSUFBSSxDQUFDLFFBQVEsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNqQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDLENBQUM7QUFuQlcsUUFBQSxpQkFBaUIscUJBbUI1QjtBQUVLLE1BQU0saUJBQWlCLEdBQUcsR0FBbUIsRUFBRTtJQUNwRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsTUFBTSxNQUFNLEdBQUcsV0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsY0FBYyxHQUFHLElBQUkscUJBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQztBQU5XLFFBQUEsaUJBQWlCLHFCQU01QjtBQUVLLE1BQU0sVUFBVSxHQUFHLEdBQVMsRUFBRTtJQUNuQyxNQUFNLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNoQyxNQUFNLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNqQyxNQUFNLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUNwQyxDQUFDLENBQUEsQ0FBQztBQUpXLFFBQUEsVUFBVSxjQUlyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVTREsgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9zZGstbm9kZSc7XG5pbXBvcnQgeyBPVExQVHJhY2VFeHBvcnRlciB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L2V4cG9ydGVyLXRyYWNlLW90bHAtaHR0cCc7XG5pbXBvcnQgeyBPVExQTWV0cmljRXhwb3J0ZXIgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9leHBvcnRlci1tZXRyaWNzLW90bHAtaHR0cCc7XG5pbXBvcnQgeyBPVExQTG9nRXhwb3J0ZXIgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9leHBvcnRlci1sb2dzLW90bHAtaHR0cCc7XG5pbXBvcnQgeyBQZXJpb2RpY0V4cG9ydGluZ01ldHJpY1JlYWRlciB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L3Nkay1tZXRyaWNzJztcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSAnQG9wZW50ZWxlbWV0cnkvc2RrLWxvZ3MnO1xuaW1wb3J0ICogYXMgcmVzb3VyY2VzIGZyb20gJ0BvcGVudGVsZW1ldHJ5L3Jlc291cmNlcyc7XG5pbXBvcnQgeyBBVFRSX1NFUlZJQ0VfTkFNRSB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L3NlbWFudGljLWNvbnZlbnRpb25zJztcbmltcG9ydCB7IEF0dHJpYnV0ZXMsIHRyYWNlIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpJztcbmltcG9ydCB7IFN0YW5kYXJkTG9nZ2VyLCBTdGFuZGFyZFRyYWNlciB9IGZyb20gJy4uL2NvcmUnO1xuXG5jb25zdCB1c2VyID0gcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX1VTRVI7XG5jb25zdCBwYXNzd29yZCA9IHByb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9QQVNTO1xuXG5jb25zdCBiYXNpY0F1dGggPSBCdWZmZXIuZnJvbShgJHt1c2VyfToke3Bhc3N3b3JkfWApLnRvU3RyaW5nKCdiYXNlNjQnKTtcblxuY29uc3QgYmFzZVVybCA9IGAke3Byb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9FTkRQT0lOVH0vdjFgO1xuXG5jb25zdCB0cmFjZUV4cG9ydGVyID0gbmV3IE9UTFBUcmFjZUV4cG9ydGVyKHtcbiAgdXJsOiBgJHtiYXNlVXJsfS90cmFjZXNgLFxuICBoZWFkZXJzOiB7XG4gICAgQXV0aG9yaXphdGlvbjogYEJhc2ljICR7YmFzaWNBdXRofWAsXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfSxcbn0pO1xuXG5jb25zdCBtZXRyaWNFeHBvcnRlciA9IG5ldyBPVExQTWV0cmljRXhwb3J0ZXIoe1xuICB1cmw6IGAke2Jhc2VVcmx9L21ldHJpY3NgLFxuICBoZWFkZXJzOiB7XG4gICAgQXV0aG9yaXphdGlvbjogYEJhc2ljICR7YmFzaWNBdXRofWAsXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfSxcbn0pO1xuXG5jb25zdCBsb2dFeHBvcnRlciA9IG5ldyBPVExQTG9nRXhwb3J0ZXIoe1xuICB1cmw6IGAke2Jhc2VVcmx9L2xvZ3NgLFxuICBoZWFkZXJzOiB7XG4gICAgQXV0aG9yaXphdGlvbjogYEJhc2ljICR7YmFzaWNBdXRofWAsXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfSxcbn0pO1xuXG5jb25zdCBtZXRyaWNSZWFkZXIgPSBuZXcgUGVyaW9kaWNFeHBvcnRpbmdNZXRyaWNSZWFkZXIoe1xuICBleHBvcnRlcjogbWV0cmljRXhwb3J0ZXIsXG4gIGV4cG9ydEludGVydmFsTWlsbGlzOiAxMDAwLFxufSk7XG5cbi8vIENvbmZpZ3VyYXIgTG9nZ2VyUHJvdmlkZXJcbmNvbnN0IHNlcnZpY2VOYW1lID0gcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FIHx8ICdzc3Qtc2VydmljZSc7XG5jb25zdCByZXNvdXJjZSA9IG5ldyByZXNvdXJjZXMuUmVzb3VyY2Uoe1xuICBbQVRUUl9TRVJWSUNFX05BTUVdOiBzZXJ2aWNlTmFtZSxcbn0pO1xuXG5jb25zdCBsb2dnZXJQcm92aWRlciA9IG5ldyBsb2dzLkxvZ2dlclByb3ZpZGVyKHsgcmVzb3VyY2UgfSk7XG5jb25zdCBsb2dSZWNvcmRQcm9jZXNzb3IgPSBuZXcgbG9ncy5CYXRjaExvZ1JlY29yZFByb2Nlc3Nvcihsb2dFeHBvcnRlcik7XG5sb2dnZXJQcm92aWRlci5hZGRMb2dSZWNvcmRQcm9jZXNzb3IobG9nUmVjb3JkUHJvY2Vzc29yKTtcblxuY29uc3Qgc2RrID0gbmV3IE5vZGVTREsoe1xuICB0cmFjZUV4cG9ydGVyLFxuICBtZXRyaWNSZWFkZXI6IG1ldHJpY1JlYWRlciBhcyBhbnksIC8vIFR5cGUgY29tcGF0aWJpbGl0eSB3b3JrYXJvdW5kXG59KTtcblxuc2RrLnN0YXJ0KCk7XG5cbi8vIENyaWFyIFN0YW5kYXJkTG9nZ2VyIHBhcmEgc2VyIHVzYWRvIG5vcyBtaWRkbGV3YXJlc1xubGV0IHN0YW5kYXJkTG9nZ2VyOiBTdGFuZGFyZExvZ2dlciB8IG51bGwgPSBudWxsO1xubGV0IHN0YW5kYXJkVHJhY2VyOiBTdGFuZGFyZFRyYWNlciB8IG51bGwgPSBudWxsO1xuXG5leHBvcnQgY29uc3QgZ2V0U3RhbmRhcmRMb2dnZXIgPSAoXG4gIHNjb3BlQXR0cmlidXRlcz86IEF0dHJpYnV0ZXNcbik6IFN0YW5kYXJkTG9nZ2VyID0+IHtcbiAgaWYgKCFzdGFuZGFyZExvZ2dlcikge1xuICAgIGNvbnN0IHRyYWNlciA9IGdldFN0YW5kYXJkVHJhY2VyKCk7XG4gICAgY29uc3QgbG9nZ2VyID0gbG9nZ2VyUHJvdmlkZXIuZ2V0TG9nZ2VyKCdzc3QtbWlkZGxld2FyZS1sb2dnZXInLCAnMS4wLjAnLCB7XG4gICAgICBpbmNsdWRlVHJhY2VDb250ZXh0OiB0cnVlLFxuICAgICAgc2NvcGVBdHRyaWJ1dGVzLFxuICAgIH0pO1xuICAgIHN0YW5kYXJkTG9nZ2VyID0gbmV3IFN0YW5kYXJkTG9nZ2VyKGxvZ2dlciwgdHJhY2VyLCBzY29wZUF0dHJpYnV0ZXMpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGhhc1Njb3BlID1cbiAgICAgIHN0YW5kYXJkTG9nZ2VyLmRlZmF1bHRBdHRyaWJ1dGVzPy5mdW5jdGlvbj8ubmFtZSAhPT0gJ3Vua25vd24nO1xuXG4gICAgaWYgKCFoYXNTY29wZSAmJiBzY29wZUF0dHJpYnV0ZXMpIHtcbiAgICAgIHN0YW5kYXJkTG9nZ2VyLmRlZmluZURlZmF1bHRBdHRyaWJ1dGVzKHNjb3BlQXR0cmlidXRlcyk7XG4gICAgfVxuICB9XG4gIHJldHVybiBzdGFuZGFyZExvZ2dlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTdGFuZGFyZFRyYWNlciA9ICgpOiBTdGFuZGFyZFRyYWNlciA9PiB7XG4gIGlmICghc3RhbmRhcmRUcmFjZXIpIHtcbiAgICBjb25zdCB0cmFjZXIgPSB0cmFjZS5nZXRUcmFjZXIoc2VydmljZU5hbWUsICcxLjAuMCcpO1xuICAgIHN0YW5kYXJkVHJhY2VyID0gbmV3IFN0YW5kYXJkVHJhY2VyKHRyYWNlciwgc2VydmljZU5hbWUpO1xuICB9XG4gIHJldHVybiBzdGFuZGFyZFRyYWNlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBmb3JjZUZsdXNoID0gYXN5bmMgKCkgPT4ge1xuICBhd2FpdCBtZXRyaWNSZWFkZXIuZm9yY2VGbHVzaCgpO1xuICBhd2FpdCB0cmFjZUV4cG9ydGVyLmZvcmNlRmx1c2goKTtcbiAgYXdhaXQgbG9nZ2VyUHJvdmlkZXIuZm9yY2VGbHVzaCgpO1xufTtcbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NzdC90ZWxlbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQWtEO0FBQ2xELHNGQUE0RTtBQUM1RSwwRkFBK0U7QUFDL0Usb0ZBQXlFO0FBQ3pFLDREQUEyRTtBQUMzRSw4REFBZ0Q7QUFDaEQsb0VBQXNEO0FBQ3RELDhFQUF3RTtBQUN4RSw0Q0FBdUQ7QUFDdkQsa0NBQXlEO0FBRXpELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUM7QUFDakQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQztBQUVyRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRXhFLE1BQU0sT0FBTyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsS0FBSyxDQUFDO0FBRWhFLE1BQU0sYUFBYSxHQUFHLElBQUksNENBQWlCLENBQUM7SUFDMUMsR0FBRyxFQUFFLEdBQUcsT0FBTyxTQUFTO0lBQ3hCLE9BQU8sRUFBRTtRQUNQLGFBQWEsRUFBRSxTQUFTLFNBQVMsRUFBRTtRQUNuQyxjQUFjLEVBQUUsa0JBQWtCO0tBQ25DO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxjQUFjLEdBQUcsSUFBSSwrQ0FBa0IsQ0FBQztJQUM1QyxHQUFHLEVBQUUsR0FBRyxPQUFPLFVBQVU7SUFDekIsT0FBTyxFQUFFO1FBQ1AsYUFBYSxFQUFFLFNBQVMsU0FBUyxFQUFFO1FBQ25DLGNBQWMsRUFBRSxrQkFBa0I7S0FDbkM7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLFdBQVcsR0FBRyxJQUFJ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LENBQUMsQ0FBQSxDQUFDO0FBSlcsUUFBQSxVQUFVLGNBSXJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZVNESyB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L3Nkay1ub2RlJztcbmltcG9ydCB7IE9UTFBUcmFjZUV4cG9ydGVyIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvZXhwb3J0ZXItdHJhY2Utb3RscC1odHRwJztcbmltcG9ydCB7IE9UTFBNZXRyaWNFeHBvcnRlciB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L2V4cG9ydGVyLW1ldHJpY3Mtb3RscC1odHRwJztcbmltcG9ydCB7IE9UTFBMb2dFeHBvcnRlciB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L2V4cG9ydGVyLWxvZ3Mtb3RscC1odHRwJztcbmltcG9ydCB7IFBlcmlvZGljRXhwb3J0aW5nTWV0cmljUmVhZGVyIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvc2RrLW1ldHJpY3MnO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdAb3BlbnRlbGVtZXRyeS9zZGstbG9ncyc7XG5pbXBvcnQgKiBhcyByZXNvdXJjZXMgZnJvbSAnQG9wZW50ZWxlbWV0cnkvcmVzb3VyY2VzJztcbmltcG9ydCB7IEFUVFJfU0VSVklDRV9OQU1FIH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvc2VtYW50aWMtY29udmVudGlvbnMnO1xuaW1wb3J0IHsgQXR0cmlidXRlcywgdHJhY2UgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGknO1xuaW1wb3J0IHsgU3RhbmRhcmRMb2dnZXIsIFN0YW5kYXJkVHJhY2VyIH0gZnJvbSAnLi4vY29yZSc7XG5cbmNvbnN0IHVzZXIgPSBwcm9jZXNzLmVudi5PVEVMX0VYUE9SVEVSX09UTFBfVVNFUjtcbmNvbnN0IHBhc3N3b3JkID0gcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX1BBU1M7XG5cbmNvbnN0IGJhc2ljQXV0aCA9IEJ1ZmZlci5mcm9tKGAke3VzZXJ9OiR7cGFzc3dvcmR9YCkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuXG5jb25zdCBiYXNlVXJsID0gYCR7cHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UfS92MWA7XG5cbmNvbnN0IHRyYWNlRXhwb3J0ZXIgPSBuZXcgT1RMUFRyYWNlRXhwb3J0ZXIoe1xuICB1cmw6IGAke2Jhc2VVcmx9L3RyYWNlc2AsXG4gIGhlYWRlcnM6IHtcbiAgICBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHtiYXNpY0F1dGh9YCxcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICB9LFxufSk7XG5cbmNvbnN0IG1ldHJpY0V4cG9ydGVyID0gbmV3IE9UTFBNZXRyaWNFeHBvcnRlcih7XG4gIHVybDogYCR7YmFzZVVybH0vbWV0cmljc2AsXG4gIGhlYWRlcnM6IHtcbiAgICBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHtiYXNpY0F1dGh9YCxcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICB9LFxufSk7XG5cbmNvbnN0IGxvZ0V4cG9ydGVyID0gbmV3IE9UTFBMb2dFeHBvcnRlcih7XG4gIHVybDogYCR7YmFzZVVybH0vbG9nc2AsXG4gIGhlYWRlcnM6IHtcbiAgICBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHtiYXNpY0F1dGh9YCxcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICB9LFxufSk7XG5cbmNvbnN0IG1ldHJpY1JlYWRlciA9IG5ldyBQZXJpb2RpY0V4cG9ydGluZ01ldHJpY1JlYWRlcih7XG4gIGV4cG9ydGVyOiBtZXRyaWNFeHBvcnRlcixcbiAgZXhwb3J0SW50ZXJ2YWxNaWxsaXM6IDEwMDAsXG59KTtcblxuLy8gQ29uZmlndXJhciBMb2dnZXJQcm92aWRlclxuY29uc3Qgc2VydmljZU5hbWUgPSBwcm9jZXNzLmVudi5TRVJWSUNFX05BTUUgfHwgJ3NzdC1zZXJ2aWNlJztcbmNvbnN0IHJlc291cmNlID0gbmV3IHJlc291cmNlcy5SZXNvdXJjZSh7XG4gIFtBVFRSX1NFUlZJQ0VfTkFNRV06IHNlcnZpY2VOYW1lLFxufSk7XG5cbmNvbnN0IGxvZ2dlclByb3ZpZGVyID0gbmV3IGxvZ3MuTG9nZ2VyUHJvdmlkZXIoeyByZXNvdXJjZSB9KTtcbmNvbnN0IGxvZ1JlY29yZFByb2Nlc3NvciA9IG5ldyBsb2dzLkJhdGNoTG9nUmVjb3JkUHJvY2Vzc29yKGxvZ0V4cG9ydGVyKTtcbmxvZ2dlclByb3ZpZGVyLmFkZExvZ1JlY29yZFByb2Nlc3Nvcihsb2dSZWNvcmRQcm9jZXNzb3IpO1xuXG5jb25zdCBzZGsgPSBuZXcgTm9kZVNESyh7XG4gIHRyYWNlRXhwb3J0ZXIsXG4gIG1ldHJpY1JlYWRlcjogbWV0cmljUmVhZGVyIGFzIGFueSwgLy8gVHlwZSBjb21wYXRpYmlsaXR5IHdvcmthcm91bmRcbn0pO1xuXG5zZGsuc3RhcnQoKTtcblxuLy8gQ3JpYXIgU3RhbmRhcmRMb2dnZXIgcGFyYSBzZXIgdXNhZG8gbm9zIG1pZGRsZXdhcmVzXG5sZXQgc3RhbmRhcmRMb2dnZXI6IFN0YW5kYXJkTG9nZ2VyIHwgbnVsbCA9IG51bGw7XG5sZXQgc3RhbmRhcmRUcmFjZXI6IFN0YW5kYXJkVHJhY2VyIHwgbnVsbCA9IG51bGw7XG5cbmV4cG9ydCBjb25zdCBnZXRTdGFuZGFyZExvZ2dlciA9ICh7XG4gIHNjb3BlQXR0cmlidXRlcyxcbiAgZm9yY2VOZXdJbnN0YW5jZSA9IGZhbHNlLFxuICBkaXNhYmxlRW1pdHRlciA9IGZhbHNlLFxufTpcbiAgfCB7XG4gICAgICBzY29wZUF0dHJpYnV0ZXM/OiBBdHRyaWJ1dGVzO1xuICAgICAgZm9yY2VOZXdJbnN0YW5jZT86IGJvb2xlYW47XG4gICAgICBkaXNhYmxlRW1pdHRlcj86IGJvb2xlYW47XG4gICAgfVxuICB8IHVuZGVmaW5lZCA9IHt9KTogU3RhbmRhcmRMb2dnZXIgPT4ge1xuICBpZiAoIXN0YW5kYXJkTG9nZ2VyIHx8IGZvcmNlTmV3SW5zdGFuY2UpIHtcbiAgICBjb25zdCB0cmFjZXIgPSBnZXRTdGFuZGFyZFRyYWNlcigpO1xuICAgIGNvbnN0IGxvZ2dlciA9IGxvZ2dlclByb3ZpZGVyLmdldExvZ2dlcignc3N0LW1pZGRsZXdhcmUtbG9nZ2VyJywgJzEuMC4wJywge1xuICAgICAgaW5jbHVkZVRyYWNlQ29udGV4dDogdHJ1ZSxcbiAgICAgIHNjb3BlQXR0cmlidXRlcyxcbiAgICB9KTtcbiAgICBzdGFuZGFyZExvZ2dlciA9IG5ldyBTdGFuZGFyZExvZ2dlcihcbiAgICAgIGxvZ2dlcixcbiAgICAgIHRyYWNlcixcbiAgICAgIHNjb3BlQXR0cmlidXRlcyxcbiAgICAgIGRpc2FibGVFbWl0dGVyXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBoYXNTY29wZSA9XG4gICAgICBzdGFuZGFyZExvZ2dlci5kZWZhdWx0QXR0cmlidXRlcz8uZnVuY3Rpb24/Lm5hbWUgIT09ICd1bmtub3duJztcblxuICAgIGlmICghaGFzU2NvcGUgJiYgc2NvcGVBdHRyaWJ1dGVzKSB7XG4gICAgICBzdGFuZGFyZExvZ2dlci5kZWZpbmVEZWZhdWx0QXR0cmlidXRlcyhzY29wZUF0dHJpYnV0ZXMpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gc3RhbmRhcmRMb2dnZXI7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3RhbmRhcmRUcmFjZXIgPSAoKTogU3RhbmRhcmRUcmFjZXIgPT4ge1xuICBpZiAoIXN0YW5kYXJkVHJhY2VyKSB7XG4gICAgY29uc3QgdHJhY2VyID0gdHJhY2UuZ2V0VHJhY2VyKHNlcnZpY2VOYW1lLCAnMS4wLjAnKTtcbiAgICBzdGFuZGFyZFRyYWNlciA9IG5ldyBTdGFuZGFyZFRyYWNlcih0cmFjZXIsIHNlcnZpY2VOYW1lKTtcbiAgfVxuICByZXR1cm4gc3RhbmRhcmRUcmFjZXI7XG59O1xuXG5leHBvcnQgY29uc3QgZm9yY2VGbHVzaCA9IGFzeW5jICgpID0+IHtcbiAgYXdhaXQgbWV0cmljUmVhZGVyLmZvcmNlRmx1c2goKTtcbiAgYXdhaXQgdHJhY2VFeHBvcnRlci5mb3JjZUZsdXNoKCk7XG4gIGF3YWl0IGxvZ2dlclByb3ZpZGVyLmZvcmNlRmx1c2goKTtcbn07XG4iXX0=
@@ -143,4 +143,4 @@ const config_1 = require("../config");
143
143
  });
144
144
  });
145
145
  });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHNlZC9fX3Rlc3RzX18vY29uZmlnLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBOEQ7QUFDOUQsc0NBQWtEO0FBRWxELElBQUEsaUJBQVEsRUFBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7SUFDckMsSUFBSSxRQUErQixDQUFDO0lBRXBDLElBQUEsbUJBQVUsRUFBQyxHQUFHLEVBQUU7UUFFZCxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixHQUFHLGtCQUFrQixDQUFDO1FBQzdELE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEdBQUcsV0FBVyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEdBQUcsV0FBVyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQztRQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFFM0IsUUFBUSxHQUFHLElBQUksOEJBQXFCLEVBQUUsQ0FBQztJQUN6QyxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsaUJBQVEsRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO1FBQzFCLElBQUEsV0FBRSxFQUFDLDBDQUEwQyxFQUFFLEdBQUcsRUFBRTtZQUNsRCxRQUFRLENBQUMsVUFBVSxDQUFDO2dCQUNsQixRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUUsTUFBTTtnQkFDaEIsUUFBUSxFQUFFLE1BQU07Z0JBQ2hCLFdBQVcsRUFBRSxjQUFjO2dCQUMzQixjQUFjLEVBQUUsT0FBTztnQkFDdkIsT0FBTyxFQUFFLElBQUk7YUFDZCxDQUFDLENBQUM7WUFFSCxJQUFBLGVBQU0sRUFBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFD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dCwgdmksIGJlZm9yZUVhY2ggfSBmcm9tICd2aXRlc3QnO1xuaW1wb3J0IHsgVHNlZFRlbGVtZXRyeVByb3ZpZGVyIH0gZnJvbSAnLi4vY29uZmlnJztcblxuZGVzY3JpYmUoJ1RzZWRUZWxlbWV0cnlQcm92aWRlcicsICgpID0+IHtcbiAgbGV0IHByb3ZpZGVyOiBUc2VkVGVsZW1ldHJ5UHJvdmlkZXI7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgLy8gTW9jayBkYXMgdmFyacOhdmVpcyBkZSBhbWJpZW50ZVxuICAgIHByb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9FTkRQT0lOVCA9ICdodHRwczovL3Rlc3QuY29tJztcbiAgICBwcm9jZXNzLmVudi5PVEVMX0VYUE9SVEVSX09UTFBfVVNFUiA9ICd0ZXN0LXVzZXInO1xuICAgIHByb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9QQVNTID0gJ3Rlc3QtcGFzcyc7XG4gICAgcHJvY2Vzcy5lbnYuU0VSVklDRV9OQU1FID0gJ3Rlc3Qtc2VydmljZSc7XG4gICAgcHJvY2Vzcy5lbnYuU1RBR0UgPSAndGVzdCc7XG5cbiAgICBwcm92aWRlciA9IG5ldyBUc2VkVGVsZW1ldHJ5UHJvdmlkZXIoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2luaXRpYWxpemUnLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgaW5pY2lhbGl6YXIgY29tIGNvbmZpZ3VyYcOnw6NvIHbDoWxpZGEnLCAoKSA9PiB7XG4gICAgICBwcm92aWRlci5pbml0aWFsaXplKHtcbiAgICAgICAgZW5kcG9pbnQ6ICdodHRwczovL3Rlc3QuY29tJyxcbiAgICAgICAgdXNlcm5hbWU6ICd1c2VyJyxcbiAgICAgICAgcGFzc3dvcmQ6ICdwYXNzJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBzZXJ2aWNlVmVyc2lvbjogJzEuMC4wJyxcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QocHJvdmlkZXIuaXNJbml0aWFsaXplZCgpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ27Do28gZGV2ZSBpbmljaWFsaXphciBzZSBqw6EgZXN0aXZlciBpbmljaWFsaXphZG8nLCAoKSA9PiB7XG4gICAgICBwcm92aWRlci5pbml0aWFsaXplKHtcbiAgICAgICAgZW5kcG9pbnQ6ICdodHRwczovL3Rlc3QuY29tJyxcbiAgICAgICAgdXNlcm5hbWU6ICd1c2VyJyxcbiAgICAgICAgcGFzc3dvcmQ6ICdwYXNzJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGZpcnN0SW5pdCA9IHByb3ZpZGVyLmlzSW5pdGlhbGl6ZWQoKTtcblxuICAgICAgcHJvdmlkZXIuaW5pdGlhbGl6ZSh7XG4gICAgICAgIGVuZHBvaW50OiAnaHR0cHM6Ly9vdGhlci5jb20nLFxuICAgICAgICB1c2VybmFtZTogJ290aGVyJyxcbiAgICAgICAgcGFzc3dvcmQ6ICdvdGhlcicsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAnb3RoZXItc2VydmljZScsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHByb3ZpZGVyLmlzSW5pdGlhbGl6ZWQoKSkudG9CZShmaXJzdEluaXQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ27Do28gZGV2ZSBpbmljaWFsaXphciBzZSBlbmFibGVkPWZhbHNlJywgKCkgPT4ge1xuICAgICAgLy8gQ3JpYXIgcHJvdmlkZXIgc2VtIGVudiB2YXJzIHBhcmEgbsOjbyBhdXRvLWluaWNpYWxpemFyXG4gICAgICBkZWxldGUgcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UO1xuICAgICAgY29uc3QgbmV3UHJvdmlkZXIgPSBuZXcgVHNlZFRlbGVtZXRyeVByb3ZpZGVyKCk7XG5cbiAgICAgIG5ld1Byb3ZpZGVyLmluaXRpYWxpemUoe1xuICAgICAgICBlbmRwb2ludDogJ2h0dHBzOi8vdGVzdC5jb20nLFxuICAgICAgICB1c2VybmFtZTogJ3VzZXInLFxuICAgICAgICBwYXNzd29yZDogJ3Bhc3MnLFxuICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QobmV3UHJvdmlkZXIuaXNJbml0aWFsaXplZCgpKS50b0JlKGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldExvZ2dlclByb3ZpZGVyJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIHJldG9ybmFyIExvZ2dlclByb3ZpZGVyIGFww7NzIGluaWNpYWxpemHDp8OjbycsICgpID0+IHtcbiAgICAgIHByb3ZpZGVyLmluaXRpYWxpemUoe1xuICAgICAgICBlbmRwb2ludDogJ2h0dHBzOi8vdGVzdC5jb20nLFxuICAgICAgICB1c2VybmFtZTogJ3VzZXInLFxuICAgICAgICBwYXNzd29yZDogJ3Bhc3MnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgbG9nZ2VyUHJvdmlkZXIgPSBwcm92aWRlci5nZXRMb2dnZXJQcm92aWRlcigpO1xuICAgICAgZXhwZWN0KGxvZ2dlclByb3ZpZGVyKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2RldmUgcmV0b3JuYXIgbnVsbCBzZSBuw6NvIGluaWNpYWxpemFkbycsICgpID0+IHtcbiAgICAgIGNvbnN0IG5ld1Byb3ZpZGVyID0gbmV3IFRzZWRUZWxlbWV0cnlQcm92aWRlcigpO1xuICAgICAgLy8gTGltcGFyIGVudiB2YXJzIHBhcmEgbsOjbyBhdXRvLWluaWNpYWxpemFyXG4gICAgICBkZWxldGUgcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UO1xuXG4gICAgICBjb25zdCBlbXB0eVByb3ZpZGVyID0gbmV3IFRzZWRUZWxlbWV0cnlQcm92aWRlcigpO1xuICAgICAgZXhwZWN0KGVtcHR5UHJvdmlkZXIuZ2V0TG9nZ2VyUHJvdmlkZXIoKSkudG9CZU51bGwoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldFRyYWNlclByb3ZpZGVyJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIHJldG9ybmFyIFRyYWNlclByb3ZpZGVyIGFww7NzIGluaWNpYWxpemHDp8OjbycsICgpID0+IHtcbiAgICAgIHByb3ZpZGVyLmluaXRpYWxpemUoe1xuICAgICAgICBlbmRwb2ludDogJ2h0dHBzOi8vdGVzdC5jb20nLFxuICAgICAgICB1c2VybmFtZTogJ3VzZXInLFxuICAgICAgICBwYXNzd29yZDogJ3Bhc3MnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgdHJhY2VyUHJvdmlkZXIgPSBwcm92aWRlci5nZXRUcmFjZXJQcm92aWRlcigpO1xuICAgICAgZXhwZWN0KHRyYWNlclByb3ZpZGVyKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0TWV0ZXJQcm92aWRlcicsICgpID0+IHtcbiAgICBpdCgnZGV2ZSByZXRvcm5hciBNZXRlclByb3ZpZGVyIGFww7NzIGluaWNpYWxpemHDp8OjbycsICgpID0+IHtcbiAgICAgIHByb3ZpZGVyLmluaXRpYWxpemUoe1xuICAgICAgICBlbmRwb2ludDogJ2h0dHBzOi8vdGVzdC5jb20nLFxuICAgICAgICB1c2VybmFtZTogJ3VzZXInLFxuICAgICAgICBwYXNzd29yZDogJ3Bhc3MnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgbWV0ZXJQcm92aWRlciA9IHByb3ZpZGVyLmdldE1ldGVyUHJvdmlkZXIoKTtcbiAgICAgIGV4cGVjdChtZXRlclByb3ZpZGVyKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZm9yY2VGbHVzaCcsICgpID0+IHtcbiAgICBpdCgnZGV2ZSBleGVjdXRhciBmb3JjZUZsdXNoIHNlbSBlcnJvcycsIGFzeW5jICgpID0+IHtcbiAgICAgIHByb3ZpZGVyLmluaXRpYWxpemUoe1xuICAgICAgICBlbmRwb2ludDogJ2h0dHBzOi8vdGVzdC5jb20nLFxuICAgICAgICB1c2VybmFtZTogJ3VzZXInLFxuICAgICAgICBwYXNzd29yZDogJ3Bhc3MnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICB9KTtcblxuICAgICAgYXdhaXQgZXhwZWN0KHByb3ZpZGVyLmZvcmNlRmx1c2goKSkucmVzb2x2ZXMubm90LnRvVGhyb3coKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NodXRkb3duJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIGZhemVyIHNodXRkb3duIGUgbWFyY2FyIGNvbW8gbsOjbyBpbmljaWFsaXphZG8nLCBhc3luYyAoKSA9PiB7XG4gICAgICBwcm92aWRlci5pbml0aWFsaXplKHtcbiAgICAgICAgZW5kcG9pbnQ6ICdodHRwczovL3Rlc3QuY29tJyxcbiAgICAgICAgdXNlcm5hbWU6ICd1c2VyJyxcbiAgICAgICAgcGFzc3dvcmQ6ICdwYXNzJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChwcm92aWRlci5pc0luaXRpYWxpemVkKCkpLnRvQmUodHJ1ZSk7XG5cbiAgICAgIGF3YWl0IHByb3ZpZGVyLnNodXRkb3duKCk7XG5cbiAgICAgIGV4cGVjdChwcm92aWRlci5pc0luaXRpYWxpemVkKCkpLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaW50ZWdyYcOnw6NvIGNvbXBsZXRhJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIGNyaWFyIHByb3ZpZGVyIGNvbXBsZXRvIGNvbSBsb2dzLCB0cmFjZXMgZSBtw6l0cmljYXMnLCAoKSA9PiB7XG4gICAgICBwcm92aWRlci5pbml0aWFsaXplKHtcbiAgICAgICAgZW5kcG9pbnQ6ICdodHRwczovL3Rlc3QuY29tJyxcbiAgICAgICAgdXNlcm5hbWU6ICd1c2VyJyxcbiAgICAgICAgcGFzc3dvcmQ6ICdwYXNzJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICd0ZXN0LXNlcnZpY2UnLFxuICAgICAgICBzZXJ2aWNlVmVyc2lvbjogJzIuMC4wJyxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QocHJvdmlkZXIuaXNJbml0aWFsaXplZCgpKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHByb3ZpZGVyLmdldExvZ2dlclByb3ZpZGVyKCkpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QocHJvdmlkZXIuZ2V0VHJhY2VyUHJvdmlkZXIoKSkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChwcm92aWRlci5nZXRNZXRlclByb3ZpZGVyKCkpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHNlZC9fX3Rlc3RzX18vY29uZmlnLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBMEQ7QUFDMUQsc0NBQWtEO0FBRWxELElBQUEsaUJBQVEsRUFBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7SUFDckMsSUFBSSxRQUErQixDQUFDO0lBRXBDLElBQUEsbUJBQVUsRUFBQyxHQUFHLEVBQUU7UUFFZCxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixHQUFHLGtCQUFrQixDQUFDO1FBQzdELE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEdBQUcsV0FBVyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEdBQUcsV0FBVyxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQztRQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFFM0IsUUFBUSxHQUFHLElBQUksOEJBQXFCLEVBQUUsQ0FBQztJQUN6QyxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsaUJBQVEsRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO1FBQzFCLElBQUEsV0FBRSxFQUFDLDBDQUEwQyxFQUFFLEdBQUcsRUFBRTtZQUNsRCxRQUFRLENBQUMsVUFBVSxDQUFDO2dCQUNsQixRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUUsTUFBTTtnQkFDaEIsUUFBUSxFQUFFLE1BQU07Z0JBQ2hCLFdBQVcsRUFBRSxjQUFjO2dCQUMzQixjQUFjLEVBQUUsT0FBTztnQkFDdkIsT0FBTyxFQUFFLElBQUk7YUFDZCxDQUFDLENBQUM7WUFFSCxJQUFBLGVBQU0sRUFBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFD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dCwgYmVmb3JlRWFjaCB9IGZyb20gJ3ZpdGVzdCc7XG5pbXBvcnQgeyBUc2VkVGVsZW1ldHJ5UHJvdmlkZXIgfSBmcm9tICcuLi9jb25maWcnO1xuXG5kZXNjcmliZSgnVHNlZFRlbGVtZXRyeVByb3ZpZGVyJywgKCkgPT4ge1xuICBsZXQgcHJvdmlkZXI6IFRzZWRUZWxlbWV0cnlQcm92aWRlcjtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAvLyBNb2NrIGRhcyB2YXJpw6F2ZWlzIGRlIGFtYmllbnRlXG4gICAgcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UID0gJ2h0dHBzOi8vdGVzdC5jb20nO1xuICAgIHByb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9VU0VSID0gJ3Rlc3QtdXNlcic7XG4gICAgcHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX1BBU1MgPSAndGVzdC1wYXNzJztcbiAgICBwcm9jZXNzLmVudi5TRVJWSUNFX05BTUUgPSAndGVzdC1zZXJ2aWNlJztcbiAgICBwcm9jZXNzLmVudi5TVEFHRSA9ICd0ZXN0JztcblxuICAgIHByb3ZpZGVyID0gbmV3IFRzZWRUZWxlbWV0cnlQcm92aWRlcigpO1xuICB9KTtcblxuICBkZXNjcmliZSgnaW5pdGlhbGl6ZScsICgpID0+IHtcbiAgICBpdCgnZGV2ZSBpbmljaWFsaXphciBjb20gY29uZmlndXJhw6fDo28gdsOhbGlkYScsICgpID0+IHtcbiAgICAgIHByb3ZpZGVyLmluaXRpYWxpemUoe1xuICAgICAgICBlbmRwb2ludDogJ2h0dHBzOi8vdGVzdC5jb20nLFxuICAgICAgICB1c2VybmFtZTogJ3VzZXInLFxuICAgICAgICBwYXNzd29yZDogJ3Bhc3MnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIHNlcnZpY2VWZXJzaW9uOiAnMS4wLjAnLFxuICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChwcm92aWRlci5pc0luaXRpYWxpemVkKCkpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnbsOjbyBkZXZlIGluaWNpYWxpemFyIHNlIGrDoSBlc3RpdmVyIGluaWNpYWxpemFkbycsICgpID0+IHtcbiAgICAgIHByb3ZpZGVyLmluaXRpYWxpemUoe1xuICAgICAgICBlbmRwb2ludDogJ2h0dHBzOi8vdGVzdC5jb20nLFxuICAgICAgICB1c2VybmFtZTogJ3VzZXInLFxuICAgICAgICBwYXNzd29yZDogJ3Bhc3MnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZmlyc3RJbml0ID0gcHJvdmlkZXIuaXNJbml0aWFsaXplZCgpO1xuXG4gICAgICBwcm92aWRlci5pbml0aWFsaXplKHtcbiAgICAgICAgZW5kcG9pbnQ6ICdodHRwczovL290aGVyLmNvbScsXG4gICAgICAgIHVzZXJuYW1lOiAnb3RoZXInLFxuICAgICAgICBwYXNzd29yZDogJ290aGVyJyxcbiAgICAgICAgc2VydmljZU5hbWU6ICdvdGhlci1zZXJ2aWNlJyxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QocHJvdmlkZXIuaXNJbml0aWFsaXplZCgpKS50b0JlKGZpcnN0SW5pdCk7XG4gICAgfSk7XG5cbiAgICBpdCgnbsOjbyBkZXZlIGluaWNpYWxpemFyIHNlIGVuYWJsZWQ9ZmFsc2UnLCAoKSA9PiB7XG4gICAgICAvLyBDcmlhciBwcm92aWRlciBzZW0gZW52IHZhcnMgcGFyYSBuw6NvIGF1dG8taW5pY2lhbGl6YXJcbiAgICAgIGRlbGV0ZSBwcm9jZXNzLmVudi5PVEVMX0VYUE9SVEVSX09UTFBfRU5EUE9JTlQ7XG4gICAgICBjb25zdCBuZXdQcm92aWRlciA9IG5ldyBUc2VkVGVsZW1ldHJ5UHJvdmlkZXIoKTtcblxuICAgICAgbmV3UHJvdmlkZXIuaW5pdGlhbGl6ZSh7XG4gICAgICAgIGVuZHBvaW50OiAnaHR0cHM6Ly90ZXN0LmNvbScsXG4gICAgICAgIHVzZXJuYW1lOiAndXNlcicsXG4gICAgICAgIHBhc3N3b3JkOiAncGFzcycsXG4gICAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChuZXdQcm92aWRlci5pc0luaXRpYWxpemVkKCkpLnRvQmUoZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0TG9nZ2VyUHJvdmlkZXInLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgcmV0b3JuYXIgTG9nZ2VyUHJvdmlkZXIgYXDDs3MgaW5pY2lhbGl6YcOnw6NvJywgKCkgPT4ge1xuICAgICAgcHJvdmlkZXIuaW5pdGlhbGl6ZSh7XG4gICAgICAgIGVuZHBvaW50OiAnaHR0cHM6Ly90ZXN0LmNvbScsXG4gICAgICAgIHVzZXJuYW1lOiAndXNlcicsXG4gICAgICAgIHBhc3N3b3JkOiAncGFzcycsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBsb2dnZXJQcm92aWRlciA9IHByb3ZpZGVyLmdldExvZ2dlclByb3ZpZGVyKCk7XG4gICAgICBleHBlY3QobG9nZ2VyUHJvdmlkZXIpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnZGV2ZSByZXRvcm5hciBudWxsIHNlIG7Do28gaW5pY2lhbGl6YWRvJywgKCkgPT4ge1xuICAgICAgY29uc3QgbmV3UHJvdmlkZXIgPSBuZXcgVHNlZFRlbGVtZXRyeVByb3ZpZGVyKCk7XG4gICAgICAvLyBMaW1wYXIgZW52IHZhcnMgcGFyYSBuw6NvIGF1dG8taW5pY2lhbGl6YXJcbiAgICAgIGRlbGV0ZSBwcm9jZXNzLmVudi5PVEVMX0VYUE9SVEVSX09UTFBfRU5EUE9JTlQ7XG5cbiAgICAgIGNvbnN0IGVtcHR5UHJvdmlkZXIgPSBuZXcgVHNlZFRlbGVtZXRyeVByb3ZpZGVyKCk7XG4gICAgICBleHBlY3QoZW1wdHlQcm92aWRlci5nZXRMb2dnZXJQcm92aWRlcigpKS50b0JlTnVsbCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0VHJhY2VyUHJvdmlkZXInLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgcmV0b3JuYXIgVHJhY2VyUHJvdmlkZXIgYXDDs3MgaW5pY2lhbGl6YcOnw6NvJywgKCkgPT4ge1xuICAgICAgcHJvdmlkZXIuaW5pdGlhbGl6ZSh7XG4gICAgICAgIGVuZHBvaW50OiAnaHR0cHM6Ly90ZXN0LmNvbScsXG4gICAgICAgIHVzZXJuYW1lOiAndXNlcicsXG4gICAgICAgIHBhc3N3b3JkOiAncGFzcycsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB0cmFjZXJQcm92aWRlciA9IHByb3ZpZGVyLmdldFRyYWNlclByb3ZpZGVyKCk7XG4gICAgICBleHBlY3QodHJhY2VyUHJvdmlkZXIpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXRNZXRlclByb3ZpZGVyJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIHJldG9ybmFyIE1ldGVyUHJvdmlkZXIgYXDDs3MgaW5pY2lhbGl6YcOnw6NvJywgKCkgPT4ge1xuICAgICAgcHJvdmlkZXIuaW5pdGlhbGl6ZSh7XG4gICAgICAgIGVuZHBvaW50OiAnaHR0cHM6Ly90ZXN0LmNvbScsXG4gICAgICAgIHVzZXJuYW1lOiAndXNlcicsXG4gICAgICAgIHBhc3N3b3JkOiAncGFzcycsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBtZXRlclByb3ZpZGVyID0gcHJvdmlkZXIuZ2V0TWV0ZXJQcm92aWRlcigpO1xuICAgICAgZXhwZWN0KG1ldGVyUHJvdmlkZXIpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmb3JjZUZsdXNoJywgKCkgPT4ge1xuICAgIGl0KCdkZXZlIGV4ZWN1dGFyIGZvcmNlRmx1c2ggc2VtIGVycm9zJywgYXN5bmMgKCkgPT4ge1xuICAgICAgcHJvdmlkZXIuaW5pdGlhbGl6ZSh7XG4gICAgICAgIGVuZHBvaW50OiAnaHR0cHM6Ly90ZXN0LmNvbScsXG4gICAgICAgIHVzZXJuYW1lOiAndXNlcicsXG4gICAgICAgIHBhc3N3b3JkOiAncGFzcycsXG4gICAgICAgIHNlcnZpY2VOYW1lOiAndGVzdC1zZXJ2aWNlJyxcbiAgICAgIH0pO1xuXG4gICAgICBhd2FpdCBleHBlY3QocHJvdmlkZXIuZm9yY2VGbHVzaCgpKS5yZXNvbHZlcy5ub3QudG9UaHJvdygpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2h1dGRvd24nLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgZmF6ZXIgc2h1dGRvd24gZSBtYXJjYXIgY29tbyBuw6NvIGluaWNpYWxpemFkbycsIGFzeW5jICgpID0+IHtcbiAgICAgIHByb3ZpZGVyLmluaXRpYWxpemUoe1xuICAgICAgICBlbmRwb2ludDogJ2h0dHBzOi8vdGVzdC5jb20nLFxuICAgICAgICB1c2VybmFtZTogJ3VzZXInLFxuICAgICAgICBwYXNzd29yZDogJ3Bhc3MnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHByb3ZpZGVyLmlzSW5pdGlhbGl6ZWQoKSkudG9CZSh0cnVlKTtcblxuICAgICAgYXdhaXQgcHJvdmlkZXIuc2h1dGRvd24oKTtcblxuICAgICAgZXhwZWN0KHByb3ZpZGVyLmlzSW5pdGlhbGl6ZWQoKSkudG9CZShmYWxzZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdpbnRlZ3Jhw6fDo28gY29tcGxldGEnLCAoKSA9PiB7XG4gICAgaXQoJ2RldmUgY3JpYXIgcHJvdmlkZXIgY29tcGxldG8gY29tIGxvZ3MsIHRyYWNlcyBlIG3DqXRyaWNhcycsICgpID0+IHtcbiAgICAgIHByb3ZpZGVyLmluaXRpYWxpemUoe1xuICAgICAgICBlbmRwb2ludDogJ2h0dHBzOi8vdGVzdC5jb20nLFxuICAgICAgICB1c2VybmFtZTogJ3VzZXInLFxuICAgICAgICBwYXNzd29yZDogJ3Bhc3MnLFxuICAgICAgICBzZXJ2aWNlTmFtZTogJ3Rlc3Qtc2VydmljZScsXG4gICAgICAgIHNlcnZpY2VWZXJzaW9uOiAnMi4wLjAnLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChwcm92aWRlci5pc0luaXRpYWxpemVkKCkpLnRvQmUodHJ1ZSk7XG4gICAgICBleHBlY3QocHJvdmlkZXIuZ2V0TG9nZ2VyUHJvdmlkZXIoKSkudG9CZURlZmluZWQoKTtcbiAgICAgIGV4cGVjdChwcm92aWRlci5nZXRUcmFjZXJQcm92aWRlcigpKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KHByb3ZpZGVyLmdldE1ldGVyUHJvdmlkZXIoKSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -28,7 +28,7 @@ function TsedLogTelemetry() {
28
28
  controllerName = this.constructor.name;
29
29
  }
30
30
  if (!$ctx) {
31
- console.warn('[TsedLogTelemetry] Context not found, executing without telemetry');
31
+ console.warn('[Telemetry][TsedLogTelemetry] Context not found, executing without telemetry');
32
32
  return yield originalMethod.apply(this, args);
33
33
  }
34
34
  let telemetryService;
@@ -192,4 +192,4 @@ function TsedLogTelemetry() {
192
192
  return descriptor;
193
193
  };
194
194
  }
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXRlbGVtZXRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90c2VkL2xvZy10ZWxlbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFpQkEsNENBdVBDO0FBNVBELHVDQUFpRDtBQUNqRCw0Q0FBd0Q7QUFDeEQsMkNBQXlDO0FBQ3pDLGtDQUE4QztBQUU5QyxTQUFnQixnQkFBZ0I7SUFDOUIsT0FBTyxVQUNMLE9BQVksRUFDWixZQUFvQixFQUNwQixVQUE4QjtRQUU5QixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQztRQUVoQyxVQUFVLENBQUMsS0FBSyxHQUFHLFVBQTJCLEdBQUcsSUFBVzs7O2dCQUMxRCxNQUFNLFNBQVMsR0FBRyx3QkFBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUdwQyxNQUFNLElBQUksR0FBc0IsSUFBSSxDQUFDLElBQUksQ0FDdkMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE9BQU8sTUFBSSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsUUFBUSxDQUFBLENBQ3ZDLENBQUM7Z0JBR0YsSUFBSSxjQUFjLEdBQUcsbUJBQW1CLENBQUM7Z0JBQ3pDLElBQUksQ0FBQSxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxXQUFXLDBDQUFFLElBQUksS0FBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDbEUsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUN6QyxDQUFDO2dCQUVELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDVixPQUFPLENBQUMsSUFBSSxDQUNWLG1FQUFtRSxDQUNwRSxDQUFDO29CQUNGLE9BQU8sTUFBTSxjQUFj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QUFHLEVBQ3JCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUN0QixVQUFVLEVBQUUsY0FBYyxFQUMxQixnQkFBZ0IsRUFBRSxVQUFVLElBQzVCLENBQUM7b0JBR0gsSUFBSSxVQUFVLEVBQUUsQ0FBQzt3QkFDZixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ25CLENBQUM7b0JBQ0QsTUFBTyxnQkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFFL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztvQkFHNUMsTUFBTSxLQUFLLENBQUM7Z0JBQ2QsQ0FBQztZQUNILENBQUM7U0FBQSxDQUFDO1FBRUYsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVjb3JhdG9yIHF1ZSBjYXB0dXJhIGVycm9zIGF1dG9tYXRpY2FtZW50ZSwgY3JpYSBzcGFucyBlIGVudmlhIHBhcmEgdGVsZW1ldHJpYVxuICogQWxpbmhhZG8gY29tIGEgaW1wbGVtZW50YcOnw6NvIGRvIFNTVCBtaWRkbGV3YXJlIHBhcmEgZ2FyYW50aXIgY29uc2lzdMOqbmNpYVxuICpcbiAqIFVzbyBubyBjb250cm9sbGVyOlxuICpcbiAqIEBUc2VkTG9nVGVsZW1ldHJ5KClcbiAqIGFzeW5jIGdldENoZWNrb3V0KEBDb250ZXh0KCkgJGN0eDogU2VydmVybGVzc0NvbnRleHQsIC4uLikge1xuICogICByZXR1cm4gYXdhaXQgdGhpcy5zZXJ2aWNlLmV4ZWN1dGUocGFyYW1zKTtcbiAqIH1cbiAqL1xuaW1wb3J0IHsgU2VydmVybGVzc0NvbnRleHQgfSBmcm9tICdAdHNlZC9wbGF0Zm9ybS1zZXJ2ZXJsZXNzJztcbmltcG9ydCB7IFRzZWRUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlJztcbmltcG9ydCB7IG1ldHJpY3MsIFZhbHVlVHlwZSB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L2FwaSc7XG5pbXBvcnQgeyBwZXJmb3JtYW5jZSB9IGZyb20gJ3BlcmZfaG9va3MnO1xuaW1wb3J0IHsgZ2V0RW52aXJvbm1lbnRTdGFnZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gVHNlZExvZ1RlbGVtZXRyeSgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChcbiAgICBfdGFyZ2V0OiBhbnksXG4gICAgX3Byb3BlcnR5S2V5OiBzdHJpbmcsXG4gICAgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yXG4gICkge1xuICAgIGNvbnN0IG9yaWdpbmFsTWV0aG9kID0gZGVzY3JpcHRvci52YWx1ZTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gX3Byb3BlcnR5S2V5O1xuXG4gICAgZGVzY3JpcHRvci52YWx1ZSA9IGFzeW5jIGZ1bmN0aW9uICh0aGlzOiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBjb25zdCBzdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICAgICAgLy8gRW5jb250cmFyIG8gY29udGV4dG9cbiAgICAgIGNvbnN0ICRjdHg6IFNlcnZlcmxlc3NDb250ZXh0ID0gYXJncy5maW5kKFxuICAgICAgICAoYXJnKSA9PiBhcmc/LnJlcXVlc3QgJiYgYXJnPy5yZXNwb25zZVxuICAgICAgKTtcblxuICAgICAgLy8gQ2FwdHVyYXIgbyBub21lIGRvIGNvbnRyb2xsZXJcbiAgICAgIGxldCBjb250cm9sbGVyTmFtZSA9ICdVbmtub3duQ29udHJvbGxlcic7XG4gICAgICBpZiAodGhpcz8uY29uc3RydWN0b3I/Lm5hbWUgJiYgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lICE9PSAnT2JqZWN0Jykge1xuICAgICAgICBjb250cm9sbGVyTmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCEkY3R4KSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnW1RzZWRMb2dUZWxlbWV0cnldIENvbnRleHQgbm90IGZvdW5kLCBleGVjdXRpbmcgd2l0aG91dCB0ZWxlbWV0cnknXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBhd2FpdCBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgIH1cblxuICAgICAgLy8gQnVzY2FyIG8gVGVsZW1ldHJ5U2VydmljZSBkbyBpbmplY3RvclxuICAgICAgbGV0IHRlbGVtZXRyeVNlcnZpY2U6IFRzZWRUZWxlbWV0cnlTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKCRjdHguaW5qZWN0b3IpIHtcbiAgICAgICAgICB0ZWxlbWV0cnlTZXJ2aWNlID0gJGN0eC5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBUc2VkVGVsZW1ldHJ5U2VydmljZVxuICAgICAgICAgICkgYXMgVHNlZFRlbGVtZXRyeVNlcnZpY2U7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICRjdHgubG9nZ2VyPy53YXJuKHtcbiAgICAgICAgICAnVHNlZExvZ1RlbGVtZXRyeSAtIEZhaWxlZCB0byBnZXQgVGVsZW1ldHJ5U2VydmljZSBmcm9tIGluamVjdG9yJzpcbiAgICAgICAgICAgIGVycm9yLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0ZWxlbWV0cnlTZXJ2aWNlKSB7XG4gICAgICAgICRjdHgubG9nZ2VyPy53YXJuKFxuICAgICAgICAgICdbVHNlZExvZ1RlbGVtZXRyeV0gVGVsZW1ldHJ5U2VydmljZSBub3QgYXZhaWxhYmxlLCBleGVjdXRpbmcgd2l0aG91dCB0ZWxlbWV0cnknXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBhd2FpdCBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0cmFpciBpbmZvcm1hw6fDtWVzIGLDoXNpY2FzXG4gICAgICBjb25zdCByZXF1ZXN0ID0gJGN0eC5yZXF1ZXN0O1xuICAgICAgY29uc3Qgc2VydmljZU5hbWUgPSBwcm9jZXNzLmVudi5TRVJWSUNFX05BTUUgfHwgJ3RzZWQtc2VydmljZSc7XG4gICAgICBjb25zdCBzdGFnZSA9IGdldEVudmlyb25tZW50U3RhZ2UoKTtcblxuICAgICAgY29uc3QgcXVlcnlTdHJpbmdQYXJhbWV0ZXJzID0gcmVxdWVzdC5xdWVyeSB8fCB7fTtcbiAgICAgIGNvbnN0IG9yaWdpbiA9IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycy5vcmlnaW4gfHwgJ3dlYic7XG5cbiAgICAgIC8vIENyaWFyIHNwYW4gdXNhbmRvIFN0YW5kYXJkVHJhY2VyIChzaW1pbGFyIGFvIFNTVCBtaWRkbGV3YXJlKVxuICAgICAgY29uc3QgdHJhY2VyID0gKHRlbGVtZXRyeVNlcnZpY2UgYXMgYW55KS5nZXRUcmFjZXIoKTtcbiAgICAgIGxldCBzcGFuUmVzdWx0OiBhbnkgPSBudWxsO1xuXG4gICAgICBpZiAodHJhY2VyKSB7XG4gICAgICAgIHNwYW5SZXN1bHQgPSB0cmFjZXIuc3RhcnRTcGFuKHtcbiAgICAgICAgICBzcGFuTmFtZTogYCR7Y29udHJvbGxlck5hbWV9LiR7bWV0aG9kTmFtZX1gLFxuICAgICAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgICAgIGVudmlyb25tZW50OiBzdGFnZSxcbiAgICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICAgIGNvbnRyb2xsZXI6IGNvbnRyb2xsZXJOYW1lLFxuICAgICAgICAgICAgY29udHJvbGxlck1ldGhvZDogbWV0aG9kTmFtZSxcbiAgICAgICAgICAgIHJlcXVlc3RJZDogJGN0eC5pZCxcbiAgICAgICAgICAgIGF3c1JlcXVlc3RJZDogJGN0eC5jb250ZXh0Py5hd3NSZXF1ZXN0SWQsXG4gICAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBodHRwOiB7XG4gICAgICAgICAgICBtZXRob2Q6IHJlcXVlc3QubWV0aG9kLFxuICAgICAgICAgICAgdXJsOiByZXF1ZXN0LnVybCxcbiAgICAgICAgICAgIGVuZHBvaW50OiByZXF1ZXN0LnVybCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gQ3JpYXIgbcOpdHJpY2FzIChzaW1pbGFyIGFvIFNTVCBtaWRkbGV3YXJlKVxuICAgICAgY29uc3QgbWV0ZXIgPSBtZXRyaWNzLmdldE1ldGVyKG9yaWdpbik7XG4gICAgICBjb25zdCBleGVjdXRpb25UaW1lSGlzdG9ncmFtID0gbWV0ZXIuY3JlYXRlSGlzdG9ncmFtKFxuICAgICAgICAndHNlZF9leGVjdXRpb25fZHVyYXRpb24nLFxuICAgICAgICB7XG4gICAgICAgICAgZGVzY3JpcHRpb246ICdUZW1wbyB0b3RhbCBkZSBleGVjdcOnw6NvIGRvIG3DqXRvZG8gVHNlZCBlbSBtcycsXG4gICAgICAgICAgdW5pdDogJ21zJyxcbiAgICAgICAgICB2YWx1ZVR5cGU6IFZhbHVlVHlwZS5ET1VCTEUsXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICBjb25zdCBzdWNjZXNzQ291bnRlciA9IG1ldGVyLmNyZWF0ZUNvdW50ZXIoJ3RzZWRfc3VjY2Vzc2Z1bF9yZXF1ZXN0cycsIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdUb3RhbCBkZSByZXF1aXNpw6fDtWVzIGJlbS1zdWNlZGlkYXMnLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBmYWlsdXJlQ291bnRlciA9IG1ldGVyLmNyZWF0ZUNvdW50ZXIoJ3RzZWRfZmFpbGVkX3JlcXVlc3RzJywge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1RvdGFsIGRlIHJlcXVpc2nDp8O1ZXMgY29tIGZhbGhhJyxcbiAgICAgIH0pO1xuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBvcmlnaW5hbE1ldGhvZC5hcHBseSh0aGlzLCBhcmdzKTtcblxuICAgICAgICAvLyBTVUNFU1NPIC0gU2ltaWxhciBhbyAnYWZ0ZXInIGRvIFNTVCBtaWRkbGV3YXJlXG4gICAgICAgIGNvbnN0IGR1cmF0aW9uTXMgPSBwZXJmb3JtYW5jZS5ub3coKSAtIHN0YXJ0VGltZTtcblxuICAgICAgICAvLyBNYXJjYXIgc3BhbiBjb21vIHN1Y2Vzc29cbiAgICAgICAgaWYgKHNwYW5SZXN1bHQpIHtcbiAgICAgICAgICBzcGFuUmVzdWx0LnNldFN1Y2Nlc3ModHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNw6l0cmljYXMgZGUgc3VjZXNzb1xuICAgICAgICBzdWNjZXNzQ291bnRlci5hZGQoMSwge1xuICAgICAgICAgIG9yaWdpbixcbiAgICAgICAgICBjb250cm9sbGVyOiBjb250cm9sbGVyTmFtZSxcbiAgICAgICAgICBtZXRob2Q6IG1ldGhvZE5hbWUsXG4gICAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lLFxuICAgICAgICAgIGVudmlyb25tZW50TmFtZTogc3RhZ2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0ucmVjb3JkKGR1cmF0aW9uTXMsIHtcbiAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXG4gICAgICAgICAgY29udHJvbGxlcjogY29udHJvbGxlck5hbWUsXG4gICAgICAgICAgbWV0aG9kOiBtZXRob2ROYW1lLFxuICAgICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgICBlbnZpcm9ubWVudE5hbWU6IHN0YWdlLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBMb2cgZGUgc3VjZXNzbyAoc2ltaWxhciBhbyBTU1QpXG4gICAgICAgIGNvbnN0IGxvZ2dlciA9ICh0ZWxlbWV0cnlTZXJ2aWNlIGFzIGFueSkuZ2V0TG9nZ2VyKCk7XG4gICAgICAgIGlmIChsb2dnZXIpIHtcbiAgICAgICAgICBhd2FpdCBsb2dnZXIubG9nSW5mbyh7XG4gICAgICAgICAgICBtZXNzYWdlOiAnUmVxdWVzdCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgICAgICAgZW52aXJvbm1lbnQ6IHN0YWdlLFxuICAgICAgICAgICAgZXhlY3V0aW9uOiB7XG4gICAgICAgICAgICAgIGNvbnRyb2xsZXI6IGNvbnRyb2xsZXJOYW1lLFxuICAgICAgICAgICAgICBjb250cm9sbGVyTWV0aG9kOiBtZXRob2ROYW1lLFxuICAgICAgICAgICAgICByZXF1ZXN0SWQ6ICRjdHguaWQsXG4gICAgICAgICAgICAgIGF3c1JlcXVlc3RJZDogJGN0eC5jb250ZXh0Py5hd3NSZXF1ZXN0SWQsXG4gICAgICAgICAgICAgIG9yaWdpbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBodHRwOiB7XG4gICAgICAgICAgICAgIG1ldGhvZDogcmVxdWVzdC5tZXRob2QsXG4gICAgICAgICAgICAgIHVybDogcmVxdWVzdC51cmwsXG4gICAgICAgICAgICAgIGVuZHBvaW50OiByZXF1ZXN0LnVybCxcbiAgICAgICAgICAgICAgc3RhdHVzQ29kZTogJGN0eC5yZXNwb25zZT8uc3RhdHVzQ29kZSB8fCAyMDAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGVyZm9ybWFuY2U6IHtcbiAgICAgICAgICAgICAgZHVyYXRpb25NcyxcbiAgICAgICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaW5hbGl6YXIgc3BhbiBlIGZvcmNlIGZsdXNoXG4gICAgICAgIGlmIChzcGFuUmVzdWx0KSB7XG4gICAgICAgICAgc3BhblJlc3VsdC5lbmQoKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCAodGVsZW1ldHJ5U2VydmljZSBhcyBhbnkpLnRlbGVtZXRyeVByb3ZpZGVyLmZvcmNlRmx1c2goKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAvLyBFUlJPIC0gU2ltaWxhciBhbyAnb25FcnJvcicgZG8gU1NUIG1pZGRsZXdhcmVcbiAgICAgICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xuXG4gICAgICAgICRjdHgubG9nZ2VyPy5pbmZvKCdFcnJvciBjYXVnaHQsIHNlbmRpbmcgdG8gdGVsZW1ldHJ5Jyk7XG5cbiAgICAgICAgLy8gTWFyY2FyIHNwYW4gY29tbyBlcnJvXG4gICAgICAgIGlmIChzcGFuUmVzdWx0KSB7XG4gICAgICAgICAgc3BhblJlc3VsdC5zZXRFcnJvcihlcnJvcik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNw6l0cmljYXMgZGUgZXJyb1xuICAgICAgICBmYWlsdXJlQ291bnRlci5hZGQoMSwge1xuICAgICAgICAgIG9yaWdpbixcbiAgICAgICAgICBlcnJvcl90eXBlOiBlcnJvcj8uY29uc3RydWN0b3I/Lm5hbWUgfHwgJ1Vua25vd25FcnJvcicsXG4gICAgICAgICAgY29udHJvbGxlcjogY29udHJvbGxlck5hbWUsXG4gICAgICAgICAgbWV0aG9kOiBtZXRob2ROYW1lLFxuICAgICAgICAgIHNlcnZpY2VOYW1lOiBzZXJ2aWNlTmFtZSxcbiAgICAgICAgICBlbnZpcm9ubWVudE5hbWU6IHN0YWdlLFxuICAgICAgICB9KTtcblxuICAgICAgICBleGVjdXRpb25UaW1lSGlzdG9ncmFtLnJlY29yZChkdXJhdGlvbk1zLCB7XG4gICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgIHN0YXR1czogJ2Vycm9yJyxcbiAgICAgICAgICBjb250cm9sbGVyOiBjb250cm9sbGVyTmFtZSxcbiAgICAgICAgICBtZXRob2Q6IG1ldGhvZE5hbWUsXG4gICAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lLFxuICAgICAgICAgIGVudmlyb25tZW50TmFtZTogc3RhZ2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEV4dHJhaXIgaW5mb3JtYcOnw7VlcyBkbyB1c3XDoXJpb1xuICAgICAgICBsZXQgdXNlckluZm86IGFueSA9IHt9O1xuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmUgLSBMb2dnZWRVc2VySWRlbnRpZmllciDDqSBlc3BlY8OtZmljbyBkYSBhcGxpY2HDp8Ojb1xuICAgICAgICAgIGlmICh0eXBlb2YgTG9nZ2VkVXNlcklkZW50aWZpZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBjb25zdCB7IGxvZ2dlZFVzZXIgfSA9IExvZ2dlZFVzZXJJZGVudGlmaWVyLnVzZSgkY3R4KTtcbiAgICAgICAgICAgIHVzZXJJbmZvID0ge1xuICAgICAgICAgICAgICBhY2NvdW50VXNlclVpZDogbG9nZ2VkVXNlcj8udWlkLFxuICAgICAgICAgICAgICBhY2NvdW50VWlkOiBsb2dnZWRVc2VyPy5hY2NvdW50Py51aWQsXG4gICAgICAgICAgICAgIGFwcGxpY2F0aW9uVWlkOiBsb2dnZWRVc2VyPy5hcHBsaWNhdGlvbj8udWlkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBMb2dnZWRVc2VySWRlbnRpZmllciBuw6NvIGVzdMOhIGRpc3BvbsOtdmVsXG4gICAgICAgIH1cblxuICAgICAgICAvLyBMb2cgZGUgZXJybyAoc2ltaWxhciBhbyBTU1QpXG4gICAgICAgIGF3YWl0IHRlbGVtZXRyeVNlcnZpY2UubG9nRXJyb3Ioe1xuICAgICAgICAgIGVycm9yOiBlcnJvcixcbiAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICBzdGF0dXNDb2RlOiBlcnJvci5zdGF0dXMgfHwgNTAwLFxuICAgICAgICAgICAgdXJsOiByZXF1ZXN0LnVybCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycyxcbiAgICAgICAgICAgIGJvZHk6IHJlcXVlc3QuYm9keSxcbiAgICAgICAgICAgIHBhcmFtczogcmVxdWVzdC5wYXJhbXMsXG4gICAgICAgICAgICBxdWVyeTogcmVxdWVzdC5xdWVyeSxcbiAgICAgICAgICAgIGVycm9yVHlwZTogZXJyb3I/LmNvbnN0cnVjdG9yPy5uYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4udXNlckluZm8sXG4gICAgICAgICAgcmVxdWVzdElkOiAkY3R4LmlkLFxuICAgICAgICAgIGF3c1JlcXVlc3RJZDogJGN0eC5jb250ZXh0Py5hd3NSZXF1ZXN0SWQsXG4gICAgICAgICAgZW5kcG9pbnQ6IHJlcXVlc3QudXJsLFxuICAgICAgICAgIG1ldGhvZDogcmVxdWVzdC5tZXRob2QsXG4gICAgICAgICAgY29udHJvbGxlcjogY29udHJvbGxlck5hbWUsXG4gICAgICAgICAgY29udHJvbGxlck1ldGhvZDogbWV0aG9kTmFtZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRmluYWxpemFyIHNwYW4gZSBmb3JjZSBmbHVzaFxuICAgICAgICBpZiAoc3BhblJlc3VsdCkge1xuICAgICAgICAgIHNwYW5SZXN1bHQuZW5kKCk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgKHRlbGVtZXRyeVNlcnZpY2UgYXMgYW55KS50ZWxlbWV0cnlQcm92aWRlci5mb3JjZUZsdXNoKCk7XG5cbiAgICAgICAgJGN0eC5sb2dnZXIuaW5mbygnRXJyb3Igc2VudCB0byB0ZWxlbWV0cnknKTtcblxuICAgICAgICAvLyBSZS10aHJvdyBwYXJhIG1hbnRlciBvIGNvbXBvcnRhbWVudG8gbm9ybWFsIGRlIGVycm9cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICB9O1xufVxuIl19
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLXRlbGVtZXRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90c2VkL2xvZy10ZWxlbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFpQkEsNENBdVBDO0FBNVBELHVDQUFpRDtBQUNqRCw0Q0FBd0Q7QUFDeEQsMkNBQXlDO0FBQ3pDLGtDQUE4QztBQUU5QyxTQUFnQixnQkFBZ0I7SUFDOUIsT0FBTyxVQUNMLE9BQVksRUFDWixZQUFvQixFQUNwQixVQUE4QjtRQUU5QixNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQztRQUVoQyxVQUFVLENBQUMsS0FBSyxHQUFHLFVBQTJCLEdBQUcsSUFBVzs7O2dCQUMxRCxNQUFNLFNBQVMsR0FBRyx3QkFBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUdwQyxNQUFNLElBQUksR0FBc0IsSUFBSSxDQUFDLElBQUksQ0FDdkMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE9BQU8sTUFBSSxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsUUFBUSxDQUFBLENBQ3ZDLENBQUM7Z0JBR0YsSUFBSSxjQUFjLEdBQUcsbUJBQW1CLENBQUM7Z0JBQ3pDLElBQUksQ0FBQSxNQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxXQUFXLDBDQUFFLElBQUksS0FBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDbEUsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUN6QyxDQUFDO2dCQUVELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDVixPQUFPLENBQUMsSUFBSSxDQUNWLDhFQUE4RSxDQUMvRSxDQUFDO29CQUNGLE9BQU8sTUFBTSxjQUFj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QUFHLEVBQ3JCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUN0QixVQUFVLEVBQUUsY0FBYyxFQUMxQixnQkFBZ0IsRUFBRSxVQUFVLElBQzVCLENBQUM7b0JBR0gsSUFBSSxVQUFVLEVBQUUsQ0FBQzt3QkFDZixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ25CLENBQUM7b0JBQ0QsTUFBTyxnQkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFFL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztvQkFHNUMsTUFBTSxLQUFLLENBQUM7Z0JBQ2QsQ0FBQztZQUNILENBQUM7U0FBQSxDQUFDO1FBRUYsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVjb3JhdG9yIHF1ZSBjYXB0dXJhIGVycm9zIGF1dG9tYXRpY2FtZW50ZSwgY3JpYSBzcGFucyBlIGVudmlhIHBhcmEgdGVsZW1ldHJpYVxuICogQWxpbmhhZG8gY29tIGEgaW1wbGVtZW50YcOnw6NvIGRvIFNTVCBtaWRkbGV3YXJlIHBhcmEgZ2FyYW50aXIgY29uc2lzdMOqbmNpYVxuICpcbiAqIFVzbyBubyBjb250cm9sbGVyOlxuICpcbiAqIEBUc2VkTG9nVGVsZW1ldHJ5KClcbiAqIGFzeW5jIGdldENoZWNrb3V0KEBDb250ZXh0KCkgJGN0eDogU2VydmVybGVzc0NvbnRleHQsIC4uLikge1xuICogICByZXR1cm4gYXdhaXQgdGhpcy5zZXJ2aWNlLmV4ZWN1dGUocGFyYW1zKTtcbiAqIH1cbiAqL1xuaW1wb3J0IHsgU2VydmVybGVzc0NvbnRleHQgfSBmcm9tICdAdHNlZC9wbGF0Zm9ybS1zZXJ2ZXJsZXNzJztcbmltcG9ydCB7IFRzZWRUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlJztcbmltcG9ydCB7IG1ldHJpY3MsIFZhbHVlVHlwZSB9IGZyb20gJ0BvcGVudGVsZW1ldHJ5L2FwaSc7XG5pbXBvcnQgeyBwZXJmb3JtYW5jZSB9IGZyb20gJ3BlcmZfaG9va3MnO1xuaW1wb3J0IHsgZ2V0RW52aXJvbm1lbnRTdGFnZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gVHNlZExvZ1RlbGVtZXRyeSgpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChcbiAgICBfdGFyZ2V0OiBhbnksXG4gICAgX3Byb3BlcnR5S2V5OiBzdHJpbmcsXG4gICAgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yXG4gICkge1xuICAgIGNvbnN0IG9yaWdpbmFsTWV0aG9kID0gZGVzY3JpcHRvci52YWx1ZTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gX3Byb3BlcnR5S2V5O1xuXG4gICAgZGVzY3JpcHRvci52YWx1ZSA9IGFzeW5jIGZ1bmN0aW9uICh0aGlzOiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBjb25zdCBzdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICAgICAgLy8gRW5jb250cmFyIG8gY29udGV4dG9cbiAgICAgIGNvbnN0ICRjdHg6IFNlcnZlcmxlc3NDb250ZXh0ID0gYXJncy5maW5kKFxuICAgICAgICAoYXJnKSA9PiBhcmc/LnJlcXVlc3QgJiYgYXJnPy5yZXNwb25zZVxuICAgICAgKTtcblxuICAgICAgLy8gQ2FwdHVyYXIgbyBub21lIGRvIGNvbnRyb2xsZXJcbiAgICAgIGxldCBjb250cm9sbGVyTmFtZSA9ICdVbmtub3duQ29udHJvbGxlcic7XG4gICAgICBpZiAodGhpcz8uY29uc3RydWN0b3I/Lm5hbWUgJiYgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lICE9PSAnT2JqZWN0Jykge1xuICAgICAgICBjb250cm9sbGVyTmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCEkY3R4KSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnW1RlbGVtZXRyeV1bVHNlZExvZ1RlbGVtZXRyeV0gQ29udGV4dCBub3QgZm91bmQsIGV4ZWN1dGluZyB3aXRob3V0IHRlbGVtZXRyeSdcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IG9yaWdpbmFsTWV0aG9kLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgfVxuXG4gICAgICAvLyBCdXNjYXIgbyBUZWxlbWV0cnlTZXJ2aWNlIGRvIGluamVjdG9yXG4gICAgICBsZXQgdGVsZW1ldHJ5U2VydmljZTogVHNlZFRlbGVtZXRyeVNlcnZpY2UgfCB1bmRlZmluZWQ7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoJGN0eC5pbmplY3Rvcikge1xuICAgICAgICAgIHRlbGVtZXRyeVNlcnZpY2UgPSAkY3R4LmluamVjdG9yLmdldChcbiAgICAgICAgICAgIFRzZWRUZWxlbWV0cnlTZXJ2aWNlXG4gICAgICAgICAgKSBhcyBUc2VkVGVsZW1ldHJ5U2VydmljZTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgJGN0eC5sb2dnZXI/Lndhcm4oe1xuICAgICAgICAgICdUc2VkTG9nVGVsZW1ldHJ5IC0gRmFpbGVkIHRvIGdldCBUZWxlbWV0cnlTZXJ2aWNlIGZyb20gaW5qZWN0b3InOlxuICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRlbGVtZXRyeVNlcnZpY2UpIHtcbiAgICAgICAgJGN0eC5sb2dnZXI/Lndhcm4oXG4gICAgICAgICAgJ1tUc2VkTG9nVGVsZW1ldHJ5XSBUZWxlbWV0cnlTZXJ2aWNlIG5vdCBhdmFpbGFibGUsIGV4ZWN1dGluZyB3aXRob3V0IHRlbGVtZXRyeSdcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IG9yaWdpbmFsTWV0aG9kLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgfVxuXG4gICAgICAvLyBFeHRyYWlyIGluZm9ybWHDp8O1ZXMgYsOhc2ljYXNcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSAkY3R4LnJlcXVlc3Q7XG4gICAgICBjb25zdCBzZXJ2aWNlTmFtZSA9IHByb2Nlc3MuZW52LlNFUlZJQ0VfTkFNRSB8fCAndHNlZC1zZXJ2aWNlJztcbiAgICAgIGNvbnN0IHN0YWdlID0gZ2V0RW52aXJvbm1lbnRTdGFnZSgpO1xuXG4gICAgICBjb25zdCBxdWVyeVN0cmluZ1BhcmFtZXRlcnMgPSByZXF1ZXN0LnF1ZXJ5IHx8IHt9O1xuICAgICAgY29uc3Qgb3JpZ2luID0gcXVlcnlTdHJpbmdQYXJhbWV0ZXJzLm9yaWdpbiB8fCAnd2ViJztcblxuICAgICAgLy8gQ3JpYXIgc3BhbiB1c2FuZG8gU3RhbmRhcmRUcmFjZXIgKHNpbWlsYXIgYW8gU1NUIG1pZGRsZXdhcmUpXG4gICAgICBjb25zdCB0cmFjZXIgPSAodGVsZW1ldHJ5U2VydmljZSBhcyBhbnkpLmdldFRyYWNlcigpO1xuICAgICAgbGV0IHNwYW5SZXN1bHQ6IGFueSA9IG51bGw7XG5cbiAgICAgIGlmICh0cmFjZXIpIHtcbiAgICAgICAgc3BhblJlc3VsdCA9IHRyYWNlci5zdGFydFNwYW4oe1xuICAgICAgICAgIHNwYW5OYW1lOiBgJHtjb250cm9sbGVyTmFtZX0uJHttZXRob2ROYW1lfWAsXG4gICAgICAgICAgc2VydmljZU5hbWUsXG4gICAgICAgICAgZW52aXJvbm1lbnQ6IHN0YWdlLFxuICAgICAgICAgIGV4ZWN1dGlvbjoge1xuICAgICAgICAgICAgY29udHJvbGxlcjogY29udHJvbGxlck5hbWUsXG4gICAgICAgICAgICBjb250cm9sbGVyTWV0aG9kOiBtZXRob2ROYW1lLFxuICAgICAgICAgICAgcmVxdWVzdElkOiAkY3R4LmlkLFxuICAgICAgICAgICAgYXdzUmVxdWVzdElkOiAkY3R4LmNvbnRleHQ/LmF3c1JlcXVlc3RJZCxcbiAgICAgICAgICAgIG9yaWdpbixcbiAgICAgICAgICB9LFxuICAgICAgICAgIGh0dHA6IHtcbiAgICAgICAgICAgIG1ldGhvZDogcmVxdWVzdC5tZXRob2QsXG4gICAgICAgICAgICB1cmw6IHJlcXVlc3QudXJsLFxuICAgICAgICAgICAgZW5kcG9pbnQ6IHJlcXVlc3QudXJsLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICAvLyBDcmlhciBtw6l0cmljYXMgKHNpbWlsYXIgYW8gU1NUIG1pZGRsZXdhcmUpXG4gICAgICBjb25zdCBtZXRlciA9IG1ldHJpY3MuZ2V0TWV0ZXIob3JpZ2luKTtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0gPSBtZXRlci5jcmVhdGVIaXN0b2dyYW0oXG4gICAgICAgICd0c2VkX2V4ZWN1dGlvbl9kdXJhdGlvbicsXG4gICAgICAgIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RlbXBvIHRvdGFsIGRlIGV4ZWN1w6fDo28gZG8gbcOpdG9kbyBUc2VkIGVtIG1zJyxcbiAgICAgICAgICB1bml0OiAnbXMnLFxuICAgICAgICAgIHZhbHVlVHlwZTogVmFsdWVUeXBlLkRPVUJMRSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIGNvbnN0IHN1Y2Nlc3NDb3VudGVyID0gbWV0ZXIuY3JlYXRlQ291bnRlcigndHNlZF9zdWNjZXNzZnVsX3JlcXVlc3RzJywge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1RvdGFsIGRlIHJlcXVpc2nDp8O1ZXMgYmVtLXN1Y2VkaWRhcycsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGZhaWx1cmVDb3VudGVyID0gbWV0ZXIuY3JlYXRlQ291bnRlcigndHNlZF9mYWlsZWRfcmVxdWVzdHMnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVG90YWwgZGUgcmVxdWlzacOnw7VlcyBjb20gZmFsaGEnLFxuICAgICAgfSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG9yaWdpbmFsTWV0aG9kLmFwcGx5KHRoaXMsIGFyZ3MpO1xuXG4gICAgICAgIC8vIFNVQ0VTU08gLSBTaW1pbGFyIGFvICdhZnRlcicgZG8gU1NUIG1pZGRsZXdhcmVcbiAgICAgICAgY29uc3QgZHVyYXRpb25NcyA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xuXG4gICAgICAgIC8vIE1hcmNhciBzcGFuIGNvbW8gc3VjZXNzb1xuICAgICAgICBpZiAoc3BhblJlc3VsdCkge1xuICAgICAgICAgIHNwYW5SZXN1bHQuc2V0U3VjY2Vzcyh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE3DqXRyaWNhcyBkZSBzdWNlc3NvXG4gICAgICAgIHN1Y2Nlc3NDb3VudGVyLmFkZCgxLCB7XG4gICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgIGNvbnRyb2xsZXI6IGNvbnRyb2xsZXJOYW1lLFxuICAgICAgICAgIG1ldGhvZDogbWV0aG9kTmFtZSxcbiAgICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gICAgICAgICAgZW52aXJvbm1lbnROYW1lOiBzdGFnZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZXhlY3V0aW9uVGltZUhpc3RvZ3JhbS5yZWNvcmQoZHVyYXRpb25Ncywge1xuICAgICAgICAgIG9yaWdpbixcbiAgICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJyxcbiAgICAgICAgICBjb250cm9sbGVyOiBjb250cm9sbGVyTmFtZSxcbiAgICAgICAgICBtZXRob2Q6IG1ldGhvZE5hbWUsXG4gICAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lLFxuICAgICAgICAgIGVudmlyb25tZW50TmFtZTogc3RhZ2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIExvZyBkZSBzdWNlc3NvIChzaW1pbGFyIGFvIFNTVClcbiAgICAgICAgY29uc3QgbG9nZ2VyID0gKHRlbGVtZXRyeVNlcnZpY2UgYXMgYW55KS5nZXRMb2dnZXIoKTtcbiAgICAgICAgaWYgKGxvZ2dlcikge1xuICAgICAgICAgIGF3YWl0IGxvZ2dlci5sb2dJbmZvKHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdSZXF1ZXN0IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHknLFxuICAgICAgICAgICAgc2VydmljZU5hbWUsXG4gICAgICAgICAgICBlbnZpcm9ubWVudDogc3RhZ2UsXG4gICAgICAgICAgICBleGVjdXRpb246IHtcbiAgICAgICAgICAgICAgY29udHJvbGxlcjogY29udHJvbGxlck5hbWUsXG4gICAgICAgICAgICAgIGNvbnRyb2xsZXJNZXRob2Q6IG1ldGhvZE5hbWUsXG4gICAgICAgICAgICAgIHJlcXVlc3RJZDogJGN0eC5pZCxcbiAgICAgICAgICAgICAgYXdzUmVxdWVzdElkOiAkY3R4LmNvbnRleHQ/LmF3c1JlcXVlc3RJZCxcbiAgICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGh0dHA6IHtcbiAgICAgICAgICAgICAgbWV0aG9kOiByZXF1ZXN0Lm1ldGhvZCxcbiAgICAgICAgICAgICAgdXJsOiByZXF1ZXN0LnVybCxcbiAgICAgICAgICAgICAgZW5kcG9pbnQ6IHJlcXVlc3QudXJsLFxuICAgICAgICAgICAgICBzdGF0dXNDb2RlOiAkY3R4LnJlc3BvbnNlPy5zdGF0dXNDb2RlIHx8IDIwMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwZXJmb3JtYW5jZToge1xuICAgICAgICAgICAgICBkdXJhdGlvbk1zLFxuICAgICAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpbmFsaXphciBzcGFuIGUgZm9yY2UgZmx1c2hcbiAgICAgICAgaWYgKHNwYW5SZXN1bHQpIHtcbiAgICAgICAgICBzcGFuUmVzdWx0LmVuZCgpO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0ICh0ZWxlbWV0cnlTZXJ2aWNlIGFzIGFueSkudGVsZW1ldHJ5UHJvdmlkZXIuZm9yY2VGbHVzaCgpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgIC8vIEVSUk8gLSBTaW1pbGFyIGFvICdvbkVycm9yJyBkbyBTU1QgbWlkZGxld2FyZVxuICAgICAgICBjb25zdCBkdXJhdGlvbk1zID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XG5cbiAgICAgICAgJGN0eC5sb2dnZXI/LmluZm8oJ0Vycm9yIGNhdWdodCwgc2VuZGluZyB0byB0ZWxlbWV0cnknKTtcblxuICAgICAgICAvLyBNYXJjYXIgc3BhbiBjb21vIGVycm9cbiAgICAgICAgaWYgKHNwYW5SZXN1bHQpIHtcbiAgICAgICAgICBzcGFuUmVzdWx0LnNldEVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE3DqXRyaWNhcyBkZSBlcnJvXG4gICAgICAgIGZhaWx1cmVDb3VudGVyLmFkZCgxLCB7XG4gICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgIGVycm9yX3R5cGU6IGVycm9yPy5jb25zdHJ1Y3Rvcj8ubmFtZSB8fCAnVW5rbm93bkVycm9yJyxcbiAgICAgICAgICBjb250cm9sbGVyOiBjb250cm9sbGVyTmFtZSxcbiAgICAgICAgICBtZXRob2Q6IG1ldGhvZE5hbWUsXG4gICAgICAgICAgc2VydmljZU5hbWU6IHNlcnZpY2VOYW1lLFxuICAgICAgICAgIGVudmlyb25tZW50TmFtZTogc3RhZ2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGV4ZWN1dGlvblRpbWVIaXN0b2dyYW0ucmVjb3JkKGR1cmF0aW9uTXMsIHtcbiAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgc3RhdHVzOiAnZXJyb3InLFxuICAgICAgICAgIGNvbnRyb2xsZXI6IGNvbnRyb2xsZXJOYW1lLFxuICAgICAgICAgIG1ldGhvZDogbWV0aG9kTmFtZSxcbiAgICAgICAgICBzZXJ2aWNlTmFtZTogc2VydmljZU5hbWUsXG4gICAgICAgICAgZW52aXJvbm1lbnROYW1lOiBzdGFnZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRXh0cmFpciBpbmZvcm1hw6fDtWVzIGRvIHVzdcOhcmlvXG4gICAgICAgIGxldCB1c2VySW5mbzogYW55ID0ge307XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIExvZ2dlZFVzZXJJZGVudGlmaWVyIMOpIGVzcGVjw61maWNvIGRhIGFwbGljYcOnw6NvXG4gICAgICAgICAgaWYgKHR5cGVvZiBMb2dnZWRVc2VySWRlbnRpZmllciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGNvbnN0IHsgbG9nZ2VkVXNlciB9ID0gTG9nZ2VkVXNlcklkZW50aWZpZXIudXNlKCRjdHgpO1xuICAgICAgICAgICAgdXNlckluZm8gPSB7XG4gICAgICAgICAgICAgIGFjY291bnRVc2VyVWlkOiBsb2dnZWRVc2VyPy51aWQsXG4gICAgICAgICAgICAgIGFjY291bnRVaWQ6IGxvZ2dlZFVzZXI/LmFjY291bnQ/LnVpZCxcbiAgICAgICAgICAgICAgYXBwbGljYXRpb25VaWQ6IGxvZ2dlZFVzZXI/LmFwcGxpY2F0aW9uPy51aWQsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIC8vIExvZ2dlZFVzZXJJZGVudGlmaWVyIG7Do28gZXN0w6EgZGlzcG9uw612ZWxcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExvZyBkZSBlcnJvIChzaW1pbGFyIGFvIFNTVClcbiAgICAgICAgYXdhaXQgdGVsZW1ldHJ5U2VydmljZS5sb2dFcnJvcih7XG4gICAgICAgICAgZXJyb3I6IGVycm9yLFxuICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgIHN0YXR1c0NvZGU6IGVycm9yLnN0YXR1cyB8fCA1MDAsXG4gICAgICAgICAgICB1cmw6IHJlcXVlc3QudXJsLFxuICAgICAgICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXJzLFxuICAgICAgICAgICAgYm9keTogcmVxdWVzdC5ib2R5LFxuICAgICAgICAgICAgcGFyYW1zOiByZXF1ZXN0LnBhcmFtcyxcbiAgICAgICAgICAgIHF1ZXJ5OiByZXF1ZXN0LnF1ZXJ5LFxuICAgICAgICAgICAgZXJyb3JUeXBlOiBlcnJvcj8uY29uc3RydWN0b3I/Lm5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAuLi51c2VySW5mbyxcbiAgICAgICAgICByZXF1ZXN0SWQ6ICRjdHguaWQsXG4gICAgICAgICAgYXdzUmVxdWVzdElkOiAkY3R4LmNvbnRleHQ/LmF3c1JlcXVlc3RJZCxcbiAgICAgICAgICBlbmRwb2ludDogcmVxdWVzdC51cmwsXG4gICAgICAgICAgbWV0aG9kOiByZXF1ZXN0Lm1ldGhvZCxcbiAgICAgICAgICBjb250cm9sbGVyOiBjb250cm9sbGVyTmFtZSxcbiAgICAgICAgICBjb250cm9sbGVyTWV0aG9kOiBtZXRob2ROYW1lLFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBGaW5hbGl6YXIgc3BhbiBlIGZvcmNlIGZsdXNoXG4gICAgICAgIGlmIChzcGFuUmVzdWx0KSB7XG4gICAgICAgICAgc3BhblJlc3VsdC5lbmQoKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCAodGVsZW1ldHJ5U2VydmljZSBhcyBhbnkpLnRlbGVtZXRyeVByb3ZpZGVyLmZvcmNlRmx1c2goKTtcblxuICAgICAgICAkY3R4LmxvZ2dlci5pbmZvKCdFcnJvciBzZW50IHRvIHRlbGVtZXRyeScpO1xuXG4gICAgICAgIC8vIFJlLXRocm93IHBhcmEgbWFudGVyIG8gY29tcG9ydGFtZW50byBub3JtYWwgZGUgZXJyb1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gIH07XG59XG4iXX0=
@@ -22,7 +22,7 @@ class TsedSyncLogRecordProcessor {
22
22
  resolve();
23
23
  }
24
24
  else {
25
- console.error('[SyncLogRecordProcessor] Export failed:', result.error);
25
+ console.error('[Telemetry][SyncLogRecordProcessor] Export failed:', result.error);
26
26
  reject(result.error instanceof Error
27
27
  ? result.error
28
28
  : new Error(String(result.error)));
@@ -36,7 +36,7 @@ class TsedSyncLogRecordProcessor {
36
36
  }
37
37
  })
38
38
  .catch((error) => {
39
- console.error('[SyncLogRecordProcessor] Export error:', error);
39
+ console.error('[Telemetry][SyncLogRecordProcessor] Export error:', error);
40
40
  const index = this.pendingExports.indexOf(exportPromise);
41
41
  if (index > -1) {
42
42
  this.pendingExports.splice(index, 1);
@@ -46,29 +46,29 @@ class TsedSyncLogRecordProcessor {
46
46
  }
47
47
  forceFlush() {
48
48
  return __awaiter(this, void 0, void 0, function* () {
49
- console.log(`[SyncLogRecordProcessor] forceFlush called with ${this.pendingExports.length} pending exports`);
49
+ console.log(`[Telemetry][SyncLogRecordProcessor] forceFlush called with ${this.pendingExports.length} pending exports`);
50
50
  if (this.pendingExports.length === 0) {
51
- console.log('[SyncLogRecordProcessor] No pending exports to flush');
51
+ console.log('[Telemetry][SyncLogRecordProcessor] No pending exports to flush');
52
52
  return;
53
53
  }
54
54
  try {
55
55
  yield Promise.all(this.pendingExports);
56
- console.log('[SyncLogRecordProcessor] All pending exports completed');
56
+ console.log('[Telemetry][SyncLogRecordProcessor] All pending exports completed');
57
57
  }
58
58
  catch (error) {
59
- console.error('[SyncLogRecordProcessor] Error during forceFlush:', error);
59
+ console.error('[Telemetry][SyncLogRecordProcessor] Error during forceFlush:', error);
60
60
  throw error;
61
61
  }
62
62
  });
63
63
  }
64
64
  shutdown() {
65
65
  return __awaiter(this, void 0, void 0, function* () {
66
- console.log('[SyncLogRecordProcessor] Shutting down...');
66
+ console.log('[Telemetry][SyncLogRecordProcessor] Shutting down...');
67
67
  yield this.forceFlush();
68
68
  yield this.exporter.shutdown();
69
- console.log('[SyncLogRecordProcessor] Shutdown complete');
69
+ console.log('[Telemetry][SyncLogRecordProcessor] Shutdown complete');
70
70
  });
71
71
  }
72
72
  }
73
73
  exports.TsedSyncLogRecordProcessor = TsedSyncLogRecordProcessor;
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1sb2ctcmVjb3JkLXByb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90c2VkL3N5bmMtbG9nLXJlY29yZC1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBWUEsTUFBYSwwQkFBMEI7SUFJckMsWUFBWSxRQUF5QjtRQUZwQixtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFHcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUE0QixFQUFFLFFBQWtCO1FBSXJELE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDM0MsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxDQUFDLEtBQUssQ0FDWCx5Q0FBeUMsRUFDekMsTUFBTSxDQUFDLEtBQUssQ0FDYixDQUFDO29CQUNGLE1BQU0sQ0FDSixNQUFNLENBQUMsS0FBSyxZQUFZLEtBQUs7d0JBQzNCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSzt3QkFDZCxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNwQyxDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQzthQUNDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBYyxFQUFFLEVBQUU7WUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUssVUFBVTs7WUFDZCxPQUFPLENBQUMsR0FBRyxDQUNULG1EQUFtRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sa0JBQWtCLENBQ2hHLENBQUM7WUFFRixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7Z0JBQ3BFLE9BQU87WUFDVCxDQUFDO1lBRUQsSUFBSSxDQUFDO2dCQUVILE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3ZDLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0RBQXdELENBQUMsQ0FBQztZQUN4RSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLG1EQUFtRCxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUMxRSxNQUFNLEtBQUssQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDO0tBQUE7SUFFSyxRQUFROztZQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkNBQTJDLENBQUMsQ0FBQztZQUN6RCxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQzVELENBQUM7S0FBQTtDQUNGO0FBeEVELGdFQXdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ1JlY29yZFByb2Nlc3NvciwgUmVhZGFibGVMb2dSZWNvcmQgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9zZGstbG9ncyc7XG5pbXBvcnQgeyBPVExQTG9nRXhwb3J0ZXIgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9leHBvcnRlci1sb2dzLW90bHAtaHR0cCc7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpJztcblxuLyoqXG4gKiBDdXN0b20gTG9nUmVjb3JkUHJvY2Vzc29yIHRoYXQgZW5zdXJlcyBzeW5jaHJvbm91cyBleHBvcnQgZm9yIEFXUyBMYW1iZGFcbiAqXG4gKiBUaGlzIHByb2Nlc3NvciB3cmFwcyB0aGUgT1RMUCBleHBvcnRlciBhbmQgZW5zdXJlcyB0aGF0IGxvZ3MgYXJlIGFjdHVhbGx5XG4gKiBleHBvcnRlZCBzeW5jaHJvbm91c2x5IGJ5IGltbWVkaWF0ZWx5IGNhbGxpbmcgZXhwb3J0KCkgYW5kIHdhaXRpbmcgZm9yIGl0XG4gKiB0byBjb21wbGV0ZSwgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBTaW1wbGVMb2dSZWNvcmRQcm9jZXNzb3Igd2hpY2ggbWF5IG5vdFxuICogcHJvcGVybHkgYXdhaXQgdGhlIGFzeW5jIEhUVFAgcmVxdWVzdCBpbiBMYW1iZGEgZW52aXJvbm1lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgVHNlZFN5bmNMb2dSZWNvcmRQcm9jZXNzb3IgaW1wbGVtZW50cyBMb2dSZWNvcmRQcm9jZXNzb3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGV4cG9ydGVyOiBPVExQTG9nRXhwb3J0ZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGVuZGluZ0V4cG9ydHM6IFByb21pc2U8dm9pZD5bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGV4cG9ydGVyOiBPVExQTG9nRXhwb3J0ZXIpIHtcbiAgICB0aGlzLmV4cG9ydGVyID0gZXhwb3J0ZXI7XG4gIH1cblxuICBvbkVtaXQobG9nUmVjb3JkOiBSZWFkYWJsZUxvZ1JlY29yZCwgX2NvbnRleHQ/OiBDb250ZXh0KTogdm9pZCB7XG4gICAgLy8gRXhwb3J0IGltbWVkaWF0ZWx5IGFuZCB0cmFjayB0aGUgcHJvbWlzZVxuICAgIC8vIFRoZSBleHBvcnQgbWV0aG9kIHJldHVybnMgdm9pZCwgYnV0IGludGVybmFsbHkgdHJpZ2dlcnMgYXN5bmMgSFRUUCByZXF1ZXN0XG4gICAgLy8gV2UgbmVlZCB0byB3cmFwIGl0IHRvIHRyYWNrIGNvbXBsZXRpb25cbiAgICBjb25zdCBleHBvcnRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5leHBvcnRlci5leHBvcnQoW2xvZ1JlY29yZF0sIChyZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdC5jb2RlID09PSAwKSB7XG4gICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAnW1N5bmNMb2dSZWNvcmRQcm9jZXNzb3JdIEV4cG9ydCBmYWlsZWQ6JyxcbiAgICAgICAgICAgIHJlc3VsdC5lcnJvclxuICAgICAgICAgICk7XG4gICAgICAgICAgcmVqZWN0KFxuICAgICAgICAgICAgcmVzdWx0LmVycm9yIGluc3RhbmNlb2YgRXJyb3JcbiAgICAgICAgICAgICAgPyByZXN1bHQuZXJyb3JcbiAgICAgICAgICAgICAgOiBuZXcgRXJyb3IoU3RyaW5nKHJlc3VsdC5lcnJvcikpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnBlbmRpbmdFeHBvcnRzLmluZGV4T2YoZXhwb3J0UHJvbWlzZSk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgdGhpcy5wZW5kaW5nRXhwb3J0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdbU3luY0xvZ1JlY29yZFByb2Nlc3Nvcl0gRXhwb3J0IGVycm9yOicsIGVycm9yKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnBlbmRpbmdFeHBvcnRzLmluZGV4T2YoZXhwb3J0UHJvbWlzZSk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgdGhpcy5wZW5kaW5nRXhwb3J0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMucGVuZGluZ0V4cG9ydHMucHVzaChleHBvcnRQcm9taXNlKTtcbiAgfVxuXG4gIGFzeW5jIGZvcmNlRmx1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBgW1N5bmNMb2dSZWNvcmRQcm9jZXNzb3JdIGZvcmNlRmx1c2ggY2FsbGVkIHdpdGggJHt0aGlzLnBlbmRpbmdFeHBvcnRzLmxlbmd0aH0gcGVuZGluZyBleHBvcnRzYFxuICAgICk7XG5cbiAgICBpZiAodGhpcy5wZW5kaW5nRXhwb3J0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnNvbGUubG9nKCdbU3luY0xvZ1JlY29yZFByb2Nlc3Nvcl0gTm8gcGVuZGluZyBleHBvcnRzIHRvIGZsdXNoJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFdhaXQgZm9yIGFsbCBwZW5kaW5nIGV4cG9ydHMgdG8gY29tcGxldGVcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKHRoaXMucGVuZGluZ0V4cG9ydHMpO1xuICAgICAgY29uc29sZS5sb2coJ1tTeW5jTG9nUmVjb3JkUHJvY2Vzc29yXSBBbGwgcGVuZGluZyBleHBvcnRzIGNvbXBsZXRlZCcpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbU3luY0xvZ1JlY29yZFByb2Nlc3Nvcl0gRXJyb3IgZHVyaW5nIGZvcmNlRmx1c2g6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc29sZS5sb2coJ1tTeW5jTG9nUmVjb3JkUHJvY2Vzc29yXSBTaHV0dGluZyBkb3duLi4uJyk7XG4gICAgYXdhaXQgdGhpcy5mb3JjZUZsdXNoKCk7XG4gICAgYXdhaXQgdGhpcy5leHBvcnRlci5zaHV0ZG93bigpO1xuICAgIGNvbnNvbGUubG9nKCdbU3luY0xvZ1JlY29yZFByb2Nlc3Nvcl0gU2h1dGRvd24gY29tcGxldGUnKTtcbiAgfVxufVxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1sb2ctcmVjb3JkLXByb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90c2VkL3N5bmMtbG9nLXJlY29yZC1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBWUEsTUFBYSwwQkFBMEI7SUFJckMsWUFBWSxRQUF5QjtRQUZwQixtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFHcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUE0QixFQUFFLFFBQWtCO1FBSXJELE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDM0MsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQztnQkFDWixDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxDQUFDLEtBQUssQ0FDWCxvREFBb0QsRUFDcEQsTUFBTSxDQUFDLEtBQUssQ0FDYixDQUFDO29CQUNGLE1BQU0sQ0FDSixNQUFNLENBQUMsS0FBSyxZQUFZLEtBQUs7d0JBQzNCLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSzt3QkFDZCxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNwQyxDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQzthQUNDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBYyxFQUFFLEVBQUU7WUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FDWCxtREFBbUQsRUFDbkQsS0FBSyxDQUNOLENBQUM7WUFDRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6RCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUssVUFBVTs7WUFDZCxPQUFPLENBQUMsR0FBRyxDQUNULDhEQUE4RCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sa0JBQWtCLENBQzNHLENBQUM7WUFFRixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxPQUFPLENBQUMsR0FBRyxDQUNULGlFQUFpRSxDQUNsRSxDQUFDO2dCQUNGLE9BQU87WUFDVCxDQUFDO1lBRUQsSUFBSSxDQUFDO2dCQUVILE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3ZDLE9BQU8sQ0FBQyxHQUFHLENBQ1QsbUVBQW1FLENBQ3BFLENBQUM7WUFDSixDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUNYLDhEQUE4RCxFQUM5RCxLQUFLLENBQ04sQ0FBQztnQkFDRixNQUFNLEtBQUssQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDO0tBQUE7SUFFSyxRQUFROztZQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQztZQUNwRSxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7S0FBQTtDQUNGO0FBbEZELGdFQWtGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ1JlY29yZFByb2Nlc3NvciwgUmVhZGFibGVMb2dSZWNvcmQgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9zZGstbG9ncyc7XG5pbXBvcnQgeyBPVExQTG9nRXhwb3J0ZXIgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9leHBvcnRlci1sb2dzLW90bHAtaHR0cCc7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSAnQG9wZW50ZWxlbWV0cnkvYXBpJztcblxuLyoqXG4gKiBDdXN0b20gTG9nUmVjb3JkUHJvY2Vzc29yIHRoYXQgZW5zdXJlcyBzeW5jaHJvbm91cyBleHBvcnQgZm9yIEFXUyBMYW1iZGFcbiAqXG4gKiBUaGlzIHByb2Nlc3NvciB3cmFwcyB0aGUgT1RMUCBleHBvcnRlciBhbmQgZW5zdXJlcyB0aGF0IGxvZ3MgYXJlIGFjdHVhbGx5XG4gKiBleHBvcnRlZCBzeW5jaHJvbm91c2x5IGJ5IGltbWVkaWF0ZWx5IGNhbGxpbmcgZXhwb3J0KCkgYW5kIHdhaXRpbmcgZm9yIGl0XG4gKiB0byBjb21wbGV0ZSwgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBTaW1wbGVMb2dSZWNvcmRQcm9jZXNzb3Igd2hpY2ggbWF5IG5vdFxuICogcHJvcGVybHkgYXdhaXQgdGhlIGFzeW5jIEhUVFAgcmVxdWVzdCBpbiBMYW1iZGEgZW52aXJvbm1lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgVHNlZFN5bmNMb2dSZWNvcmRQcm9jZXNzb3IgaW1wbGVtZW50cyBMb2dSZWNvcmRQcm9jZXNzb3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGV4cG9ydGVyOiBPVExQTG9nRXhwb3J0ZXI7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGVuZGluZ0V4cG9ydHM6IFByb21pc2U8dm9pZD5bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGV4cG9ydGVyOiBPVExQTG9nRXhwb3J0ZXIpIHtcbiAgICB0aGlzLmV4cG9ydGVyID0gZXhwb3J0ZXI7XG4gIH1cblxuICBvbkVtaXQobG9nUmVjb3JkOiBSZWFkYWJsZUxvZ1JlY29yZCwgX2NvbnRleHQ/OiBDb250ZXh0KTogdm9pZCB7XG4gICAgLy8gRXhwb3J0IGltbWVkaWF0ZWx5IGFuZCB0cmFjayB0aGUgcHJvbWlzZVxuICAgIC8vIFRoZSBleHBvcnQgbWV0aG9kIHJldHVybnMgdm9pZCwgYnV0IGludGVybmFsbHkgdHJpZ2dlcnMgYXN5bmMgSFRUUCByZXF1ZXN0XG4gICAgLy8gV2UgbmVlZCB0byB3cmFwIGl0IHRvIHRyYWNrIGNvbXBsZXRpb25cbiAgICBjb25zdCBleHBvcnRQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5leHBvcnRlci5leHBvcnQoW2xvZ1JlY29yZF0sIChyZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdC5jb2RlID09PSAwKSB7XG4gICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAnW1RlbGVtZXRyeV1bU3luY0xvZ1JlY29yZFByb2Nlc3Nvcl0gRXhwb3J0IGZhaWxlZDonLFxuICAgICAgICAgICAgcmVzdWx0LmVycm9yXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZWplY3QoXG4gICAgICAgICAgICByZXN1bHQuZXJyb3IgaW5zdGFuY2VvZiBFcnJvclxuICAgICAgICAgICAgICA/IHJlc3VsdC5lcnJvclxuICAgICAgICAgICAgICA6IG5ldyBFcnJvcihTdHJpbmcocmVzdWx0LmVycm9yKSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMucGVuZGluZ0V4cG9ydHMuaW5kZXhPZihleHBvcnRQcm9taXNlKTtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICB0aGlzLnBlbmRpbmdFeHBvcnRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgJ1tUZWxlbWV0cnldW1N5bmNMb2dSZWNvcmRQcm9jZXNzb3JdIEV4cG9ydCBlcnJvcjonLFxuICAgICAgICAgIGVycm9yXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5wZW5kaW5nRXhwb3J0cy5pbmRleE9mKGV4cG9ydFByb21pc2UpO1xuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgIHRoaXMucGVuZGluZ0V4cG9ydHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLnBlbmRpbmdFeHBvcnRzLnB1c2goZXhwb3J0UHJvbWlzZSk7XG4gIH1cblxuICBhc3luYyBmb3JjZUZsdXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYFtUZWxlbWV0cnldW1N5bmNMb2dSZWNvcmRQcm9jZXNzb3JdIGZvcmNlRmx1c2ggY2FsbGVkIHdpdGggJHt0aGlzLnBlbmRpbmdFeHBvcnRzLmxlbmd0aH0gcGVuZGluZyBleHBvcnRzYFxuICAgICk7XG5cbiAgICBpZiAodGhpcy5wZW5kaW5nRXhwb3J0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAnW1RlbGVtZXRyeV1bU3luY0xvZ1JlY29yZFByb2Nlc3Nvcl0gTm8gcGVuZGluZyBleHBvcnRzIHRvIGZsdXNoJ1xuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgLy8gV2FpdCBmb3IgYWxsIHBlbmRpbmcgZXhwb3J0cyB0byBjb21wbGV0ZVxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5wZW5kaW5nRXhwb3J0cyk7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgJ1tUZWxlbWV0cnldW1N5bmNMb2dSZWNvcmRQcm9jZXNzb3JdIEFsbCBwZW5kaW5nIGV4cG9ydHMgY29tcGxldGVkJ1xuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgJ1tUZWxlbWV0cnldW1N5bmNMb2dSZWNvcmRQcm9jZXNzb3JdIEVycm9yIGR1cmluZyBmb3JjZUZsdXNoOicsXG4gICAgICAgIGVycm9yXG4gICAgICApO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc29sZS5sb2coJ1tUZWxlbWV0cnldW1N5bmNMb2dSZWNvcmRQcm9jZXNzb3JdIFNodXR0aW5nIGRvd24uLi4nKTtcbiAgICBhd2FpdCB0aGlzLmZvcmNlRmx1c2goKTtcbiAgICBhd2FpdCB0aGlzLmV4cG9ydGVyLnNodXRkb3duKCk7XG4gICAgY29uc29sZS5sb2coJ1tUZWxlbWV0cnldW1N5bmNMb2dSZWNvcmRQcm9jZXNzb3JdIFNodXRkb3duIGNvbXBsZXRlJyk7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mecanizou/telemetry-hub",
3
- "version": "1.3.12",
3
+ "version": "1.3.14",
4
4
  "description": "Mecanizou telemetry lib",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",