@dynatrace/rum-javascript-sdk 1.329.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/LICENSE +174 -0
  2. package/README.md +402 -0
  3. package/dist/api/constants.d.ts +1 -0
  4. package/dist/api/constants.js +2 -0
  5. package/dist/api/dynatrace-error.d.ts +3 -0
  6. package/dist/api/dynatrace-error.js +7 -0
  7. package/dist/api/global-adapter.d.ts +1 -0
  8. package/dist/api/global-adapter.js +4 -0
  9. package/dist/api/index.d.ts +65 -0
  10. package/dist/api/index.js +110 -0
  11. package/dist/api/logging.d.ts +2 -0
  12. package/dist/api/logging.js +8 -0
  13. package/dist/api/promises/index.d.ts +85 -0
  14. package/dist/api/promises/index.js +104 -0
  15. package/dist/api/promises/user-actions.d.ts +35 -0
  16. package/dist/api/promises/user-actions.js +48 -0
  17. package/dist/api/promises/wait-for-agent.d.ts +2 -0
  18. package/dist/api/promises/wait-for-agent.js +77 -0
  19. package/dist/api/promises/wait-for-send-exception-event.d.ts +9 -0
  20. package/dist/api/promises/wait-for-send-exception-event.js +18 -0
  21. package/dist/api/promises/wait-for-user-actions.d.ts +9 -0
  22. package/dist/api/promises/wait-for-user-actions.js +18 -0
  23. package/dist/api/type-guards/is-valid-agent.d.ts +2 -0
  24. package/dist/api/type-guards/is-valid-agent.js +4 -0
  25. package/dist/api/user-actions.d.ts +62 -0
  26. package/dist/api/user-actions.js +99 -0
  27. package/dist/testing/install.d.ts +15 -0
  28. package/dist/testing/install.js +19 -0
  29. package/dist/testing/test.d.ts +111 -0
  30. package/dist/testing/test.js +229 -0
  31. package/dist/types/api/dynatrace-api-types.d.ts +319 -0
  32. package/dist/types/api/dynatrace-api-types.js +7 -0
  33. package/dist/types/api/index.d.ts +1 -0
  34. package/dist/types/api/index.js +2 -0
  35. package/dist/types/index-typedoc.d.ts +31 -0
  36. package/dist/types/index-typedoc.js +32 -0
  37. package/dist/types/index.d.ts +11 -0
  38. package/dist/types/index.js +5 -0
  39. package/dist/types/internal/beacon-query.d.ts +29 -0
  40. package/dist/types/internal/beacon-query.js +32 -0
  41. package/dist/types/internal/data-dt-config-scope.d.ts +10 -0
  42. package/dist/types/internal/data-dt-config-scope.js +12 -0
  43. package/dist/types/internal/feature-hashes.d.ts +19 -0
  44. package/dist/types/internal/feature-hashes.js +22 -0
  45. package/dist/types/internal/index.d.ts +3 -0
  46. package/dist/types/internal/index.js +4 -0
  47. package/dist/types/rum-events/event-context/event-context.d.ts +364 -0
  48. package/dist/types/rum-events/event-context/event-context.js +106 -0
  49. package/dist/types/rum-events/event-context/index.d.ts +1 -0
  50. package/dist/types/rum-events/event-context/index.js +2 -0
  51. package/dist/types/rum-events/event-updates.d.ts +4 -0
  52. package/dist/types/rum-events/event-updates.js +2 -0
  53. package/dist/types/rum-events/index.d.ts +19 -0
  54. package/dist/types/rum-events/index.js +20 -0
  55. package/dist/types/rum-events/json-event.d.ts +84 -0
  56. package/dist/types/rum-events/json-event.js +2 -0
  57. package/dist/types/rum-events/rum-biz-event.d.ts +10 -0
  58. package/dist/types/rum-events/rum-biz-event.js +15 -0
  59. package/dist/types/rum-events/rum-event.d.ts +13 -0
  60. package/dist/types/rum-events/rum-event.js +3 -0
  61. package/dist/types/rum-events/rum-internal-selfmonitoring-event.d.ts +114 -0
  62. package/dist/types/rum-events/rum-internal-selfmonitoring-event.js +99 -0
  63. package/dist/types/rum-events/rum-long-task-event.d.ts +18 -0
  64. package/dist/types/rum-events/rum-long-task-event.js +10 -0
  65. package/dist/types/rum-events/rum-page-summary-event.d.ts +370 -0
  66. package/dist/types/rum-events/rum-page-summary-event.js +184 -0
  67. package/dist/types/rum-events/rum-selfmonitoring-event.d.ts +39 -0
  68. package/dist/types/rum-events/rum-selfmonitoring-event.js +32 -0
  69. package/dist/types/rum-events/rum-session-properties-event.d.ts +9 -0
  70. package/dist/types/rum-events/rum-session-properties-event.js +3 -0
  71. package/dist/types/rum-events/rum-standalone-csp-rule-violation-event.d.ts +16 -0
  72. package/dist/types/rum-events/rum-standalone-csp-rule-violation-event.js +3 -0
  73. package/dist/types/rum-events/rum-standalone-exception-event.d.ts +16 -0
  74. package/dist/types/rum-events/rum-standalone-exception-event.js +2 -0
  75. package/dist/types/rum-events/rum-standalone-navigation-event.d.ts +23 -0
  76. package/dist/types/rum-events/rum-standalone-navigation-event.js +6 -0
  77. package/dist/types/rum-events/rum-user-action-event.d.ts +187 -0
  78. package/dist/types/rum-events/rum-user-action-event.js +78 -0
  79. package/dist/types/rum-events/rum-user-interaction-event.d.ts +302 -0
  80. package/dist/types/rum-events/rum-user-interaction-event.js +131 -0
  81. package/dist/types/rum-events/rum-visibility-change-event.d.ts +15 -0
  82. package/dist/types/rum-events/rum-visibility-change-event.js +6 -0
  83. package/dist/types/rum-events/rum-web-request-event.d.ts +269 -0
  84. package/dist/types/rum-events/rum-web-request-event.js +143 -0
  85. package/dist/types/rum-events/schema-versions.d.ts +4 -0
  86. package/dist/types/rum-events/schema-versions.js +5 -0
  87. package/dist/types/rum-events/shared-namespaces-and-fields/csp-fields.d.ts +38 -0
  88. package/dist/types/rum-events/shared-namespaces-and-fields/csp-fields.js +23 -0
  89. package/dist/types/rum-events/shared-namespaces-and-fields/exception-fields.d.ts +26 -0
  90. package/dist/types/rum-events/shared-namespaces-and-fields/exception-fields.js +19 -0
  91. package/dist/types/rum-events/shared-namespaces-and-fields/general-rum-error-fields.d.ts +66 -0
  92. package/dist/types/rum-events/shared-namespaces-and-fields/general-rum-error-fields.js +66 -0
  93. package/dist/types/rum-events/shared-namespaces-and-fields/general-rum-event-fields.d.ts +142 -0
  94. package/dist/types/rum-events/shared-namespaces-and-fields/general-rum-event-fields.js +98 -0
  95. package/dist/types/rum-events/shared-namespaces-and-fields/http-namespace.d.ts +16 -0
  96. package/dist/types/rum-events/shared-namespaces-and-fields/http-namespace.js +11 -0
  97. package/dist/types/rum-events/shared-namespaces-and-fields/index.d.ts +9 -0
  98. package/dist/types/rum-events/shared-namespaces-and-fields/index.js +10 -0
  99. package/dist/types/rum-events/shared-namespaces-and-fields/navigation-fields.d.ts +48 -0
  100. package/dist/types/rum-events/shared-namespaces-and-fields/navigation-fields.js +47 -0
  101. package/dist/types/rum-events/shared-namespaces-and-fields/page-source-fields.d.ts +9 -0
  102. package/dist/types/rum-events/shared-namespaces-and-fields/page-source-fields.js +5 -0
  103. package/dist/types/rum-events/shared-namespaces-and-fields/request-fields.d.ts +14 -0
  104. package/dist/types/rum-events/shared-namespaces-and-fields/request-fields.js +10 -0
  105. package/dist/types/rum-events/shared-namespaces-and-fields/view-source-fields.d.ts +14 -0
  106. package/dist/types/rum-events/shared-namespaces-and-fields/view-source-fields.js +9 -0
  107. package/dist/types/user-actions/index.d.ts +3 -0
  108. package/dist/types/user-actions/index.js +4 -0
  109. package/dist/types/user-actions/user-action-end-event.d.ts +28 -0
  110. package/dist/types/user-actions/user-action-end-event.js +2 -0
  111. package/dist/types/user-actions/user-action-start-options.d.ts +23 -0
  112. package/dist/types/user-actions/user-action-start-options.js +2 -0
  113. package/dist/types/user-actions/user-action-tracker.d.ts +72 -0
  114. package/dist/types/user-actions/user-action-tracker.js +2 -0
  115. package/package.json +115 -0
@@ -0,0 +1,32 @@
1
+ // https://dt-rnd.atlassian.net/wiki/spaces/DEX/pages/383385601/RUM+Selfmonitoring+Event
2
+ /**
3
+ * @category Self-monitoring
4
+ */
5
+ export var SfmTypes;
6
+ (function (SfmTypes) {
7
+ /**
8
+ * Event yields information about data collection status.
9
+ */
10
+ SfmTypes["DATA_COLLECTION"] = "DATA_COLLECTION";
11
+ })(SfmTypes || (SfmTypes = {}));
12
+ /**
13
+ * @category Self-monitoring
14
+ */
15
+ export var SfmNames;
16
+ (function (SfmNames) {
17
+ /**
18
+ * Reported if RUM JavaScript is disabled via opt-in settings.
19
+ */
20
+ SfmNames["DATA_COLLECTION_DISABLED"] = "Data collection disabled";
21
+ /**
22
+ * Reported if RUM JavaScript is enabled via opt-in settings.
23
+ */
24
+ SfmNames["DATA_COLLECTION_ENABLED"] = "Data collection enabled";
25
+ })(SfmNames || (SfmNames = {}));
26
+ export var SelfmonitoringEventKeys;
27
+ (function (SelfmonitoringEventKeys) {
28
+ SelfmonitoringEventKeys["PERFORMANCE$TIME_ORIGIN"] = "performance.time_origin";
29
+ SelfmonitoringEventKeys["SFM$NAME"] = "sfm.name";
30
+ SelfmonitoringEventKeys["SFM$TYPE"] = "sfm.type";
31
+ })(SelfmonitoringEventKeys || (SelfmonitoringEventKeys = {}));
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLXNlbGZtb25pdG9yaW5nLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc291cmNlL3R5cGVzL3J1bS1ldmVudHMvcnVtLXNlbGZtb25pdG9yaW5nLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdGQUF3RjtBQVN4Rjs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFrQixRQUtqQjtBQUxELFdBQWtCLFFBQVE7SUFDdEI7O09BRUc7SUFDSCwrQ0FBbUMsQ0FBQTtBQUN2QyxDQUFDLEVBTGlCLFFBQVEsS0FBUixRQUFRLFFBS3pCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBa0IsUUFTakI7QUFURCxXQUFrQixRQUFRO0lBQ3RCOztPQUVHO0lBQ0gsaUVBQXFELENBQUE7SUFDckQ7O09BRUc7SUFDSCwrREFBbUQsQ0FBQTtBQUN2RCxDQUFDLEVBVGlCLFFBQVEsS0FBUixRQUFRLFFBU3pCO0FBRUQsTUFBTSxDQUFOLElBQWtCLHVCQUlqQjtBQUpELFdBQWtCLHVCQUF1QjtJQUNyQyw4RUFBbUQsQ0FBQTtJQUNuRCxnREFBcUIsQ0FBQTtJQUNyQixnREFBcUIsQ0FBQTtBQUN6QixDQUFDLEVBSmlCLHVCQUF1QixLQUF2Qix1QkFBdUIsUUFJeEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2R0LXJuZC5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL0RFWC9wYWdlcy8zODMzODU2MDEvUlVNK1NlbGZtb25pdG9yaW5nK0V2ZW50XG5cbmltcG9ydCB0eXBlIHtcbiAgICBDaGFyYWN0ZXJpc3RpY3NGaWVsZHNLZXlzLFxuICAgIEdlbmVyYWxSdW1FdmVudEZpZWxkcyxcbiAgICBHZW5lcmFsUnVtRXZlbnRGaWVsZHNLZXlzXG59IGZyb20gXCIuL3NoYXJlZC1uYW1lc3BhY2VzLWFuZC1maWVsZHMvZ2VuZXJhbC1ydW0tZXZlbnQtZmllbGRzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNDSEVNQV9WRVJTSU9OIH0gZnJvbSBcIi4vc2NoZW1hLXZlcnNpb25zLmpzXCI7XG5cbi8qKlxuICogQGNhdGVnb3J5IFNlbGYtbW9uaXRvcmluZ1xuICovXG5leHBvcnQgY29uc3QgZW51bSBTZm1UeXBlcyB7XG4gICAgLyoqXG4gICAgICogRXZlbnQgeWllbGRzIGluZm9ybWF0aW9uIGFib3V0IGRhdGEgY29sbGVjdGlvbiBzdGF0dXMuXG4gICAgICovXG4gICAgREFUQV9DT0xMRUNUSU9OID0gXCJEQVRBX0NPTExFQ1RJT05cIlxufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBTZWxmLW1vbml0b3JpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gU2ZtTmFtZXMge1xuICAgIC8qKlxuICAgICAqIFJlcG9ydGVkIGlmIFJVTSBKYXZhU2NyaXB0IGlzIGRpc2FibGVkIHZpYSBvcHQtaW4gc2V0dGluZ3MuXG4gICAgICovXG4gICAgREFUQV9DT0xMRUNUSU9OX0RJU0FCTEVEID0gXCJEYXRhIGNvbGxlY3Rpb24gZGlzYWJsZWRcIixcbiAgICAvKipcbiAgICAgKiBSZXBvcnRlZCBpZiBSVU0gSmF2YVNjcmlwdCBpcyBlbmFibGVkIHZpYSBvcHQtaW4gc2V0dGluZ3MuXG4gICAgICovXG4gICAgREFUQV9DT0xMRUNUSU9OX0VOQUJMRUQgPSBcIkRhdGEgY29sbGVjdGlvbiBlbmFibGVkXCJcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gU2VsZm1vbml0b3JpbmdFdmVudEtleXMge1xuICAgIFBFUkZPUk1BTkNFJFRJTUVfT1JJR0lOID0gXCJwZXJmb3JtYW5jZS50aW1lX29yaWdpblwiLFxuICAgIFNGTSROQU1FID0gXCJzZm0ubmFtZVwiLFxuICAgIFNGTSRUWVBFID0gXCJzZm0udHlwZVwiXG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFNlbGYtbW9uaXRvcmluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJVTVNlbGZtb25pdG9yaW5nRXZlbnQgZXh0ZW5kcyBHZW5lcmFsUnVtRXZlbnRGaWVsZHMge1xuICAgIFtDaGFyYWN0ZXJpc3RpY3NGaWVsZHNLZXlzLkNIQVJBQ1RFUklTVElDUyRJU19TRUxGX01PTklUT1JJTkddOiB0cnVlO1xuXG4gICAgW1NlbGZtb25pdG9yaW5nRXZlbnRLZXlzLlNGTSRUWVBFXTogU2ZtVHlwZXM7XG4gICAgW1NlbGZtb25pdG9yaW5nRXZlbnRLZXlzLlNGTSROQU1FXTogU2ZtTmFtZXM7XG4gICAgW1NlbGZtb25pdG9yaW5nRXZlbnRLZXlzLlBFUkZPUk1BTkNFJFRJTUVfT1JJR0lOXT86IG51bWJlcjtcblxuICAgIFtHZW5lcmFsUnVtRXZlbnRGaWVsZHNLZXlzLkRUJFJVTSRTQ0hFTUFfVkVSU0lPTl06IHR5cGVvZiBTQ0hFTUFfVkVSU0lPTjtcbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import type { CharacteristicsFieldsKeys, GeneralRumEventFields, GeneralRumEventFieldsKeys } from "./shared-namespaces-and-fields/general-rum-event-fields.js";
2
+ import type { SCHEMA_VERSION } from "./schema-versions.js";
3
+ /**
4
+ * @category Events
5
+ */
6
+ export interface RUMSessionPropertiesEvent extends GeneralRumEventFields {
7
+ [CharacteristicsFieldsKeys.CHARACTERISTICS$HAS_SESSION_PROPERTIES]: true;
8
+ [GeneralRumEventFieldsKeys.DT$RUM$SCHEMA_VERSION]: typeof SCHEMA_VERSION;
9
+ }
@@ -0,0 +1,3 @@
1
+ // https://dt-rnd.atlassian.net/wiki/spaces/DEX/pages/747798563/RUM+Session+Properties+Event
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLXNlc3Npb24tcHJvcGVydGllcy1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS90eXBlcy9ydW0tZXZlbnRzL3J1bS1zZXNzaW9uLXByb3BlcnRpZXMtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEZBQTRGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9kdC1ybmQuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9ERVgvcGFnZXMvNzQ3Nzk4NTYzL1JVTStTZXNzaW9uK1Byb3BlcnRpZXMrRXZlbnRcblxuaW1wb3J0IHR5cGUge1xuICAgIENoYXJhY3RlcmlzdGljc0ZpZWxkc0tleXMsXG4gICAgR2VuZXJhbFJ1bUV2ZW50RmllbGRzLFxuICAgIEdlbmVyYWxSdW1FdmVudEZpZWxkc0tleXNcbn0gZnJvbSBcIi4vc2hhcmVkLW5hbWVzcGFjZXMtYW5kLWZpZWxkcy9nZW5lcmFsLXJ1bS1ldmVudC1maWVsZHMuanNcIjtcbmltcG9ydCB0eXBlIHsgU0NIRU1BX1ZFUlNJT04gfSBmcm9tIFwiLi9zY2hlbWEtdmVyc2lvbnMuanNcIjtcblxuLyoqXG4gKiBAY2F0ZWdvcnkgRXZlbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUlVNU2Vzc2lvblByb3BlcnRpZXNFdmVudCBleHRlbmRzIEdlbmVyYWxSdW1FdmVudEZpZWxkcyB7XG4gICAgW0NoYXJhY3RlcmlzdGljc0ZpZWxkc0tleXMuQ0hBUkFDVEVSSVNUSUNTJEhBU19TRVNTSU9OX1BST1BFUlRJRVNdOiB0cnVlO1xuICAgIFtHZW5lcmFsUnVtRXZlbnRGaWVsZHNLZXlzLkRUJFJVTSRTQ0hFTUFfVkVSU0lPTl06IHR5cGVvZiBTQ0hFTUFfVkVSU0lPTjtcbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import type { CharacteristicsFieldsKeys, GeneralRumEventFields, GeneralRumEventFieldsKeys } from "./shared-namespaces-and-fields/general-rum-event-fields.js";
2
+ import type { eventContextSymbol, RUMStandaloneCspRuleViolationEventContext } from "./event-context/event-context.js";
3
+ import type { CSPFields } from "./shared-namespaces-and-fields/csp-fields.js";
4
+ import type { GeneralRumErrorFields } from "./shared-namespaces-and-fields/general-rum-error-fields.js";
5
+ import type { RUMUserActionEventKeys } from "./rum-user-action-event.js";
6
+ import type { SCHEMA_VERSION } from "./schema-versions.js";
7
+ /**
8
+ * @category Standalone Errors
9
+ */
10
+ export interface RUMStandaloneCspRuleViolationEvent extends GeneralRumEventFields, GeneralRumErrorFields, CSPFields {
11
+ [CharacteristicsFieldsKeys.CHARACTERISTICS$HAS_ERROR]: true;
12
+ [CharacteristicsFieldsKeys.CHARACTERISTICS$HAS_CSP_VIOLATION]: true;
13
+ [RUMUserActionEventKeys.USER_ACTION$INSTANCE_ID]?: string;
14
+ [GeneralRumEventFieldsKeys.DT$RUM$SCHEMA_VERSION]: typeof SCHEMA_VERSION;
15
+ [eventContextSymbol]: RUMStandaloneCspRuleViolationEventContext;
16
+ }
@@ -0,0 +1,3 @@
1
+ // https://dt-rnd.atlassian.net/wiki/spaces/DEX/pages/165348814/RUM+Standalone+CSP+Rule+Violation+Event
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLXN0YW5kYWxvbmUtY3NwLXJ1bGUtdmlvbGF0aW9uLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc291cmNlL3R5cGVzL3J1bS1ldmVudHMvcnVtLXN0YW5kYWxvbmUtY3NwLXJ1bGUtdmlvbGF0aW9uLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVHQUF1RyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZHQtcm5kLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvREVYL3BhZ2VzLzE2NTM0ODgxNC9SVU0rU3RhbmRhbG9uZStDU1ArUnVsZStWaW9sYXRpb24rRXZlbnRcblxuaW1wb3J0IHR5cGUge1xuICAgIENoYXJhY3RlcmlzdGljc0ZpZWxkc0tleXMsXG4gICAgR2VuZXJhbFJ1bUV2ZW50RmllbGRzLFxuICAgIEdlbmVyYWxSdW1FdmVudEZpZWxkc0tleXNcbn0gZnJvbSBcIi4vc2hhcmVkLW5hbWVzcGFjZXMtYW5kLWZpZWxkcy9nZW5lcmFsLXJ1bS1ldmVudC1maWVsZHMuanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgICBldmVudENvbnRleHRTeW1ib2wsXG4gICAgUlVNU3RhbmRhbG9uZUNzcFJ1bGVWaW9sYXRpb25FdmVudENvbnRleHRcbn0gZnJvbSBcIi4vZXZlbnQtY29udGV4dC9ldmVudC1jb250ZXh0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IENTUEZpZWxkcyB9IGZyb20gXCIuL3NoYXJlZC1uYW1lc3BhY2VzLWFuZC1maWVsZHMvY3NwLWZpZWxkcy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBHZW5lcmFsUnVtRXJyb3JGaWVsZHMgfSBmcm9tIFwiLi9zaGFyZWQtbmFtZXNwYWNlcy1hbmQtZmllbGRzL2dlbmVyYWwtcnVtLWVycm9yLWZpZWxkcy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzIH0gZnJvbSBcIi4vcnVtLXVzZXItYWN0aW9uLWV2ZW50LmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNDSEVNQV9WRVJTSU9OIH0gZnJvbSBcIi4vc2NoZW1hLXZlcnNpb25zLmpzXCI7XG5cbi8qKlxuICogQGNhdGVnb3J5IFN0YW5kYWxvbmUgRXJyb3JzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUlVNU3RhbmRhbG9uZUNzcFJ1bGVWaW9sYXRpb25FdmVudCBleHRlbmRzIEdlbmVyYWxSdW1FdmVudEZpZWxkcywgR2VuZXJhbFJ1bUVycm9yRmllbGRzLCBDU1BGaWVsZHMge1xuICAgIFtDaGFyYWN0ZXJpc3RpY3NGaWVsZHNLZXlzLkNIQVJBQ1RFUklTVElDUyRIQVNfRVJST1JdOiB0cnVlO1xuICAgIFtDaGFyYWN0ZXJpc3RpY3NGaWVsZHNLZXlzLkNIQVJBQ1RFUklTVElDUyRIQVNfQ1NQX1ZJT0xBVElPTl06IHRydWU7XG5cbiAgICBbUlVNVXNlckFjdGlvbkV2ZW50S2V5cy5VU0VSX0FDVElPTiRJTlNUQU5DRV9JRF0/OiBzdHJpbmc7XG5cbiAgICBbR2VuZXJhbFJ1bUV2ZW50RmllbGRzS2V5cy5EVCRSVU0kU0NIRU1BX1ZFUlNJT05dOiB0eXBlb2YgU0NIRU1BX1ZFUlNJT047XG4gICAgW2V2ZW50Q29udGV4dFN5bWJvbF06IFJVTVN0YW5kYWxvbmVDc3BSdWxlVmlvbGF0aW9uRXZlbnRDb250ZXh0O1xufVxuIl19
@@ -0,0 +1,16 @@
1
+ import type { CharacteristicsFieldsKeys, GeneralRumEventFields, GeneralRumEventFieldsKeys } from "./shared-namespaces-and-fields/general-rum-event-fields.js";
2
+ import type { eventContextSymbol, RUMStandaloneExceptionEventContext } from "./event-context/event-context.js";
3
+ import type { ExceptionFields } from "./shared-namespaces-and-fields/exception-fields.js";
4
+ import type { GeneralRumErrorFields } from "./shared-namespaces-and-fields/general-rum-error-fields.js";
5
+ import type { RUMUserActionEventKeys } from "./rum-user-action-event.js";
6
+ import type { SCHEMA_VERSION } from "./schema-versions.js";
7
+ /**
8
+ * @category Standalone Errors
9
+ */
10
+ export interface RUMStandaloneExceptionEvent extends GeneralRumEventFields, GeneralRumErrorFields, ExceptionFields {
11
+ [CharacteristicsFieldsKeys.CHARACTERISTICS$HAS_ERROR]: true;
12
+ [CharacteristicsFieldsKeys.CHARACTERISTICS$HAS_EXCEPTION]: true;
13
+ [RUMUserActionEventKeys.USER_ACTION$INSTANCE_ID]?: string;
14
+ [GeneralRumEventFieldsKeys.DT$RUM$SCHEMA_VERSION]: typeof SCHEMA_VERSION;
15
+ [eventContextSymbol]: RUMStandaloneExceptionEventContext;
16
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLXN0YW5kYWxvbmUtZXhjZXB0aW9uLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc291cmNlL3R5cGVzL3J1bS1ldmVudHMvcnVtLXN0YW5kYWxvbmUtZXhjZXB0aW9uLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2R0LXJuZC5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL0RFWC9wYWdlcy8xNjUzNDg3NDMvUlVNK1N0YW5kYWxvbmUrRXhjZXB0aW9uK0V2ZW50XG5pbXBvcnQgdHlwZSB7XG4gICAgQ2hhcmFjdGVyaXN0aWNzRmllbGRzS2V5cyxcbiAgICBHZW5lcmFsUnVtRXZlbnRGaWVsZHMsXG4gICAgR2VuZXJhbFJ1bUV2ZW50RmllbGRzS2V5c1xufSBmcm9tIFwiLi9zaGFyZWQtbmFtZXNwYWNlcy1hbmQtZmllbGRzL2dlbmVyYWwtcnVtLWV2ZW50LWZpZWxkcy5qc1wiO1xuaW1wb3J0IHR5cGUge1xuICAgIGV2ZW50Q29udGV4dFN5bWJvbCxcbiAgICBSVU1TdGFuZGFsb25lRXhjZXB0aW9uRXZlbnRDb250ZXh0XG59IGZyb20gXCIuL2V2ZW50LWNvbnRleHQvZXZlbnQtY29udGV4dC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBFeGNlcHRpb25GaWVsZHMgfSBmcm9tIFwiLi9zaGFyZWQtbmFtZXNwYWNlcy1hbmQtZmllbGRzL2V4Y2VwdGlvbi1maWVsZHMuanNcIjtcbmltcG9ydCB0eXBlIHsgR2VuZXJhbFJ1bUVycm9yRmllbGRzIH0gZnJvbSBcIi4vc2hhcmVkLW5hbWVzcGFjZXMtYW5kLWZpZWxkcy9nZW5lcmFsLXJ1bS1lcnJvci1maWVsZHMuanNcIjtcbmltcG9ydCB0eXBlIHsgUlVNVXNlckFjdGlvbkV2ZW50S2V5cyB9IGZyb20gXCIuL3J1bS11c2VyLWFjdGlvbi1ldmVudC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBTQ0hFTUFfVkVSU0lPTiB9IGZyb20gXCIuL3NjaGVtYS12ZXJzaW9ucy5qc1wiO1xuXG4vKipcbiAqIEBjYXRlZ29yeSBTdGFuZGFsb25lIEVycm9yc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJVTVN0YW5kYWxvbmVFeGNlcHRpb25FdmVudCBleHRlbmRzIEdlbmVyYWxSdW1FdmVudEZpZWxkcywgR2VuZXJhbFJ1bUVycm9yRmllbGRzLCBFeGNlcHRpb25GaWVsZHMge1xuICAgIFtDaGFyYWN0ZXJpc3RpY3NGaWVsZHNLZXlzLkNIQVJBQ1RFUklTVElDUyRIQVNfRVJST1JdOiB0cnVlO1xuICAgIFtDaGFyYWN0ZXJpc3RpY3NGaWVsZHNLZXlzLkNIQVJBQ1RFUklTVElDUyRIQVNfRVhDRVBUSU9OXTogdHJ1ZTtcblxuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJElOU1RBTkNFX0lEXT86IHN0cmluZztcblxuICAgIFtHZW5lcmFsUnVtRXZlbnRGaWVsZHNLZXlzLkRUJFJVTSRTQ0hFTUFfVkVSU0lPTl06IHR5cGVvZiBTQ0hFTUFfVkVSU0lPTjtcbiAgICBbZXZlbnRDb250ZXh0U3ltYm9sXTogUlVNU3RhbmRhbG9uZUV4Y2VwdGlvbkV2ZW50Q29udGV4dDtcbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import type { CharacteristicsFieldsKeys, GeneralRumEventFields, GeneralRumEventFieldsKeys } from "./shared-namespaces-and-fields/general-rum-event-fields.js";
2
+ import type { eventContextSymbol, RUMStandaloneNavigationEventContext } from "./event-context/event-context.js";
3
+ import type { NavigationFields } from "./shared-namespaces-and-fields/navigation-fields.js";
4
+ import type { PageSourceFields } from "./shared-namespaces-and-fields/page-source-fields.js";
5
+ import type { SCHEMA_VERSION } from "./schema-versions.js";
6
+ import type { ViewSourceFields } from "./shared-namespaces-and-fields/view-source-fields.js";
7
+ export declare const enum ViewFieldsKeys {
8
+ VIEW$SEQUENCE_NUMBER = "view.sequence_number"
9
+ }
10
+ /**
11
+ * @category Lifecycle & Navigation
12
+ */
13
+ export interface ViewFields {
14
+ [ViewFieldsKeys.VIEW$SEQUENCE_NUMBER]: number;
15
+ }
16
+ /**
17
+ * @category Lifecycle & Navigation
18
+ */
19
+ export interface RUMStandaloneNavigationEvent extends GeneralRumEventFields, NavigationFields, PageSourceFields, ViewSourceFields, ViewFields {
20
+ [CharacteristicsFieldsKeys.CHARACTERISTICS$HAS_NAVIGATION]: true;
21
+ [GeneralRumEventFieldsKeys.DT$RUM$SCHEMA_VERSION]: typeof SCHEMA_VERSION;
22
+ [eventContextSymbol]: RUMStandaloneNavigationEventContext;
23
+ }
@@ -0,0 +1,6 @@
1
+ // https://dt-rnd.atlassian.net/wiki/spaces/DEX/pages/165351008/RUM+Standalone+Navigation+Event
2
+ export var ViewFieldsKeys;
3
+ (function (ViewFieldsKeys) {
4
+ ViewFieldsKeys["VIEW$SEQUENCE_NUMBER"] = "view.sequence_number";
5
+ })(ViewFieldsKeys || (ViewFieldsKeys = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLXN0YW5kYWxvbmUtbmF2aWdhdGlvbi1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS90eXBlcy9ydW0tZXZlbnRzL3J1bS1zdGFuZGFsb25lLW5hdmlnYXRpb24tZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0ZBQStGO0FBZ0IvRixNQUFNLENBQU4sSUFBa0IsY0FFakI7QUFGRCxXQUFrQixjQUFjO0lBQzVCLCtEQUE2QyxDQUFBO0FBQ2pELENBQUMsRUFGaUIsY0FBYyxLQUFkLGNBQWMsUUFFL0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2R0LXJuZC5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL0RFWC9wYWdlcy8xNjUzNTEwMDgvUlVNK1N0YW5kYWxvbmUrTmF2aWdhdGlvbitFdmVudFxuXG5pbXBvcnQgdHlwZSB7XG4gICAgQ2hhcmFjdGVyaXN0aWNzRmllbGRzS2V5cyxcbiAgICBHZW5lcmFsUnVtRXZlbnRGaWVsZHMsXG4gICAgR2VuZXJhbFJ1bUV2ZW50RmllbGRzS2V5c1xufSBmcm9tIFwiLi9zaGFyZWQtbmFtZXNwYWNlcy1hbmQtZmllbGRzL2dlbmVyYWwtcnVtLWV2ZW50LWZpZWxkcy5qc1wiO1xuaW1wb3J0IHR5cGUge1xuICAgIGV2ZW50Q29udGV4dFN5bWJvbCxcbiAgICBSVU1TdGFuZGFsb25lTmF2aWdhdGlvbkV2ZW50Q29udGV4dFxufSBmcm9tIFwiLi9ldmVudC1jb250ZXh0L2V2ZW50LWNvbnRleHQuanNcIjtcbmltcG9ydCB0eXBlIHsgTmF2aWdhdGlvbkZpZWxkcyB9IGZyb20gXCIuL3NoYXJlZC1uYW1lc3BhY2VzLWFuZC1maWVsZHMvbmF2aWdhdGlvbi1maWVsZHMuanNcIjtcbmltcG9ydCB0eXBlIHsgUGFnZVNvdXJjZUZpZWxkcyB9IGZyb20gXCIuL3NoYXJlZC1uYW1lc3BhY2VzLWFuZC1maWVsZHMvcGFnZS1zb3VyY2UtZmllbGRzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNDSEVNQV9WRVJTSU9OIH0gZnJvbSBcIi4vc2NoZW1hLXZlcnNpb25zLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFZpZXdTb3VyY2VGaWVsZHMgfSBmcm9tIFwiLi9zaGFyZWQtbmFtZXNwYWNlcy1hbmQtZmllbGRzL3ZpZXctc291cmNlLWZpZWxkcy5qc1wiO1xuXG5leHBvcnQgY29uc3QgZW51bSBWaWV3RmllbGRzS2V5cyB7XG4gICAgVklFVyRTRVFVRU5DRV9OVU1CRVIgPSBcInZpZXcuc2VxdWVuY2VfbnVtYmVyXCJcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgTGlmZWN5Y2xlICYgTmF2aWdhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdGaWVsZHMge1xuICAgIFtWaWV3RmllbGRzS2V5cy5WSUVXJFNFUVVFTkNFX05VTUJFUl06IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgTGlmZWN5Y2xlICYgTmF2aWdhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJVTVN0YW5kYWxvbmVOYXZpZ2F0aW9uRXZlbnQgZXh0ZW5kcyBHZW5lcmFsUnVtRXZlbnRGaWVsZHMsIE5hdmlnYXRpb25GaWVsZHMsIFBhZ2VTb3VyY2VGaWVsZHMsIFZpZXdTb3VyY2VGaWVsZHMsIFZpZXdGaWVsZHMge1xuICAgIFtDaGFyYWN0ZXJpc3RpY3NGaWVsZHNLZXlzLkNIQVJBQ1RFUklTVElDUyRIQVNfTkFWSUdBVElPTl06IHRydWU7XG5cbiAgICBbR2VuZXJhbFJ1bUV2ZW50RmllbGRzS2V5cy5EVCRSVU0kU0NIRU1BX1ZFUlNJT05dOiB0eXBlb2YgU0NIRU1BX1ZFUlNJT047XG4gICAgW2V2ZW50Q29udGV4dFN5bWJvbF06IFJVTVN0YW5kYWxvbmVOYXZpZ2F0aW9uRXZlbnRDb250ZXh0O1xufVxuIl19
@@ -0,0 +1,187 @@
1
+ import type { CharacteristicsFieldsKeys, GeneralRumEventFields, GeneralRumEventFieldsKeys } from "./shared-namespaces-and-fields/general-rum-event-fields.js";
2
+ import type { CLSMetric, CLSPaintMetricStatus, ErrorCountSummaryFields, FIDMetric, FIDPaintMetricStatus, INPMetric, INPPaintMetricStatus, LCPMetric, LCPPaintMetricStatus, LongTaskMetric, LongTaskMetricStatus, RUMPageSummaryEventKeys } from "./rum-page-summary-event.js";
3
+ import type { eventContextSymbol, RUMNavigationUserActionEventContext, RUMRequestUserActionEventContext } from "./event-context/event-context.js";
4
+ import type { RUMClickActionEvent, RUMUserInteractionEventKeys } from "./rum-user-interaction-event.js";
5
+ import type { RUMInternalRequestFieldsKeys, RUMResourceTimingBasedWebRequestEvent, TraceContextFields } from "./rum-web-request-event.js";
6
+ import type { RequestFieldsKeys } from "./shared-namespaces-and-fields/index.js";
7
+ import type { RUMStandaloneNavigationEvent } from "./rum-standalone-navigation-event.js";
8
+ import type { SCHEMA_VERSION } from "./schema-versions.js";
9
+ /**
10
+ * @inline
11
+ * @category User Actions
12
+ */
13
+ export type WebVitalsDisabledStatus = "disabled";
14
+ /**
15
+ * @inline
16
+ */
17
+ type ExtendedCLSMetric = Omit<CLSMetric, RUMPageSummaryEventKeys.CLS$STATUS> & {
18
+ [RUMPageSummaryEventKeys.CLS$STATUS]: CLSPaintMetricStatus | WebVitalsDisabledStatus;
19
+ };
20
+ /**
21
+ * @inline
22
+ */
23
+ type ExtendedFIDMetric = Omit<FIDMetric, RUMPageSummaryEventKeys.FID$STATUS> & {
24
+ [RUMPageSummaryEventKeys.FID$STATUS]: FIDPaintMetricStatus | WebVitalsDisabledStatus;
25
+ };
26
+ /**
27
+ * @inline
28
+ */
29
+ type ExtendedINPMetric = Omit<INPMetric, RUMPageSummaryEventKeys.INP$STATUS> & {
30
+ [RUMPageSummaryEventKeys.INP$STATUS]: INPPaintMetricStatus | WebVitalsDisabledStatus;
31
+ };
32
+ /**
33
+ * @inline
34
+ */
35
+ type ExtendedLCPMetric = Omit<LCPMetric, RUMPageSummaryEventKeys.LCP$STATUS> & {
36
+ [RUMPageSummaryEventKeys.LCP$STATUS]: LCPPaintMetricStatus | WebVitalsDisabledStatus;
37
+ };
38
+ /**
39
+ * @inline
40
+ */
41
+ type ExtendedLongTaskMetric = Omit<LongTaskMetric, RUMPageSummaryEventKeys.LONG_TASK$STATUS> & {
42
+ [RUMPageSummaryEventKeys.LONG_TASK$STATUS]: LongTaskMetricStatus | WebVitalsDisabledStatus;
43
+ };
44
+ export type UserActionWebVitals = ExtendedCLSMetric & ExtendedFIDMetric & ExtendedINPMetric & ExtendedLCPMetric & ExtendedLongTaskMetric;
45
+ export type UserInteractionEventParts = Pick<RUMClickActionEvent, RUMUserInteractionEventKeys.DOM_EVENT$IS_TRUSTED | RUMUserInteractionEventKeys.INTERACTION$NAME | RUMUserInteractionEventKeys.UI_ELEMENT$CUSTOM_NAME | RUMUserInteractionEventKeys.UI_ELEMENT$NAME | RUMUserInteractionEventKeys.UI_ELEMENT$NAME_ORIGIN | RUMUserInteractionEventKeys.UI_ELEMENT$TAG_NAME>;
46
+ type UserActionRequestPartFields = Pick<RUMResourceTimingBasedWebRequestEvent, RequestFieldsKeys.NETWORK$PROTOCOL$NAME | RequestFieldsKeys.URL$FULL | RUMInternalRequestFieldsKeys.REQUEST$SERVER_TIMING_HINT | RUMInternalRequestFieldsKeys.REQUEST$TRACE_CONTEXT_HINT | TraceContextFields.SPAN$ID | TraceContextFields.TRACE$ID | TraceContextFields.TRACE$IS_SAMPLED>;
47
+ /**
48
+ * The reasons a user action can complete with.
49
+ *
50
+ * @category User Actions
51
+ * @experimental
52
+ */
53
+ export declare const enum UserActionCompleteReason {
54
+ /**
55
+ * The user action completed normally after the inactivity threshold.
56
+ */
57
+ COMPLETED = "completed",
58
+ /**
59
+ * The user action was completed using the API.
60
+ */
61
+ COMPLETED_BY_API = "completed_by_api",
62
+ /**
63
+ * The user action was interrupted by API.
64
+ */
65
+ INTERRUPTED_BY_API = "interrupted_by_api",
66
+ /**
67
+ * The user action was interrupted by a navigation.
68
+ */
69
+ INTERRUPTED_BY_NAVIGATION = "interrupted_by_navigation",
70
+ /**
71
+ * The user action was interrupted by a new request.
72
+ */
73
+ INTERRUPTED_BY_REQUEST = "interrupted_by_request",
74
+ /**
75
+ * There was no user action on the page.
76
+ */
77
+ NO_ACTIVITY = "no_activity",
78
+ /**
79
+ * The user action completed because the page was dismissed.
80
+ */
81
+ PAGE_HIDE = "page_hide",
82
+ /**
83
+ * The user action took longer than the timeout and was completed forcefully.
84
+ */
85
+ TIMEOUT = "timeout"
86
+ }
87
+ export declare const enum RUMUserActionEventKeys {
88
+ USER_ACTION$COMPLETE_REASON = "user_action.complete_reason",
89
+ USER_ACTION$CUSTOM_NAME = "user_action.custom_name",
90
+ USER_ACTION$INSTANCE_ID = "user_action.instance_id",
91
+ USER_ACTION$INTERRUPTED_BY_INSTANCE_ID = "user_action.interrupted_by_instance_id",
92
+ USER_ACTION$INTERRUPTED_INSTANCE_ID = "user_action.interrupted_instance_id",
93
+ USER_ACTION$MUTATION_COUNT = "user_action.mutation_count",
94
+ USER_ACTION$REQUESTS$COUNT = "user_action.requests.count",
95
+ USER_ACTION$REQUESTS$DATA_URL_REQUEST_COUNT = "user_action.requests.data_url_request_count",
96
+ USER_ACTION$REQUESTS$PENDING_REQUEST_COUNT = "user_action.requests.pending_request_count",
97
+ USER_ACTION$RESOURCES$AUDIO$COUNT = "user_action.resources.audio.count",
98
+ USER_ACTION$RESOURCES$BEACON$COUNT = "user_action.resources.beacon.count",
99
+ USER_ACTION$RESOURCES$BODY$COUNT = "user_action.resources.body.count",
100
+ USER_ACTION$RESOURCES$COUNT = "user_action.resources.count",
101
+ USER_ACTION$RESOURCES$CSS$COUNT = "user_action.resources.css.count",
102
+ USER_ACTION$RESOURCES$EARLY_HINT$COUNT = "user_action.resources.early-hint.count",
103
+ USER_ACTION$RESOURCES$EMBED$COUNT = "user_action.resources.embed.count",
104
+ USER_ACTION$RESOURCES$FETCH$COUNT = "user_action.resources.fetch.count",
105
+ USER_ACTION$RESOURCES$FRAME$COUNT = "user_action.resources.frame.count",
106
+ USER_ACTION$RESOURCES$ICON$COUNT = "user_action.resources.icon.count",
107
+ USER_ACTION$RESOURCES$IFRAME$COUNT = "user_action.resources.iframe.count",
108
+ USER_ACTION$RESOURCES$IMAGE$COUNT = "user_action.resources.image.count",
109
+ USER_ACTION$RESOURCES$IMG$COUNT = "user_action.resources.img.count",
110
+ USER_ACTION$RESOURCES$INPUT$COUNT = "user_action.resources.input.count",
111
+ USER_ACTION$RESOURCES$LINK$COUNT = "user_action.resources.link.count",
112
+ USER_ACTION$RESOURCES$NAVIGATION$COUNT = "user_action.resources.navigation.count",
113
+ USER_ACTION$RESOURCES$OBJECT$COUNT = "user_action.resources.object.count",
114
+ USER_ACTION$RESOURCES$OTHER$COUNT = "user_action.resources.other.count",
115
+ USER_ACTION$RESOURCES$PING$COUNT = "user_action.resources.ping.count",
116
+ USER_ACTION$RESOURCES$SCRIPT$COUNT = "user_action.resources.script.count",
117
+ USER_ACTION$RESOURCES$TRACK$COUNT = "user_action.resources.track.count",
118
+ USER_ACTION$RESOURCES$VIDEO$COUNT = "user_action.resources.video.count",
119
+ USER_ACTION$RESOURCES$XMLHTTPREQUEST$COUNT = "user_action.resources.xmlhttprequest.count"
120
+ }
121
+ export interface BaseRUMUserActionEventRequestFields {
122
+ [RUMUserActionEventKeys.USER_ACTION$REQUESTS$PENDING_REQUEST_COUNT]: number;
123
+ [RUMUserActionEventKeys.USER_ACTION$REQUESTS$DATA_URL_REQUEST_COUNT]: number;
124
+ [RUMUserActionEventKeys.USER_ACTION$REQUESTS$COUNT]: number;
125
+ }
126
+ export interface BaseRUMUserActionEventResourcesFields {
127
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$COUNT]: number;
128
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$AUDIO$COUNT]?: number;
129
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$BEACON$COUNT]?: number;
130
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$BODY$COUNT]?: number;
131
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$CSS$COUNT]?: number;
132
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$EARLY_HINT$COUNT]?: number;
133
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$EMBED$COUNT]?: number;
134
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$FETCH$COUNT]?: number;
135
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$FRAME$COUNT]?: number;
136
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$ICON$COUNT]?: number;
137
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$IFRAME$COUNT]?: number;
138
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$IMAGE$COUNT]?: number;
139
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$IMG$COUNT]?: number;
140
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$INPUT$COUNT]?: number;
141
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$LINK$COUNT]?: number;
142
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$NAVIGATION$COUNT]?: number;
143
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$OBJECT$COUNT]?: number;
144
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$OTHER$COUNT]?: number;
145
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$PING$COUNT]?: number;
146
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$SCRIPT$COUNT]?: number;
147
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$TRACK$COUNT]?: number;
148
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$VIDEO$COUNT]?: number;
149
+ [RUMUserActionEventKeys.USER_ACTION$RESOURCES$XMLHTTPREQUEST$COUNT]?: number;
150
+ }
151
+ export interface BaseRUMUserActionEvent extends GeneralRumEventFields, BaseRUMUserActionEventRequestFields, BaseRUMUserActionEventResourcesFields, ErrorCountSummaryFields, UserActionWebVitals {
152
+ [CharacteristicsFieldsKeys.CHARACTERISTICS$HAS_USER_ACTION]: true;
153
+ [GeneralRumEventFieldsKeys.DT$RUM$SCHEMA_VERSION]: typeof SCHEMA_VERSION;
154
+ [RUMUserActionEventKeys.USER_ACTION$INSTANCE_ID]: string;
155
+ [RUMUserActionEventKeys.USER_ACTION$MUTATION_COUNT]: number;
156
+ [RUMUserActionEventKeys.USER_ACTION$COMPLETE_REASON]: UserActionCompleteReason;
157
+ [RUMUserActionEventKeys.USER_ACTION$CUSTOM_NAME]?: string;
158
+ [RUMUserActionEventKeys.USER_ACTION$INTERRUPTED_BY_INSTANCE_ID]?: string;
159
+ [RUMUserActionEventKeys.USER_ACTION$INTERRUPTED_INSTANCE_ID]?: string;
160
+ }
161
+ /**
162
+ * @category User Actions
163
+ * @experimental
164
+ */
165
+ export interface ApiUserActionJSONEvent extends BaseRUMUserActionEvent {
166
+ [CharacteristicsFieldsKeys.CHARACTERISTICS$IS_API_REPORTED]: true;
167
+ }
168
+ /**
169
+ * @category User Actions
170
+ * @experimental
171
+ */
172
+ export interface RequestUserActionJSONEvent extends BaseRUMUserActionEvent, UserInteractionEventParts, UserActionRequestPartFields {
173
+ [eventContextSymbol]: RUMRequestUserActionEventContext;
174
+ }
175
+ /**
176
+ * @category User Actions
177
+ * @experimental
178
+ */
179
+ export interface NavigationUserActionJSONEvent extends BaseRUMUserActionEvent, Partial<UserInteractionEventParts>, Omit<RUMStandaloneNavigationEvent, typeof eventContextSymbol> {
180
+ [eventContextSymbol]: RUMNavigationUserActionEventContext;
181
+ }
182
+ /**
183
+ * @category User Actions
184
+ * @experimental
185
+ */
186
+ export type RUMUserActionEvent = ApiUserActionJSONEvent | NavigationUserActionJSONEvent | RequestUserActionJSONEvent;
187
+ export {};
@@ -0,0 +1,78 @@
1
+ // https://dt-rnd.atlassian.net/wiki/spaces/DEX/pages/1278313677/RUM+User+Action+Event
2
+ /**
3
+ * The reasons a user action can complete with.
4
+ *
5
+ * @category User Actions
6
+ * @experimental
7
+ */
8
+ export var UserActionCompleteReason;
9
+ (function (UserActionCompleteReason) {
10
+ /**
11
+ * The user action completed normally after the inactivity threshold.
12
+ */
13
+ UserActionCompleteReason["COMPLETED"] = "completed";
14
+ /**
15
+ * The user action was completed using the API.
16
+ */
17
+ UserActionCompleteReason["COMPLETED_BY_API"] = "completed_by_api";
18
+ /**
19
+ * The user action was interrupted by API.
20
+ */
21
+ UserActionCompleteReason["INTERRUPTED_BY_API"] = "interrupted_by_api";
22
+ /**
23
+ * The user action was interrupted by a navigation.
24
+ */
25
+ UserActionCompleteReason["INTERRUPTED_BY_NAVIGATION"] = "interrupted_by_navigation";
26
+ /**
27
+ * The user action was interrupted by a new request.
28
+ */
29
+ UserActionCompleteReason["INTERRUPTED_BY_REQUEST"] = "interrupted_by_request";
30
+ /**
31
+ * There was no user action on the page.
32
+ */
33
+ UserActionCompleteReason["NO_ACTIVITY"] = "no_activity";
34
+ /**
35
+ * The user action completed because the page was dismissed.
36
+ */
37
+ UserActionCompleteReason["PAGE_HIDE"] = "page_hide";
38
+ /**
39
+ * The user action took longer than the timeout and was completed forcefully.
40
+ */
41
+ UserActionCompleteReason["TIMEOUT"] = "timeout";
42
+ })(UserActionCompleteReason || (UserActionCompleteReason = {}));
43
+ export var RUMUserActionEventKeys;
44
+ (function (RUMUserActionEventKeys) {
45
+ RUMUserActionEventKeys["USER_ACTION$COMPLETE_REASON"] = "user_action.complete_reason";
46
+ RUMUserActionEventKeys["USER_ACTION$CUSTOM_NAME"] = "user_action.custom_name";
47
+ RUMUserActionEventKeys["USER_ACTION$INSTANCE_ID"] = "user_action.instance_id";
48
+ RUMUserActionEventKeys["USER_ACTION$INTERRUPTED_BY_INSTANCE_ID"] = "user_action.interrupted_by_instance_id";
49
+ RUMUserActionEventKeys["USER_ACTION$INTERRUPTED_INSTANCE_ID"] = "user_action.interrupted_instance_id";
50
+ RUMUserActionEventKeys["USER_ACTION$MUTATION_COUNT"] = "user_action.mutation_count";
51
+ RUMUserActionEventKeys["USER_ACTION$REQUESTS$COUNT"] = "user_action.requests.count";
52
+ RUMUserActionEventKeys["USER_ACTION$REQUESTS$DATA_URL_REQUEST_COUNT"] = "user_action.requests.data_url_request_count";
53
+ RUMUserActionEventKeys["USER_ACTION$REQUESTS$PENDING_REQUEST_COUNT"] = "user_action.requests.pending_request_count";
54
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$AUDIO$COUNT"] = "user_action.resources.audio.count";
55
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$BEACON$COUNT"] = "user_action.resources.beacon.count";
56
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$BODY$COUNT"] = "user_action.resources.body.count";
57
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$COUNT"] = "user_action.resources.count";
58
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$CSS$COUNT"] = "user_action.resources.css.count";
59
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$EARLY_HINT$COUNT"] = "user_action.resources.early-hint.count";
60
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$EMBED$COUNT"] = "user_action.resources.embed.count";
61
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$FETCH$COUNT"] = "user_action.resources.fetch.count";
62
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$FRAME$COUNT"] = "user_action.resources.frame.count";
63
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$ICON$COUNT"] = "user_action.resources.icon.count";
64
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$IFRAME$COUNT"] = "user_action.resources.iframe.count";
65
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$IMAGE$COUNT"] = "user_action.resources.image.count";
66
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$IMG$COUNT"] = "user_action.resources.img.count";
67
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$INPUT$COUNT"] = "user_action.resources.input.count";
68
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$LINK$COUNT"] = "user_action.resources.link.count";
69
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$NAVIGATION$COUNT"] = "user_action.resources.navigation.count";
70
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$OBJECT$COUNT"] = "user_action.resources.object.count";
71
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$OTHER$COUNT"] = "user_action.resources.other.count";
72
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$PING$COUNT"] = "user_action.resources.ping.count";
73
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$SCRIPT$COUNT"] = "user_action.resources.script.count";
74
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$TRACK$COUNT"] = "user_action.resources.track.count";
75
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$VIDEO$COUNT"] = "user_action.resources.video.count";
76
+ RUMUserActionEventKeys["USER_ACTION$RESOURCES$XMLHTTPREQUEST$COUNT"] = "user_action.resources.xmlhttprequest.count";
77
+ })(RUMUserActionEventKeys || (RUMUserActionEventKeys = {}));
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLXVzZXItYWN0aW9uLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc291cmNlL3R5cGVzL3J1bS1ldmVudHMvcnVtLXVzZXItYWN0aW9uLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNGQUFzRjtBQWdHdEY7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQU4sSUFBa0Isd0JBaUNqQjtBQWpDRCxXQUFrQix3QkFBd0I7SUFDdEM7O09BRUc7SUFDSCxtREFBdUIsQ0FBQTtJQUN2Qjs7T0FFRztJQUNILGlFQUFxQyxDQUFBO0lBQ3JDOztPQUVHO0lBQ0gscUVBQXlDLENBQUE7SUFDekM7O09BRUc7SUFDSCxtRkFBdUQsQ0FBQTtJQUN2RDs7T0FFRztJQUNILDZFQUFpRCxDQUFBO0lBQ2pEOztPQUVHO0lBQ0gsdURBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCxtREFBdUIsQ0FBQTtJQUN2Qjs7T0FFRztJQUNILCtDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFqQ2lCLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFpQ3pDO0FBRUQsTUFBTSxDQUFOLElBQWtCLHNCQW9DakI7QUFwQ0QsV0FBa0Isc0JBQXNCO0lBQ3BDLHFGQUEyRCxDQUFBO0lBQzNELDZFQUFtRCxDQUFBO0lBRW5ELDZFQUFtRCxDQUFBO0lBQ25ELDJHQUFpRixDQUFBO0lBQ2pGLHFHQUEyRSxDQUFBO0lBQzNFLG1GQUF5RCxDQUFBO0lBRXpELG1GQUF5RCxDQUFBO0lBQ3pELHFIQUEyRixDQUFBO0lBQzNGLG1IQUF5RixDQUFBO0lBRXpGLGlHQUF1RSxDQUFBO0lBQ3ZFLG1HQUF5RSxDQUFBO0lBQ3pFLCtGQUFxRSxDQUFBO0lBQ3JFLHFGQUEyRCxDQUFBO0lBQzNELDZGQUFtRSxDQUFBO0lBQ25FLDJHQUFpRixDQUFBO0lBQ2pGLGlHQUF1RSxDQUFBO0lBQ3ZFLGlHQUF1RSxDQUFBO0lBQ3ZFLGlHQUF1RSxDQUFBO0lBQ3ZFLCtGQUFxRSxDQUFBO0lBQ3JFLG1HQUF5RSxDQUFBO0lBQ3pFLGlHQUF1RSxDQUFBO0lBQ3ZFLDZGQUFtRSxDQUFBO0lBQ25FLGlHQUF1RSxDQUFBO0lBQ3ZFLCtGQUFxRSxDQUFBO0lBQ3JFLDJHQUFpRixDQUFBO0lBQ2pGLG1HQUF5RSxDQUFBO0lBQ3pFLGlHQUF1RSxDQUFBO0lBQ3ZFLCtGQUFxRSxDQUFBO0lBQ3JFLG1HQUF5RSxDQUFBO0lBQ3pFLGlHQUF1RSxDQUFBO0lBQ3ZFLGlHQUF1RSxDQUFBO0lBQ3ZFLG1IQUF5RixDQUFBO0FBQzdGLENBQUMsRUFwQ2lCLHNCQUFzQixLQUF0QixzQkFBc0IsUUFvQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9kdC1ybmQuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9ERVgvcGFnZXMvMTI3ODMxMzY3Ny9SVU0rVXNlcitBY3Rpb24rRXZlbnRcblxuaW1wb3J0IHR5cGUge1xuICAgIENoYXJhY3RlcmlzdGljc0ZpZWxkc0tleXMsXG4gICAgR2VuZXJhbFJ1bUV2ZW50RmllbGRzLFxuICAgIEdlbmVyYWxSdW1FdmVudEZpZWxkc0tleXNcbn0gZnJvbSBcIi4vc2hhcmVkLW5hbWVzcGFjZXMtYW5kLWZpZWxkcy9nZW5lcmFsLXJ1bS1ldmVudC1maWVsZHMuanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgICBDTFNNZXRyaWMsXG4gICAgQ0xTUGFpbnRNZXRyaWNTdGF0dXMsXG4gICAgRXJyb3JDb3VudFN1bW1hcnlGaWVsZHMsXG4gICAgRklETWV0cmljLFxuICAgIEZJRFBhaW50TWV0cmljU3RhdHVzLFxuICAgIElOUE1ldHJpYyxcbiAgICBJTlBQYWludE1ldHJpY1N0YXR1cyxcbiAgICBMQ1BNZXRyaWMsXG4gICAgTENQUGFpbnRNZXRyaWNTdGF0dXMsXG4gICAgTG9uZ1Rhc2tNZXRyaWMsXG4gICAgTG9uZ1Rhc2tNZXRyaWNTdGF0dXMsXG4gICAgUlVNUGFnZVN1bW1hcnlFdmVudEtleXNcbn0gZnJvbSBcIi4vcnVtLXBhZ2Utc3VtbWFyeS1ldmVudC5qc1wiO1xuaW1wb3J0IHR5cGUge1xuICAgIGV2ZW50Q29udGV4dFN5bWJvbCxcbiAgICBSVU1OYXZpZ2F0aW9uVXNlckFjdGlvbkV2ZW50Q29udGV4dCxcbiAgICBSVU1SZXF1ZXN0VXNlckFjdGlvbkV2ZW50Q29udGV4dFxufSBmcm9tIFwiLi9ldmVudC1jb250ZXh0L2V2ZW50LWNvbnRleHQuanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgICBSVU1DbGlja0FjdGlvbkV2ZW50LFxuICAgIFJVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5c1xufSBmcm9tIFwiLi9ydW0tdXNlci1pbnRlcmFjdGlvbi1ldmVudC5qc1wiO1xuaW1wb3J0IHR5cGUge1xuICAgIFJVTUludGVybmFsUmVxdWVzdEZpZWxkc0tleXMsXG4gICAgUlVNUmVzb3VyY2VUaW1pbmdCYXNlZFdlYlJlcXVlc3RFdmVudCxcbiAgICBUcmFjZUNvbnRleHRGaWVsZHNcbn0gZnJvbSBcIi4vcnVtLXdlYi1yZXF1ZXN0LWV2ZW50LmpzXCI7XG5pbXBvcnQgdHlwZSB7IFJlcXVlc3RGaWVsZHNLZXlzIH0gZnJvbSBcIi4vc2hhcmVkLW5hbWVzcGFjZXMtYW5kLWZpZWxkcy9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBSVU1TdGFuZGFsb25lTmF2aWdhdGlvbkV2ZW50IH0gZnJvbSBcIi4vcnVtLXN0YW5kYWxvbmUtbmF2aWdhdGlvbi1ldmVudC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBTQ0hFTUFfVkVSU0lPTiB9IGZyb20gXCIuL3NjaGVtYS12ZXJzaW9ucy5qc1wiO1xuXG4vKipcbiAqIEBpbmxpbmVcbiAqIEBjYXRlZ29yeSBVc2VyIEFjdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgV2ViVml0YWxzRGlzYWJsZWRTdGF0dXMgPSBcImRpc2FibGVkXCI7XG4vKipcbiAqIEBpbmxpbmVcbiAqL1xudHlwZSBFeHRlbmRlZENMU01ldHJpYyA9IE9taXQ8Q0xTTWV0cmljLCBSVU1QYWdlU3VtbWFyeUV2ZW50S2V5cy5DTFMkU1RBVFVTPiAmIHtcbiAgICBbUlVNUGFnZVN1bW1hcnlFdmVudEtleXMuQ0xTJFNUQVRVU106IENMU1BhaW50TWV0cmljU3RhdHVzIHwgV2ViVml0YWxzRGlzYWJsZWRTdGF0dXM7XG59O1xuLyoqXG4gKiBAaW5saW5lXG4gKi9cbnR5cGUgRXh0ZW5kZWRGSURNZXRyaWMgPSBPbWl0PEZJRE1ldHJpYywgUlVNUGFnZVN1bW1hcnlFdmVudEtleXMuRklEJFNUQVRVUz4gJiB7XG4gICAgW1JVTVBhZ2VTdW1tYXJ5RXZlbnRLZXlzLkZJRCRTVEFUVVNdOiBGSURQYWludE1ldHJpY1N0YXR1cyB8IFdlYlZpdGFsc0Rpc2FibGVkU3RhdHVzO1xufTtcbi8qKlxuICogQGlubGluZVxuICovXG50eXBlIEV4dGVuZGVkSU5QTWV0cmljID0gT21pdDxJTlBNZXRyaWMsIFJVTVBhZ2VTdW1tYXJ5RXZlbnRLZXlzLklOUCRTVEFUVVM+ICYge1xuICAgIFtSVU1QYWdlU3VtbWFyeUV2ZW50S2V5cy5JTlAkU1RBVFVTXTogSU5QUGFpbnRNZXRyaWNTdGF0dXMgfCBXZWJWaXRhbHNEaXNhYmxlZFN0YXR1cztcbn07XG4vKipcbiAqIEBpbmxpbmVcbiAqL1xudHlwZSBFeHRlbmRlZExDUE1ldHJpYyA9IE9taXQ8TENQTWV0cmljLCBSVU1QYWdlU3VtbWFyeUV2ZW50S2V5cy5MQ1AkU1RBVFVTPiAmIHtcbiAgICBbUlVNUGFnZVN1bW1hcnlFdmVudEtleXMuTENQJFNUQVRVU106IExDUFBhaW50TWV0cmljU3RhdHVzIHwgV2ViVml0YWxzRGlzYWJsZWRTdGF0dXM7XG59O1xuLyoqXG4gKiBAaW5saW5lXG4gKi9cbnR5cGUgRXh0ZW5kZWRMb25nVGFza01ldHJpYyA9IE9taXQ8TG9uZ1Rhc2tNZXRyaWMsIFJVTVBhZ2VTdW1tYXJ5RXZlbnRLZXlzLkxPTkdfVEFTSyRTVEFUVVM+ICYge1xuICAgIFtSVU1QYWdlU3VtbWFyeUV2ZW50S2V5cy5MT05HX1RBU0skU1RBVFVTXTogTG9uZ1Rhc2tNZXRyaWNTdGF0dXMgfCBXZWJWaXRhbHNEaXNhYmxlZFN0YXR1cztcbn07XG5leHBvcnQgdHlwZSBVc2VyQWN0aW9uV2ViVml0YWxzID0gRXh0ZW5kZWRDTFNNZXRyaWMgJiBFeHRlbmRlZEZJRE1ldHJpYyAmIEV4dGVuZGVkSU5QTWV0cmljICYgRXh0ZW5kZWRMQ1BNZXRyaWMgJiBFeHRlbmRlZExvbmdUYXNrTWV0cmljO1xuXG5leHBvcnQgdHlwZSBVc2VySW50ZXJhY3Rpb25FdmVudFBhcnRzID0gUGljazxcbiAgICBSVU1DbGlja0FjdGlvbkV2ZW50LFxuICAgIHwgUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLkRPTV9FVkVOVCRJU19UUlVTVEVEXG4gICAgfCBSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuSU5URVJBQ1RJT04kTkFNRVxuICAgIHwgUlVNVXNlckludGVyYWN0aW9uRXZlbnRLZXlzLlVJX0VMRU1FTlQkQ1VTVE9NX05BTUVcbiAgICB8IFJVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5VSV9FTEVNRU5UJE5BTUVcbiAgICB8IFJVTVVzZXJJbnRlcmFjdGlvbkV2ZW50S2V5cy5VSV9FTEVNRU5UJE5BTUVfT1JJR0lOXG4gICAgfCBSVU1Vc2VySW50ZXJhY3Rpb25FdmVudEtleXMuVUlfRUxFTUVOVCRUQUdfTkFNRVxuPjtcbnR5cGUgVXNlckFjdGlvblJlcXVlc3RQYXJ0RmllbGRzID0gUGljazxcbiAgICBSVU1SZXNvdXJjZVRpbWluZ0Jhc2VkV2ViUmVxdWVzdEV2ZW50LFxuICAgIHwgUmVxdWVzdEZpZWxkc0tleXMuTkVUV09SSyRQUk9UT0NPTCROQU1FXG4gICAgfCBSZXF1ZXN0RmllbGRzS2V5cy5VUkwkRlVMTFxuICAgIHwgUlVNSW50ZXJuYWxSZXF1ZXN0RmllbGRzS2V5cy5SRVFVRVNUJFNFUlZFUl9USU1JTkdfSElOVFxuICAgIHwgUlVNSW50ZXJuYWxSZXF1ZXN0RmllbGRzS2V5cy5SRVFVRVNUJFRSQUNFX0NPTlRFWFRfSElOVFxuICAgIHwgVHJhY2VDb250ZXh0RmllbGRzLlNQQU4kSURcbiAgICB8IFRyYWNlQ29udGV4dEZpZWxkcy5UUkFDRSRJRFxuICAgIHwgVHJhY2VDb250ZXh0RmllbGRzLlRSQUNFJElTX1NBTVBMRURcbj47XG5cbi8qKlxuICogVGhlIHJlYXNvbnMgYSB1c2VyIGFjdGlvbiBjYW4gY29tcGxldGUgd2l0aC5cbiAqXG4gKiBAY2F0ZWdvcnkgVXNlciBBY3Rpb25zXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjb25zdCBlbnVtIFVzZXJBY3Rpb25Db21wbGV0ZVJlYXNvbiB7XG4gICAgLyoqXG4gICAgICogVGhlIHVzZXIgYWN0aW9uIGNvbXBsZXRlZCBub3JtYWxseSBhZnRlciB0aGUgaW5hY3Rpdml0eSB0aHJlc2hvbGQuXG4gICAgICovXG4gICAgQ09NUExFVEVEID0gXCJjb21wbGV0ZWRcIixcbiAgICAvKipcbiAgICAgKiBUaGUgdXNlciBhY3Rpb24gd2FzIGNvbXBsZXRlZCB1c2luZyB0aGUgQVBJLlxuICAgICAqL1xuICAgIENPTVBMRVRFRF9CWV9BUEkgPSBcImNvbXBsZXRlZF9ieV9hcGlcIixcbiAgICAvKipcbiAgICAgKiBUaGUgdXNlciBhY3Rpb24gd2FzIGludGVycnVwdGVkIGJ5IEFQSS5cbiAgICAgKi9cbiAgICBJTlRFUlJVUFRFRF9CWV9BUEkgPSBcImludGVycnVwdGVkX2J5X2FwaVwiLFxuICAgIC8qKlxuICAgICAqIFRoZSB1c2VyIGFjdGlvbiB3YXMgaW50ZXJydXB0ZWQgYnkgYSBuYXZpZ2F0aW9uLlxuICAgICAqL1xuICAgIElOVEVSUlVQVEVEX0JZX05BVklHQVRJT04gPSBcImludGVycnVwdGVkX2J5X25hdmlnYXRpb25cIixcbiAgICAvKipcbiAgICAgKiBUaGUgdXNlciBhY3Rpb24gd2FzIGludGVycnVwdGVkIGJ5IGEgbmV3IHJlcXVlc3QuXG4gICAgICovXG4gICAgSU5URVJSVVBURURfQllfUkVRVUVTVCA9IFwiaW50ZXJydXB0ZWRfYnlfcmVxdWVzdFwiLFxuICAgIC8qKlxuICAgICAqIFRoZXJlIHdhcyBubyB1c2VyIGFjdGlvbiBvbiB0aGUgcGFnZS5cbiAgICAgKi9cbiAgICBOT19BQ1RJVklUWSA9IFwibm9fYWN0aXZpdHlcIixcbiAgICAvKipcbiAgICAgKiBUaGUgdXNlciBhY3Rpb24gY29tcGxldGVkIGJlY2F1c2UgdGhlIHBhZ2Ugd2FzIGRpc21pc3NlZC5cbiAgICAgKi9cbiAgICBQQUdFX0hJREUgPSBcInBhZ2VfaGlkZVwiLFxuICAgIC8qKlxuICAgICAqIFRoZSB1c2VyIGFjdGlvbiB0b29rIGxvbmdlciB0aGFuIHRoZSB0aW1lb3V0IGFuZCB3YXMgY29tcGxldGVkIGZvcmNlZnVsbHkuXG4gICAgICovXG4gICAgVElNRU9VVCA9IFwidGltZW91dFwiXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIFJVTVVzZXJBY3Rpb25FdmVudEtleXMge1xuICAgIFVTRVJfQUNUSU9OJENPTVBMRVRFX1JFQVNPTiA9IFwidXNlcl9hY3Rpb24uY29tcGxldGVfcmVhc29uXCIsXG4gICAgVVNFUl9BQ1RJT04kQ1VTVE9NX05BTUUgPSBcInVzZXJfYWN0aW9uLmN1c3RvbV9uYW1lXCIsXG5cbiAgICBVU0VSX0FDVElPTiRJTlNUQU5DRV9JRCA9IFwidXNlcl9hY3Rpb24uaW5zdGFuY2VfaWRcIixcbiAgICBVU0VSX0FDVElPTiRJTlRFUlJVUFRFRF9CWV9JTlNUQU5DRV9JRCA9IFwidXNlcl9hY3Rpb24uaW50ZXJydXB0ZWRfYnlfaW5zdGFuY2VfaWRcIixcbiAgICBVU0VSX0FDVElPTiRJTlRFUlJVUFRFRF9JTlNUQU5DRV9JRCA9IFwidXNlcl9hY3Rpb24uaW50ZXJydXB0ZWRfaW5zdGFuY2VfaWRcIixcbiAgICBVU0VSX0FDVElPTiRNVVRBVElPTl9DT1VOVCA9IFwidXNlcl9hY3Rpb24ubXV0YXRpb25fY291bnRcIixcblxuICAgIFVTRVJfQUNUSU9OJFJFUVVFU1RTJENPVU5UID0gXCJ1c2VyX2FjdGlvbi5yZXF1ZXN0cy5jb3VudFwiLFxuICAgIFVTRVJfQUNUSU9OJFJFUVVFU1RTJERBVEFfVVJMX1JFUVVFU1RfQ09VTlQgPSBcInVzZXJfYWN0aW9uLnJlcXVlc3RzLmRhdGFfdXJsX3JlcXVlc3RfY291bnRcIixcbiAgICBVU0VSX0FDVElPTiRSRVFVRVNUUyRQRU5ESU5HX1JFUVVFU1RfQ09VTlQgPSBcInVzZXJfYWN0aW9uLnJlcXVlc3RzLnBlbmRpbmdfcmVxdWVzdF9jb3VudFwiLFxuXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJEFVRElPJENPVU5UID0gXCJ1c2VyX2FjdGlvbi5yZXNvdXJjZXMuYXVkaW8uY291bnRcIixcbiAgICBVU0VSX0FDVElPTiRSRVNPVVJDRVMkQkVBQ09OJENPVU5UID0gXCJ1c2VyX2FjdGlvbi5yZXNvdXJjZXMuYmVhY29uLmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJEJPRFkkQ09VTlQgPSBcInVzZXJfYWN0aW9uLnJlc291cmNlcy5ib2R5LmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJENPVU5UID0gXCJ1c2VyX2FjdGlvbi5yZXNvdXJjZXMuY291bnRcIixcbiAgICBVU0VSX0FDVElPTiRSRVNPVVJDRVMkQ1NTJENPVU5UID0gXCJ1c2VyX2FjdGlvbi5yZXNvdXJjZXMuY3NzLmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJEVBUkxZX0hJTlQkQ09VTlQgPSBcInVzZXJfYWN0aW9uLnJlc291cmNlcy5lYXJseS1oaW50LmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJEVNQkVEJENPVU5UID0gXCJ1c2VyX2FjdGlvbi5yZXNvdXJjZXMuZW1iZWQuY291bnRcIixcbiAgICBVU0VSX0FDVElPTiRSRVNPVVJDRVMkRkVUQ0gkQ09VTlQgPSBcInVzZXJfYWN0aW9uLnJlc291cmNlcy5mZXRjaC5jb3VudFwiLFxuICAgIFVTRVJfQUNUSU9OJFJFU09VUkNFUyRGUkFNRSRDT1VOVCA9IFwidXNlcl9hY3Rpb24ucmVzb3VyY2VzLmZyYW1lLmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJElDT04kQ09VTlQgPSBcInVzZXJfYWN0aW9uLnJlc291cmNlcy5pY29uLmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJElGUkFNRSRDT1VOVCA9IFwidXNlcl9hY3Rpb24ucmVzb3VyY2VzLmlmcmFtZS5jb3VudFwiLFxuICAgIFVTRVJfQUNUSU9OJFJFU09VUkNFUyRJTUFHRSRDT1VOVCA9IFwidXNlcl9hY3Rpb24ucmVzb3VyY2VzLmltYWdlLmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJElNRyRDT1VOVCA9IFwidXNlcl9hY3Rpb24ucmVzb3VyY2VzLmltZy5jb3VudFwiLFxuICAgIFVTRVJfQUNUSU9OJFJFU09VUkNFUyRJTlBVVCRDT1VOVCA9IFwidXNlcl9hY3Rpb24ucmVzb3VyY2VzLmlucHV0LmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJExJTkskQ09VTlQgPSBcInVzZXJfYWN0aW9uLnJlc291cmNlcy5saW5rLmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJE5BVklHQVRJT04kQ09VTlQgPSBcInVzZXJfYWN0aW9uLnJlc291cmNlcy5uYXZpZ2F0aW9uLmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJE9CSkVDVCRDT1VOVCA9IFwidXNlcl9hY3Rpb24ucmVzb3VyY2VzLm9iamVjdC5jb3VudFwiLFxuICAgIFVTRVJfQUNUSU9OJFJFU09VUkNFUyRPVEhFUiRDT1VOVCA9IFwidXNlcl9hY3Rpb24ucmVzb3VyY2VzLm90aGVyLmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJFBJTkckQ09VTlQgPSBcInVzZXJfYWN0aW9uLnJlc291cmNlcy5waW5nLmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJFNDUklQVCRDT1VOVCA9IFwidXNlcl9hY3Rpb24ucmVzb3VyY2VzLnNjcmlwdC5jb3VudFwiLFxuICAgIFVTRVJfQUNUSU9OJFJFU09VUkNFUyRUUkFDSyRDT1VOVCA9IFwidXNlcl9hY3Rpb24ucmVzb3VyY2VzLnRyYWNrLmNvdW50XCIsXG4gICAgVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJFZJREVPJENPVU5UID0gXCJ1c2VyX2FjdGlvbi5yZXNvdXJjZXMudmlkZW8uY291bnRcIixcbiAgICBVU0VSX0FDVElPTiRSRVNPVVJDRVMkWE1MSFRUUFJFUVVFU1QkQ09VTlQgPSBcInVzZXJfYWN0aW9uLnJlc291cmNlcy54bWxodHRwcmVxdWVzdC5jb3VudFwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVJVTVVzZXJBY3Rpb25FdmVudFJlcXVlc3RGaWVsZHMge1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJFJFUVVFU1RTJFBFTkRJTkdfUkVRVUVTVF9DT1VOVF06IG51bWJlcjtcbiAgICBbUlVNVXNlckFjdGlvbkV2ZW50S2V5cy5VU0VSX0FDVElPTiRSRVFVRVNUUyREQVRBX1VSTF9SRVFVRVNUX0NPVU5UXTogbnVtYmVyO1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJFJFUVVFU1RTJENPVU5UXTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VSVU1Vc2VyQWN0aW9uRXZlbnRSZXNvdXJjZXNGaWVsZHMge1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJFJFU09VUkNFUyRDT1VOVF06IG51bWJlcjtcbiAgICBbUlVNVXNlckFjdGlvbkV2ZW50S2V5cy5VU0VSX0FDVElPTiRSRVNPVVJDRVMkQVVESU8kQ09VTlRdPzogbnVtYmVyO1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJFJFU09VUkNFUyRCRUFDT04kQ09VTlRdPzogbnVtYmVyO1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJFJFU09VUkNFUyRCT0RZJENPVU5UXT86IG51bWJlcjtcbiAgICBbUlVNVXNlckFjdGlvbkV2ZW50S2V5cy5VU0VSX0FDVElPTiRSRVNPVVJDRVMkQ1NTJENPVU5UXT86IG51bWJlcjtcbiAgICBbUlVNVXNlckFjdGlvbkV2ZW50S2V5cy5VU0VSX0FDVElPTiRSRVNPVVJDRVMkRUFSTFlfSElOVCRDT1VOVF0/OiBudW1iZXI7XG4gICAgW1JVTVVzZXJBY3Rpb25FdmVudEtleXMuVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJEVNQkVEJENPVU5UXT86IG51bWJlcjtcbiAgICBbUlVNVXNlckFjdGlvbkV2ZW50S2V5cy5VU0VSX0FDVElPTiRSRVNPVVJDRVMkRkVUQ0gkQ09VTlRdPzogbnVtYmVyO1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJFJFU09VUkNFUyRGUkFNRSRDT1VOVF0/OiBudW1iZXI7XG4gICAgW1JVTVVzZXJBY3Rpb25FdmVudEtleXMuVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJElDT04kQ09VTlRdPzogbnVtYmVyO1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJFJFU09VUkNFUyRJRlJBTUUkQ09VTlRdPzogbnVtYmVyO1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJFJFU09VUkNFUyRJTUFHRSRDT1VOVF0/OiBudW1iZXI7XG4gICAgW1JVTVVzZXJBY3Rpb25FdmVudEtleXMuVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJElNRyRDT1VOVF0/OiBudW1iZXI7XG4gICAgW1JVTVVzZXJBY3Rpb25FdmVudEtleXMuVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJElOUFVUJENPVU5UXT86IG51bWJlcjtcbiAgICBbUlVNVXNlckFjdGlvbkV2ZW50S2V5cy5VU0VSX0FDVElPTiRSRVNPVVJDRVMkTElOSyRDT1VOVF0/OiBudW1iZXI7XG4gICAgW1JVTVVzZXJBY3Rpb25FdmVudEtleXMuVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJE5BVklHQVRJT04kQ09VTlRdPzogbnVtYmVyO1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJFJFU09VUkNFUyRPQkpFQ1QkQ09VTlRdPzogbnVtYmVyO1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJFJFU09VUkNFUyRPVEhFUiRDT1VOVF0/OiBudW1iZXI7XG4gICAgW1JVTVVzZXJBY3Rpb25FdmVudEtleXMuVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJFBJTkckQ09VTlRdPzogbnVtYmVyO1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJFJFU09VUkNFUyRTQ1JJUFQkQ09VTlRdPzogbnVtYmVyO1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJFJFU09VUkNFUyRUUkFDSyRDT1VOVF0/OiBudW1iZXI7XG4gICAgW1JVTVVzZXJBY3Rpb25FdmVudEtleXMuVVNFUl9BQ1RJT04kUkVTT1VSQ0VTJFZJREVPJENPVU5UXT86IG51bWJlcjtcbiAgICBbUlVNVXNlckFjdGlvbkV2ZW50S2V5cy5VU0VSX0FDVElPTiRSRVNPVVJDRVMkWE1MSFRUUFJFUVVFU1QkQ09VTlRdPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VSVU1Vc2VyQWN0aW9uRXZlbnQgZXh0ZW5kcyBHZW5lcmFsUnVtRXZlbnRGaWVsZHMsIEJhc2VSVU1Vc2VyQWN0aW9uRXZlbnRSZXF1ZXN0RmllbGRzLCBCYXNlUlVNVXNlckFjdGlvbkV2ZW50UmVzb3VyY2VzRmllbGRzLCBFcnJvckNvdW50U3VtbWFyeUZpZWxkcywgVXNlckFjdGlvbldlYlZpdGFscyB7XG4gICAgW0NoYXJhY3RlcmlzdGljc0ZpZWxkc0tleXMuQ0hBUkFDVEVSSVNUSUNTJEhBU19VU0VSX0FDVElPTl06IHRydWU7XG4gICAgW0dlbmVyYWxSdW1FdmVudEZpZWxkc0tleXMuRFQkUlVNJFNDSEVNQV9WRVJTSU9OXTogdHlwZW9mIFNDSEVNQV9WRVJTSU9OO1xuXG4gICAgW1JVTVVzZXJBY3Rpb25FdmVudEtleXMuVVNFUl9BQ1RJT04kSU5TVEFOQ0VfSURdOiBzdHJpbmc7XG4gICAgW1JVTVVzZXJBY3Rpb25FdmVudEtleXMuVVNFUl9BQ1RJT04kTVVUQVRJT05fQ09VTlRdOiBudW1iZXI7XG5cbiAgICBbUlVNVXNlckFjdGlvbkV2ZW50S2V5cy5VU0VSX0FDVElPTiRDT01QTEVURV9SRUFTT05dOiBVc2VyQWN0aW9uQ29tcGxldGVSZWFzb247XG5cbiAgICBbUlVNVXNlckFjdGlvbkV2ZW50S2V5cy5VU0VSX0FDVElPTiRDVVNUT01fTkFNRV0/OiBzdHJpbmc7XG4gICAgW1JVTVVzZXJBY3Rpb25FdmVudEtleXMuVVNFUl9BQ1RJT04kSU5URVJSVVBURURfQllfSU5TVEFOQ0VfSURdPzogc3RyaW5nO1xuICAgIFtSVU1Vc2VyQWN0aW9uRXZlbnRLZXlzLlVTRVJfQUNUSU9OJElOVEVSUlVQVEVEX0lOU1RBTkNFX0lEXT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBBY3Rpb25zXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBpVXNlckFjdGlvbkpTT05FdmVudCBleHRlbmRzIEJhc2VSVU1Vc2VyQWN0aW9uRXZlbnQge1xuICAgIFtDaGFyYWN0ZXJpc3RpY3NGaWVsZHNLZXlzLkNIQVJBQ1RFUklTVElDUyRJU19BUElfUkVQT1JURURdOiB0cnVlO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEFjdGlvbnNcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0VXNlckFjdGlvbkpTT05FdmVudCBleHRlbmRzIEJhc2VSVU1Vc2VyQWN0aW9uRXZlbnQsIFVzZXJJbnRlcmFjdGlvbkV2ZW50UGFydHMsIFVzZXJBY3Rpb25SZXF1ZXN0UGFydEZpZWxkcyB7XG4gICAgW2V2ZW50Q29udGV4dFN5bWJvbF06IFJVTVJlcXVlc3RVc2VyQWN0aW9uRXZlbnRDb250ZXh0O1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBVc2VyIEFjdGlvbnNcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uVXNlckFjdGlvbkpTT05FdmVudCBleHRlbmRzIEJhc2VSVU1Vc2VyQWN0aW9uRXZlbnQsIFBhcnRpYWw8VXNlckludGVyYWN0aW9uRXZlbnRQYXJ0cz4sIE9taXQ8UlVNU3RhbmRhbG9uZU5hdmlnYXRpb25FdmVudCwgdHlwZW9mIGV2ZW50Q29udGV4dFN5bWJvbD4ge1xuICAgIFtldmVudENvbnRleHRTeW1ib2xdOiBSVU1OYXZpZ2F0aW9uVXNlckFjdGlvbkV2ZW50Q29udGV4dDtcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgVXNlciBBY3Rpb25zXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCB0eXBlIFJVTVVzZXJBY3Rpb25FdmVudCA9IEFwaVVzZXJBY3Rpb25KU09ORXZlbnQgfCBOYXZpZ2F0aW9uVXNlckFjdGlvbkpTT05FdmVudCB8IFJlcXVlc3RVc2VyQWN0aW9uSlNPTkV2ZW50O1xuIl19