@hpcc-js/comms 2.66.0 → 2.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/index.es6.js +259 -200
  2. package/dist/index.es6.js.map +1 -1
  3. package/dist/index.js +149 -102
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.js +1 -1
  6. package/dist/index.min.js.map +1 -1
  7. package/dist/index.node.js +237 -217
  8. package/dist/index.node.js.map +1 -1
  9. package/dist/index.node.min.js +1 -1
  10. package/dist/index.node.min.js.map +1 -1
  11. package/lib-es6/__package__.js +2 -2
  12. package/lib-es6/__package__.js.map +1 -1
  13. package/lib-es6/clienttools/eclMeta.js +4 -4
  14. package/lib-es6/clienttools/eclMeta.js.map +1 -1
  15. package/lib-es6/clienttools/eclcc.js +18 -18
  16. package/lib-es6/clienttools/eclcc.js.map +1 -1
  17. package/lib-es6/connection.js +6 -6
  18. package/lib-es6/connection.js.map +1 -1
  19. package/lib-es6/ecl/graph.js +5 -5
  20. package/lib-es6/ecl/graph.js.map +1 -1
  21. package/lib-es6/ecl/logicalFile.js +2 -2
  22. package/lib-es6/ecl/logicalFile.js.map +1 -1
  23. package/lib-es6/ecl/result.js +1 -1
  24. package/lib-es6/ecl/result.js.map +1 -1
  25. package/lib-es6/ecl/scope.js +5 -5
  26. package/lib-es6/ecl/scope.js.map +1 -1
  27. package/lib-es6/ecl/store.js +4 -4
  28. package/lib-es6/ecl/store.js.map +1 -1
  29. package/lib-es6/ecl/targetCluster.js +2 -2
  30. package/lib-es6/ecl/targetCluster.js.map +1 -1
  31. package/lib-es6/ecl/topology.js +1 -1
  32. package/lib-es6/ecl/topology.js.map +1 -1
  33. package/lib-es6/ecl/workunit.js +7 -4
  34. package/lib-es6/ecl/workunit.js.map +1 -1
  35. package/lib-es6/espConnection.js +1 -1
  36. package/lib-es6/espConnection.js.map +1 -1
  37. package/lib-es6/index-common.js +2 -0
  38. package/lib-es6/index-common.js.map +1 -1
  39. package/lib-es6/services/wsDFU.js +1 -1
  40. package/lib-es6/services/wsDFU.js.map +1 -1
  41. package/lib-es6/services/wsEcl.js +3 -3
  42. package/lib-es6/services/wsEcl.js.map +1 -1
  43. package/lib-es6/services/wsLogaccess.js +11 -0
  44. package/lib-es6/services/wsLogaccess.js.map +1 -0
  45. package/lib-es6/services/wsResources.js +11 -0
  46. package/lib-es6/services/wsResources.js.map +1 -0
  47. package/lib-es6/services/wsdl/WsLogaccess/v1/WsLogaccess.js +28 -0
  48. package/lib-es6/services/wsdl/WsLogaccess/v1/WsLogaccess.js.map +1 -0
  49. package/lib-es6/services/wsdl/WsResources/v1.01/WsResources.js +20 -0
  50. package/lib-es6/services/wsdl/WsResources/v1.01/WsResources.js.map +1 -0
  51. package/package.json +36 -21
  52. package/src/__package__.ts +2 -2
  53. package/src/ecl/topology.ts +1 -1
  54. package/src/ecl/workunit.ts +3 -0
  55. package/src/index-common.ts +2 -0
  56. package/src/services/wsDFU.ts +3 -2
  57. package/src/services/wsLogaccess.ts +8 -0
  58. package/src/services/wsResources.ts +8 -0
  59. package/src/services/wsdl/WsLogaccess/v1/WsLogaccess.ts +78 -0
  60. package/src/services/wsdl/WsResources/v1.01/WsResources.ts +119 -0
  61. package/types/__package__.d.ts +2 -2
  62. package/types/__package__.d.ts.map +1 -1
  63. package/types/ecl/activity.d.ts +1 -1
  64. package/types/ecl/activity.d.ts.map +1 -1
  65. package/types/ecl/topology.d.ts.map +1 -1
  66. package/types/ecl/workunit.d.ts.map +1 -1
  67. package/types/index-common.d.ts +2 -0
  68. package/types/index-common.d.ts.map +1 -1
  69. package/types/services/wsDFU.d.ts +2 -1
  70. package/types/services/wsDFU.d.ts.map +1 -1
  71. package/types/services/wsLogaccess.d.ts +5 -0
  72. package/types/services/wsLogaccess.d.ts.map +1 -0
  73. package/types/services/wsResources.d.ts +5 -0
  74. package/types/services/wsResources.d.ts.map +1 -0
  75. package/types/services/wsdl/WsLogaccess/v1/WsLogaccess.d.ts +51 -0
  76. package/types/services/wsdl/WsLogaccess/v1/WsLogaccess.d.ts.map +1 -0
  77. package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts +85 -0
  78. package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts.map +1 -0
  79. package/types-3.4/__package__.d.ts +2 -2
  80. package/types-3.4/ecl/activity.d.ts +1 -1
  81. package/types-3.4/index-common.d.ts +2 -0
  82. package/types-3.4/services/wsDFU.d.ts +2 -1
  83. package/types-3.4/services/wsLogaccess.d.ts +5 -0
  84. package/types-3.4/services/wsResources.d.ts +5 -0
  85. package/types-3.4/services/wsdl/WsLogaccess/v1/WsLogaccess.d.ts +51 -0
  86. package/types-3.4/services/wsdl/WsResources/v1.01/WsResources.d.ts +85 -0
@@ -2,10 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
+
5
7
  var util = require('@hpcc-js/util');
6
8
  var xmldom = require('@xmldom/xmldom');
7
- var fetch$1 = require('node-fetch');
8
- var AbortController = require('abort-controller');
9
+ var fetch$1 = _interopDefault(require('node-fetch'));
10
+ var AbortController = _interopDefault(require('abort-controller'));
9
11
  var https = require('https');
10
12
  var safeBuffer = require('safe-buffer');
11
13
  var cp = require('child_process');
@@ -14,40 +16,11 @@ var os = require('os');
14
16
  var path = require('path');
15
17
  var tmp = require('tmp');
16
18
 
17
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
-
19
- function _interopNamespace(e) {
20
- if (e && e.__esModule) return e;
21
- var n = Object.create(null);
22
- if (e) {
23
- Object.keys(e).forEach(function (k) {
24
- if (k !== 'default') {
25
- var d = Object.getOwnPropertyDescriptor(e, k);
26
- Object.defineProperty(n, k, d.get ? d : {
27
- enumerable: true,
28
- get: function () { return e[k]; }
29
- });
30
- }
31
- });
32
- }
33
- n["default"] = e;
34
- return Object.freeze(n);
35
- }
36
-
37
- var fetch__default = /*#__PURE__*/_interopDefaultLegacy(fetch$1);
38
- var AbortController__default = /*#__PURE__*/_interopDefaultLegacy(AbortController);
39
- var https__namespace = /*#__PURE__*/_interopNamespace(https);
40
- var cp__namespace = /*#__PURE__*/_interopNamespace(cp);
41
- var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
42
- var os__namespace = /*#__PURE__*/_interopNamespace(os);
43
- var path__namespace = /*#__PURE__*/_interopNamespace(path);
44
- var tmp__namespace = /*#__PURE__*/_interopNamespace(tmp);
45
-
46
19
  var trustwave = "\nTrustwave Secure Global Extended Validation CA, Level 1\nSecureTrust Corporation\n00F6F61CE4A3635BB0CA8AACEEFCB2D0F0\n-----BEGIN CERTIFICATE-----\nMIIE+DCCA+CgAwIBAgIRAPb2HOSjY1uwyoqs7vyy0PAwDQYJKoZIhvcNAQELBQAw\nSjELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRkwFwYDVQQDExBTZWN1cmUgR2xvYmFsIENBMB4XDTE1MDgxMjIwMTcyOVoXDTI1\nMDgwOTIwMTcyOVowgbgxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQ\nMA4GA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJ\nbmMuMUAwPgYDVQQDEzdUcnVzdHdhdmUgU2VjdXJlIEdsb2JhbCBFeHRlbmRlZCBW\nYWxpZGF0aW9uIENBLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdh\ndmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx6D45slgLGq8\n2G/NPFnuFscv7UM1eRoQyx3h0DdSTfoRvHkkNv4Gf6OudZDOXqwV86v/SjcNEP87\nnjMOEqQ7dKQPtiYzEkK0MOrjbRySFC5dvCTI9T8tnBgFpYA9YXwbpUqXxEi0Ayoq\nhA7UQhS7Q+YGrVwZaJ6LiWrQw+x8ACPLqEvPmMZhrxagKwrsKbylMsAQ1ljk8X74\nJ76TSxi/AZpxos7tHD0XbO8elXFZexfsgPLDRpMs6jREVeQj1jVCWLtg9twiXzcI\naUCchBsTSc92WGkKwBnH70dlL2N8kT/BNe3tAsXuBpZRILANY59jLrLnHEJNfado\nt6ZpougolQIDAQABo4IBaDCCAWQwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4E\nFgQUx33qXRmrVNT6P+ZKc956sjwdbC4wDgYDVR0PAQH/BAQDAgGGMD0GA1UdIAQ2\nMDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUu\nY29tL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNv\nbS9TR0NBLmNybDBsBggrBgEFBQcBAQRgMF4wJQYIKwYBBQUHMAGGGWh0dHA6Ly9v\nY3NwLnRydXN0d2F2ZS5jb20wNQYIKwYBBQUHMAKGKWh0dHA6Ly9zc2wudHJ1c3R3\nYXZlLmNvbS9pc3N1ZXJzL1NHQ0EuY3J0MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr\nBgEFBQcDATAfBgNVHSMEGDAWgBSvRATCQX5Ig9tOOQLs7IR65s7JpDANBgkqhkiG\n9w0BAQsFAAOCAQEAkn/4wKQRLo41fDRkZtfF+3o8JtUmfQXf2zoo9Ll29hhCiz8k\nBOpIek9MrFd/cdNgUw1nckIi+J3udyFrbO5p64JBvtc0K4kAOPFSKpHssFcnRLPx\nFXgGxXq6ohD4Py+xaEApslYFfMy89N6DKs/v/10/+/xD831RFEUMUoQxBimsmmNf\n+cLoMwF5bpoSz9JcWqCmSlK0Nla1dPphaoA/MObLN2iQPpeM3yF5dTUm1tPxe39W\nOlr6nLU1xO+yRDrlGLXrVDP1l1/qGVuwi+xufIAcdFycLLBjSSNX7LOIK3tbva7A\nWctLUs+qhIlUrbPyFERm7YOY4SttWdozeYFNfg==\n-----END CERTIFICATE-----\n\nSecureTrust Domain Validation CA, Level 1\nSecureTrust Corporation\n06F1EC00E80B1BAF9870A7C4B6CBE401A32D68\n-----BEGIN CERTIFICATE-----\nMIIEfzCCA2egAwIBAgITBvHsAOgLG6+YcKfEtsvkAaMtaDANBgkqhkiG9w0BAQsF\nADBIMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp\nb24xFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE5MDEyOTEyNTk1OVoXDTI5\nMDEyOTEyNTk1OVowfDEyMDAGA1UEAxMpU2VjdXJlVHJ1c3QgRG9tYWluIFZhbGlk\nYXRpb24gQ0EsIExldmVsIDExFDASBgNVBAoTC1NlY3VyZVRydXN0MRAwDgYDVQQH\nEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCjRHBw8iIivBBrfE6HqexQK0oMt2Y/\nx8jO3fN96KEazZwEoGidwloRBk2Q7VfVvZ0ZDk+qwJZGLZJLS1ntGaZLH4/Iel+r\nPnp36IVF7J5MNDB+K81a/y9svEMfDu0p3FdlBUyhHvizZ/zFNP3tolmQfZ7T0mGL\n7lutlNAzFYoVTUlVeF5cSC8Yca906TEKyizYXuXcY8Diee+t+fQRHmSI5Hk5kyXD\nYFWcf2tXEfdkuFlDjJ7HPdFyfJzrNjD+cbqt8R5rZKnK1GNVP1dXm0cIYS+BMlMa\nCC1yF18oygbnOZLw5fDv9bxs4MOgF8E/Iypw0hLQHVkuD8wAvxVgPsqvAgMBAAGj\nggEsMIIBKDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjATBgNV\nHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQUYt6tehfefLfDfCMXo7Em5UbXOvQw\nHwYDVR0jBBgwFoAUQjK2FvoE/f5dS3rD/fdMQB1aQ68wQQYDVR0gBDowODA2BgRV\nHSAAMC4wLAYIKwYBBQUHAgEWIGh0dHBzOi8vY2VydHMuc2VjdXJldHJ1c3QuY29t\nL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9T\nVENBLmNybDA2BggrBgEFBQcBAQQqMCgwJgYIKwYBBQUHMAGGGmh0dHA6Ly9vY3Nw\nLnRydXN0d2F2ZS5jb20vMA0GCSqGSIb3DQEBCwUAA4IBAQAHXPYhl+++o//di2Qm\naWGmC1ijxbGbKA4jOSDRvQfxlWOVkqPF11Dpxz+V8Rxw7QFFVoJ5mHpfoXtQOijV\ntsCFknxTKgzQeArNkZrkXBNpYOJAcuc5v0eX0OllBWgVdIvZRl2TM5L/u1WFrlPr\nqwWdEYTkinQwgAHXVV/7WZi6c4StcqNnlw93mlvN6Vspzaf/mWtcYp+aqT9vrqHt\nyNR1k8Ri5eIRPIU0B8woiXTj3bifLg6/O217SY5cWwQKCMFsa6nGWoRVCJ0JJXa0\nZ+m3mPQD2OcW5YMrynhL2VWohyfZAjB8l/NZaeRT7M+vki56fxbx3Bk2lqy8Z1Zz\nWd5m\n-----END CERTIFICATE-----\n\nSecureTrust Extended Validation CA, Level 1\nSecureTrust Corporation\n06F1EC00E31E46D341B2B2633CE480D915F81D\n-----BEGIN CERTIFICATE-----\nMIIEizCCA3OgAwIBAgITBvHsAOMeRtNBsrJjPOSA2RX4HTANBgkqhkiG9w0BAQsF\nADBIMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp\nb24xFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE5MDEyOTEyNTk1OVoXDTI5\nMDEyOTEyNTk1OVowfjE0MDIGA1UEAxMrU2VjdXJlVHJ1c3QgRXh0ZW5kZWQgVmFs\naWRhdGlvbiBDQSwgTGV2ZWwgMTEUMBIGA1UEChMLU2VjdXJlVHJ1c3QxEDAOBgNV\nBAcTB0NoaWNhZ28xETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANS6vRtFpCJBJ7zJODH07Y3k54Qn\nVIBhnQmmWoqFqzCVMX97GAyAfzjcQrhl/TNiJiRCrVQWPI4n0R8eUd91Ab1Qzfsr\nnp+0NRbagVDa6+nF0KcNxbSZ6/iZQ7Ac3HyhCvJS2rH2CVYlzqdsrxDXcZk69jOO\ndPV8+w+7eNIn34BKpB/ZF7iXApDoAKG81kg1VtpGOxJhxTsKLuJmURT4pQjtZqF+\nF6rN64j5T2DOK0gOA4G7BLoTdOQuXkPS38LXKgZ43lKqEenjmiOaMF/XuLYzaHrW\nGYgCM2wJsykgdB9hCsTTEwsHRZzt2q9mLBDvYYWVhql1/kR4K/RN4JdESEECAwEA\nAaOCATYwggEyMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMB0G\nA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAdBgNVHQ4EFgQUA6uAxlUKKpWh\n4Nf+GubAynjMsJYwHwYDVR0jBBgwFoAUQjK2FvoE/f5dS3rD/fdMQB1aQ68wQQYD\nVR0gBDowODA2BgRVHSAAMC4wLAYIKwYBBQUHAgEWIGh0dHBzOi8vY2VydHMuc2Vj\ndXJldHJ1c3QuY29tL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1\nc3R3YXZlLmNvbS9TVENBLmNybDA2BggrBgEFBQcBAQQqMCgwJgYIKwYBBQUHMAGG\nGmh0dHA6Ly9vY3NwLnRydXN0d2F2ZS5jb20vMA0GCSqGSIb3DQEBCwUAA4IBAQB1\nfzAmGGmtbJyIvOfjq2McCpUoYkXAq6JTN51+nb9NDAihhDoTKMde+801bC1/l54h\nxPPm4HImM6GK6LFckDew/FGwbdRbEznUOJ7uVL5ploNBIjte23kTBUZa9fx3+aXK\nhUTAipSyPtNjnOwVVBVXzrMynfMhdsyRRe7gLXNFYCXIxtks3IkIpuYnc86NAuV9\nnBLFlZzgmbAsW+tMc5QsNvQJ9pQ539K8cqZaM+HFCScreDERxmNtHHbMw+hCa2yL\nOj4ntekgWLO8KQbE0lPUNLIM17QK8aktJavj+GezBztKMmJJwhVYQy9nxS388ApX\nxcZsEgIzOCeH0SOWg4FA\n-----END CERTIFICATE-----\n\nSecureTrust Organization Validation CA, Level 1\nSecureTrust Corporation\n06F1EC00E58E9ADD372C871D25843FDAB852D9\n-----BEGIN CERTIFICATE-----\nMIIEkDCCA3igAwIBAgITBvHsAOWOmt03LIcdJYQ/2rhS2TANBgkqhkiG9w0BAQsF\nADBIMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp\nb24xFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE5MDEyOTEyNTk1OVoXDTI5\nMDEyOTEyNTk1OVowgYIxODA2BgNVBAMTL1NlY3VyZVRydXN0IE9yZ2FuaXphdGlv\nbiBWYWxpZGF0aW9uIENBLCBMZXZlbCAxMRQwEgYDVQQKEwtTZWN1cmVUcnVzdDEQ\nMA4GA1UEBxMHQ2hpY2FnbzERMA8GA1UECBMISWxsaW5vaXMxCzAJBgNVBAYTAlVT\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4QVBCdYToXFIfzd1SQfi\nTEgg1bwHXM2cE2VsyxwWK8NEFH8zMYdKy2hYOAjbfpm0xE6q4TQzS8KL2vAtCNyY\nVrwX7d3IvKR25H5s1LUDeQXSl1JBBZCtgJf2caJcwaYa6n2pZ0EKt3wBB+QteSFn\n57ENB37T13y7Nn8gCt9ZZaPYqRWxHcPaIWO3CVzQZ3tXjCLqzJMCV2KqhK85DZk3\nwo33Zb6cyYDkerDbWyric+10dJ/wdgE49dkfyZxVxEGpHg1SCSJdHjGb4z85Zx/u\neBpxBS6g3dfrkDjjT3MUxyNS4EaRTZp7o/2EqVCYDWJDM1HcOZL64kyWyi0d9jqA\n7wIDAQABo4IBNjCCATIwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMC\nAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBR/QuNI\nbljpLrlhyGp3tPcDuM1qWjAfBgNVHSMEGDAWgBRCMrYW+gT9/l1LesP990xAHVpD\nrzBBBgNVHSAEOjA4MDYGBFUdIAAwLjAsBggrBgEFBQcCARYgaHR0cHM6Ly9jZXJ0\ncy5zZWN1cmV0cnVzdC5jb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2Ny\nbC50cnVzdHdhdmUuY29tL1NUQ0EuY3JsMDYGCCsGAQUFBwEBBCowKDAmBggrBgEF\nBQcwAYYaaHR0cDovL29jc3AudHJ1c3R3YXZlLmNvbS8wDQYJKoZIhvcNAQELBQAD\nggEBAIwGM/ejz4Hbjf7Vc11gS8jzf+BwtZq9N4t1Nibj4rIDsW2G2jDE0S7fCN2m\nMhq76xkfnwfXhBbXDEKz6rj/M0G2u1kHw4Y8ZtKSzYEyRtgpeBFm4qU6voCSREpD\nFJXsL+Go2/YLRSE6xkWVSocklxppx4hi5o/RVdMMQept6ooOSFzBpH5XZYUoblKi\n99Yj0FUe8egIa9qSts42TObTpH1YVRMDnH3k2MNX3rcgPf9v/QO9Cf8W6RQ2+X3R\nCaYMPdL5OIKh4RGYjxXe3LpgiTKBWik/ZWTFL5sZSjetrJFl50NONzTc8E+BJtrx\nVCHAI2OcWyloxrYd4zMipw0YjDw=\n-----END CERTIFICATE-----\n\nTrustwave Domain Validation SHA256 CA, Level 1\nSecureTrust Corporation\n00DDEDF6F64298490E694C36EFA422C88F\n-----BEGIN CERTIFICATE-----\nMIIE7jCCA9agAwIBAgIRAN3t9vZCmEkOaUw276QiyI8wDQYJKoZIhvcNAQELBQAw\nSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTAeFw0xNDEwMDExOTIyMzJaFw0yNDA5\nMjgxOTIyMzJaMIGvMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAO\nBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5j\nLjE3MDUGA1UEAxMuVHJ1c3R3YXZlIERvbWFpbiBWYWxpZGF0aW9uIFNIQTI1NiBD\nQSwgTGV2ZWwgMTEfMB0GCSqGSIb3DQEJARYQY2FAdHJ1c3R3YXZlLmNvbTCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALNr4Z91k7AKM+Pz5XXWTIuVeMts\nPU2W/pI4WdEHG9Zab1EOWPLbthB6fzUJLLLBBk1wy2OM9yG1HywB/CwfGHcoKS8Z\n/efGV+ZKTzEpIestriUWx7wUnzxKzGML48Xv7sNuY1Crru5Hgce1Ax5uOfP7OB6t\norbMunvKQC10WcSrqFg6LapZ0UhgGmQzdjYguOBF6WZJR3QLghQaNrSUZuA6neXR\ncUsBgmzrxiEVHyzt+lmnYFMFvKVwGOyIZ2RU2LAFthS6UDDrSLGsJysxc1MK1Sti\n/VP8e8wj9rJdmiWNfA+lz6hDAPzRbv+WVJNoHEGbIx8rai+rVMiLy2HIbPsCAwEA\nAaOCAWkwggFlMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFPQc4jqvtqTk\n2emd/u8cd6VjPe+IMA4GA1UdDwEB/wQEAwIBhjBIBgNVHSAEQTA/MD0GDysGAQQB\nge0YAwMDAwQFAzAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUu\nY29tL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNv\nbS9TVENBLmNybDBsBggrBgEFBQcBAQRgMF4wJQYIKwYBBQUHMAGGGWh0dHA6Ly9v\nY3NwLnRydXN0d2F2ZS5jb20wNQYIKwYBBQUHMAKGKWh0dHA6Ly9zc2wudHJ1c3R3\nYXZlLmNvbS9pc3N1ZXJzL1NUQ0EuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMB8G\nA1UdIwQYMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMA0GCSqGSIb3DQEBCwUAA4IB\nAQAjoDrTysopn7t+onDZ6rZSQW8rYlWZQpSiNHrq9xAAcMExrhcN0bQC9OQ+VRci\noMDascvwum7hVkyh2w2Ad7lC3Ir9gIuA8HycjqQJ4t1eSF3geYyf8lp259ztZ/TO\nxSAwJ9W0Szc8fslOA0SWlyA3lnRVcYVu54Idc1dPXXBxwlQ1NUCYgcsXZs+6QjLL\nYhYL85DhuitQSddoYemGpfVJnaYH9tBiWmwtzwc4qsVqTsKEJ/1zYAy2GrEAv8sB\nFKSfMNMopBmmDA8/aCIW/tH6KTD2DC15QQwL6yAUbSa5mhzFSA9O8zmF881YwBVG\nn+z3isMPClgpNw/eWSbaSLZ+\n-----END CERTIFICATE-----\n\nTrustwave Domain Validation SHA256 CA, Level 1\nSecureTrust Corporation\n390A3F7EECA8FB4347DCAF701861662B\n-----BEGIN CERTIFICATE-----\nMIIE/zCCA+egAwIBAgIQOQo/fuyo+0NH3K9wGGFmKzANBgkqhkiG9w0BAQsFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE2MDkwMTE0MzUzMloXDTI0MDky\nOTE0MzUzMlowga8xCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4G\nA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMu\nMTcwNQYDVQQDEy5UcnVzdHdhdmUgRG9tYWluIFZhbGlkYXRpb24gU0hBMjU2IENB\nLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29tMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs2vhn3WTsAoz4/PlddZMi5V4y2w9\nTZb+kjhZ0Qcb1lpvUQ5Y8tu2EHp/NQksssEGTXDLY4z3IbUfLAH8LB8YdygpLxn9\n58ZX5kpPMSkh6y2uJRbHvBSfPErMYwvjxe/uw25jUKuu7keBx7UDHm458/s4Hq2i\ntsy6e8pALXRZxKuoWDotqlnRSGAaZDN2NiC44EXpZklHdAuCFBo2tJRm4Dqd5dFx\nSwGCbOvGIRUfLO36WadgUwW8pXAY7IhnZFTYsAW2FLpQMOtIsawnKzFzUwrVK2L9\nU/x7zCP2sl2aJY18D6XPqEMA/NFu/5ZUk2gcQZsjHytqL6tUyIvLYchs+wIDAQAB\no4IBezCCAXcwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU9BziOq+2pOTZ\n6Z3+7xx3pWM974gwDgYDVR0PAQH/BAQDAgGGMDIGA1UdHwQrMCkwJ6AloCOGIWh0\ndHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9TVENBLmNybDA9BgNVHSAENjA0MDIGBFUd\nIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9zc2wudHJ1c3R3YXZlLmNvbS9DQTBs\nBggrBgEFBQcBAQRgMF4wJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnRydXN0d2F2\nZS5jb20wNQYIKwYBBQUHMAKGKWh0dHA6Ly9zc2wudHJ1c3R3YXZlLmNvbS9pc3N1\nZXJzL1NUQ0EuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFEIy\nthb6BP3+XUt6w/33TEAdWkOvMBsGA1UdEQQUMBKBEGNhQHRydXN0d2F2ZS5jb20w\nDQYJKoZIhvcNAQELBQADggEBAFcdG0/3P/CkeGb76tz/mn1viDZiftD05i9Jw70k\nH9ulRwdCHgzhSZVN5zHvG919oHA9WHbxH04J+iAnVl1+FjoDNN+A+2icy2WXqH9w\ngaNUGyUwLdo0JCfgUeGbrCF6WUYCj47pS7zAY02CdGlstZZsqouXK3RnOMKOD3Dq\nf5kiSh56KvhW/F0OZY7PAbdV79LVAiSTiAFdoe/jMjmj8fqXOiCIjllqH/O9/DAm\nRwQStFpauwR+nBbFhq4sYwlZQvJ0NvIxN5JOTECTkMM+X21kf8mrwRdxBfw0YEPa\nUTeZhFr48Fwvnt4jpo7gqpJzt7jjsbWPd1FHtey2Q8zmSHY=\n-----END CERTIFICATE-----\n\nTrustwave Extended Validation SHA256 CA, Level 1\nSecureTrust Corporation\n00C1BD27B383958D0D8BCA5E4F08D009D9\n-----BEGIN CERTIFICATE-----\nMIIFGDCCBACgAwIBAgIRAMG9J7ODlY0Ni8peTwjQCdkwDQYJKoZIhvcNAQELBQAw\nSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTAeFw0xNDEwMTMxODE3MzlaFw0yNDEw\nMTAxODE3MzlaMIGxMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAO\nBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5j\nLjE5MDcGA1UEAxMwVHJ1c3R3YXZlIEV4dGVuZGVkIFZhbGlkYXRpb24gU0hBMjU2\nIENBLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29tMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAre9mHLqiv689FWIk7PaeQLuW\nos8ldRX4rNLHeD7/X7JrTfaXuIQaLfrUODtyRaZs0LtJsEHgpr7dUonDIH69PjBP\nrHg+hBLu7ob4udEx3J03NQSdnR/fqPY0ZMH2NP7e9TFSKKctZ/SmzA8jGclVmdiT\nGg1bTx6xgWuPWq9OprIQSgkP5NRe1GeTQ7U/E1zxLqaw6PeQWjESHPGeilyw0jr6\nqVyHM5ack9ps60sN3CKNGushyaQe3w2bYxRJ9RRH/sILCAmmTbjc/cXrGQMGdaYt\naiGnXbc45r39cqfbynZ71hPPNEtFbOdqk3C7I8vrhIHiKaAtFkTMRSWmHHk4HwID\nAQABo4IBkTCCAY0wEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU5eQkWRUy\nJ8kgs0ICbLDvMt6bIFowDgYDVR0PAQH/BAQDAgGGMGYGA1UdIARfMF0wDAYKKwYB\nBAGB7RgDADAOBgxghkgBhv1kAQECBAEwPQYPKwYBBAGB7RgDAwMDBAMDMCowKAYI\nKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5jb20vQ0EwMgYDVR0fBCsw\nKTAnoCWgI4YhaHR0cDovL2NybC50cnVzdHdhdmUuY29tL1NUQ0EuY3JsMGwGCCsG\nAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudHJ1c3R3YXZlLmNv\nbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lzc3VlcnMv\nU1RDQS5jcnQwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB8GA1UdIwQY\nMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMA0GCSqGSIb3DQEBCwUAA4IBAQCly1p1\nrvcOlRS+ODBLb2kYHd4q+cXDl65X+IQ7hOlXg9dpa7CzSAGNNpzhyYMbE48mB/RE\nBXxbZkMzEhWPFj+4jdGNsmX0zjEWatJWsnNVxpA7hDR0iZssezu86oDQ/sbVoaXj\n0a5jB2cZsnMS5287CNDk5i+ImruhbMAYV9sadliXoDy3y01Sv+FLMx39C5UhYhWU\ngvoT9igbSCoc/DPOukEDqsnKMmDqTf3JzuFI1CbJcR6M8R1hAda4mZrxIdGcbT8R\nXp8JQ8Vuv/+plPMcAiZ2Bzed0hPVr5A1Mz8K8w9OyORGlRwjWS65jsr26bjMCcfj\npvuAANrc0Alu4nJC\n-----END CERTIFICATE-----\n\nTrustwave Extended Validation SHA256 CA, Level 1\nSecureTrust Corporation\n35962F305C5A0BEC400D4E9877528C65\n-----BEGIN CERTIFICATE-----\nMIIFCzCCA/OgAwIBAgIQNZYvMFxaC+xADU6Yd1KMZTANBgkqhkiG9w0BAQsFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE2MDkwMTE0MzUzNFoXDTI0MDky\nOTE0MzUzNFowgbExCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4G\nA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMu\nMTkwNwYDVQQDEzBUcnVzdHdhdmUgRXh0ZW5kZWQgVmFsaWRhdGlvbiBTSEEyNTYg\nQ0EsIExldmVsIDExHzAdBgkqhkiG9w0BCQEWEGNhQHRydXN0d2F2ZS5jb20wggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCt72YcuqK/rz0VYiTs9p5Au5ai\nzyV1Ffis0sd4Pv9fsmtN9pe4hBot+tQ4O3JFpmzQu0mwQeCmvt1SicMgfr0+ME+s\neD6EEu7uhvi50THcnTc1BJ2dH9+o9jRkwfY0/t71MVIopy1n9KbMDyMZyVWZ2JMa\nDVtPHrGBa49ar06mshBKCQ/k1F7UZ5NDtT8TXPEuprDo95BaMRIc8Z6KXLDSOvqp\nXIczlpyT2mzrSw3cIo0a6yHJpB7fDZtjFEn1FEf+wgsICaZNuNz9xesZAwZ1pi1q\nIaddtzjmvf1yp9vKdnvWE880S0Vs52qTcLsjy+uEgeIpoC0WRMxFJaYceTgfAgMB\nAAGjggGFMIIBgTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBTl5CRZFTIn\nySCzQgJssO8y3psgWjAOBgNVHQ8BAf8EBAMCAYYwMgYDVR0fBCswKTAnoCWgI4Yh\naHR0cDovL2NybC50cnVzdHdhdmUuY29tL1NUQ0EuY3JsMD0GA1UdIAQ2MDQwMgYE\nVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29tL0NB\nMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudHJ1c3R3\nYXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lz\nc3VlcnMvU1RDQS5jcnQwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB8G\nA1UdIwQYMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMBsGA1UdEQQUMBKBEGNhQHRy\ndXN0d2F2ZS5jb20wDQYJKoZIhvcNAQELBQADggEBAGUMIDkrvlMJ0wHLuP3lkneC\nwGU6mZ3g17jyU2RJwhRinYctraryG7Jh20DQ9/ppTHoxTIADw2JDsC5ByplabteQ\nnLghrl17K1b6PO+rzWA/NFKVwo6u8Gh7Lz0iUuit7ZBD4eKcRedxRZcPQlnD9KTR\nIs94SRpootsuCv/Y5b+1FMPV1KrYtbco9yEVlaNEWLpmiEsqvLjxiWEmt71rzz+0\nS59OtA/ihnbGP9Xrnhe7wf1ybCNOO5gZQMKr/OszfLZ7oVKACGOPLlcSZRRW98gA\nszE+1ZvlHkdjamfTSs4yMvUorYn9NhXnjAWl28NuD9m3FPiE2O50ezEDnHTiaOQ=\n-----END CERTIFICATE-----\n\nTrustwave Organization Validation SHA256 CA, Level 1\nSecureTrust Corporation\n4B2C6646F434775B67DF34A04DD504E6\n-----BEGIN CERTIFICATE-----\nMIIE/TCCA+WgAwIBAgIQSyxmRvQ0d1tn3zSgTdUE5jANBgkqhkiG9w0BAQsFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE0MTAwMTE5MjIzNloXDTI0MDky\nODE5MjIzNlowgbUxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4G\nA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMu\nMT0wOwYDVQQDEzRUcnVzdHdhdmUgT3JnYW5pemF0aW9uIFZhbGlkYXRpb24gU0hB\nMjU2IENBLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29t\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA49OohlJHBJ/juiQTmibO\nS28pHvCCp1bPOc6elQ62DCYE/A14JXUtI8yaUc9nFjh6dNzR7KjFPEq/qDplQl7f\n1Tvh5ifBNNP2wQ6e820TWlPO4HhR/5g4+3iFmJ1N7kFrxDp1/P8e3+9lcJsXckXC\ntfFkQ9slogJqnaCsipgdrH4gQhicFAL5YqHw2AKfctZLSPpxhI3xISMV/lIQwZPW\nI2221v9ALckokh5pW6dTK8x8yNUUye1zt5msWzqunfBjVYVUj5/LXu46hS99Mfxu\n80ARJRyHsXIuHbMzwVXGqKVPZfKAdHBl5e3ElCjNwNy+Hgi09vS7PoAUhjCf/wbO\nnQIDAQABo4IBczCCAW8wEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUys4d\nGAN3HhzzfFiymnCoCIAW9K4wDgYDVR0PAQH/BAQDAgGGMEgGA1UdIARBMD8wPQYP\nKwYBBAGB7RgDAwMDBAQDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0\nd2F2ZS5jb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC50cnVzdHdh\ndmUuY29tL1NUQ0EuY3JsMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0\ncDovL29jc3AudHJ1c3R3YXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50\ncnVzdHdhdmUuY29tL2lzc3VlcnMvU1RDQS5jcnQwHQYDVR0lBBYwFAYIKwYBBQUH\nAwIGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMA0G\nCSqGSIb3DQEBCwUAA4IBAQBN/Qb6x5VSQHIt/FqvXAkjfCI7jwXGzRoxThavUqv0\npJr1azXKv2L2ye9Sl4OCqiDHZ8ZJZ/Z19Ae1yvGTpG++0O5dWTHZ8qy/JSj17Mg1\nvWiefVpJKtkYflzhC9B9/eB3QuKVTRKDqm1ZC9kbm3MWOwtnEOw4WURWS1X2v4Hv\n2AJaXe11ZRqjx7/c6U50tYp3eVpRDCw7bOIXRffLG0oibhjHiEu8dgq7KkTSrx9m\nQFS6T2x9GLiJKhj2mEfPuGr73TfBPyKsRBymOpG67LThKVnwoUfH3pghA6VkZp5Z\n1Vm6AcDm+eelf5XPvZtNve4evLVPYueA3TmGyxXh1m2d\n-----END CERTIFICATE-----\n\nTrustwave Organization Validation SHA256 CA, Level 1\nSecureTrust Corporation\n0092B8744F71CED0E26C72A3D8D5D925B2\n-----BEGIN CERTIFICATE-----\nMIIFEDCCA/igAwIBAgIRAJK4dE9xztDibHKj2NXZJbIwDQYJKoZIhvcNAQELBQAw\nSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTAeFw0xNjA5MDExNDM1MzVaFw0yNDA5\nMjkxNDM1MzVaMIG1MQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAO\nBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5j\nLjE9MDsGA1UEAxM0VHJ1c3R3YXZlIE9yZ2FuaXphdGlvbiBWYWxpZGF0aW9uIFNI\nQTI1NiBDQSwgTGV2ZWwgMTEfMB0GCSqGSIb3DQEJARYQY2FAdHJ1c3R3YXZlLmNv\nbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOPTqIZSRwSf47okE5om\nzktvKR7wgqdWzznOnpUOtgwmBPwNeCV1LSPMmlHPZxY4enTc0eyoxTxKv6g6ZUJe\n39U74eYnwTTT9sEOnvNtE1pTzuB4Uf+YOPt4hZidTe5Ba8Q6dfz/Ht/vZXCbF3JF\nwrXxZEPbJaICap2grIqYHax+IEIYnBQC+WKh8NgCn3LWS0j6cYSN8SEjFf5SEMGT\n1iNtttb/QC3JKJIeaVunUyvMfMjVFMntc7eZrFs6rp3wY1WFVI+fy17uOoUvfTH8\nbvNAESUch7FyLh2zM8FVxqilT2XygHRwZeXtxJQozcDcvh4ItPb0uz6AFIYwn/8G\nzp0CAwEAAaOCAYUwggGBMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFMrO\nHRgDdx4c83xYsppwqAiAFvSuMA4GA1UdDwEB/wQEAwIBhjAyBgNVHR8EKzApMCeg\nJaAjhiFodHRwOi8vY3JsLnRydXN0d2F2ZS5jb20vU1RDQS5jcmwwPQYDVR0gBDYw\nNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5j\nb20vQ0EwbAYIKwYBBQUHAQEEYDBeMCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC50\ncnVzdHdhdmUuY29tMDUGCCsGAQUFBzAChilodHRwOi8vc3NsLnRydXN0d2F2ZS5j\nb20vaXNzdWVycy9TVENBLmNydDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwHwYDVR0jBBgwFoAUQjK2FvoE/f5dS3rD/fdMQB1aQ68wGwYDVR0RBBQwEoEQ\nY2FAdHJ1c3R3YXZlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAC0OvN7/UJBcRDXch\nA4b2qJo7mBD05+XR96N7vucMaanz26CnUxs1o8DcBckpqyEXCxdOanIr+/UJNbBL\nXLJCzNLJEJcgV9TjbVu33eQR23yMuXD+cZsqLMF+L5IIM47W8dlwKJvMy0xs7Jb1\nS3NOIhcoVu+XPzRsgKv8Yi2B6l278RfzegiCx4vYJv0pBjFzizEiFH9bWTYIOlIJ\nJSM57hoICgjCTS8BoEgndwWIyc/nEmlYaUwmCo9QynY+UmW1WPWmVITEJPMdMK6A\nZqvvaWmuHJ6/vURaz+Hoc5D3z0yJDDCkv52bXV04ZoF6cbcWry7JvNA+djvay/4B\nRR4SZQ==\n-----END CERTIFICATE-----\n\nSecureTrust TWG Secure Email CA, Level 2\nTrustwave Holdings, Inc.\n072F30E9C25181828DAC4F5F7DE4AFC87AD132\n-----BEGIN CERTIFICATE-----\nMIIG2zCCBMOgAwIBAgITBy8w6cJRgYKNrE9ffeSvyHrRMjANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMjAxMDA4MDY0OTQwWhcNMzAxMDA4MDY0ODQwWjBWMQswCQYDVQQGEwJVUzEUMBIG\nA1UEChMLU2VjdXJlVHJ1c3QxMTAvBgNVBAMTKFNlY3VyZVRydXN0IFRXRyBTZWN1\ncmUgRW1haWwgQ0EsIExldmVsIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK\nAoICAQCcD5Wc7H480gOv3ae6SELBls0oNOvpw1ZFjK55nLw+W6PhgqTGNEHlO/Ga\nWt13yS1iO1/WzRaUc2XsFRGcjv3QIfDZb+6UzhL1LL9ZE8zcs0B6fepn4smQg1yK\ngtAWGoD70Z9kEBtypkG23sO5xIiRACJWgRWVZ/891pQBBz+ElCxUnIyDGghHlWCD\nzn5dLoBIVic69Pfpi384uNoNfHV/WATUQEEnwY+5yMMUALAWrRD6Jeh5R4m9qKxG\nUlrO9ObDebK9mFEJvrCPtkTIWT1He4ZD58Lt0NIkaItQ7KsKF9wgwH7BTsRGwQXb\nP6/0LvfO8UDRKNE/4C39u9dwUw/Zpu2iNXTadVWBtaSDsrPFVb5rBu+pvn4l4Hw5\njtySyHAOWn4mhuxDXMuKBtaoTi/qF94d7N0CbqPdN9WSN79Cy2O0BexTGHSJVndX\nEbKyn96b5STPshKVpG9DmUekfnDtnHR9dmH74a05X/A8k/XeSJWXphM6NvyZap2A\nWiIkrS7MsfwnCdZlX+9WGY2qHxnm4Y6JdNah0qxozBbQHkqHsSN4k8O7zr2lfZhC\nuarm0Q1t6tjsmp7PUh26u6PCe0m+MctIrD6ZckUzZeuPduRb55K2p8MxjQSVNH1S\nJ2aaHp77qOYV+rvHXIL7le4OR5lDWyzYtXLc8u17/kLbUtgnmQIDAQABo4IBbTCC\nAWkwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAww\nCgYIKwYBBQUHAwQwHQYDVR0OBBYEFKpD9MNsQCriSoEcg6nez7XhG7bOMB8GA1Ud\nIwQYMBaAFJngGWcNYtt2s9o9uFvo/ULSMQ6HMEEGA1UdIAQ6MDgwNgYEVR0gADAu\nMCwGCCsGAQUFBwIBFiBodHRwczovL2NlcnRzLnNlY3VyZXRydXN0LmNvbS9DQTA1\nBgNVHR8ELjAsMCqgKKAmhiRodHRwOi8vY3JsLnNlY3VyZXRydXN0LmNvbS9UV0dD\nQS5jcmwwdAYIKwYBBQUHAQEEaDBmMCgGCCsGAQUFBzABhhxodHRwOi8vb2NzcC5z\nZWN1cmV0cnVzdC5jb20vMDoGCCsGAQUFBzAChi5odHRwOi8vY2VydHMuc2VjdXJl\ndHJ1c3QuY29tL2lzc3VlcnMvVFdHQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQBb\ntCXryLFewOafyNENB3NzgAQVVztwaWSyvF5FYSqav95JKcoHZzy3wG7aKlTPtGnq\n1QzJst03qPmZJ3j63obz2AvfEEzLEMlsPmOTy3B9oIrNzd2QhpGW1oF6pIgGB/VP\n5zh7U2ibUC+zRLmihwt+j2+7NBbuLbPozgxDTWh2f9O4rJb5bv98Q8RdbGrypBb9\nhOhDvmNCCfjSe+Q8myqsvawEG5p7s8gsIK/V3xbyqDihXjsGc7xeEWNftlU91jBL\nKPRbrLmXhhWnHJjYs4y5IHu735HA3aAT4TqURS9dGHOMVDRumkFpLqR2W7ptpDki\nOtIFZjO5smU29OD4AlcNUXqQuKEFasyTtkRlORnWhU37c36HB8dc57xWQKOf8pMq\n7lK+ublO9G4mO1Aqr9mioTN4oMONFJG4W5dWwG9baNg682ZACkvPaw45MqSztL3A\nKb4s2cDTWu/D34hV3oafkTwu8B7B2mFZnWRJ9q4akPmZF45uw4RZx2ALaYGGGs67\n+r5qS300As9ONg8hxfVkFQSHOc00IiBkgi3OpoCofEKTgDwZwHVqOJyyPjk6H9Sh\nZANmUOT2mGDLwl86Ar5bTu8ipzlsyDYQMFjho7WaVs8I5OXyVdONXDYLIOtpITGT\n1fRcXFzxYHhrNuFwrdj2zBVyvVD4O6xV97/9nv2Eng==\n-----END CERTIFICATE-----\n\nTrustwave Global Domain Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9AD30465CF22697F246B101EC92953B\n-----BEGIN CERTIFICATE-----\nMIIHCDCCBPCgAwIBAgITBs6C2a0wRlzyJpfyRrEB7JKVOzANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBjjE3MDUGA1UEAxMuVHJ1c3R3\nYXZlIEdsb2JhbCBEb21haW4gVmFsaWRhdGlvbiBDQSwgTGV2ZWwgMTEhMB8GA1UE\nChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAwDgYDVQQHEwdDaGljYWdvMREw\nDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMwggIiMA0GCSqGSIb3DQEBAQUA\nA4ICDwAwggIKAoICAQChh5brvvk/kFUZwhlUhqdsUmsMCBjzYqBBLnTyNrKPr4nd\nS9s2h2JvA+9TY7NnJc/Mq1eN5V6zqvbn/LN3c8W06f76xrVvFEKs5SzCefUS/V3Z\nC18dgwXXFrP+RgfK2kqfTHGIPrWoRSnUiLn3iUNEBtJ06oXjAqAMnAyL5AzD+eHm\nZzRK/yCw/gMPnVp2S7Dstka607fS4fW9Sl33mOMNwJRxEjQWHHR25PAb4muP6wjN\nvmoLMgiDMKseHSFVtC7SpmO89PsrUV6MahKJrZcAfquAyoO1zR2c2eGaCI/m8oSx\n3B7KiMZJ3NZims/siMp/5szemsutf36WJ31nmr7PqLJGJdVpoxbLckWIhZnNYSFm\n/pTutpNONqpyYC2gGSXdw5LuxU61913SbAPpk8DZiHi3WslHBo26ghXG++sgJUGj\nhtKZhiYlp8uD21WTP6/60wngpXyCtt9cpHxW1lXmqcxwe2J4/2S3xjHz1dC6BKxb\nr61HCPVrbTD90CZUpMI8JPdsVbz5eegv+SIyybHxZe4S0D9Kv5pgWfqdXf0BAiJC\nTbGwYmFr4uisKhkfMThyOgWEH+CRBzQqdZREQ5lTIlVyzi3jGPuu9Q6brAS9U9Ue\nQhUwX8TtY8Igfo8HlhjugDpy6WvDYQ9i+tG3AC6v8sJLdOOU83Lr+2C1LEF5ZwID\nAQABo4IBYTCCAV0wEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYw\nEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYEFIaZQQzOP7aMcEnlkwfwhgcd\nLXqVMB8GA1UdIwQYMBaAFJngGWcNYtt2s9o9uFvo/ULSMQ6HMD0GA1UdIAQ2MDQw\nMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29t\nL0NBMDMGA1UdHwQsMCowKKAmoCSGImh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9U\nV0dDQS5jcmwwbgYIKwYBBQUHAQEEYjBgMCYGCCsGAQUFBzABhhpodHRwOi8vb2Nz\ncC50cnVzdHdhdmUuY29tLzA2BggrBgEFBQcwAoYqaHR0cDovL3NzbC50cnVzdHdh\ndmUuY29tL2lzc3VlcnMvVFdHQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQAmn0jp\n+lNp188KxjKQZtpJ3mixLmuqGdH6SVpRs40BYQg/68xOPH3C6AJ17tqE6IwZMW9s\nlgiO4B7khR3ESA6Sct3zmkA8woR/KJVzzegjscHhtQUifQ+Eb9Gi0ORNnetGV+5g\n5vlrFZMptBRGUxXMo2xa+Z/NTyimpMopfXj7qCW/nQWQbzvkQGchK9IokyqV2wra\ntX68/P3zleG+LLwzoJd5AhHYSXWrIRJpClZHN+LQKkbI3MYW7+upo/1e9HEmFKxu\n5SFV3nuQm5wSOsz/ZtIL1AS8IoZYxcSe1Q/yuV9GjnxtL1jkPbzsBx4eBGxUrcIe\nsBat6SI8G58uHTpIPpqUxRYsg8w0FdjK3kNBB5QWDeXiDxzqIRzA0iE1kHeTXRZ3\n7qgGXUcce7ciW5KqeRApjQbD5BSZG2EKkQ7aaOhvxK0LiuxHZnjPW4/fdEcaCuku\nMT5qMDiF2U85V9BvanEy/xkYn4I2UeK4EdSXe7q6j+CIJz9WnoLQDbIS04GqIWe0\nVRQUlx3idUWYSJU/SG8KrEHhlJLmgSjshCwtT6qo4vHwT5WcWDLIbjMqgL1iQ6JS\n4gxXuOGia3d0I4/wec5x23EWwx9V8BtDJ8N7NDeRNmZ8RXOHSYJsVQYIQuFUEXE1\nv3WMSIxuyQMyR5FYSCG9xnKRFzNmiPngDil5IA==\n-----END CERTIFICATE-----\n\nTrustwave Global Extended Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D99FB3B180C281020314A2D1C7640017\n-----BEGIN CERTIFICATE-----\nMIIHFDCCBPygAwIBAgITBs6C2Z+zsYDCgQIDFKLRx2QAFzANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBkDE5MDcGA1UEAxMwVHJ1c3R3\nYXZlIEdsb2JhbCBFeHRlbmRlZCBWYWxpZGF0aW9uIENBLCBMZXZlbCAxMSEwHwYD\nVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xEDAOBgNVBAcTB0NoaWNhZ28x\nETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJVUzCCAiIwDQYJKoZIhvcNAQEB\nBQADggIPADCCAgoCggIBAMRO7orfWjfmz6Y6qoAmDp2lqCJcdvbRQ8w18rl1JE3j\nf/1CScZLrnLg4RDm8JiRcvFuvoMXn/XNUWy5ICG57tjG2nO7jvBuXfvbdkGA+foN\n3yJKMTX/PmmGlN4qpzFtsB0kLrP14/0TRGeJB7qDfAFH0ReFk0ftQobLBGBOpEca\n+bv+LhcTe40/uNUSK2yQ9GpIw200mcsD3B9c29Im4tSZFuA2o1vnEeizYW5M4sPX\nHu7p5ZCxjJrXVNqWUPM38rShhMUNL5uaVYWoi7TG5JXbg0Lmt2nq1k5nnig9Yp/W\nlAFooWXjKQzHf/z+XZ57bqPe7SzLW5pzpZdSmY2VRybAwEmzMjCXgHiP2ru3TpAD\n+giakPDoz3ZmbKjwYKZ5PmnOmXx0Z2GloO37MjamjPor/+fZohfyma7VAQE8znJt\nI9MVoRN3G3gW/tuT3jXfzYdFBlfGoO7OYyLN1LK5YBKH2qXrCHD8rG2DauBt7U+w\nfOvwfkp8FcdTnfQ92Xe65U3Xdu0eCgQJbChxZtWhhLnbY6xhmwAWyJ1my+Im72Kx\nGP/XcA8SH2sz6/k0782BjRckDuFpVVpTNYl9wqe/tuOrZhWPapOsRlfsDTuhgGu5\n2inM9sU3CAzmFE85zoRQFZQSof3kFN2rUZF20bmTak99cBNLli6/ja3+KntpZ08d\nAgMBAAGjggFrMIIBZzASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIB\nhjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFHM4IMZH\nbabGL3tQ4EDe3sedR958MB8GA1UdIwQYMBaAFJngGWcNYtt2s9o9uFvo/ULSMQ6H\nMD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50\ncnVzdHdhdmUuY29tL0NBMDMGA1UdHwQsMCowKKAmoCSGImh0dHA6Ly9jcmwudHJ1\nc3R3YXZlLmNvbS9UV0dDQS5jcmwwbgYIKwYBBQUHAQEEYjBgMCYGCCsGAQUFBzAB\nhhpodHRwOi8vb2NzcC50cnVzdHdhdmUuY29tLzA2BggrBgEFBQcwAoYqaHR0cDov\nL3NzbC50cnVzdHdhdmUuY29tL2lzc3VlcnMvVFdHQ0EuY3J0MA0GCSqGSIb3DQEB\nCwUAA4ICAQBwnSHECaf+hfGrm3Cg+aRr57ytoOSzI1DjlTNcM7k4uSt6kJRPHJ4c\nldIujMaETV52RgE6ykaMGkuIwQOIsLI6SXwjU1f5gXFUbDTS3KTWc/jwQeyLmdOe\nhvc+wBSFv8d10Sx/Qiti8mqsTqr0+N94Cx01+SkiWxWWoSZOAPkz8DMQGlD4yndK\nceTMGtQ03cLnD/36Mv6tz/Ds9l/OExrJGGxHD0tmYwYwBZpPHm7BBY2ZzycVxLcg\n+uuggcX1pg5MhJ1rDyod+7X+ilvTgH7ftHCmxvR7viMLwSUuytZ05zb2teRQgU+8\niWnPEHO/ADm5VD1Zb5Rx0579/YEENBJtGUPPJzo+JEpiZIOIlwZ69ETWWNCLZr0V\nvoi+SDl65cr+dgR9JreJ2I4W9FzS45ruxYEC8LGKEmV46sAk1YLbnIBmhehAKy9t\nP8RVz3QXYJ6rLOAuXF7R2eVV0SqfivW9bVzvBZTUTFsbdSMBAAF1BJjdRqYR63DI\ncQASY7CRoUiak1NTgPkzeV8VcNJmUt8c2eKJIifqBAjquH6+6UXs9Ol0aMPn6v0y\nB+TSuxhX2sSrpna9QcOh/QyoR5Hvcd81rZSbMc7yasKoUMXviotV1SfEqs3RU5Ts\nwnU4NHPn5ITRiuh5VMuvB/VnjnPC953u5uqAGtZ8BkC7X9cu5E0rMQ==\n-----END CERTIFICATE-----\n\nTrustwave Global Organization Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A69703AEFE5D37D18858C74026B004\n-----BEGIN CERTIFICATE-----\nMIIHGDCCBQCgAwIBAgITBs6C2aaXA67+XTfRiFjHQCawBDANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBlDE9MDsGA1UEAxM0VHJ1c3R3\nYXZlIEdsb2JhbCBPcmdhbml6YXRpb24gVmFsaWRhdGlvbiBDQSwgTGV2ZWwgMTEh\nMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAwDgYDVQQHEwdDaGlj\nYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMwggIiMA0GCSqGSIb3\nDQEBAQUAA4ICDwAwggIKAoICAQC8BzZtA3eWejFOGHc2DLgex6P471dLWIIHSlrF\nY4a2BCtzAd/VlpQ3gslWnTgthOmK2/hCc+WSaOLPVZzZf3lGnxbb0+Y87Kx+nS1m\nIfJ/4OR6o8XLMLoCTAI1jsWxggiB4NBMqsW2xXQ5VAvBb66KEQYbshNlRpTbtBFq\nEed4YIvCdjbnCUOy1zubgVHUVyCFHzN4XPjEQCtT5vZM576Lt10Je9COnqG0CtPU\nQNP2tjnSmOOYdWcVRZ0UqXUl2fMBfmSDHd8902foigjpP04AYYbq6AetqEgqdvQP\nxz5pVbZqzy8UrE/s/raJLFyTuIAYVt18M0whSgWzGgUWkq2xRqbfn7b1hd56dwRb\nR7pKc51FyTbeocnKlYLC+Dlzp7iKQ3Pb7WHRwLhaJB7u4CzwqhUxHc0xplMYsq92\nMbZ6WN5L5mI7hxY8gLMOR7vNX9CKz9XcYRS01iCDe5Y/9muW8bzGyNXLX1YaHAy4\n+6ncksb3Y3RUKj3f0+T4nbiRISmGazravJKSssBLP3kPa9h5aX+Vd00eL+Q7sXrh\nFO7xz+oWtOL5rfVszyc87JQvjw1sDHA710nViqzUE1bJZNe61EXdCb/RV+Wsu+rO\ncAMSr5x2j/wW875sh+U3EJmTzdEBUBxHnBD2mDTyonT7wL47TRXTEO1IaS4mVbnv\no0jWvQIDAQABo4IBazCCAWcwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8E\nBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBS3\n/VNzOCaKcKuTyoupCOrH07fj/TAfBgNVHSMEGDAWgBSZ4BlnDWLbdrPaPbhb6P1C\n0jEOhzA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9z\nc2wudHJ1c3R3YXZlLmNvbS9DQTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js\nLnRydXN0d2F2ZS5jb20vVFdHQ0EuY3JsMG4GCCsGAQUFBwEBBGIwYDAmBggrBgEF\nBQcwAYYaaHR0cDovL29jc3AudHJ1c3R3YXZlLmNvbS8wNgYIKwYBBQUHMAKGKmh0\ndHA6Ly9zc2wudHJ1c3R3YXZlLmNvbS9pc3N1ZXJzL1RXR0NBLmNydDANBgkqhkiG\n9w0BAQsFAAOCAgEAFXwfmELpEGKUguzVTMix79XbUnkfLa7IXcqBOrwOWEF1V8F1\nxGY6jLlUTtoEXRYZwCpqOK/i4m4nmWCYE45O7URR8nqeFffceTi62t4Yvh6LkC9g\nUnj3aChLiO/Zdxilq6vfsXO0mKafrGtZXwjyskS250Pj9DsANs57QqvYN4hqbplJ\nzc95p09OUvEhPiyRyx6FyY28U+3X6+mSNMJWd4Nhr+3HtvmItLIXP2JCLxuYtu/K\n6nKcpFCFFKeF8K3PWpjsAb0hfXL4vc3WfyCYsQnvJeisyAh7yEuge2iDwl1/xXIo\nEOAyyYAxvy5UnzcAa0Z2lwjptve+jZ4gQ+A1ioYUavR3pSfBNzuJW30nZCWFadKc\nNXOPoAPkK8JLxgRBH3JboeBCXG6xgy/pXrTjyhW7/SS+Z+7eKkp9jgdTVQ12yUtc\nCiYWUuM4l240D/z+s03WOEcLTluESwFkJhzs3D9i5crTL72uSkDDmlh8HXoPAyYO\nl3Mn9cGWhd8M8IeQRXmb6O7gvvQZDoSXDVDbjBKcW1lFpi0wBxIBzLaOi4CX4OhI\nJHJ/H3duOMaltuzXLSLkc26jwHzMeq8seQRSXraXJi1t5oBKlmEWFEgq6xlH7mLW\n3TOqS19cuiSWl/CsnlLGaW8MH5YHmk+MJxQE1BcLBs6ciapvHlhLEd9EUpU=\n-----END CERTIFICATE-----\n\nSecureTrust TWG ECDSA P-256 Secure Email CA, Level 2\nTrustwave Holdings, Inc.\n072F30E9C4627001DECFEBF6BF5D3B1066D7E3\n-----BEGIN CERTIFICATE-----\nMIIDbTCCAxKgAwIBAgITBy8w6cRicAHez+v2v107EGbX4zAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMjAxMDA4MDY0OTQxWhcNMzAxMDA4MDY0ODQxWjBiMQswCQYDVQQGEwJV\nUzEUMBIGA1UEChMLU2VjdXJlVHJ1c3QxPTA7BgNVBAMTNFNlY3VyZVRydXN0IFRX\nRyBFQ0RTQSBQLTI1NiBTZWN1cmUgRW1haWwgQ0EsIExldmVsIDIwWTATBgcqhkjO\nPQIBBggqhkjOPQMBBwNCAAT4KazLm94aiykBGkNQVkBrjmK77RlP627D2n3EwK3s\n49ljRkN6wiTWXHx3jPD5BBE/7mWhGWnphzGu1Deb6yzco4IBdTCCAXEwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUH\nAwQwHQYDVR0OBBYEFHMQ2nwjQr8tFHfBImxM7ct8lbBYMB8GA1UdIwQYMBaAFKNB\nBqyQbdFK63WlShCZs7Ghi0r3MEEGA1UdIAQ6MDgwNgYEVR0gADAuMCwGCCsGAQUF\nBwIBFiBodHRwczovL2NlcnRzLnNlY3VyZXRydXN0LmNvbS9DQTA5BgNVHR8EMjAw\nMC6gLKAqhihodHRwOi8vY3JsLnNlY3VyZXRydXN0LmNvbS9UV0dQMjU2Q0EuY3Js\nMHgGCCsGAQUFBwEBBGwwajAoBggrBgEFBQcwAYYcaHR0cDovL29jc3Auc2VjdXJl\ndHJ1c3QuY29tLzA+BggrBgEFBQcwAoYyaHR0cDovL2NlcnRzLnNlY3VyZXRydXN0\nLmNvbS9pc3N1ZXJzL1RXR1AyNTZDQS5jcnQwCgYIKoZIzj0EAwIDSQAwRgIhAN8G\nPwKUpMgV3LZjq7fuKS96f15BrwBjmTlKhOwgX83BAiEA9WpWhzRRoKeJGAqqXrMk\nZ8RE9xRtOFBqYdv9H5CeTVk=\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-256 Domain Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9AF531423847B85FB677932AAF80508\n-----BEGIN CERTIFICATE-----\nMIIDmDCCAz+gAwIBAgITBs6C2a9TFCOEe4X7Z3kyqvgFCDAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBmjFDMEEGA1UEAxM6\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTI1NiBEb21haW4gVmFsaWRhdGlvbiBD\nQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAw\nDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMw\nWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATWpfTIQFPkZIoXXMDN9utRU+AbLGcg\nBmLA06x2qqdcpCMlYFoJhuRWzYCiqz1mKrAvNlQYkgoHfemk92sf8iaro4IBaTCC\nAWUwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAww\nCgYIKwYBBQUHAwEwHQYDVR0OBBYEFA/DUGGZflb1xtmcOeiDWJAHuhq0MB8GA1Ud\nIwQYMBaAFKNBBqyQbdFK63WlShCZs7Ghi0r3MD0GA1UdIAQ2MDQwMgYEVR0gADAq\nMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29tL0NBMDcGA1Ud\nHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9UV0dQMjU2Q0Eu\nY3JsMHIGCCsGAQUFBwEBBGYwZDAmBggrBgEFBQcwAYYaaHR0cDovL29jc3AudHJ1\nc3R3YXZlLmNvbS8wOgYIKwYBBQUHMAKGLmh0dHA6Ly9zc2wudHJ1c3R3YXZlLmNv\nbS9pc3N1ZXJzL1RXR1AyNTZDQS5jcnQwCgYIKoZIzj0EAwIDRwAwRAIgICvA5ttD\n0oeUcd37iYvoQ7iMIpZINp4e1j5NrlI3UnYCIEZhimm9+1dUWAfx9ZkGmIu0HiHR\nzEZifAHbPM3SJbRu\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-256 Extended Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A20A3797CD878EB3DAA41D08680AF7\n-----BEGIN CERTIFICATE-----\nMIIDpjCCA0ugAwIBAgITBs6C2aIKN5fNh46z2qQdCGgK9zAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBnDFFMEMGA1UEAxM8\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTI1NiBFeHRlbmRlZCBWYWxpZGF0aW9u\nIENBLCBMZXZlbCAxMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4x\nEDAOBgNVBAcTB0NoaWNhZ28xETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJV\nUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKXHfFxFDVI6uYWZlWciFFKtYzuJ\n+IBhot3PQGikE3sjU8d9dARkZCkInqmDyP/+XiLzgrYPMy7NS8lZcRsE5p2jggFz\nMIIBbzASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUE\nFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFAwlVqqzYgakv+7gGxtX\nzC8s9g1QMB8GA1UdIwQYMBaAFKNBBqyQbdFK63WlShCZs7Ghi0r3MD0GA1UdIAQ2\nMDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUu\nY29tL0NBMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNv\nbS9UV0dQMjU2Q0EuY3JsMHIGCCsGAQUFBwEBBGYwZDAmBggrBgEFBQcwAYYaaHR0\ncDovL29jc3AudHJ1c3R3YXZlLmNvbS8wOgYIKwYBBQUHMAKGLmh0dHA6Ly9zc2wu\ndHJ1c3R3YXZlLmNvbS9pc3N1ZXJzL1RXR1AyNTZDQS5jcnQwCgYIKoZIzj0EAwID\nSQAwRgIhALahroq1NScrFeCvG5uMgMKH/bo190D+Mkh2ZIojrUOfAiEAosFXFE73\n0WLRPjX2uOkLhXuA4cQEb1R1oeGDH4MNVOo=\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-256 Organization Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A8B57C104843994DACD79E28633E5F\n-----BEGIN CERTIFICATE-----\nMIIDqDCCA0+gAwIBAgITBs6C2ai1fBBIQ5lNrNeeKGM+XzAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBoDFJMEcGA1UEAxNA\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTI1NiBPcmdhbml6YXRpb24gVmFsaWRh\ndGlvbiBDQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJ\nbmMuMRAwDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UE\nBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQmHWo0mogvX1J61xysTqsn\n6qV06wxUH68/QJ2aDIka6beTrDoTZv3mIkyPxFTPy+9idjgSAERlBsDirgO2/NiY\no4IBczCCAW8wEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwHQYD\nVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBSv+Ju8XTSl3tA+\nFCldDY4lrbClhTAfBgNVHSMEGDAWgBSjQQaskG3RSut1pUoQmbOxoYtK9zA9BgNV\nHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9zc2wudHJ1c3R3\nYXZlLmNvbS9DQTA3BgNVHR8EMDAuMCygKqAohiZodHRwOi8vY3JsLnRydXN0d2F2\nZS5jb20vVFdHUDI1NkNBLmNybDByBggrBgEFBQcBAQRmMGQwJgYIKwYBBQUHMAGG\nGmh0dHA6Ly9vY3NwLnRydXN0d2F2ZS5jb20vMDoGCCsGAQUFBzAChi5odHRwOi8v\nc3NsLnRydXN0d2F2ZS5jb20vaXNzdWVycy9UV0dQMjU2Q0EuY3J0MAoGCCqGSM49\nBAMCA0cAMEQCIGa3JyBYlXxRN5GIIulLaDxnANNRnY4j1Et166CCC5h+AiAVUlzJ\nIJTfUDBU7jnSTKSw/F+bLIPvaC6frMZv0h+RTA==\n-----END CERTIFICATE-----\n\nSecureTrust TWG ECDSA P-384 Secure Email CA, Level 2\nTrustwave Holdings, Inc.\n072F30E9C58D91DEF98A7F9EB2666CFE7BE1EE\n-----BEGIN CERTIFICATE-----\nMIIDqjCCAy+gAwIBAgITBy8w6cWNkd75in+esmZs/nvh7jAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMjAxMDA4MDY0OTQxWhcNMzAxMDA4MDY0ODQxWjBiMQswCQYDVQQGEwJV\nUzEUMBIGA1UEChMLU2VjdXJlVHJ1c3QxPTA7BgNVBAMTNFNlY3VyZVRydXN0IFRX\nRyBFQ0RTQSBQLTM4NCBTZWN1cmUgRW1haWwgQ0EsIExldmVsIDIwdjAQBgcqhkjO\nPQIBBgUrgQQAIgNiAAR4nTJ6MvtPBb7+L3tklhdDw0tr5FNY5Q1hsp6NR5OzZVeG\nx/X3VrCvkOsae1OEZHNqWCnnI1s/ix9qn/2+q0pPpXrT6wkN/HOQzpQaJWzCF7yX\nIfIB0o+x1Pr17UOX2qGjggF1MIIBcTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1Ud\nDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDBDAdBgNVHQ4EFgQUJd3xyUp6\n6EP6L9hCmkRrWAcU2mwwHwYDVR0jBBgwFoAUVamEidLBMr0Yy2ymB07I552+gpAw\nQQYDVR0gBDowODA2BgRVHSAAMC4wLAYIKwYBBQUHAgEWIGh0dHBzOi8vY2VydHMu\nc2VjdXJldHJ1c3QuY29tL0NBMDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu\nc2VjdXJldHJ1c3QuY29tL1RXR1AzODRDQS5jcmwweAYIKwYBBQUHAQEEbDBqMCgG\nCCsGAQUFBzABhhxodHRwOi8vb2NzcC5zZWN1cmV0cnVzdC5jb20vMD4GCCsGAQUF\nBzAChjJodHRwOi8vY2VydHMuc2VjdXJldHJ1c3QuY29tL2lzc3VlcnMvVFdHUDM4\nNENBLmNydDAKBggqhkjOPQQDAwNpADBmAjEA8X5zwZHtdHjLIn60rwG3Z3NAa6cU\n6gOFxyF+ksTCXvWCUP0oFUqsRPMKMYE2mtdQAjEA2diuEHTPUgCQ0ynhLjged8BO\nFyzL3UlFieGGp90v58gUpfjoFq0BReAw7MPYo/Qa\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-384 Domain Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9B07A17CC5376157813389A2930A44A\n-----BEGIN CERTIFICATE-----\nMIID1TCCA1ygAwIBAgITBs6C2bB6F8xTdhV4EziaKTCkSjAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBmjFDMEEGA1UEAxM6\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTM4NCBEb21haW4gVmFsaWRhdGlvbiBD\nQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAw\nDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMw\ndjAQBgcqhkjOPQIBBgUrgQQAIgNiAASxlBEflNumTKsypgdOscM2x6ZRpQGSyB4B\nhJScRQI81UhZvzYSwxPWcxNZwFQoV457HfqR51pviJnHltRS8MJhJ9Q9Rf1sSmy4\nW6SPsM9qnBjwfBRxghByIsEIaTW/PKyjggFpMIIBZTASBgNVHRMBAf8ECDAGAQH/\nAgEAMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4E\nFgQUp6etGGS1u/oGGEfIwJ68Zf9pAWAwHwYDVR0jBBgwFoAUVamEidLBMr0Yy2ym\nB07I552+gpAwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBz\nOi8vc3NsLnRydXN0d2F2ZS5jb20vQ0EwNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDov\nL2NybC50cnVzdHdhdmUuY29tL1RXR1AzODRDQS5jcmwwcgYIKwYBBQUHAQEEZjBk\nMCYGCCsGAQUFBzABhhpodHRwOi8vb2NzcC50cnVzdHdhdmUuY29tLzA6BggrBgEF\nBQcwAoYuaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lzc3VlcnMvVFdHUDM4NENB\nLmNydDAKBggqhkjOPQQDAwNnADBkAjA6fS1jRjt+DvnWSI58v4lX+8DCXbdEhDaB\nbBOS/rXwS/ntsFXqTf0B90GPv3AWlFMCMBbz6nXMwX0jKRkaFZOZx9tvwUapdq7M\n6jYpT/NnAzH68x1t3/7ysZ8lPuKIqAwdKQ==\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-384 Extended Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A331594530006781829387E40DBCB6\n-----BEGIN CERTIFICATE-----\nMIID4zCCA2igAwIBAgITBs6C2aMxWUUwAGeBgpOH5A28tjAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBnDFFMEMGA1UEAxM8\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTM4NCBFeHRlbmRlZCBWYWxpZGF0aW9u\nIENBLCBMZXZlbCAxMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4x\nEDAOBgNVBAcTB0NoaWNhZ28xETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJV\nUzB2MBAGByqGSM49AgEGBSuBBAAiA2IABKcVGieqBjW3BuVza9VhkBlpGLHLZqQg\nI0GXaTpt5CogNWz6BmlZ1yAPjRnDUVfVwl57ATRtV7u+5TPFzKZ+RheFVc0iA8vl\nQ2JINGRz8XLDaivvuygQtFKSzCWn4e66cKOCAXMwggFvMBIGA1UdEwEB/wQIMAYB\nAf8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF\nBQcDATAdBgNVHQ4EFgQUMFfit09gayJACkNfT/oNzXO8JCcwHwYDVR0jBBgwFoAU\nVamEidLBMr0Yy2ymB07I552+gpAwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYB\nBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5jb20vQ0EwNwYDVR0fBDAwLjAs\noCqgKIYmaHR0cDovL2NybC50cnVzdHdhdmUuY29tL1RXR1AzODRDQS5jcmwwcgYI\nKwYBBQUHAQEEZjBkMCYGCCsGAQUFBzABhhpodHRwOi8vb2NzcC50cnVzdHdhdmUu\nY29tLzA6BggrBgEFBQcwAoYuaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lzc3Vl\ncnMvVFdHUDM4NENBLmNydDAKBggqhkjOPQQDAwNpADBmAjEA6pScrGT+SruK7iON\n7iDJZfhQsjfQIhaq9sHiEXd89B8ibWOb57no/K265dPxeuALAjEA27NTMZM344eT\nX3df9B22dY5ZshsUMIiRcMo1K4B/GBO8SIA0jParkHS5g4WO5K7O\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-384 Organization Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A9D8E29837EF90BEAF59DC6551BED6\n-----BEGIN CERTIFICATE-----\nMIID5jCCA2ygAwIBAgITBs6C2anY4pg375C+r1ncZVG+1jAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBoDFJMEcGA1UEAxNA\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTM4NCBPcmdhbml6YXRpb24gVmFsaWRh\ndGlvbiBDQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJ\nbmMuMRAwDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UE\nBhMCVVMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATvG09PrsO8UQZhH5Zw54rwgcUw\nKjC9D2V3myjD5WOa8uxdTL8PzdwPk4TCcSf6UUG1Tt74j/I+vBOi2tgMcDt68Zld\nvTj+jZT1BBYTQtYh6/dOUjmiapQU5XqoFMRNubGjggFzMIIBbzASBgNVHRMBAf8E\nCDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAgYI\nKwYBBQUHAwEwHQYDVR0OBBYEFDoXwH5iO1eguEDKzDRHzZZ+/AmIMB8GA1UdIwQY\nMBaAFFWphInSwTK9GMtspgdOyOedvoKQMD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgG\nCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29tL0NBMDcGA1UdHwQw\nMC4wLKAqoCiGJmh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9UV0dQMzg0Q0EuY3Js\nMHIGCCsGAQUFBwEBBGYwZDAmBggrBgEFBQcwAYYaaHR0cDovL29jc3AudHJ1c3R3\nYXZlLmNvbS8wOgYIKwYBBQUHMAKGLmh0dHA6Ly9zc2wudHJ1c3R3YXZlLmNvbS9p\nc3N1ZXJzL1RXR1AzODRDQS5jcnQwCgYIKoZIzj0EAwMDaAAwZQIwMyHlVCVMacxP\nO0fC+uc4M7Eq1F9woaWBmLSSNC6EWe3nShMqsR9HrNWrOHBHucNWAjEArwrzEM8g\nJkR4iZxbyYNIn2sNEkNZt2pxqJn4G2cDDDFfOarykKVzP1aJ9OMdYUvs\n-----END CERTIFICATE-----\n\nTrustwave S/MIME SHA256 CA, Level 1\nXRamp Security Services Inc\n3A83B71EE02C3CCA1CE1A2643E9B66EA\n-----BEGIN CERTIFICATE-----\nMIIFHTCCBAWgAwIBAgIQOoO3HuAsPMoc4aJkPptm6jANBgkqhkiG9w0BAQsFADCB\ngjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk\nMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY\nUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQxMDAxMTky\nMjM4WhcNMjQwOTI4MTkyMjM4WjCBpDELMAkGA1UEBhMCVVMxETAPBgNVBAgTCEls\nbGlub2lzMRAwDgYDVQQHEwdDaGljYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9s\nZGluZ3MsIEluYy4xLDAqBgNVBAMTI1RydXN0d2F2ZSBTL01JTUUgU0hBMjU2IENB\nLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29tMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4c5I5giD0wEh+RuoLIJkD7a6mBlm\n+YzTtXSefGejVVYtpjclkUl4C4hEfQMCUcrBnU3ORHVprXi/Q82dKNFPac8FI9bj\n8mtq0cjdSDfXJKfdf52wPXnTjASwKyhJt+CoJik+Fz72KAkjxi+OUSpWdQBeAQra\ndbtu4UGFTgPcuU/cwpF8J0g4CGk/saVKkkJNpq5wqpfQRYl025FyKbzmRjqhB/Ta\npoHlbHMQ7aeoZ+qtDC+eWnE3AqTUHx14Z5fegjLQRmPWqqdeZafthouglbEuHt4A\neyzefTDNwyXjUiRD/n0kaNNW+lcsLpw7ouw1OU8mwQ0C7LoPJljpXRjvOwIDAQAB\no4IBaTCCAWUwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUDDOjV6rjq9ZL\ncBs2nqPtYVDmr3QwDgYDVR0PAQH/BAQDAgGGMEgGA1UdIARBMD8wPQYPKwYBBAGB\n7RgDAwMFBAMDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5j\nb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC50cnVzdHdhdmUuY29t\nL1hHQ0EuY3JsMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0cDovL29j\nc3AudHJ1c3R3YXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50cnVzdHdh\ndmUuY29tL2lzc3VlcnMvWEdDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwQwHwYD\nVR0jBBgwFoAUxk+iPQZjhAmczmLkBKyNXLXpthswDQYJKoZIhvcNAQELBQADggEB\nAIdGLHufUegzFKVBQVWs3YAIFqCcJvdak14TMRImxJsnQWLz+jIW0olC0JATY6Ng\nxAbjIJA4wtW/tA+rgE6WcA5y3bLN3bRMQVDSu6X26hkVjvwo4/VYykOp3e9Cqlfe\ngJAsrqBQKXkUpEbYEmmorXxj6/74e//xwXTz0XS0BS9cXhONlTQffyJnMeLaunzQ\nS1x/MvALfPCHCZCTOfLDmwylKtHHu+V2Ks0HV+ZrzCBRR5W3MhGTU7PpNEMQwyGF\n+MG5eZTd0jyxOSOjaXQm7iDh0tG/iKZZegn5AhNdaHE74QEHTjK+teLQlo60QGBk\necyzakgVYZ/Ezalz8nQwhCA=\n-----END CERTIFICATE-----\n\nTrustwave XRamp Global Extended Validation CA, Level 1\nXRamp Security Services Inc\n00D3D519C2B2EB5C7040F64CBC957BBD2C\n-----BEGIN CERTIFICATE-----\nMIIFMDCCBBigAwIBAgIRANPVGcKy61xwQPZMvJV7vSwwDQYJKoZIhvcNAQELBQAw\ngYIxCzAJBgNVBAYTAlVTMR4wHAYDVQQLExV3d3cueHJhbXBzZWN1cml0eS5jb20x\nJDAiBgNVBAoTG1hSYW1wIFNlY3VyaXR5IFNlcnZpY2VzIEluYzEtMCsGA1UEAxMk\nWFJhbXAgR2xvYmFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE1MDgxMjIw\nMTczMVoXDTI1MDgwOTIwMTczMVowgbcxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJ\nbGxpbm9pczEQMA4GA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhv\nbGRpbmdzLCBJbmMuMT8wPQYDVQQDEzZUcnVzdHdhdmUgWFJhbXAgR2xvYmFsIEV4\ndGVuZGVkIFZhbGlkYXRpb24gQ0EsIExldmVsIDExHzAdBgkqhkiG9w0BCQEWEGNh\nQHRydXN0d2F2ZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9\nAAbj9SknrNJT9pDatGvlR386KRi0SkqIOGr+C5W91+8E8PqydEHwjrnrWt/MTLGO\n+2kfEO3TEJlWxQQqbHy8SdhjCANefLzOT1cfTfjroWBIS9yiHpBIQytAaz/td95Y\n+JKrRBVCnIR/wB5qMMQ982RWwqggD763XLma0c1AIndsZL+dXp1zET4KBreoxn3q\nRYzMIsZIL2mAJoiCOTYuOGrOMVuaQn0HSu3K7bU+CpkdLQ/j+ikcQiI10IL9oOcO\nU9Gnt/hRyUX66Gk91RIpYXhla2tIYrg7ezrAnFoZIZCb891JjFtbSEOvAAK9F5d6\nfkkjPx0432o/v1c5GRFPAgMBAAGjggFoMIIBZDASBgNVHRMBAf8ECDAGAQH/AgEA\nMB0GA1UdDgQWBBTFzrk7QkXAzQnlaOhIOoNdbI6rGDAOBgNVHQ8BAf8EBAMCAYYw\nPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRy\ndXN0d2F2ZS5jb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC50cnVz\ndHdhdmUuY29tL1hHQ0EuY3JsMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZ\naHR0cDovL29jc3AudHJ1c3R3YXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3Nz\nbC50cnVzdHdhdmUuY29tL2lzc3VlcnMvWEdDQS5jcnQwHQYDVR0lBBYwFAYIKwYB\nBQUHAwIGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFMZPoj0GY4QJnM5i5ASsjVy16bYb\nMA0GCSqGSIb3DQEBCwUAA4IBAQCA2N/WVTGYRGNTuvF2qKWPrQUx0/6pKmGqELl6\nNXs1bwRXCci98SkeNjiaa2dHEwcGR43/M1Y0nekXP8QCEFVqGOwaY0pnTb8wL+CI\n/HTp1zfmoCYNvtzt1fIq/+9ynLYEjX8rsrf51HIEjJJK8K3k/Ub3cFT+yJKNN2YN\nJS0IvJYlbpqS6VbcInwLcW7WvJmXUuL7t0Vtt0d2q1h5UdnJQP+skiOmN/B0zPut\nbRC4v5pNGJJmwbk58UlOSeviH2qzDGutamOJ6dFNWqQFoZorAT7fUsr3WDA4HKtx\neraYdCIRJX7weW9xpdMNsVO7Wy/Ma7Fz9fzKnOH5mnInBOof\n-----END CERTIFICATE-----\n\nSecure Global CA\nSecureTrust Corporation\n075622A4E8D48A894DF413C8F0F8EAA5\n-----BEGIN CERTIFICATE-----\nMIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx\nMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg\nQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ\niQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa\n/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ\njnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI\nHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7\nsFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w\ngZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw\nKaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG\nAQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L\nURYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO\nH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm\nI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY\niNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc\nf8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW\n-----END CERTIFICATE-----\n\nSecureTrust CA\nSecureTrust Corporation\n0CF08E5C0816A5AD427FF0EB271859D0\n-----BEGIN CERTIFICATE-----\nMIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz\nMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv\ncnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz\nZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO\n0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao\nwW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj\n7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS\n8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT\nBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB\n/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg\nJYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC\nNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3\n6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/\n3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm\nD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS\nCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR\n3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=\n-----END CERTIFICATE-----\n\nTrustwave Global Certification Authority\nTrustwave Holdings, Inc.\n05F70E86DA49F346352EBAB2\n-----BEGIN CERTIFICATE-----\nMIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQsw\nCQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28x\nITAfBgNVBAoMGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1\nc3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMx\nOTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJVUzERMA8GA1UECAwI\nSWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2ZSBI\nb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZp\nY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB\nALldUShLPDeS0YLOvR29zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0Xzn\nswuvCAAJWX/NKSqIk4cXGIDtiLK0thAfLdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu\n7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4BqstTnoApTAbqOl5F2brz8\n1Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9oWN0EACyW\n80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotP\nJqX+OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1l\nRtzuzWniTY+HKE40Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfw\nhI0Vcnyh78zyiGG69Gm7DIwLdVcEuE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10\ncoos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm+9jaJXLE9gCxInm943xZYkqc\nBW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqjifLJS3tBEW1n\ntwiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud\nEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1Ud\nDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W\n0OhUKDtkLSGm+J1WE2pIPU/HPinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfe\nuyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0HZJDmHvUqoai7PF35owgLEQzxPy0Q\nlG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla4gt5kNdXElE1GYhB\naCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5RvbbE\nsLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPT\nMaCm/zjdzyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qe\nqu5AvzSxnI9O4fKSTx+O856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxh\nVicGaeVyQYHTtgGJoC86cnn+OjC/QezHYj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8\nh6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu3R3y4G5OBVixwJAWKqQ9\nEEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP29FpHOTK\nyeC2nOnOcXHebD8WpHk=\n-----END CERTIFICATE-----\n\nTrustwave Global ECC P256 Certification Authority\nTrustwave Holdings, Inc.\n0D6A5F083F285C3E5195DF5D\n-----BEGIN CERTIFICATE-----\nMIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYD\nVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf\nBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3\nYXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x\nNzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYDVQQGEwJVUzERMA8G\nA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0\nd2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF\nQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqG\nSM49AwEHA0IABH77bOYj43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoN\nFWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqmP62jQzBBMA8GA1UdEwEB/wQFMAMBAf8w\nDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt0UrrdaVKEJmzsaGLSvcw\nCgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjzRM4q3wgh\nDDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7\n-----END CERTIFICATE-----\n\nTrustwave Global ECC P384 Certification Authority\nTrustwave Holdings, Inc.\n08BD85976C9927A48068473B\n-----BEGIN CERTIFICATE-----\nMIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYD\nVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf\nBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3\nYXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x\nNzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYDVQQGEwJVUzERMA8G\nA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0\nd2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF\nQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuB\nBAAiA2IABGvaDXU1CDFHBa5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJ\nj9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr/TklZvFe/oyujUF5nQlgziip04pt89ZF\n1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\nA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNnADBkAjA3\nAZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsC\nMGclCrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVu\nSw==\n-----END CERTIFICATE-----\n";
47
20
 
48
21
  var PKG_NAME = "@hpcc-js/comms";
49
- var PKG_VERSION = "2.66.0";
50
- var BUILD_VERSION = "2.97.0";
22
+ var PKG_VERSION = "2.70.0";
23
+ var BUILD_VERSION = "2.101.0";
51
24
 
52
25
  /*! *****************************************************************************
53
26
  Copyright (c) Microsoft Corporation.
@@ -136,10 +109,10 @@ function __spreadArray(to, from, pack) {
136
109
  ar[i] = from[i];
137
110
  }
138
111
  }
139
- return to.concat(ar || Array.prototype.slice.call(from));
112
+ return to.concat(ar || from);
140
113
  }
141
114
 
142
- var logger$2 = util.scopedLogger("comms/connection.ts");
115
+ var logger = util.scopedLogger("comms/connection.ts");
143
116
  function instanceOfIOptions(object) {
144
117
  return "baseUrl" in object;
145
118
  }
@@ -178,20 +151,20 @@ function serializeRequest(obj, encodeRequest, prefix) {
178
151
  obj[key].forEach(function (row, i) {
179
152
  if (typeof row === "object") {
180
153
  includeItemCount_1 = true;
181
- str.push(serializeRequest(row, encodeRequest, prefix + encode("".concat(key, ".").concat(i), encodeRequest)));
154
+ str.push(serializeRequest(row, encodeRequest, prefix + encode(key + "." + i, encodeRequest)));
182
155
  }
183
156
  else {
184
- str.push(prefix + encode("".concat(key, "_i").concat(i), encodeRequest) + "=" + serializeRequest(row, encodeRequest));
157
+ str.push(prefix + encode(key + "_i" + i, encodeRequest) + "=" + serializeRequest(row, encodeRequest));
185
158
  }
186
159
  });
187
160
  if (includeItemCount_1) {
188
- str.push(prefix + encode("".concat(key, ".itemcount"), encodeRequest) + "=" + obj[key].length);
161
+ str.push(prefix + encode(key + ".itemcount", encodeRequest) + "=" + obj[key].length);
189
162
  }
190
163
  }
191
164
  else if (typeof obj[key] === "object") {
192
165
  if (obj[key] && obj[key]["Item"] instanceof Array) { // Specific to ws_machine.GetTargetClusterInfo?
193
166
  str.push(serializeRequest(obj[key]["Item"], encodeRequest, prefix + encode(key, encodeRequest)));
194
- str.push(prefix + encode("".concat(key, ".itemcount"), encodeRequest) + "=" + obj[key]["Item"].length);
167
+ str.push(prefix + encode(key + ".itemcount", encodeRequest) + "=" + obj[key]["Item"].length);
195
168
  }
196
169
  else {
197
170
  str.push(serializeRequest(obj[key], encodeRequest, prefix + encode(key, encodeRequest)));
@@ -241,12 +214,12 @@ function jsonp(opts, action, request, responseType, header) {
241
214
  respondedTimeout -= respondedTick;
242
215
  if (respondedTimeout <= 0) {
243
216
  clearInterval(progress);
244
- logger$2.error("Request timeout: " + script.src);
217
+ logger.error("Request timeout: " + script.src);
245
218
  doCallback();
246
219
  reject(Error("Request timeout: " + script.src));
247
220
  }
248
221
  else {
249
- logger$2.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
222
+ logger.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
250
223
  }
251
224
  }
252
225
  }, respondedTick);
@@ -257,7 +230,7 @@ function jsonp(opts, action, request, responseType, header) {
257
230
  });
258
231
  }
259
232
  function authHeader(opts) {
260
- return opts.userID ? { Authorization: "Basic ".concat(btoa("".concat(opts.userID, ":").concat(opts.password))) } : {};
233
+ return opts.userID ? { Authorization: "Basic " + btoa(opts.userID + ":" + opts.password) } : {};
261
234
  }
262
235
  // _omitMap is a workaround for older HPCC-Platform instances without credentials ---
263
236
  var _omitMap = {};
@@ -316,7 +289,7 @@ function get(opts, action, request, responseType, header) {
316
289
  abortSignal = request.abortSignal_;
317
290
  delete request.abortSignal_;
318
291
  }
319
- return doFetch(opts, "".concat(action, "?").concat(serializeRequest(request, opts.encodeRequest)), {
292
+ return doFetch(opts, action + "?" + serializeRequest(request, opts.encodeRequest), {
320
293
  method: "get",
321
294
  signal: abortSignal
322
295
  }, __assign({}, header), responseType);
@@ -395,7 +368,7 @@ var ESPExceptions = /** @class */ (function (_super) {
395
368
  _this.Source = exceptions.Source;
396
369
  _this.Exception = exceptions.Exception;
397
370
  if (exceptions.Exception.length) {
398
- _this.message = "".concat(exceptions.Exception[0].Code, ": ").concat(exceptions.Exception[0].Message);
371
+ _this.message = exceptions.Exception[0].Code + ": " + exceptions.Exception[0].Message;
399
372
  }
400
373
  else {
401
374
  _this.message = "";
@@ -585,7 +558,7 @@ var CodesignService = /** @class */ (function () {
585
558
  var DFUService = /** @class */ (function (_super) {
586
559
  __extends(DFUService, _super);
587
560
  function DFUService(optsConnection) {
588
- return _super.call(this, optsConnection, "WsDfu", "1.60") || this;
561
+ return _super.call(this, optsConnection, "WsDfu", "1.62") || this;
589
562
  }
590
563
  DFUService.prototype.DFUQuery = function (request) {
591
564
  return this._connection.send("DFUQuery", request);
@@ -715,7 +688,7 @@ var EclService = /** @class */ (function (_super) {
715
688
  };
716
689
  EclService.prototype.requestJson = function (querySet, queryId) {
717
690
  // http://192.168.3.22:8002/WsEcl/example/request/query/roxie/peopleaccounts/json?display
718
- return this._connection.send("example/request/query/".concat(querySet, "/").concat(queryId, "/json"), {}, "text").then(function (response) {
691
+ return this._connection.send("example/request/query/" + querySet + "/" + queryId + "/json", {}, "text").then(function (response) {
719
692
  var requestSchema = JSON.parse(response);
720
693
  for (var key in requestSchema) {
721
694
  return requestSchema[key];
@@ -725,7 +698,7 @@ var EclService = /** @class */ (function (_super) {
725
698
  };
726
699
  EclService.prototype.responseJson = function (querySet, queryId) {
727
700
  // http://192.168.3.22:8002/WsEcl/example/response/query/roxie/peopleaccounts/json?display
728
- return this._connection.send("example/response/query/".concat(querySet, "/").concat(queryId, "/json"), {}, "text").then(function (response) {
701
+ return this._connection.send("example/response/query/" + querySet + "/" + queryId + "/json", {}, "text").then(function (response) {
729
702
  var responseSchema = JSON.parse(response);
730
703
  for (var key in responseSchema) {
731
704
  return responseSchema[key].Results;
@@ -741,7 +714,7 @@ var EclService = /** @class */ (function (_super) {
741
714
  };
742
715
  EclService.prototype.submit = function (querySet, queryId, request) {
743
716
  // http://192.168.3.22:8002/WsEcl/submit/query/roxie/peopleaccounts.1/json
744
- var action = "submit/query/".concat(querySet, "/").concat(queryId);
717
+ var action = "submit/query/" + querySet + "/" + queryId;
745
718
  return this._connection.send(action, request, "json2").then(function (response) {
746
719
  if (response.Results && response.Results.Exception) {
747
720
  throw new ESPExceptions(action, request, {
@@ -755,6 +728,39 @@ var EclService = /** @class */ (function (_super) {
755
728
  return EclService;
756
729
  }(Service));
757
730
 
731
+ var LogAccessType;
732
+ (function (LogAccessType) {
733
+ LogAccessType[LogAccessType["All"] = 0] = "All";
734
+ LogAccessType[LogAccessType["ByJobIdID"] = 1] = "ByJobIdID";
735
+ LogAccessType[LogAccessType["ByComponent"] = 2] = "ByComponent";
736
+ LogAccessType[LogAccessType["ByLogType"] = 3] = "ByLogType";
737
+ LogAccessType[LogAccessType["ByTargetAudience"] = 4] = "ByTargetAudience";
738
+ })(LogAccessType || (LogAccessType = {}));
739
+ var LogaccessService = /** @class */ (function (_super) {
740
+ __extends(LogaccessService, _super);
741
+ function LogaccessService(optsConnection) {
742
+ return _super.call(this, optsConnection, "WsLogaccess", "1") || this;
743
+ }
744
+ LogaccessService.prototype.GetLogAccessInfo = function (request) {
745
+ return this._connection.send("GetLogAccessInfo", request);
746
+ };
747
+ LogaccessService.prototype.GetLogs = function (request) {
748
+ return this._connection.send("GetLogs", request);
749
+ };
750
+ LogaccessService.prototype.Ping = function (request) {
751
+ return this._connection.send("Ping", request);
752
+ };
753
+ return LogaccessService;
754
+ }(Service));
755
+
756
+ var LogaccessServiceEx = /** @class */ (function (_super) {
757
+ __extends(LogaccessServiceEx, _super);
758
+ function LogaccessServiceEx() {
759
+ return _super !== null && _super.apply(this, arguments) || this;
760
+ }
761
+ return LogaccessServiceEx;
762
+ }(LogaccessService));
763
+
758
764
  function ascending(a, b) {
759
765
  return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
760
766
  }
@@ -791,7 +797,7 @@ function ascendingComparator(f) {
791
797
  };
792
798
  }
793
799
 
794
- bisector(ascending);
800
+ var ascendingBisect = bisector(ascending);
795
801
 
796
802
  function number(x) {
797
803
  return x === null ? NaN : +x;
@@ -915,6 +921,31 @@ var MachineService = /** @class */ (function () {
915
921
  return MachineService;
916
922
  }());
917
923
 
924
+ var ResourcesService = /** @class */ (function (_super) {
925
+ __extends(ResourcesService, _super);
926
+ function ResourcesService(optsConnection) {
927
+ return _super.call(this, optsConnection, "WsResources", "1.01") || this;
928
+ }
929
+ ResourcesService.prototype.Ping = function (request) {
930
+ return this._connection.send("Ping", request);
931
+ };
932
+ ResourcesService.prototype.ServiceQuery = function (request) {
933
+ return this._connection.send("ServiceQuery", request);
934
+ };
935
+ ResourcesService.prototype.WebLinksQuery = function (request) {
936
+ return this._connection.send("WebLinksQuery", request);
937
+ };
938
+ return ResourcesService;
939
+ }(Service));
940
+
941
+ var ResourcesServiceEx = /** @class */ (function (_super) {
942
+ __extends(ResourcesServiceEx, _super);
943
+ function ResourcesServiceEx() {
944
+ return _super !== null && _super.apply(this, arguments) || this;
945
+ }
946
+ return ResourcesServiceEx;
947
+ }(ResourcesService));
948
+
918
949
  var SMCService = /** @class */ (function () {
919
950
  function SMCService(optsConnection) {
920
951
  this._connection = new ESPConnection(optsConnection, "WsSMC", "1.24");
@@ -1012,18 +1043,13 @@ var StoreService = /** @class */ (function (_super) {
1012
1043
  return StoreService;
1013
1044
  }(Service));
1014
1045
 
1015
- /*
1016
- Response structures generated via:
1017
- * http://localhost:8010/WsTopology/TpLogicalClusterQuery?respjson_
1018
- * http://json2ts.com/
1019
- */
1020
- exports.TpLogicalClusterQuery = void 0;
1021
1046
  (function (TpLogicalClusterQuery) {
1047
+ var RoxieQueueFilter;
1022
1048
  (function (RoxieQueueFilter) {
1023
1049
  RoxieQueueFilter["All"] = "All";
1024
1050
  RoxieQueueFilter["QueriesOnly"] = "QueriesOnly";
1025
1051
  RoxieQueueFilter["WorkunitsOnly"] = "WorkunitsOnly";
1026
- })(TpLogicalClusterQuery.RoxieQueueFilter || (TpLogicalClusterQuery.RoxieQueueFilter = {}));
1052
+ })(RoxieQueueFilter = TpLogicalClusterQuery.RoxieQueueFilter || (TpLogicalClusterQuery.RoxieQueueFilter = {}));
1027
1053
  })(exports.TpLogicalClusterQuery || (exports.TpLogicalClusterQuery = {}));
1028
1054
  var TopologyService = /** @class */ (function (_super) {
1029
1055
  __extends(TopologyService, _super);
@@ -1079,13 +1105,6 @@ var TopologyService = /** @class */ (function (_super) {
1079
1105
  return TopologyService;
1080
1106
  }(Service));
1081
1107
 
1082
- /*
1083
- Response structures generated via:
1084
- * http://localhost:8010/WsWorkunits/WUInfo?reqjson_
1085
- * http://localhost:8010/WsWorkunits/WUInfo?respjson_
1086
- * http://json2ts.com/
1087
- */
1088
- exports.WUStateID = void 0;
1089
1108
  (function (WUStateID) {
1090
1109
  WUStateID[WUStateID["Unknown"] = 0] = "Unknown";
1091
1110
  WUStateID[WUStateID["Compiled"] = 1] = "Compiled";
@@ -1110,8 +1129,8 @@ exports.WUStateID = void 0;
1110
1129
  function isECLResult(_) {
1111
1130
  return typeof _.Name === "string";
1112
1131
  }
1113
- exports.WUUpdate = void 0;
1114
1132
  (function (WUUpdate) {
1133
+ var Action;
1115
1134
  (function (Action) {
1116
1135
  Action[Action["Unknown"] = 0] = "Unknown";
1117
1136
  Action[Action["Compile"] = 1] = "Compile";
@@ -1123,7 +1142,7 @@ exports.WUUpdate = void 0;
1123
1142
  Action[Action["Resume"] = 7] = "Resume";
1124
1143
  Action[Action["Debug"] = 8] = "Debug";
1125
1144
  Action[Action["__size"] = 9] = "__size";
1126
- })(WUUpdate.Action || (WUUpdate.Action = {}));
1145
+ })(Action = WUUpdate.Action || (WUUpdate.Action = {}));
1127
1146
  })(exports.WUUpdate || (exports.WUUpdate = {}));
1128
1147
  function isWUQueryECLWorkunit(_) {
1129
1148
  return _.TotalClusterTime !== undefined;
@@ -1325,8 +1344,6 @@ var day = newInterval(function(date) {
1325
1344
  return date.getDate() - 1;
1326
1345
  });
1327
1346
 
1328
- var timeDay = day;
1329
-
1330
1347
  function weekday(i) {
1331
1348
  return newInterval(function(date) {
1332
1349
  date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);
@@ -1340,11 +1357,11 @@ function weekday(i) {
1340
1357
 
1341
1358
  var sunday = weekday(0);
1342
1359
  var monday = weekday(1);
1343
- weekday(2);
1344
- weekday(3);
1360
+ var tuesday = weekday(2);
1361
+ var wednesday = weekday(3);
1345
1362
  var thursday = weekday(4);
1346
- weekday(5);
1347
- weekday(6);
1363
+ var friday = weekday(5);
1364
+ var saturday = weekday(6);
1348
1365
 
1349
1366
  var year = newInterval(function(date) {
1350
1367
  date.setMonth(0, 1);
@@ -1368,8 +1385,6 @@ year.every = function(k) {
1368
1385
  });
1369
1386
  };
1370
1387
 
1371
- var timeYear = year;
1372
-
1373
1388
  var utcDay = newInterval(function(date) {
1374
1389
  date.setUTCHours(0, 0, 0, 0);
1375
1390
  }, function(date, step) {
@@ -1380,8 +1395,6 @@ var utcDay = newInterval(function(date) {
1380
1395
  return date.getUTCDate() - 1;
1381
1396
  });
1382
1397
 
1383
- var utcDay$1 = utcDay;
1384
-
1385
1398
  function utcWeekday(i) {
1386
1399
  return newInterval(function(date) {
1387
1400
  date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);
@@ -1395,11 +1408,11 @@ function utcWeekday(i) {
1395
1408
 
1396
1409
  var utcSunday = utcWeekday(0);
1397
1410
  var utcMonday = utcWeekday(1);
1398
- utcWeekday(2);
1399
- utcWeekday(3);
1411
+ var utcTuesday = utcWeekday(2);
1412
+ var utcWednesday = utcWeekday(3);
1400
1413
  var utcThursday = utcWeekday(4);
1401
- utcWeekday(5);
1402
- utcWeekday(6);
1414
+ var utcFriday = utcWeekday(5);
1415
+ var utcSaturday = utcWeekday(6);
1403
1416
 
1404
1417
  var utcYear = newInterval(function(date) {
1405
1418
  date.setUTCMonth(0, 1);
@@ -1423,8 +1436,6 @@ utcYear.every = function(k) {
1423
1436
  });
1424
1437
  };
1425
1438
 
1426
- var utcYear$1 = utcYear;
1427
-
1428
1439
  function localDate(d) {
1429
1440
  if (0 <= d.y && d.y < 100) {
1430
1441
  var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
@@ -1613,7 +1624,7 @@ function formatLocale(locale) {
1613
1624
  return function(string) {
1614
1625
  var d = newDate(1900, undefined, 1),
1615
1626
  i = parseSpecifier(d, specifier, string += "", 0),
1616
- week, day;
1627
+ week, day$1;
1617
1628
  if (i != string.length) return null;
1618
1629
 
1619
1630
  // If a UNIX timestamp is specified, return it.
@@ -1634,25 +1645,25 @@ function formatLocale(locale) {
1634
1645
  if (d.V < 1 || d.V > 53) return null;
1635
1646
  if (!("w" in d)) d.w = 1;
1636
1647
  if ("Z" in d) {
1637
- week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();
1638
- week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);
1639
- week = utcDay$1.offset(week, (d.V - 1) * 7);
1648
+ week = utcDate(newDate(d.y, 0, 1)), day$1 = week.getUTCDay();
1649
+ week = day$1 > 4 || day$1 === 0 ? utcMonday.ceil(week) : utcMonday(week);
1650
+ week = utcDay.offset(week, (d.V - 1) * 7);
1640
1651
  d.y = week.getUTCFullYear();
1641
1652
  d.m = week.getUTCMonth();
1642
1653
  d.d = week.getUTCDate() + (d.w + 6) % 7;
1643
1654
  } else {
1644
- week = localDate(newDate(d.y, 0, 1)), day = week.getDay();
1645
- week = day > 4 || day === 0 ? monday.ceil(week) : monday(week);
1646
- week = timeDay.offset(week, (d.V - 1) * 7);
1655
+ week = localDate(newDate(d.y, 0, 1)), day$1 = week.getDay();
1656
+ week = day$1 > 4 || day$1 === 0 ? monday.ceil(week) : monday(week);
1657
+ week = day.offset(week, (d.V - 1) * 7);
1647
1658
  d.y = week.getFullYear();
1648
1659
  d.m = week.getMonth();
1649
1660
  d.d = week.getDate() + (d.w + 6) % 7;
1650
1661
  }
1651
1662
  } else if ("W" in d || "U" in d) {
1652
1663
  if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0;
1653
- day = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
1664
+ day$1 = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
1654
1665
  d.m = 0;
1655
- d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;
1666
+ d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day$1 + 5) % 7 : d.w + d.U * 7 - (day$1 + 6) % 7;
1656
1667
  }
1657
1668
 
1658
1669
  // If a time zone is specified, all fields are interpreted as UTC and then
@@ -1938,7 +1949,7 @@ function formatHour12(d, p) {
1938
1949
  }
1939
1950
 
1940
1951
  function formatDayOfYear(d, p) {
1941
- return pad(1 + timeDay.count(timeYear(d), d), p, 3);
1952
+ return pad(1 + day.count(year(d), d), p, 3);
1942
1953
  }
1943
1954
 
1944
1955
  function formatMilliseconds(d, p) {
@@ -1967,7 +1978,7 @@ function formatWeekdayNumberMonday(d) {
1967
1978
  }
1968
1979
 
1969
1980
  function formatWeekNumberSunday(d, p) {
1970
- return pad(sunday.count(timeYear(d) - 1, d), p, 2);
1981
+ return pad(sunday.count(year(d) - 1, d), p, 2);
1971
1982
  }
1972
1983
 
1973
1984
  function dISO(d) {
@@ -1977,7 +1988,7 @@ function dISO(d) {
1977
1988
 
1978
1989
  function formatWeekNumberISO(d, p) {
1979
1990
  d = dISO(d);
1980
- return pad(thursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);
1991
+ return pad(thursday.count(year(d), d) + (year(d).getDay() === 4), p, 2);
1981
1992
  }
1982
1993
 
1983
1994
  function formatWeekdayNumberSunday(d) {
@@ -1985,7 +1996,7 @@ function formatWeekdayNumberSunday(d) {
1985
1996
  }
1986
1997
 
1987
1998
  function formatWeekNumberMonday(d, p) {
1988
- return pad(monday.count(timeYear(d) - 1, d), p, 2);
1999
+ return pad(monday.count(year(d) - 1, d), p, 2);
1989
2000
  }
1990
2001
 
1991
2002
  function formatYear(d, p) {
@@ -2027,7 +2038,7 @@ function formatUTCHour12(d, p) {
2027
2038
  }
2028
2039
 
2029
2040
  function formatUTCDayOfYear(d, p) {
2030
- return pad(1 + utcDay$1.count(utcYear$1(d), d), p, 3);
2041
+ return pad(1 + utcDay.count(utcYear(d), d), p, 3);
2031
2042
  }
2032
2043
 
2033
2044
  function formatUTCMilliseconds(d, p) {
@@ -2056,7 +2067,7 @@ function formatUTCWeekdayNumberMonday(d) {
2056
2067
  }
2057
2068
 
2058
2069
  function formatUTCWeekNumberSunday(d, p) {
2059
- return pad(utcSunday.count(utcYear$1(d) - 1, d), p, 2);
2070
+ return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);
2060
2071
  }
2061
2072
 
2062
2073
  function UTCdISO(d) {
@@ -2066,7 +2077,7 @@ function UTCdISO(d) {
2066
2077
 
2067
2078
  function formatUTCWeekNumberISO(d, p) {
2068
2079
  d = UTCdISO(d);
2069
- return pad(utcThursday.count(utcYear$1(d), d) + (utcYear$1(d).getUTCDay() === 4), p, 2);
2080
+ return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);
2070
2081
  }
2071
2082
 
2072
2083
  function formatUTCWeekdayNumberSunday(d) {
@@ -2074,7 +2085,7 @@ function formatUTCWeekdayNumberSunday(d) {
2074
2085
  }
2075
2086
 
2076
2087
  function formatUTCWeekNumberMonday(d, p) {
2077
- return pad(utcMonday.count(utcYear$1(d) - 1, d), p, 2);
2088
+ return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);
2078
2089
  }
2079
2090
 
2080
2091
  function formatUTCYear(d, p) {
@@ -2113,6 +2124,8 @@ function formatUnixTimestampSeconds(d) {
2113
2124
  }
2114
2125
 
2115
2126
  var locale;
2127
+ var timeFormat;
2128
+ var timeParse;
2116
2129
  var utcFormat;
2117
2130
  var utcParse;
2118
2131
 
@@ -2129,6 +2142,8 @@ defaultLocale({
2129
2142
 
2130
2143
  function defaultLocale(definition) {
2131
2144
  locale = formatLocale(definition);
2145
+ timeFormat = locale.format;
2146
+ timeParse = locale.parse;
2132
2147
  utcFormat = locale.utcFormat;
2133
2148
  utcParse = locale.utcParse;
2134
2149
  return locale;
@@ -2226,12 +2241,12 @@ var GraphCache = /** @class */ (function (_super) {
2226
2241
  }
2227
2242
  return GraphCache;
2228
2243
  }(util.Cache));
2229
- function walkXmlJson$1(node, callback, stack) {
2244
+ function walkXmlJson(node, callback, stack) {
2230
2245
  stack = stack || [];
2231
2246
  stack.push(node);
2232
2247
  callback(node.name, node.$, node.children(), stack);
2233
2248
  node.children().forEach(function (childNode) {
2234
- walkXmlJson$1(childNode, callback, stack);
2249
+ walkXmlJson(childNode, callback, stack);
2235
2250
  });
2236
2251
  stack.pop();
2237
2252
  }
@@ -2280,7 +2295,7 @@ function createXGMMLGraph(id, graphs) {
2280
2295
  return item._["id"];
2281
2296
  });
2282
2297
  var stack = [graph.root];
2283
- walkXmlJson$1(graphs, function (tag, attributes, childNodes, _stack) {
2298
+ walkXmlJson(graphs, function (tag, attributes, childNodes, _stack) {
2284
2299
  var top = stack[stack.length - 1];
2285
2300
  switch (tag) {
2286
2301
  case "graph":
@@ -2355,7 +2370,7 @@ function createGraph(scopes) {
2355
2370
  scopeStack.pop();
2356
2371
  }
2357
2372
  if (!scopeParent1) {
2358
- console.log("Missing SG:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2373
+ console.log("Missing SG:Parent (" + scope.Id + "): " + scope.parentScope());
2359
2374
  }
2360
2375
  else {
2361
2376
  var parent1 = scopeParent1;
@@ -2365,7 +2380,7 @@ function createGraph(scopes) {
2365
2380
  case "activity":
2366
2381
  var scopeParent2 = subgraphs[scope.parentScope()];
2367
2382
  if (!scopeParent2) {
2368
- console.log("Missing A:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2383
+ console.log("Missing A:Parent (" + scope.Id + "): " + scope.parentScope());
2369
2384
  }
2370
2385
  else {
2371
2386
  vertices[scope.ScopeName] = scopeParent2.createVertex(scope);
@@ -2377,7 +2392,7 @@ function createGraph(scopes) {
2377
2392
  case "function":
2378
2393
  var scopeParent3 = vertices[scope.parentScope()];
2379
2394
  if (!scopeParent3) {
2380
- console.log("Missing F:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2395
+ console.log("Missing F:Parent (" + scope.Id + "): " + scope.parentScope());
2381
2396
  }
2382
2397
  else {
2383
2398
  scopeParent3._.children().push(scope);
@@ -2389,7 +2404,7 @@ function createGraph(scopes) {
2389
2404
  var scope = edges[id];
2390
2405
  var scopeParent3 = subgraphs[scope.parentScope()];
2391
2406
  if (!scopeParent3) {
2392
- console.log("Missing E:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2407
+ console.log("Missing E:Parent (" + scope.Id + "): " + scope.parentScope());
2393
2408
  }
2394
2409
  else {
2395
2410
  var parent3 = scopeParent3;
@@ -2401,7 +2416,7 @@ function createGraph(scopes) {
2401
2416
  catch (e) {
2402
2417
  // const sourceIndex = scope.attr("SourceIndex").RawValue;
2403
2418
  // const targetIndex = scope.attr("TargetIndex").RawValue;
2404
- console.log("Invalid Edge: ".concat(id));
2419
+ console.log("Invalid Edge: " + id);
2405
2420
  }
2406
2421
  }
2407
2422
  }
@@ -2694,7 +2709,7 @@ var GlobalResultCache = /** @class */ (function (_super) {
2694
2709
  __extends(GlobalResultCache, _super);
2695
2710
  function GlobalResultCache() {
2696
2711
  return _super.call(this, function (obj) {
2697
- return "".concat(obj.BaseUrl, "-").concat(obj.Wuid, "-").concat(obj.ResultName);
2712
+ return obj.BaseUrl + "-" + obj.Wuid + "-" + obj.ResultName;
2698
2713
  }) || this;
2699
2714
  }
2700
2715
  return GlobalResultCache;
@@ -3165,21 +3180,21 @@ var BaseScope = /** @class */ (function (_super) {
3165
3180
  var label = "";
3166
3181
  var rows = [];
3167
3182
  label = this.Id;
3168
- rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">".concat(this.Id, "</td></tr>"));
3183
+ rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">" + this.Id + "</td></tr>");
3169
3184
  if (parentScope) {
3170
- rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">".concat(parentScope.Id, "</td></tr>"));
3185
+ rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">" + parentScope.Id + "</td></tr>");
3171
3186
  }
3172
- rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">".concat(this.ScopeName, "</td></tr>"));
3187
+ rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">" + this.ScopeName + "</td></tr>");
3173
3188
  var attrs = this.formattedAttrs();
3174
3189
  for (var key in attrs) {
3175
3190
  if (key === "Label") {
3176
3191
  label = attrs[key];
3177
3192
  }
3178
3193
  else {
3179
- rows.push("<tr><td class=\"key\">".concat(key, "</td><td class=\"value\">").concat(attrs[key], "</td></tr>"));
3194
+ rows.push("<tr><td class=\"key\">" + key + "</td><td class=\"value\">" + attrs[key] + "</td></tr>");
3180
3195
  }
3181
3196
  }
3182
- return "<div class=\"eclwatch_WUGraph_Tooltip\" style=\"max-width:480px\">\n <h4 align=\"center\">".concat(label, "</h4>\n <table>\n ").concat(rows.join(""), "\n </table>\n </div>");
3197
+ return "<div class=\"eclwatch_WUGraph_Tooltip\" style=\"max-width:480px\">\n <h4 align=\"center\">" + label + "</h4>\n <table>\n " + rows.join("") + "\n </table>\n </div>";
3183
3198
  };
3184
3199
  return BaseScope;
3185
3200
  }(util.StateObject));
@@ -3319,7 +3334,7 @@ var WorkunitCache = /** @class */ (function (_super) {
3319
3334
  __extends(WorkunitCache, _super);
3320
3335
  function WorkunitCache() {
3321
3336
  return _super.call(this, function (obj) {
3322
- return "".concat(obj.BaseUrl, "-").concat(obj.Wuid);
3337
+ return obj.BaseUrl + "-" + obj.Wuid;
3323
3338
  }) || this;
3324
3339
  }
3325
3340
  return WorkunitCache;
@@ -4167,6 +4182,9 @@ var Workunit = /** @class */ (function (_super) {
4167
4182
  case "cnt":
4168
4183
  props[scopeProperty.Name] = +scopeProperty.RawValue;
4169
4184
  break;
4185
+ case "cost":
4186
+ props[scopeProperty.Name] = +scopeProperty.RawValue / 1000000;
4187
+ break;
4170
4188
  case "cpu":
4171
4189
  case "skw":
4172
4190
  case "node":
@@ -4526,12 +4544,12 @@ var Workunit = /** @class */ (function (_super) {
4526
4544
  var optsStr = "";
4527
4545
  for (var key in opts) {
4528
4546
  if (opts.hasOwnProperty(key)) {
4529
- optsStr += " ".concat(key, "='").concat(opts[key], "'");
4547
+ optsStr += " " + key + "='" + opts[key] + "'";
4530
4548
  }
4531
4549
  }
4532
4550
  return this.connection.WUCDebug({
4533
4551
  Wuid: this.Wuid,
4534
- Command: "<debug:".concat(command, " uid='").concat(this.Wuid, "'").concat(optsStr, "/>")
4552
+ Command: "<debug:" + command + " uid='" + this.Wuid + "'" + optsStr + "/>"
4535
4553
  }).then(function (response) {
4536
4554
  return response;
4537
4555
  });
@@ -4662,7 +4680,7 @@ function getECLDefinition(vertex) {
4662
4680
  column: +_col
4663
4681
  };
4664
4682
  }
4665
- throw new Error("Bad definition: ".concat(vertex._[ATTR_DEFINITION]));
4683
+ throw new Error("Bad definition: " + vertex._[ATTR_DEFINITION]);
4666
4684
  }
4667
4685
  function breakpointLocations(graph, path) {
4668
4686
  var retVal = [];
@@ -4851,12 +4869,12 @@ var LogicalFileCache = /** @class */ (function (_super) {
4851
4869
  __extends(LogicalFileCache, _super);
4852
4870
  function LogicalFileCache() {
4853
4871
  return _super.call(this, function (obj) {
4854
- return "".concat(obj.BaseUrl, "-").concat(obj.Cluster, "-").concat(obj.Name);
4872
+ return obj.BaseUrl + "-" + obj.Cluster + "-" + obj.Name;
4855
4873
  }) || this;
4856
4874
  }
4857
4875
  return LogicalFileCache;
4858
4876
  }(util.Cache));
4859
- var _store$1 = new LogicalFileCache();
4877
+ var _store = new LogicalFileCache();
4860
4878
  var LogicalFile = /** @class */ (function (_super) {
4861
4879
  __extends(LogicalFile, _super);
4862
4880
  function LogicalFile(optsConnection, Cluster, Name) {
@@ -5139,14 +5157,14 @@ var LogicalFile = /** @class */ (function (_super) {
5139
5157
  configurable: true
5140
5158
  });
5141
5159
  LogicalFile.attach = function (optsConnection, Cluster, Name) {
5142
- var retVal = _store$1.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
5160
+ var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
5143
5161
  return new LogicalFile(optsConnection, Cluster, Name);
5144
5162
  });
5145
5163
  return retVal;
5146
5164
  };
5147
5165
  LogicalFile.prototype.filePartsOnCluster = function () {
5148
5166
  var _a;
5149
- return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []), true);
5167
+ return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []));
5150
5168
  };
5151
5169
  LogicalFile.prototype.fileParts = function () {
5152
5170
  var _a, _b;
@@ -5593,12 +5611,12 @@ var StoreCache = /** @class */ (function (_super) {
5593
5611
  __extends(StoreCache, _super);
5594
5612
  function StoreCache() {
5595
5613
  return _super.call(this, function (obj) {
5596
- return "".concat(obj.BaseUrl, "-").concat(obj.Name, ":").concat(obj.UserSpecific, "-").concat(obj.Namespace);
5614
+ return obj.BaseUrl + "-" + obj.Name + ":" + obj.UserSpecific + "-" + obj.Namespace;
5597
5615
  }) || this;
5598
5616
  }
5599
5617
  return StoreCache;
5600
5618
  }(util.Cache));
5601
- var _store = new StoreCache();
5619
+ var _store$1 = new StoreCache();
5602
5620
  var ValueChangedMessage = /** @class */ (function (_super) {
5603
5621
  __extends(ValueChangedMessage, _super);
5604
5622
  function ValueChangedMessage(key, value, oldValue) {
@@ -5647,7 +5665,7 @@ var Store = /** @class */ (function () {
5647
5665
  Store.attach = function (optsConnection, Name, Namespace, UserSpecific) {
5648
5666
  if (Name === void 0) { Name = "HPCCApps"; }
5649
5667
  if (UserSpecific === void 0) { UserSpecific = true; }
5650
- var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
5668
+ var retVal = _store$1.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
5651
5669
  return new Store(optsConnection, Name, Namespace, UserSpecific);
5652
5670
  });
5653
5671
  return retVal;
@@ -5671,7 +5689,7 @@ var Store = /** @class */ (function () {
5671
5689
  _this._dispatch.post(new ValueChangedMessage(key, value, oldValue));
5672
5690
  }
5673
5691
  }).catch(function (e) {
5674
- console.error("Store.set(\"".concat(key, "\", \"").concat(value, "\") failed:"), e);
5692
+ console.error("Store.set(\"" + key + "\", \"" + value + "\") failed:", e);
5675
5693
  });
5676
5694
  };
5677
5695
  Store.prototype.get = function (key, broadcast) {
@@ -5690,7 +5708,7 @@ var Store = /** @class */ (function () {
5690
5708
  }
5691
5709
  return response.Value;
5692
5710
  }).catch(function (e) {
5693
- console.error("Store.get(".concat(key, ") failed:"), e);
5711
+ console.error("Store.get(" + key + ") failed:", e);
5694
5712
  return undefined;
5695
5713
  });
5696
5714
  };
@@ -5740,7 +5758,7 @@ var Store = /** @class */ (function () {
5740
5758
  _this._dispatch.post(new ValueChangedMessage(key, undefined, oldValue));
5741
5759
  }
5742
5760
  }).catch(function (e) {
5743
- console.error("Store.delete(".concat(key, ") failed:"), e);
5761
+ console.error("Store.delete(" + key + ") failed:", e);
5744
5762
  });
5745
5763
  };
5746
5764
  Store.prototype.monitor = function (callback) {
@@ -5753,7 +5771,7 @@ var TargetClusterCache = /** @class */ (function (_super) {
5753
5771
  __extends(TargetClusterCache, _super);
5754
5772
  function TargetClusterCache() {
5755
5773
  return _super.call(this, function (obj) {
5756
- return "".concat(obj.BaseUrl, "-").concat(obj.Name);
5774
+ return obj.BaseUrl + "-" + obj.Name;
5757
5775
  }) || this;
5758
5776
  }
5759
5777
  return TargetClusterCache;
@@ -5852,7 +5870,7 @@ var TargetCluster = /** @class */ (function (_super) {
5852
5870
  var _this = this;
5853
5871
  if (request === void 0) { request = {}; }
5854
5872
  return this.machineConnection.GetTargetClusterInfo(__assign({ TargetClusters: {
5855
- Item: ["".concat(this.Type, ":").concat(this.Name)]
5873
+ Item: [this.Type + ":" + this.Name]
5856
5874
  } }, request)).then(function (response) {
5857
5875
  var retVal = [];
5858
5876
  for (var _i = 0, _a = response.TargetClusterInfoList.TargetClusterInfo; _i < _a.length; _i++) {
@@ -6018,7 +6036,7 @@ var Topology = /** @class */ (function (_super) {
6018
6036
  }
6019
6037
  }
6020
6038
  }
6021
- return "".concat(rootProtocol, "//").concat(ip, ":").concat(port, "/");
6039
+ return rootProtocol + "//" + ip + ":" + port + "/";
6022
6040
  });
6023
6041
  };
6024
6042
  Topology.prototype.fetchTargetClusters = function () {
@@ -6084,7 +6102,7 @@ var Topology = /** @class */ (function (_super) {
6084
6102
  return Topology;
6085
6103
  }(util.StateObject));
6086
6104
 
6087
- util.scopedLogger("clienttools/eclmeta");
6105
+ var logger$2 = util.scopedLogger("clienttools/eclmeta");
6088
6106
  var Attr = /** @class */ (function () {
6089
6107
  function Attr(xmlAttr) {
6090
6108
  this.__attrs = xmlAttr.$;
@@ -6116,7 +6134,7 @@ var ECLScope = /** @class */ (function () {
6116
6134
  if (end === void 0) { end = Number.MAX_VALUE; }
6117
6135
  this.name = name;
6118
6136
  this.type = type;
6119
- this.sourcePath = path__namespace.normalize(sourcePath);
6137
+ this.sourcePath = path.normalize(sourcePath);
6120
6138
  this.line = +line - 1;
6121
6139
  this.start = +start;
6122
6140
  this.body = +body;
@@ -6241,7 +6259,7 @@ var Source = /** @class */ (function (_super) {
6241
6259
  fakeNode.appendAttribute("ref", nameParts.join("."));
6242
6260
  _this.imports = __spreadArray([
6243
6261
  new Import(fakeNode)
6244
- ], _this.parseImports(xmlSource.children("Import")), true);
6262
+ ], _this.parseImports(xmlSource.children("Import")));
6245
6263
  return _this;
6246
6264
  }
6247
6265
  Source.prototype.parseImports = function (imports) {
@@ -6269,10 +6287,10 @@ var Source = /** @class */ (function (_super) {
6269
6287
  };
6270
6288
  return Source;
6271
6289
  }(ECLScope));
6272
- var isHiddenDirectory = function (source) { return path__namespace.basename(source).indexOf(".") === 0; };
6273
- var isDirectory = function (source) { return fs__namespace.lstatSync(source).isDirectory() && !isHiddenDirectory(source); };
6274
- var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(path__namespace.extname(source).toLowerCase()) >= 0; };
6275
- var modAttrs = function (source) { return fs__namespace.readdirSync(source).map(function (name) { return path__namespace.join(source, name); }).filter(function (path) { return isDirectory(path) || isEcl(path); }); };
6290
+ var isHiddenDirectory = function (source) { return path.basename(source).indexOf(".") === 0; };
6291
+ var isDirectory = function (source) { return fs.lstatSync(source).isDirectory() && !isHiddenDirectory(source); };
6292
+ var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(path.extname(source).toLowerCase()) >= 0; };
6293
+ var modAttrs = function (source) { return fs.readdirSync(source).map(function (name) { return path.join(source, name); }).filter(function (path) { return isDirectory(path) || isEcl(path); }); };
6276
6294
  var File = /** @class */ (function (_super) {
6277
6295
  __extends(File, _super);
6278
6296
  function File(name, sourcePath) {
@@ -6291,7 +6309,7 @@ var Folder = /** @class */ (function (_super) {
6291
6309
  Folder.prototype.suggestions = function () {
6292
6310
  return modAttrs(this.sourcePath).map(function (folder) {
6293
6311
  return {
6294
- name: path__namespace.basename(folder, ".ecl"),
6312
+ name: path.basename(folder, ".ecl"),
6295
6313
  type: "folder"
6296
6314
  };
6297
6315
  });
@@ -6318,7 +6336,7 @@ var Workspace = /** @class */ (function () {
6318
6336
  }).then(function (paths) {
6319
6337
  for (var _i = 0, _a = ["ECLCC_ECLLIBRARY_PATH", "ECLCC_PLUGIN_PATH"]; _i < _a.length; _i++) {
6320
6338
  var knownFolder = _a[_i];
6321
- if (paths[knownFolder] && fs__namespace.existsSync(paths[knownFolder])) {
6339
+ if (paths[knownFolder] && fs.existsSync(paths[knownFolder])) {
6322
6340
  _this.walkChildFolders(paths[knownFolder], paths[knownFolder]);
6323
6341
  }
6324
6342
  }
@@ -6326,7 +6344,7 @@ var Workspace = /** @class */ (function () {
6326
6344
  });
6327
6345
  };
6328
6346
  Workspace.prototype.primeWorkspace = function () {
6329
- if (fs__namespace.existsSync(this._workspacePath)) {
6347
+ if (fs.existsSync(this._workspacePath)) {
6330
6348
  this.visitFolder(this._workspacePath, this._workspacePath);
6331
6349
  }
6332
6350
  };
@@ -6344,16 +6362,16 @@ var Workspace = /** @class */ (function () {
6344
6362
  };
6345
6363
  Workspace.prototype.visitFile = function (filePath, refPath, force) {
6346
6364
  if (force === void 0) { force = false; }
6347
- var filePathInfo = path__namespace.parse(filePath);
6348
- var pathNoExt = path__namespace.join(filePathInfo.dir, filePathInfo.name);
6349
- var name = path__namespace.relative(refPath, pathNoExt).split(path__namespace.sep).join(".");
6365
+ var filePathInfo = path.parse(filePath);
6366
+ var pathNoExt = path.join(filePathInfo.dir, filePathInfo.name);
6367
+ var name = path.relative(refPath, pathNoExt).split(path.sep).join(".");
6350
6368
  if (force || !this._test.has(name)) {
6351
6369
  this._test.set(name, new File("", filePath));
6352
6370
  }
6353
6371
  };
6354
6372
  Workspace.prototype.visitFolder = function (folderPath, refPath, force) {
6355
6373
  if (force === void 0) { force = false; }
6356
- var name = path__namespace.relative(refPath, folderPath).split(path__namespace.sep).join(".");
6374
+ var name = path.relative(refPath, folderPath).split(path.sep).join(".");
6357
6375
  if (force || !this._test.has(name)) {
6358
6376
  this._test.set(name, new Folder(name, folderPath));
6359
6377
  this.walkChildFolders(folderPath, refPath, force);
@@ -6364,7 +6382,7 @@ var Workspace = /** @class */ (function () {
6364
6382
  if (removeDupID && parentStack[parentStack.length - 1] === nameStack[0]) {
6365
6383
  nameStack.shift();
6366
6384
  }
6367
- var stack = __spreadArray(__spreadArray([], parentStack, true), nameStack, true);
6385
+ var stack = __spreadArray(__spreadArray([], parentStack), nameStack);
6368
6386
  var qid = stack.join(".");
6369
6387
  return {
6370
6388
  stack: stack,
@@ -6413,10 +6431,10 @@ var Workspace = /** @class */ (function () {
6413
6431
  if (depth > 1) {
6414
6432
  var sourcePath = source.sourcePath;
6415
6433
  while (depth > 1) {
6416
- sourcePath = path__namespace.dirname(sourcePath);
6434
+ sourcePath = path.dirname(sourcePath);
6417
6435
  --depth;
6418
6436
  }
6419
- this.visitFolder(sourcePath, path__namespace.dirname(sourcePath));
6437
+ this.visitFolder(sourcePath, path.dirname(sourcePath));
6420
6438
  }
6421
6439
  }
6422
6440
  this.walkSource(source);
@@ -6427,7 +6445,7 @@ var Workspace = /** @class */ (function () {
6427
6445
  var metaParser = new MetaParser();
6428
6446
  metaParser.parse(metaXML);
6429
6447
  this.parseSources(metaParser.sources);
6430
- return metaParser.sources.map(function (source) { return path__namespace.normalize(source.$.sourcePath); });
6448
+ return metaParser.sources.map(function (source) { return path.normalize(source.$.sourcePath); });
6431
6449
  };
6432
6450
  Workspace.prototype.resolveQualifiedID = function (filePath, qualifiedID, charOffset) {
6433
6451
  var retVal;
@@ -6455,7 +6473,7 @@ var Workspace = /** @class */ (function () {
6455
6473
  retVal = this._test.get(realQID).scope;
6456
6474
  }
6457
6475
  if (!retVal) {
6458
- realQID = __spreadArray(__spreadArray([], eclSource.name.split("."), true), qualifiedIDParts, true).join(".");
6476
+ realQID = __spreadArray(__spreadArray([], eclSource.name.split(".")), qualifiedIDParts).join(".");
6459
6477
  if (this._test.has(realQID)) {
6460
6478
  retVal = this._test.get(realQID).scope;
6461
6479
  }
@@ -6474,7 +6492,7 @@ var Workspace = /** @class */ (function () {
6474
6492
  }());
6475
6493
  var workspaceCache = new util.Dictionary();
6476
6494
  function attachWorkspace(_workspacePath, eclccPath) {
6477
- var workspacePath = path__namespace.normalize(_workspacePath);
6495
+ var workspacePath = path.normalize(_workspacePath);
6478
6496
  if (!workspaceCache.has(workspacePath)) {
6479
6497
  var workspace = new Workspace(workspacePath, eclccPath);
6480
6498
  workspaceCache.set(workspacePath, workspace);
@@ -6512,8 +6530,8 @@ var MetaParser = /** @class */ (function (_super) {
6512
6530
  return MetaParser;
6513
6531
  }(util.SAXStackParser));
6514
6532
 
6515
- var logger = util.scopedLogger("clienttools/eclcc");
6516
- var exeExt = os__namespace.type() === "Windows_NT" ? ".exe" : "";
6533
+ var logger$3 = util.scopedLogger("clienttools/eclcc");
6534
+ var exeExt = os.type() === "Windows_NT" ? ".exe" : "";
6517
6535
  function tidyCRLF(inStr) {
6518
6536
  return inStr.split("\r\n").join("\n").split("\r").join("\n");
6519
6537
  }
@@ -6559,7 +6577,7 @@ var Version = /** @class */ (function () {
6559
6577
  return this.postfix.localeCompare(other.postfix);
6560
6578
  };
6561
6579
  Version.prototype.toString = function () {
6562
- return "".concat(this.prefix, "_").concat(this.major, ".").concat(this.minor, ".").concat(this.patch, "-").concat(this.postfix);
6580
+ return this.prefix + "_" + this.major + "." + this.minor + "." + this.patch + "-" + this.postfix;
6563
6581
  };
6564
6582
  return Version;
6565
6583
  }());
@@ -6608,7 +6626,7 @@ var EclccErrors = /** @class */ (function (_super) {
6608
6626
  function EclccErrors(stdErr, checked) {
6609
6627
  var _this = _super.call(this, checked) || this;
6610
6628
  if (stdErr && stdErr.length) {
6611
- for (var _i = 0, _a = stdErr.split(os__namespace.EOL); _i < _a.length; _i++) {
6629
+ for (var _i = 0, _a = stdErr.split(os.EOL); _i < _a.length; _i++) {
6612
6630
  var errLine = _a[_i];
6613
6631
  var match = /([a-zA-Z]:\\(?:[- \w\.\d]+\\)*(?:[- \w\.\d]+)?|(?:\/[\w\.\-]+)+)\((\d*),(\d*)\) ?: ?(error|warning|info) C(\d*) ?: ?(.*)/.exec(errLine);
6614
6632
  if (match) {
@@ -6629,7 +6647,7 @@ var EclccErrors = /** @class */ (function (_super) {
6629
6647
  if (match) {
6630
6648
  continue;
6631
6649
  }
6632
- logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
6650
+ logger$3.warning("parseECLErrors: Unable to parse \"" + errLine + "\"");
6633
6651
  _this.errOther.push(errLine);
6634
6652
  }
6635
6653
  }
@@ -6642,16 +6660,16 @@ var EnvchkErrors = /** @class */ (function (_super) {
6642
6660
  __extends(EnvchkErrors, _super);
6643
6661
  function EnvchkErrors(filePath, stdErr, checked) {
6644
6662
  var _this = _super.call(this, checked) || this;
6645
- var content = fs__namespace.readFileSync(filePath, "utf8");
6663
+ var content = fs.readFileSync(filePath, "utf8");
6646
6664
  content = content.replace(/\r\n/g, "\n");
6647
6665
  _this._lines = content.split("\n");
6648
6666
  if (stdErr && stdErr.length) {
6649
- for (var _i = 0, _a = stdErr.split(os__namespace.EOL); _i < _a.length; _i++) {
6667
+ for (var _i = 0, _a = stdErr.split(os.EOL); _i < _a.length; _i++) {
6650
6668
  var errLine = _a[_i];
6651
6669
  var match = /(Warning|Error) : Path\=(\S*?)(\[\S*\])? Message\=(.*)/.exec(errLine);
6652
6670
  if (match) {
6653
6671
  var severity = match[1], _path = match[2], _attr = match[3], _msg = match[4];
6654
- var msg = "".concat(_path, " ").concat(_attr ? _attr : "", ": ").concat(_msg);
6672
+ var msg = _path + " " + (_attr ? _attr : "") + ": " + _msg;
6655
6673
  var _b = _this.locate(_path), line = _b[0], col = _b[1];
6656
6674
  _this.errWarn.push({ filePath: filePath, line: line, col: col, msg: msg, severity: severity });
6657
6675
  continue;
@@ -6659,7 +6677,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
6659
6677
  if (match) {
6660
6678
  continue;
6661
6679
  }
6662
- logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
6680
+ logger$3.warning("parseECLErrors: Unable to parse \"" + errLine + "\"");
6663
6681
  _this.errOther.push(errLine);
6664
6682
  }
6665
6683
  }
@@ -6690,7 +6708,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
6690
6708
  };
6691
6709
  return EnvchkErrors;
6692
6710
  }(Errors));
6693
- function walkXmlJson(node, callback, stack) {
6711
+ function walkXmlJson$1(node, callback, stack) {
6694
6712
  stack = stack || [];
6695
6713
  stack.push(node);
6696
6714
  for (var key in node) {
@@ -6699,11 +6717,11 @@ function walkXmlJson(node, callback, stack) {
6699
6717
  callback(key, childNode, stack);
6700
6718
  if (childNode instanceof Array) {
6701
6719
  childNode.forEach(function (child) {
6702
- walkXmlJson(child, callback, stack);
6720
+ walkXmlJson$1(child, callback, stack);
6703
6721
  });
6704
6722
  }
6705
6723
  else if (typeof childNode === "object") {
6706
- walkXmlJson(childNode, callback, stack);
6724
+ walkXmlJson$1(childNode, callback, stack);
6707
6725
  }
6708
6726
  }
6709
6727
  }
@@ -6717,7 +6735,7 @@ var LocalWorkunit = /** @class */ (function () {
6717
6735
  var retVal = [];
6718
6736
  if (util.exists("W_LOCAL.Graphs", this.jsonWU)) {
6719
6737
  var id_1 = "";
6720
- walkXmlJson(this.jsonWU.W_LOCAL.Graphs, function (key, item, _stack) {
6738
+ walkXmlJson$1(this.jsonWU.W_LOCAL.Graphs, function (key, item, _stack) {
6721
6739
  if (key === "$" && item.id) {
6722
6740
  id_1 = item.id;
6723
6741
  }
@@ -6746,10 +6764,10 @@ var ClientTools = /** @class */ (function () {
6746
6764
  if (args === void 0) { args = []; }
6747
6765
  this._paths = {};
6748
6766
  this.eclccPath = eclccPath;
6749
- this.binPath = path__namespace.dirname(this.eclccPath);
6750
- this.envchkPath = path__namespace.join(this.binPath, "envchk" + exeExt);
6751
- this.eclBundlePath = path__namespace.join(this.binPath, "ecl-bundle" + exeExt);
6752
- this.cwd = path__namespace.normalize(cwd || this.binPath);
6767
+ this.binPath = path.dirname(this.eclccPath);
6768
+ this.envchkPath = path.join(this.binPath, "envchk" + exeExt);
6769
+ this.eclBundlePath = path.join(this.binPath, "ecl-bundle" + exeExt);
6770
+ this.cwd = path.normalize(cwd || this.binPath);
6753
6771
  this.includeFolders = includeFolders;
6754
6772
  this._legacyMode = legacyMode;
6755
6773
  this._args = args;
@@ -6762,7 +6780,7 @@ var ClientTools = /** @class */ (function () {
6762
6780
  };
6763
6781
  ClientTools.prototype.exists = function (filePath) {
6764
6782
  try {
6765
- fs__namespace.accessSync(filePath);
6783
+ fs.accessSync(filePath);
6766
6784
  return true;
6767
6785
  }
6768
6786
  catch (e) { }
@@ -6770,12 +6788,12 @@ var ClientTools = /** @class */ (function () {
6770
6788
  };
6771
6789
  ClientTools.prototype.args = function (additionalItems) {
6772
6790
  if (additionalItems === void 0) { additionalItems = []; }
6773
- var retVal = __spreadArray([], this._args, true);
6791
+ var retVal = __spreadArray([], this._args);
6774
6792
  if (this._legacyMode) {
6775
6793
  retVal.push("-legacy");
6776
6794
  }
6777
6795
  return retVal.concat(this.includeFolders.map(function (includePath) {
6778
- return "-I" + path__namespace.normalize(includePath);
6796
+ return "-I" + path.normalize(includePath);
6779
6797
  })).concat(additionalItems);
6780
6798
  };
6781
6799
  ClientTools.prototype.version = function () {
@@ -6783,7 +6801,7 @@ var ClientTools = /** @class */ (function () {
6783
6801
  if (this._version) {
6784
6802
  return Promise.resolve(this._version);
6785
6803
  }
6786
- return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
6804
+ return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
6787
6805
  _this._version = new Version(response.stdout);
6788
6806
  return _this._version;
6789
6807
  });
@@ -6793,7 +6811,7 @@ var ClientTools = /** @class */ (function () {
6793
6811
  };
6794
6812
  ClientTools.prototype.paths = function () {
6795
6813
  var _this = this;
6796
- return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
6814
+ return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
6797
6815
  if (response && response.stdout && response.stdout.length) {
6798
6816
  var paths = response.stdout.split(/\r?\n/);
6799
6817
  for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
@@ -6809,20 +6827,20 @@ var ClientTools = /** @class */ (function () {
6809
6827
  };
6810
6828
  ClientTools.prototype.loadXMLDoc = function (filePath, removeOnRead) {
6811
6829
  return new Promise(function (resolve, _reject) {
6812
- var fileData = fs__namespace.readFileSync(filePath, "ascii");
6830
+ var fileData = fs.readFileSync(filePath, "ascii");
6813
6831
  var retVal = util.xml2json(fileData);
6814
6832
  if (removeOnRead) {
6815
- fs__namespace.unlink(filePath, function (err) { });
6833
+ fs.unlink(filePath, function (err) { });
6816
6834
  }
6817
6835
  resolve(retVal);
6818
6836
  });
6819
6837
  };
6820
6838
  ClientTools.prototype.createWU = function (filename) {
6821
6839
  var _this = this;
6822
- var tmpName = tmp__namespace.tmpNameSync({ prefix: "eclcc-wu-tmp", postfix: "" });
6840
+ var tmpName = tmp.tmpNameSync({ prefix: "eclcc-wu-tmp", postfix: "" });
6823
6841
  var args = ["-o" + tmpName, "-wu"].concat([filename]);
6824
- return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (_response) {
6825
- var xmlPath = path__namespace.normalize(tmpName + ".xml");
6842
+ return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find " + this.eclccPath).then(function (_response) {
6843
+ var xmlPath = path.normalize(tmpName + ".xml");
6826
6844
  var contentPromise = _this.exists(xmlPath) ? _this.loadXMLDoc(xmlPath, true) : Promise.resolve({});
6827
6845
  return contentPromise.then(function (content) {
6828
6846
  return new LocalWorkunit(content);
@@ -6831,7 +6849,7 @@ var ClientTools = /** @class */ (function () {
6831
6849
  };
6832
6850
  ClientTools.prototype.createArchive = function (filename) {
6833
6851
  var args = ["-E"].concat([filename]);
6834
- return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
6852
+ return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
6835
6853
  return {
6836
6854
  content: response.stdout,
6837
6855
  err: new EclccErrors(response.stderr, [])
@@ -6844,7 +6862,7 @@ var ClientTools = /** @class */ (function () {
6844
6862
  ClientTools.prototype.fetchMeta = function (filePath) {
6845
6863
  return Promise.all([
6846
6864
  attachWorkspace(this.cwd),
6847
- this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find ".concat(this.eclccPath))
6865
+ this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find " + this.eclccPath)
6848
6866
  ]).then(function (_a) {
6849
6867
  var metaWorkspace = _a[0], execFileResponse = _a[1];
6850
6868
  if (execFileResponse && execFileResponse.stdout && execFileResponse.stdout.length) {
@@ -6857,7 +6875,7 @@ var ClientTools = /** @class */ (function () {
6857
6875
  if (args === void 0) { args = ["-syntax"]; }
6858
6876
  return Promise.all([
6859
6877
  attachWorkspace(this.cwd),
6860
- this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), ["-M", filePath], false)), "eclcc", "Cannot find ".concat(this.eclccPath))
6878
+ this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), ["-M", filePath])), "eclcc", "Cannot find " + this.eclccPath)
6861
6879
  ]).then(function (_a) {
6862
6880
  var metaWorkspace = _a[0], execFileResponse = _a[1];
6863
6881
  var checked = [];
@@ -6871,9 +6889,9 @@ var ClientTools = /** @class */ (function () {
6871
6889
  if (args === void 0) { args = []; }
6872
6890
  return Promise.all([
6873
6891
  attachWorkspace(this.cwd),
6874
- this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), [filePath], false)), "envchk", "Cannot find ".concat(this.envchkPath))
6892
+ this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), [filePath])), "envchk", "Cannot find " + this.envchkPath)
6875
6893
  ]).then(function (_a) {
6876
- _a[0]; var execFileResponse = _a[1];
6894
+ var metaWorkspace = _a[0], execFileResponse = _a[1];
6877
6895
  return new EnvchkErrors(filePath, execFileResponse ? execFileResponse.stderr : "", []);
6878
6896
  });
6879
6897
  };
@@ -6896,13 +6914,13 @@ var ClientTools = /** @class */ (function () {
6896
6914
  }
6897
6915
  return retVal;
6898
6916
  }),
6899
- this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
6917
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
6900
6918
  .then(function (installedText) {
6901
6919
  return tidyCRLF(installedText.stdout).split("\n");
6902
6920
  }).then(function (installedItems) {
6903
6921
  var allProps = {};
6904
6922
  return Promise.all(installedItems.filter(function (ii) { return !!ii; }).map(function (ii) {
6905
- return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find ".concat(_this.eclBundlePath))
6923
+ return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find " + _this.eclBundlePath)
6906
6924
  .then(function (infoText) {
6907
6925
  return tidyCRLF(infoText.stdout).split("\n");
6908
6926
  }).then(function (info) {
@@ -6942,25 +6960,25 @@ var ClientTools = /** @class */ (function () {
6942
6960
  ClientTools.prototype.bundleInstall = function (bundleUrl) {
6943
6961
  return Promise.all([
6944
6962
  attachWorkspace(this.cwd),
6945
- this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
6963
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
6946
6964
  ]).then(function (_a) {
6947
- _a[0]; var execFileResponse = _a[1];
6965
+ var metaWorkspace = _a[0], execFileResponse = _a[1];
6948
6966
  return execFileResponse;
6949
6967
  });
6950
6968
  };
6951
6969
  ClientTools.prototype.bundleUninstall = function (name) {
6952
6970
  return Promise.all([
6953
6971
  attachWorkspace(this.cwd),
6954
- this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
6972
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
6955
6973
  ]).then(function (_a) {
6956
- _a[0]; var execFileResponse = _a[1];
6974
+ var metaWorkspace = _a[0], execFileResponse = _a[1];
6957
6975
  return execFileResponse;
6958
6976
  });
6959
6977
  };
6960
6978
  ClientTools.prototype.execFile = function (cmd, cwd, args, _toolName, _notFoundError) {
6961
6979
  return new Promise(function (resolve, _reject) {
6962
- logger.debug("".concat(cmd, " ").concat(args.join(" ")));
6963
- var child = cp__namespace.spawn(cmd, args, { cwd: cwd });
6980
+ logger$3.debug(cmd + " " + args.join(" "));
6981
+ var child = cp.spawn(cmd, args, { cwd: cwd });
6964
6982
  var stdOut = "";
6965
6983
  var stdErr = "";
6966
6984
  child.stdout.on("data", function (data) {
@@ -6982,18 +7000,18 @@ var ClientTools = /** @class */ (function () {
6982
7000
  }());
6983
7001
  function locateClientToolsInFolder(rootFolder, clientTools) {
6984
7002
  if (rootFolder) {
6985
- var hpccSystemsFolder_1 = path__namespace.join(rootFolder, "HPCCSystems");
6986
- if (fs__namespace.existsSync(hpccSystemsFolder_1) && fs__namespace.statSync(hpccSystemsFolder_1).isDirectory()) {
6987
- if (os__namespace.type() !== "Windows_NT") {
6988
- var eclccPath = path__namespace.join(hpccSystemsFolder_1, "bin", "eclcc");
6989
- if (fs__namespace.existsSync(eclccPath)) {
7003
+ var hpccSystemsFolder_1 = path.join(rootFolder, "HPCCSystems");
7004
+ if (fs.existsSync(hpccSystemsFolder_1) && fs.statSync(hpccSystemsFolder_1).isDirectory()) {
7005
+ if (os.type() !== "Windows_NT") {
7006
+ var eclccPath = path.join(hpccSystemsFolder_1, "bin", "eclcc");
7007
+ if (fs.existsSync(eclccPath)) {
6990
7008
  clientTools.push(new ClientTools(eclccPath));
6991
7009
  }
6992
7010
  }
6993
- fs__namespace.readdirSync(hpccSystemsFolder_1).forEach(function (versionFolder) {
6994
- var eclccPath = path__namespace.join(hpccSystemsFolder_1, versionFolder, "clienttools", "bin", "eclcc" + exeExt);
6995
- if (fs__namespace.existsSync(eclccPath)) {
6996
- var name_1 = path__namespace.basename(versionFolder);
7011
+ fs.readdirSync(hpccSystemsFolder_1).forEach(function (versionFolder) {
7012
+ var eclccPath = path.join(hpccSystemsFolder_1, versionFolder, "clienttools", "bin", "eclcc" + exeExt);
7013
+ if (fs.existsSync(eclccPath)) {
7014
+ var name_1 = path.basename(versionFolder);
6997
7015
  var version = new Version(name_1);
6998
7016
  if (version.exists()) {
6999
7017
  clientTools.push(new ClientTools(eclccPath));
@@ -7008,7 +7026,7 @@ function locateAllClientTools() {
7008
7026
  if (allClientToolsCache)
7009
7027
  return allClientToolsCache;
7010
7028
  var clientTools = [];
7011
- switch (os__namespace.type()) {
7029
+ switch (os.type()) {
7012
7030
  case "Windows_NT":
7013
7031
  var rootFolder86 = process.env["ProgramFiles(x86)"] || "";
7014
7032
  if (rootFolder86) {
@@ -7037,9 +7055,9 @@ function locateAllClientTools() {
7037
7055
  }
7038
7056
  var eclccPathMsg = "";
7039
7057
  function logEclccPath(eclccPath) {
7040
- var msg = "Using eclccPath setting: ".concat(eclccPath);
7058
+ var msg = "Using eclccPath setting: " + eclccPath;
7041
7059
  if (eclccPathMsg !== msg) {
7042
- logger.info(msg);
7060
+ logger$3.info(msg);
7043
7061
  eclccPathMsg = msg;
7044
7062
  }
7045
7063
  }
@@ -7050,7 +7068,7 @@ function locateClientTools(overridePath, build, cwd, includeFolders, legacyMode,
7050
7068
  if (includeFolders === void 0) { includeFolders = []; }
7051
7069
  if (legacyMode === void 0) { legacyMode = false; }
7052
7070
  if (args === void 0) { args = []; }
7053
- if (overridePath && fs__namespace.existsSync(overridePath)) {
7071
+ if (overridePath && fs.existsSync(overridePath)) {
7054
7072
  logEclccPath(overridePath);
7055
7073
  return Promise.resolve(new ClientTools(overridePath, cwd, includeFolders, legacyMode, args));
7056
7074
  }
@@ -7082,33 +7100,33 @@ function locateClientTools(overridePath, build, cwd, includeFolders, legacyMode,
7082
7100
  // DOM Parser polyfill ---
7083
7101
  util.root.DOMParser = xmldom.DOMParser;
7084
7102
  if (typeof util.root.fetch === "undefined") {
7085
- util.root.fetch = fetch__default["default"];
7103
+ util.root.fetch = fetch$1;
7086
7104
  }
7087
7105
  if (typeof util.root.AbortController === "undefined") {
7088
- util.root.AbortController = AbortController__default["default"];
7106
+ util.root.AbortController = AbortController;
7089
7107
  }
7090
- util.root.fetch.__rejectUnauthorizedAgent = new https__namespace.Agent({
7108
+ util.root.fetch.__rejectUnauthorizedAgent = new https.Agent({
7091
7109
  rejectUnauthorized: false
7092
7110
  });
7093
7111
  var globalCA = "";
7094
- if (https__namespace.globalAgent.options.ca !== undefined) {
7095
- if (Array.isArray(https__namespace.globalAgent.options.ca) && https__namespace.globalAgent.options.ca.length) {
7096
- if (typeof https__namespace.globalAgent.options.ca[0] === "string") {
7097
- globalCA = https__namespace.globalAgent.options.ca.join("\n");
7112
+ if (https.globalAgent.options.ca !== undefined) {
7113
+ if (Array.isArray(https.globalAgent.options.ca) && https.globalAgent.options.ca.length) {
7114
+ if (typeof https.globalAgent.options.ca[0] === "string") {
7115
+ globalCA = https.globalAgent.options.ca.join("\n");
7098
7116
  }
7099
- else if (https__namespace.globalAgent.options.ca[0] instanceof safeBuffer.Buffer) {
7100
- globalCA = https__namespace.globalAgent.options.ca.map(function (row) { return row.toString(); }).join("\n");
7117
+ else if (https.globalAgent.options.ca[0] instanceof safeBuffer.Buffer) {
7118
+ globalCA = https.globalAgent.options.ca.map(function (row) { return row.toString(); }).join("\n");
7101
7119
  }
7102
7120
  }
7103
- else if (typeof https__namespace.globalAgent.options.ca === "string") {
7104
- globalCA = https__namespace.globalAgent.options.ca;
7121
+ else if (typeof https.globalAgent.options.ca === "string") {
7122
+ globalCA = https.globalAgent.options.ca;
7105
7123
  }
7106
- else if (https__namespace.globalAgent.options.ca instanceof safeBuffer.Buffer) {
7107
- globalCA = https__namespace.globalAgent.options.ca.toString();
7124
+ else if (https.globalAgent.options.ca instanceof safeBuffer.Buffer) {
7125
+ globalCA = https.globalAgent.options.ca.toString();
7108
7126
  }
7109
7127
  globalCA += "\n";
7110
7128
  }
7111
- util.root.fetch.__trustwaveAgent = new https__namespace.Agent({
7129
+ util.root.fetch.__trustwaveAgent = new https.Agent({
7112
7130
  ca: globalCA + trustwave
7113
7131
  });
7114
7132
  if (typeof util.root.btoa === "undefined") {
@@ -7144,6 +7162,7 @@ exports.GlobalResultCache = GlobalResultCache;
7144
7162
  exports.GraphCache = GraphCache;
7145
7163
  exports.Import = Import;
7146
7164
  exports.LocalWorkunit = LocalWorkunit;
7165
+ exports.LogaccessServiceEx = LogaccessServiceEx;
7147
7166
  exports.LogicalFile = LogicalFile;
7148
7167
  exports.LogicalFileCache = LogicalFileCache;
7149
7168
  exports.Machine = Machine;
@@ -7153,6 +7172,7 @@ exports.PKG_NAME = PKG_NAME;
7153
7172
  exports.PKG_VERSION = PKG_VERSION;
7154
7173
  exports.Query = Query;
7155
7174
  exports.Resource = Resource;
7175
+ exports.ResourcesServiceEx = ResourcesServiceEx;
7156
7176
  exports.Result = Result;
7157
7177
  exports.ResultCache = ResultCache;
7158
7178
  exports.SMCService = SMCService;
@@ -7212,5 +7232,5 @@ exports.send = send;
7212
7232
  exports.serializeRequest = serializeRequest;
7213
7233
  exports.setTransportFactory = setTransportFactory;
7214
7234
  exports.targetClusters = targetClusters;
7215
- exports.walkXmlJson = walkXmlJson;
7235
+ exports.walkXmlJson = walkXmlJson$1;
7216
7236
  //# sourceMappingURL=index.node.js.map