@sbb-esta/lyne-elements-experimental 2.6.0 → 2.7.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 (100) hide show
  1. package/core/datetime/date-helper.js +191 -0
  2. package/core/datetime.d.ts +3 -0
  3. package/core/datetime.d.ts.map +1 -1
  4. package/core/datetime.js +3 -189
  5. package/core/timetable/access-leg-helper.js +94 -0
  6. package/core/timetable/timetable-helper.js +13 -0
  7. package/core/timetable/timetable-properties.js +1 -0
  8. package/core/timetable.d.ts +3 -0
  9. package/core/timetable.d.ts.map +1 -1
  10. package/core/timetable.js +6 -102
  11. package/custom-elements.json +598 -439
  12. package/development/core/datetime/date-helper.js +285 -0
  13. package/development/core/datetime.d.ts +3 -0
  14. package/development/core/datetime.d.ts.map +1 -1
  15. package/development/core/datetime.js +2 -281
  16. package/development/core/timetable/access-leg-helper.js +128 -0
  17. package/development/core/timetable/timetable-helper.js +21 -0
  18. package/development/core/timetable/timetable-properties.js +2 -0
  19. package/development/core/timetable.d.ts +3 -0
  20. package/development/core/timetable.d.ts.map +1 -1
  21. package/development/core/timetable.js +3 -139
  22. package/development/{differenceInMinutes-Cmyza6nm.js → differenceInMinutes-CHSyWiQs.js} +2 -2
  23. package/development/{format-BU7bjY-L.js → format-D0-yhzi4.js} +3 -3
  24. package/development/{isValid-DO_pHwcW.js → isValid-Bo4R7iA7.js} +2 -2
  25. package/development/journey-summary/journey-summary.js +297 -0
  26. package/development/journey-summary.d.ts +3 -0
  27. package/development/journey-summary.d.ts.map +1 -1
  28. package/development/journey-summary.js +2 -294
  29. package/development/pearl-chain/pearl-chain.js +649 -0
  30. package/development/pearl-chain-time/pearl-chain-time.js +315 -0
  31. package/development/pearl-chain-time.d.ts +3 -0
  32. package/development/pearl-chain-time.d.ts.map +1 -1
  33. package/development/pearl-chain-time.js +2 -312
  34. package/development/pearl-chain-vertical/pearl-chain-vertical.js +45 -0
  35. package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.js +395 -0
  36. package/development/pearl-chain-vertical-item.d.ts +3 -0
  37. package/development/pearl-chain-vertical-item.d.ts.map +1 -1
  38. package/development/pearl-chain-vertical-item.js +2 -392
  39. package/development/pearl-chain-vertical.d.ts +3 -0
  40. package/development/pearl-chain-vertical.d.ts.map +1 -1
  41. package/development/pearl-chain-vertical.js +2 -42
  42. package/development/pearl-chain.d.ts +3 -0
  43. package/development/pearl-chain.d.ts.map +1 -1
  44. package/development/pearl-chain.js +2 -646
  45. package/development/timetable-duration/timetable-duration.js +119 -0
  46. package/development/timetable-duration.d.ts +3 -0
  47. package/development/timetable-duration.d.ts.map +1 -1
  48. package/development/timetable-duration.js +2 -116
  49. package/development/timetable-row/timetable-row.js +820 -0
  50. package/development/timetable-row.d.ts +3 -0
  51. package/development/timetable-row.d.ts.map +1 -1
  52. package/development/timetable-row.js +2 -810
  53. package/development/{toDate-B6IBgPYH.js → toDate-D_Vjps95.js} +5 -5
  54. package/{differenceInMinutes-BI2zjbtS.js → differenceInMinutes-BMqUZdhj.js} +1 -1
  55. package/{format-CUYwLzoN.js → format-Dg8rkk7h.js} +2 -2
  56. package/index.d.ts +7 -7
  57. package/index.js +7 -7
  58. package/{isValid-mroh13Xp.js → isValid-DJ69OMZJ.js} +6 -6
  59. package/journey-summary/journey-summary.js +190 -0
  60. package/journey-summary.d.ts +3 -0
  61. package/journey-summary.d.ts.map +1 -1
  62. package/journey-summary.js +2 -188
  63. package/package.json +3 -3
  64. package/pearl-chain/pearl-chain.js +177 -0
  65. package/pearl-chain-time/pearl-chain-time.js +153 -0
  66. package/pearl-chain-time.d.ts +3 -0
  67. package/pearl-chain-time.d.ts.map +1 -1
  68. package/pearl-chain-time.js +2 -151
  69. package/pearl-chain-vertical/pearl-chain-vertical.js +23 -0
  70. package/pearl-chain-vertical-item/pearl-chain-vertical-item.js +71 -0
  71. package/pearl-chain-vertical-item.d.ts +3 -0
  72. package/pearl-chain-vertical-item.d.ts.map +1 -1
  73. package/pearl-chain-vertical-item.js +2 -69
  74. package/pearl-chain-vertical.d.ts +3 -0
  75. package/pearl-chain-vertical.d.ts.map +1 -1
  76. package/pearl-chain-vertical.js +2 -21
  77. package/pearl-chain.d.ts +3 -0
  78. package/pearl-chain.d.ts.map +1 -1
  79. package/pearl-chain.js +2 -175
  80. package/timetable-duration/timetable-duration.js +55 -0
  81. package/timetable-duration.d.ts +3 -0
  82. package/timetable-duration.d.ts.map +1 -1
  83. package/timetable-duration.js +2 -53
  84. package/timetable-row/timetable-row.js +462 -0
  85. package/timetable-row.d.ts +3 -0
  86. package/timetable-row.d.ts.map +1 -1
  87. package/timetable-row.js +9 -460
  88. package/{toDate-DQg4ZFnf.js → toDate-BCXKL_wM.js} +4 -4
  89. package/development/pearl-chain/pearl-chain.sample-data.d.ts +0 -141
  90. package/development/pearl-chain/pearl-chain.sample-data.d.ts.map +0 -1
  91. package/development/timetable-duration/timetable-duration.sample-data.d.ts +0 -6
  92. package/development/timetable-duration/timetable-duration.sample-data.d.ts.map +0 -1
  93. package/development/timetable-row/timetable-row.sample-data.d.ts +0 -25
  94. package/development/timetable-row/timetable-row.sample-data.d.ts.map +0 -1
  95. package/pearl-chain/pearl-chain.sample-data.d.ts +0 -141
  96. package/pearl-chain/pearl-chain.sample-data.d.ts.map +0 -1
  97. package/timetable-duration/timetable-duration.sample-data.d.ts +0 -6
  98. package/timetable-duration/timetable-duration.sample-data.d.ts.map +0 -1
  99. package/timetable-row/timetable-row.sample-data.d.ts +0 -25
  100. package/timetable-row/timetable-row.sample-data.d.ts.map +0 -1
@@ -1,145 +1,9 @@
1
- import { i18nWalkingDistanceDeparture, i18nWalkingDistanceArrival } from "@sbb-esta/lyne-elements/core/i18n.js";
2
- import { nothing, html } from "lit";
3
- import "@sbb-esta/lyne-elements/icon.js";
4
- const isRideLeg = (leg) => {
5
- return (leg == null ? void 0 : leg.__typename) === "PTRideLeg";
6
- };
7
- const isConnectionLeg = (leg) => {
8
- return (leg == null ? void 0 : leg.__typename) === "PTConnectionLeg";
9
- };
10
- const extractTimeAndStringFromNoticeText = (notice) => {
11
- var _a, _b, _c, _d, _e, _f;
12
- const firstIndex = ((_a = notice == null ? void 0 : notice.text) == null ? void 0 : _a.template) && notice.text.template.indexOf("(") + 1;
13
- const noticeDuration = (_d = (_b = notice == null ? void 0 : notice.text) == null ? void 0 : _b.template) == null ? void 0 : _d.substring(firstIndex || 0, (_c = notice == null ? void 0 : notice.text) == null ? void 0 : _c.template.indexOf(")"));
14
- return {
15
- duration: noticeDuration && +noticeDuration.substring(0, noticeDuration.length - 1) || 0,
16
- text: ((_f = (_e = notice == null ? void 0 : notice.text) == null ? void 0 : _e.template) == null ? void 0 : _f.split("(")[0]) || ""
17
- };
18
- };
19
- function getPTConnectionAttribute(leg, connectionLegNotice) {
20
- var _a, _b;
21
- const connectionFirstLeg = isConnectionLeg(leg) ? leg : null;
22
- const connectionFirstLegNotice = connectionFirstLeg ? (_a = connectionFirstLeg == null ? void 0 : connectionFirstLeg.notices) == null ? void 0 : _a.filter((notice) => connectionLegNotice.includes(notice.name))[0] : null;
23
- return connectionFirstLegNotice ? {
24
- duration: (connectionFirstLeg == null ? void 0 : connectionFirstLeg.duration) || 0,
25
- text: ((_b = connectionFirstLegNotice == null ? void 0 : connectionFirstLegNotice.text) == null ? void 0 : _b.template) || "",
26
- icon: "walk-small"
27
- } : null;
28
- }
29
- function getFirstExtendedLegAttribute(leg, departureWalk, a11yFootpath, currentLanguage) {
30
- var _a, _b, _c;
31
- const extendedFirstLeg = isRideLeg(leg) ? (_b = (_a = leg == null ? void 0 : leg.serviceJourney) == null ? void 0 : _a.notices) == null ? void 0 : _b.filter((notice) => ["CI"].includes(notice.name))[0] : null;
32
- const extractTimeAndString = extendedFirstLeg && extractTimeAndStringFromNoticeText(extendedFirstLeg);
33
- return extendedFirstLeg ? {
34
- duration: ((extractTimeAndString == null ? void 0 : extractTimeAndString.duration) || 0) + (departureWalk || 0),
35
- text: a11yFootpath ? i18nWalkingDistanceDeparture[currentLanguage] : (extractTimeAndString == null ? void 0 : extractTimeAndString.text) || "",
36
- icon: a11yFootpath ? "wheelchair-small" : `sa-${(_c = extendedFirstLeg == null ? void 0 : extendedFirstLeg.name) == null ? void 0 : _c.toLowerCase()}`
37
- } : null;
38
- }
39
- function getLastExtendedLegAttribute(leg, arrivalWalk, a11yFootpath, currentLanguage) {
40
- var _a, _b, _c;
41
- const extendedLastLeg = isRideLeg(leg) ? (_b = (_a = leg == null ? void 0 : leg.serviceJourney) == null ? void 0 : _a.notices) == null ? void 0 : _b.filter((notice) => ["CO"].includes(notice.name))[0] : null;
42
- const extractTimeAndString = extendedLastLeg && extractTimeAndStringFromNoticeText(extendedLastLeg);
43
- return extendedLastLeg ? {
44
- duration: ((extractTimeAndString == null ? void 0 : extractTimeAndString.duration) || 0) + (arrivalWalk || 0),
45
- text: a11yFootpath ? i18nWalkingDistanceArrival[currentLanguage] : (extractTimeAndString == null ? void 0 : extractTimeAndString.text) || "",
46
- icon: a11yFootpath ? "wheelchair-small" : `sa-${(_c = extendedLastLeg == null ? void 0 : extendedLastLeg.name) == null ? void 0 : _c.toLowerCase()}`
47
- } : null;
48
- }
49
- function renderTransferTime(duration, icon, currentLanguage, label, type) {
50
- return html`
51
- <span class="sbb-pearl-chain__time-transfer sbb-pearl-chain__time-transfer--${icon}-${type}">
52
- <sbb-icon name=${icon}></sbb-icon>
53
- <time datetime=${duration + "M"}>
54
- <span class="sbb-screen-reader-only">
55
- ${!label && type ? type === "departure" ? i18nWalkingDistanceDeparture[currentLanguage] : i18nWalkingDistanceArrival[currentLanguage] : nothing}
56
- ${label ? html`<span>${label}</span>` : nothing}&nbsp;
57
- </span>
58
- ${duration}
59
- <span class="sbb-pearl-chain__time-walktime-prime-symbol" aria-hidden="true">'</span>
60
- <span class="sbb-screen-reader-only">min</span>
61
- </time>
62
- </span>
63
- `;
64
- }
65
- function renderWalkTime(duration, label, variant, icon) {
66
- return html`
67
- <span class="sbb-pearl-chain__time-walktime sbb-pearl-chain__time-walktime--${icon}-${variant}">
68
- <sbb-icon name=${icon}></sbb-icon>
69
- <time datetime=${duration + "M"}>
70
- <span class="sbb-screen-reader-only">${label}</span>
71
- ${duration}
72
- <span class="sbb-pearl-chain__time-walktime-prime-symbol" aria-hidden="true">'</span>
73
- </time>
74
- </span>
75
- `;
76
- }
77
- function getDepartureArrivalTimeAttribute(legs, departureWalk, arrivalWalk, currentLanguage, a11yFootpath) {
78
- const connectionRideLeg = legs && legs.filter((leg) => isRideLeg(leg) || isConnectionLeg(leg))[0];
79
- const connectionLegNotice = ["YM", "YB", "Y", "YT"];
80
- const connectionFirstLeg = getPTConnectionAttribute(connectionRideLeg, connectionLegNotice);
81
- const extendedFirstLeg = getFirstExtendedLegAttribute(connectionRideLeg, departureWalk, a11yFootpath, currentLanguage);
82
- const departureWalkAttribute = departureWalk ? {
83
- text: i18nWalkingDistanceDeparture[currentLanguage],
84
- duration: departureWalk,
85
- icon: a11yFootpath ? "wheelchair-small" : "walk-small"
86
- } : null;
87
- const getDepartureType = () => {
88
- if (connectionFirstLeg) {
89
- return connectionFirstLeg;
90
- } else if (departureWalkAttribute && !extendedFirstLeg && !connectionFirstLeg) {
91
- return departureWalkAttribute;
92
- } else if (extendedFirstLeg) {
93
- return extendedFirstLeg;
94
- } else {
95
- return null;
96
- }
97
- };
98
- function renderDepartureTimeAttribute() {
99
- return html`
100
- ${connectionFirstLeg ? renderWalkTime(connectionFirstLeg.duration, connectionFirstLeg.text, "left", connectionFirstLeg.icon) : nothing}
101
- ${departureWalkAttribute && !extendedFirstLeg && !connectionFirstLeg ? renderWalkTime(departureWalkAttribute.duration, departureWalkAttribute.text, "left", departureWalkAttribute.icon) : nothing}
102
- ${extendedFirstLeg ? a11yFootpath ? renderWalkTime(extendedFirstLeg.duration, extendedFirstLeg.text, "left", extendedFirstLeg.icon) : renderTransferTime(extendedFirstLeg.duration, extendedFirstLeg.icon, currentLanguage, extendedFirstLeg.text, "departure") : nothing}
103
- `;
104
- }
105
- const lastLeg = legs && legs[legs.length - 1];
106
- const lastConnectionRideLeg = (isConnectionLeg(lastLeg) || isRideLeg(lastLeg)) && lastLeg;
107
- const connectionLastLeg = lastConnectionRideLeg && getPTConnectionAttribute(lastConnectionRideLeg, connectionLegNotice);
108
- const extendedLastLeg = lastConnectionRideLeg && getLastExtendedLegAttribute(lastConnectionRideLeg, arrivalWalk, a11yFootpath, currentLanguage);
109
- const arrivalWalkAttribute = arrivalWalk ? {
110
- text: i18nWalkingDistanceArrival[currentLanguage],
111
- duration: arrivalWalk,
112
- icon: a11yFootpath ? "wheelchair-small" : "walk-small"
113
- } : null;
114
- const getArrivalType = () => {
115
- if (connectionLastLeg) {
116
- return connectionLastLeg;
117
- } else if (arrivalWalkAttribute && !extendedLastLeg && !connectionLastLeg) {
118
- return arrivalWalkAttribute;
119
- } else if (extendedLastLeg) {
120
- return extendedLastLeg;
121
- } else {
122
- return null;
123
- }
124
- };
125
- function renderArrivalTimeAttribute() {
126
- return html`
127
- ${connectionLastLeg ? renderWalkTime(connectionLastLeg.duration, connectionLastLeg.text, "right", connectionLastLeg.icon) : nothing}
128
- ${arrivalWalkAttribute && !extendedLastLeg && !connectionLastLeg ? renderWalkTime(arrivalWalkAttribute.duration, arrivalWalkAttribute.text, "right", arrivalWalkAttribute.icon) : nothing}
129
- ${extendedLastLeg ? a11yFootpath ? renderWalkTime(extendedLastLeg.duration, extendedLastLeg.text, "right", extendedLastLeg.icon) : renderTransferTime(extendedLastLeg.duration, extendedLastLeg.icon, currentLanguage, extendedLastLeg.text, "arrival") : nothing}
130
- `;
131
- }
132
- return {
133
- renderDepartureTimeAttribute,
134
- renderArrivalTimeAttribute,
135
- departureTimeAttribute: getDepartureType(),
136
- arrivalTimeAttribute: getArrivalType()
137
- };
138
- }
1
+ import { getDepartureArrivalTimeAttribute } from "./timetable/access-leg-helper.js";
2
+ import { extractTimeAndStringFromNoticeText, isConnectionLeg, isRideLeg } from "./timetable/timetable-helper.js";
139
3
  export {
140
4
  extractTimeAndStringFromNoticeText,
141
5
  getDepartureArrivalTimeAttribute,
142
6
  isConnectionLeg,
143
7
  isRideLeg
144
8
  };
145
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXRhYmxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2NvcmUvdGltZXRhYmxlL3RpbWV0YWJsZS1oZWxwZXIudHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMtZXhwZXJpbWVudGFsL2NvcmUvdGltZXRhYmxlL2FjY2Vzcy1sZWctaGVscGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuXG5pbXBvcnQgdHlwZSB7IExlZywgTm90aWNlIH0gZnJvbSAnLi90aW1ldGFibGUtcHJvcGVydGllcy5qcyc7XG5cbmV4cG9ydCBjb25zdCBpc1JpZGVMZWcgPSAobGVnOiBhbnkpOiBsZWcgaXMgRXh0cmFjdDxMZWcsIHsgX190eXBlbmFtZTogJ1BUUmlkZUxlZycgfT4gPT4ge1xuICByZXR1cm4gbGVnPy5fX3R5cGVuYW1lID09PSAnUFRSaWRlTGVnJztcbn07XG5cbmV4cG9ydCBjb25zdCBpc0Nvbm5lY3Rpb25MZWcgPSAoXG4gIGxlZzogYW55LFxuKTogbGVnIGlzIEV4dHJhY3Q8TGVnLCB7IF9fdHlwZW5hbWU6ICdQVENvbm5lY3Rpb25MZWcnIH0+ID0+IHtcbiAgcmV0dXJuIGxlZz8uX190eXBlbmFtZSA9PT0gJ1BUQ29ubmVjdGlvbkxlZyc7XG59O1xuXG5leHBvcnQgY29uc3QgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dCA9IChcbiAgbm90aWNlPzogTm90aWNlLFxuKTogeyBkdXJhdGlvbjogbnVtYmVyOyB0ZXh0OiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IGZpcnN0SW5kZXggPSBub3RpY2U/LnRleHQ/LnRlbXBsYXRlICYmIG5vdGljZS50ZXh0LnRlbXBsYXRlLmluZGV4T2YoJygnKSArIDE7XG4gIGNvbnN0IG5vdGljZUR1cmF0aW9uID0gbm90aWNlPy50ZXh0Py50ZW1wbGF0ZT8uc3Vic3RyaW5nKFxuICAgIGZpcnN0SW5kZXggfHwgMCxcbiAgICBub3RpY2U/LnRleHQ/LnRlbXBsYXRlLmluZGV4T2YoJyknKSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGR1cmF0aW9uOiAobm90aWNlRHVyYXRpb24gJiYgK25vdGljZUR1cmF0aW9uLnN1YnN0cmluZygwLCBub3RpY2VEdXJhdGlvbi5sZW5ndGggLSAxKSkgfHwgMCxcbiAgICB0ZXh0OiBub3RpY2U/LnRleHQ/LnRlbXBsYXRlPy5zcGxpdCgnKCcpWzBdIHx8ICcnLFxuICB9O1xufTtcbiIsIi8vIFRoaXMgaGVscGVyIGZpbGUgY29udGFpbnMgc2V2ZXJhbCBmdW5jdGlvbnMgcmVsYXRlZCB0byBhY2Nlc3NpbmcgYXR0cmlidXRlcyBmb3IgdGhlIGNvbm5lY3Rpb25zLlxuXG5pbXBvcnQge1xuICBpMThuV2Fsa2luZ0Rpc3RhbmNlQXJyaXZhbCxcbiAgaTE4bldhbGtpbmdEaXN0YW5jZURlcGFydHVyZSxcbn0gZnJvbSAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvY29yZS9pMThuLmpzJztcbmltcG9ydCB0eXBlIHsgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgbm90aGluZyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7XG4gIGV4dHJhY3RUaW1lQW5kU3RyaW5nRnJvbU5vdGljZVRleHQsXG4gIGlzQ29ubmVjdGlvbkxlZyxcbiAgaXNSaWRlTGVnLFxufSBmcm9tICcuL3RpbWV0YWJsZS1oZWxwZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBMZWcsIFB0Q29ubmVjdGlvbkxlZywgUHRSaWRlTGVnIH0gZnJvbSAnLi90aW1ldGFibGUtcHJvcGVydGllcy5qcyc7XG5cbmltcG9ydCAnQHNiYi1lc3RhL2x5bmUtZWxlbWVudHMvaWNvbi5qcyc7XG5cbmludGVyZmFjZSBJQWNjZXNzQXR0cmlidXRlIHtcbiAgZHVyYXRpb246IG51bWJlcjtcbiAgdGV4dDogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQHJldHVybnMgdGhlIGF0dHJpYnV0ZSBvZiBhIENvbm5lY3Rpb25MZWdcbiAqL1xuZnVuY3Rpb24gZ2V0UFRDb25uZWN0aW9uQXR0cmlidXRlKFxuICBsZWc6IFB0UmlkZUxlZyB8IFB0Q29ubmVjdGlvbkxlZyxcbiAgY29ubmVjdGlvbkxlZ05vdGljZTogc3RyaW5nW10sXG4pOiBJQWNjZXNzQXR0cmlidXRlIHwgbnVsbCB7XG4gIGNvbnN0IGNvbm5lY3Rpb25GaXJzdExlZyA9IGlzQ29ubmVjdGlvbkxlZyhsZWcpID8gKGxlZyBhcyBQdENvbm5lY3Rpb25MZWcpIDogbnVsbDtcblxuICBjb25zdCBjb25uZWN0aW9uRmlyc3RMZWdOb3RpY2UgPSBjb25uZWN0aW9uRmlyc3RMZWdcbiAgICA/IGNvbm5lY3Rpb25GaXJzdExlZz8ubm90aWNlcz8uZmlsdGVyKChub3RpY2UpID0+IGNvbm5lY3Rpb25MZWdOb3RpY2UuaW5jbHVkZXMobm90aWNlLm5hbWUpKVswXVxuICAgIDogbnVsbDtcblxuICByZXR1cm4gY29ubmVjdGlvbkZpcnN0TGVnTm90aWNlXG4gICAgPyB7XG4gICAgICAgIGR1cmF0aW9uOiBjb25uZWN0aW9uRmlyc3RMZWc/LmR1cmF0aW9uIHx8IDAsXG4gICAgICAgIHRleHQ6IGNvbm5lY3Rpb25GaXJzdExlZ05vdGljZT8udGV4dD8udGVtcGxhdGUgfHwgJycsXG4gICAgICAgIGljb246ICd3YWxrLXNtYWxsJyxcbiAgICAgIH1cbiAgICA6IG51bGw7XG59XG5cbi8qKlxuICogQHJldHVybnMgdGhlIGV4dGVuZGVkIGVudGVyIGF0dHJpYnV0ZSBvZiB0aGUgUFRSaWRlTGVnXG4gKi9cbmZ1bmN0aW9uIGdldEZpcnN0RXh0ZW5kZWRMZWdBdHRyaWJ1dGUoXG4gIGxlZzogUHRSaWRlTGVnIHwgUHRDb25uZWN0aW9uTGVnLFxuICBkZXBhcnR1cmVXYWxrOiBudW1iZXIsXG4gIGExMXlGb290cGF0aDogYm9vbGVhbiB8IHVuZGVmaW5lZCxcbiAgY3VycmVudExhbmd1YWdlOiBzdHJpbmcsXG4pOiBJQWNjZXNzQXR0cmlidXRlIHwgbnVsbCB7XG4gIC8vIEV4dGVuZGVkIGVudGVyXG4gIGNvbnN0IGV4dGVuZGVkRmlyc3RMZWcgPSBpc1JpZGVMZWcobGVnKVxuICAgID8gKGxlZyBhcyBQdFJpZGVMZWcpPy5zZXJ2aWNlSm91cm5leT8ubm90aWNlcz8uZmlsdGVyKChub3RpY2UpID0+XG4gICAgICAgIFsnQ0knXS5pbmNsdWRlcyhub3RpY2UubmFtZSksXG4gICAgICApWzBdXG4gICAgOiBudWxsO1xuXG4gIGNvbnN0IGV4dHJhY3RUaW1lQW5kU3RyaW5nID1cbiAgICBleHRlbmRlZEZpcnN0TGVnICYmIGV4dHJhY3RUaW1lQW5kU3RyaW5nRnJvbU5vdGljZVRleHQoZXh0ZW5kZWRGaXJzdExlZyk7XG5cbiAgcmV0dXJuIGV4dGVuZGVkRmlyc3RMZWdcbiAgICA/IHtcbiAgICAgICAgZHVyYXRpb246IChleHRyYWN0VGltZUFuZFN0cmluZz8uZHVyYXRpb24gfHwgMCkgKyAoZGVwYXJ0dXJlV2FsayB8fCAwKSxcbiAgICAgICAgdGV4dDogYTExeUZvb3RwYXRoXG4gICAgICAgICAgPyBpMThuV2Fsa2luZ0Rpc3RhbmNlRGVwYXJ0dXJlW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgICA6IGV4dHJhY3RUaW1lQW5kU3RyaW5nPy50ZXh0IHx8ICcnLFxuICAgICAgICBpY29uOiBhMTF5Rm9vdHBhdGggPyAnd2hlZWxjaGFpci1zbWFsbCcgOiBgc2EtJHtleHRlbmRlZEZpcnN0TGVnPy5uYW1lPy50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICB9XG4gICAgOiBudWxsO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHRoZSBleHRlbmRlZCBleGl0IGF0dHJpYnV0ZSBvZiB0aGUgUFRSaWRlTGVnXG4gKi9cbmZ1bmN0aW9uIGdldExhc3RFeHRlbmRlZExlZ0F0dHJpYnV0ZShcbiAgbGVnOiBMZWcsXG4gIGFycml2YWxXYWxrOiBudW1iZXIsXG4gIGExMXlGb290cGF0aDogYm9vbGVhbiB8IHVuZGVmaW5lZCxcbiAgY3VycmVudExhbmd1YWdlOiBzdHJpbmcsXG4pOiBJQWNjZXNzQXR0cmlidXRlIHwgbnVsbCB7XG4gIC8vIEV4dGVuZGVkIGV4aXRcbiAgY29uc3QgZXh0ZW5kZWRMYXN0TGVnID0gaXNSaWRlTGVnKGxlZylcbiAgICA/IChsZWcgYXMgUHRSaWRlTGVnKT8uc2VydmljZUpvdXJuZXk/Lm5vdGljZXM/LmZpbHRlcigobm90aWNlKSA9PlxuICAgICAgICBbJ0NPJ10uaW5jbHVkZXMobm90aWNlLm5hbWUpLFxuICAgICAgKVswXVxuICAgIDogbnVsbDtcblxuICBjb25zdCBleHRyYWN0VGltZUFuZFN0cmluZyA9XG4gICAgZXh0ZW5kZWRMYXN0TGVnICYmIGV4dHJhY3RUaW1lQW5kU3RyaW5nRnJvbU5vdGljZVRleHQoZXh0ZW5kZWRMYXN0TGVnKTtcblxuICByZXR1cm4gZXh0ZW5kZWRMYXN0TGVnXG4gICAgPyB7XG4gICAgICAgIGR1cmF0aW9uOiAoZXh0cmFjdFRpbWVBbmRTdHJpbmc/LmR1cmF0aW9uIHx8IDApICsgKGFycml2YWxXYWxrIHx8IDApLFxuICAgICAgICB0ZXh0OiBhMTF5Rm9vdHBhdGhcbiAgICAgICAgICA/IGkxOG5XYWxraW5nRGlzdGFuY2VBcnJpdmFsW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgICA6IGV4dHJhY3RUaW1lQW5kU3RyaW5nPy50ZXh0IHx8ICcnLFxuICAgICAgICBpY29uOiBhMTF5Rm9vdHBhdGggPyAnd2hlZWxjaGFpci1zbWFsbCcgOiBgc2EtJHtleHRlbmRlZExhc3RMZWc/Lm5hbWU/LnRvTG93ZXJDYXNlKCl9YCxcbiAgICAgIH1cbiAgICA6IG51bGw7XG59XG5cbi8qKlxuICogcmVuZGVycyB0aGUgZXh0ZW5kZWQgZXhpdC9lbnRlciBpY29uIHdpdGggdGhlIGR1cmF0aW9uXG4gKi9cbmZ1bmN0aW9uIHJlbmRlclRyYW5zZmVyVGltZShcbiAgZHVyYXRpb246IG51bWJlciB8IHN0cmluZyxcbiAgaWNvbjogc3RyaW5nLFxuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZyxcbiAgbGFiZWw/OiBzdHJpbmcsXG4gIHR5cGU/OiAnZGVwYXJ0dXJlJyB8ICdhcnJpdmFsJyxcbik6IFRlbXBsYXRlUmVzdWx0IHtcbiAgcmV0dXJuIGh0bWxgXG4gICAgPHNwYW4gY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3RpbWUtdHJhbnNmZXIgc2JiLXBlYXJsLWNoYWluX190aW1lLXRyYW5zZmVyLS0ke2ljb259LSR7dHlwZX1cIj5cbiAgICAgIDxzYmItaWNvbiBuYW1lPSR7aWNvbn0+PC9zYmItaWNvbj5cbiAgICAgIDx0aW1lIGRhdGV0aW1lPSR7ZHVyYXRpb24gKyAnTSd9PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj5cbiAgICAgICAgICAkeyFsYWJlbCAmJiB0eXBlXG4gICAgICAgICAgICA/IHR5cGUgPT09ICdkZXBhcnR1cmUnXG4gICAgICAgICAgICAgID8gaTE4bldhbGtpbmdEaXN0YW5jZURlcGFydHVyZVtjdXJyZW50TGFuZ3VhZ2VdXG4gICAgICAgICAgICAgIDogaTE4bldhbGtpbmdEaXN0YW5jZUFycml2YWxbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICR7bGFiZWwgPyBodG1sYDxzcGFuPiR7bGFiZWx9PC9zcGFuPmAgOiBub3RoaW5nfSZuYnNwO1xuICAgICAgICA8L3NwYW4+XG4gICAgICAgICR7ZHVyYXRpb259XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX190aW1lLXdhbGt0aW1lLXByaW1lLXN5bWJvbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPic8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiPm1pbjwvc3Bhbj5cbiAgICAgIDwvdGltZT5cbiAgICA8L3NwYW4+XG4gIGA7XG59XG5cbi8qKlxuICogcmVuZGVycyBhIHdhbGstdGltZSBpY29uIHdpdGggdGhlIHdhbGsgZHVyYXRpb25cbiAqL1xuZnVuY3Rpb24gcmVuZGVyV2Fsa1RpbWUoXG4gIGR1cmF0aW9uOiBudW1iZXIgfCBzdHJpbmcsXG4gIGxhYmVsOiBzdHJpbmcsXG4gIHZhcmlhbnQ6ICdsZWZ0JyB8ICdyaWdodCcsXG4gIGljb246IHN0cmluZyxcbik6IFRlbXBsYXRlUmVzdWx0IHtcbiAgcmV0dXJuIGh0bWxgXG4gICAgPHNwYW4gY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUgc2JiLXBlYXJsLWNoYWluX190aW1lLXdhbGt0aW1lLS0ke2ljb259LSR7dmFyaWFudH1cIj5cbiAgICAgIDxzYmItaWNvbiBuYW1lPSR7aWNvbn0+PC9zYmItaWNvbj5cbiAgICAgIDx0aW1lIGRhdGV0aW1lPSR7ZHVyYXRpb24gKyAnTSd9PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj4ke2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgJHtkdXJhdGlvbn1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUtcHJpbWUtc3ltYm9sXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Jzwvc3Bhbj5cbiAgICAgIDwvdGltZT5cbiAgICA8L3NwYW4+XG4gIGA7XG59XG5cbi8qKlxuICogQHBhcmFtIGxlZ3M6IEFuIGFycmF5IG9mIExlZyBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgam91cm5leSBsZWdzLlxuICogQHBhcmFtIGRlcGFydHVyZVdhbGs6IFRoZSB3YWxraW5nIGRpc3RhbmNlIGluIG1pbnV0ZXMgZnJvbSB0aGUgZGVwYXJ0dXJlIHBvaW50IHRvIHRoZSBmaXJzdCBsZWcuXG4gKiBAcGFyYW0gYXJyaXZhbFdhbGs6IFRoZSB3YWxraW5nIGRpc3RhbmNlIGluIG1pbnV0ZXMgZnJvbSB0aGUgbGFzdCBsZWcgdG8gdGhlIGFycml2YWwgcG9pbnQuXG4gKiBAcGFyYW0gY3VycmVudExhbmd1YWdlOiBUaGUgY3VycmVudCBsYW5ndWFnZSBmb3IgbG9jYWxpemF0aW9uLlxuICogQHBhcmFtIGExMXlGb290cGF0aDogV2hldGhlciB0aGUgYTExeS1pY29uIHNob3VsZCBiZSBzaG93bi5cbiAqIEByZXR1cm5zIHJlbmRlckRlcGFydHVyZVRpbWVBdHRyaWJ1dGU6IEEgZnVuY3Rpb24gdGhhdCByZW5kZXJzIHRoZSBlbGVtZW50IGZvciB0aGUgZGVwYXJ0dXJlIHRpbWUgYXR0cmlidXRlLlxuICogQHJldHVybnMgcmVuZGVyQXJyaXZhbFRpbWVBdHRyaWJ1dGU6IEEgZnVuY3Rpb24gdGhhdCByZW5kZXJzIHRoZSBlbGVtZW50IGZvciB0aGUgYXJyaXZhbCB0aW1lIGF0dHJpYnV0ZS5cbiAqIEByZXR1cm5zIGFycml2YWxUaW1lQXR0cmlidXRlOiBUaGUgYWNjZXNzIGF0dHJpYnV0ZSBmb3IgdGhlIGFycml2YWwgdGltZS5cbiAqIEByZXR1cm5zIGRlcGFydHVyZVRpbWVBdHRyaWJ1dGU6IFRoZSBhY2Nlc3MgYXR0cmlidXRlIGZvciB0aGUgZGVwYXJ0dXJlIHRpbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXBhcnR1cmVBcnJpdmFsVGltZUF0dHJpYnV0ZShcbiAgbGVnczogTGVnW10sXG4gIGRlcGFydHVyZVdhbGs6IG51bWJlcixcbiAgYXJyaXZhbFdhbGs6IG51bWJlcixcbiAgY3VycmVudExhbmd1YWdlOiBzdHJpbmcsXG4gIGExMXlGb290cGF0aD86IGJvb2xlYW4sXG4pOiB7XG4gIHJlbmRlckRlcGFydHVyZVRpbWVBdHRyaWJ1dGU6ICgpID0+IFRlbXBsYXRlUmVzdWx0O1xuICByZW5kZXJBcnJpdmFsVGltZUF0dHJpYnV0ZTogKCkgPT4gVGVtcGxhdGVSZXN1bHQ7XG4gIGRlcGFydHVyZVRpbWVBdHRyaWJ1dGU6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsO1xuICBhcnJpdmFsVGltZUF0dHJpYnV0ZTogSUFjY2Vzc0F0dHJpYnV0ZSB8IG51bGw7XG59IHtcbiAgY29uc3QgY29ubmVjdGlvblJpZGVMZWcgPVxuICAgIGxlZ3MgJiZcbiAgICAobGVncy5maWx0ZXIoKGxlZykgPT4gaXNSaWRlTGVnKGxlZykgfHwgaXNDb25uZWN0aW9uTGVnKGxlZykpWzBdIGFzXG4gICAgICB8IFB0UmlkZUxlZ1xuICAgICAgfCBQdENvbm5lY3Rpb25MZWcpO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb25MZWdOb3RpY2UgPSBbJ1lNJywgJ1lCJywgJ1knLCAnWVQnXTtcblxuICBjb25zdCBjb25uZWN0aW9uRmlyc3RMZWcgPSBnZXRQVENvbm5lY3Rpb25BdHRyaWJ1dGUoY29ubmVjdGlvblJpZGVMZWcsIGNvbm5lY3Rpb25MZWdOb3RpY2UpO1xuICBjb25zdCBleHRlbmRlZEZpcnN0TGVnID0gZ2V0Rmlyc3RFeHRlbmRlZExlZ0F0dHJpYnV0ZShcbiAgICBjb25uZWN0aW9uUmlkZUxlZyxcbiAgICBkZXBhcnR1cmVXYWxrLFxuICAgIGExMXlGb290cGF0aCxcbiAgICBjdXJyZW50TGFuZ3VhZ2UsXG4gICk7XG4gIGNvbnN0IGRlcGFydHVyZVdhbGtBdHRyaWJ1dGUgPSBkZXBhcnR1cmVXYWxrXG4gICAgPyB7XG4gICAgICAgIHRleHQ6IGkxOG5XYWxraW5nRGlzdGFuY2VEZXBhcnR1cmVbY3VycmVudExhbmd1YWdlXSxcbiAgICAgICAgZHVyYXRpb246IGRlcGFydHVyZVdhbGssXG4gICAgICAgIGljb246IGExMXlGb290cGF0aCA/ICd3aGVlbGNoYWlyLXNtYWxsJyA6ICd3YWxrLXNtYWxsJyxcbiAgICAgIH1cbiAgICA6IG51bGw7XG5cbiAgY29uc3QgZ2V0RGVwYXJ0dXJlVHlwZSA9ICgpOiBJQWNjZXNzQXR0cmlidXRlIHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbm5lY3Rpb25GaXJzdExlZykge1xuICAgICAgcmV0dXJuIGNvbm5lY3Rpb25GaXJzdExlZztcbiAgICB9IGVsc2UgaWYgKGRlcGFydHVyZVdhbGtBdHRyaWJ1dGUgJiYgIWV4dGVuZGVkRmlyc3RMZWcgJiYgIWNvbm5lY3Rpb25GaXJzdExlZykge1xuICAgICAgcmV0dXJuIGRlcGFydHVyZVdhbGtBdHRyaWJ1dGU7XG4gICAgfSBlbHNlIGlmIChleHRlbmRlZEZpcnN0TGVnKSB7XG4gICAgICByZXR1cm4gZXh0ZW5kZWRGaXJzdExlZztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIHJlbmRlckRlcGFydHVyZVRpbWVBdHRyaWJ1dGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgJHtjb25uZWN0aW9uRmlyc3RMZWdcbiAgICAgICAgPyByZW5kZXJXYWxrVGltZShcbiAgICAgICAgICAgIGNvbm5lY3Rpb25GaXJzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgIGNvbm5lY3Rpb25GaXJzdExlZy50ZXh0LFxuICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgY29ubmVjdGlvbkZpcnN0TGVnLmljb24sXG4gICAgICAgICAgKVxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAke2RlcGFydHVyZVdhbGtBdHRyaWJ1dGUgJiYgIWV4dGVuZGVkRmlyc3RMZWcgJiYgIWNvbm5lY3Rpb25GaXJzdExlZ1xuICAgICAgICA/IHJlbmRlcldhbGtUaW1lKFxuICAgICAgICAgICAgZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZS5kdXJhdGlvbixcbiAgICAgICAgICAgIGRlcGFydHVyZVdhbGtBdHRyaWJ1dGUudGV4dCxcbiAgICAgICAgICAgICdsZWZ0JyxcbiAgICAgICAgICAgIGRlcGFydHVyZVdhbGtBdHRyaWJ1dGUuaWNvbixcbiAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICAgICR7ZXh0ZW5kZWRGaXJzdExlZ1xuICAgICAgICA/IGExMXlGb290cGF0aFxuICAgICAgICAgID8gcmVuZGVyV2Fsa1RpbWUoXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcuZHVyYXRpb24sXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcudGV4dCxcbiAgICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgICBleHRlbmRlZEZpcnN0TGVnLmljb24sXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiByZW5kZXJUcmFuc2ZlclRpbWUoXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcuZHVyYXRpb24sXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcuaWNvbixcbiAgICAgICAgICAgICAgY3VycmVudExhbmd1YWdlLFxuICAgICAgICAgICAgICBleHRlbmRlZEZpcnN0TGVnLnRleHQsXG4gICAgICAgICAgICAgICdkZXBhcnR1cmUnLFxuICAgICAgICAgICAgKVxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgYDtcbiAgfVxuXG4gIGNvbnN0IGxhc3RMZWcgPSBsZWdzICYmIGxlZ3NbbGVncy5sZW5ndGggLSAxXTtcbiAgY29uc3QgbGFzdENvbm5lY3Rpb25SaWRlTGVnID1cbiAgICAoaXNDb25uZWN0aW9uTGVnKGxhc3RMZWcpIHx8IGlzUmlkZUxlZyhsYXN0TGVnKSkgJiYgKGxhc3RMZWcgYXMgUHRDb25uZWN0aW9uTGVnIHwgUHRSaWRlTGVnKTtcblxuICBjb25zdCBjb25uZWN0aW9uTGFzdExlZyA9XG4gICAgbGFzdENvbm5lY3Rpb25SaWRlTGVnICYmIGdldFBUQ29ubmVjdGlvbkF0dHJpYnV0ZShsYXN0Q29ubmVjdGlvblJpZGVMZWcsIGNvbm5lY3Rpb25MZWdOb3RpY2UpO1xuICBjb25zdCBleHRlbmRlZExhc3RMZWcgPVxuICAgIGxhc3RDb25uZWN0aW9uUmlkZUxlZyAmJlxuICAgIGdldExhc3RFeHRlbmRlZExlZ0F0dHJpYnV0ZShsYXN0Q29ubmVjdGlvblJpZGVMZWcsIGFycml2YWxXYWxrLCBhMTF5Rm9vdHBhdGgsIGN1cnJlbnRMYW5ndWFnZSk7XG4gIGNvbnN0IGFycml2YWxXYWxrQXR0cmlidXRlID0gYXJyaXZhbFdhbGtcbiAgICA/IHtcbiAgICAgICAgdGV4dDogaTE4bldhbGtpbmdEaXN0YW5jZUFycml2YWxbY3VycmVudExhbmd1YWdlXSxcbiAgICAgICAgZHVyYXRpb246IGFycml2YWxXYWxrLFxuICAgICAgICBpY29uOiBhMTF5Rm9vdHBhdGggPyAnd2hlZWxjaGFpci1zbWFsbCcgOiAnd2Fsay1zbWFsbCcsXG4gICAgICB9XG4gICAgOiBudWxsO1xuXG4gIGNvbnN0IGdldEFycml2YWxUeXBlID0gKCk6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsID0+IHtcbiAgICBpZiAoY29ubmVjdGlvbkxhc3RMZWcpIHtcbiAgICAgIHJldHVybiBjb25uZWN0aW9uTGFzdExlZztcbiAgICB9IGVsc2UgaWYgKGFycml2YWxXYWxrQXR0cmlidXRlICYmICFleHRlbmRlZExhc3RMZWcgJiYgIWNvbm5lY3Rpb25MYXN0TGVnKSB7XG4gICAgICByZXR1cm4gYXJyaXZhbFdhbGtBdHRyaWJ1dGU7XG4gICAgfSBlbHNlIGlmIChleHRlbmRlZExhc3RMZWcpIHtcbiAgICAgIHJldHVybiBleHRlbmRlZExhc3RMZWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBmdW5jdGlvbiByZW5kZXJBcnJpdmFsVGltZUF0dHJpYnV0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke2Nvbm5lY3Rpb25MYXN0TGVnXG4gICAgICAgID8gcmVuZGVyV2Fsa1RpbWUoXG4gICAgICAgICAgICBjb25uZWN0aW9uTGFzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgIGNvbm5lY3Rpb25MYXN0TGVnLnRleHQsXG4gICAgICAgICAgICAncmlnaHQnLFxuICAgICAgICAgICAgY29ubmVjdGlvbkxhc3RMZWcuaWNvbixcbiAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICAgICR7YXJyaXZhbFdhbGtBdHRyaWJ1dGUgJiYgIWV4dGVuZGVkTGFzdExlZyAmJiAhY29ubmVjdGlvbkxhc3RMZWdcbiAgICAgICAgPyByZW5kZXJXYWxrVGltZShcbiAgICAgICAgICAgIGFycml2YWxXYWxrQXR0cmlidXRlLmR1cmF0aW9uLFxuICAgICAgICAgICAgYXJyaXZhbFdhbGtBdHRyaWJ1dGUudGV4dCxcbiAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICBhcnJpdmFsV2Fsa0F0dHJpYnV0ZS5pY29uLFxuICAgICAgICAgIClcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgJHtleHRlbmRlZExhc3RMZWdcbiAgICAgICAgPyBhMTF5Rm9vdHBhdGhcbiAgICAgICAgICA/IHJlbmRlcldhbGtUaW1lKFxuICAgICAgICAgICAgICBleHRlbmRlZExhc3RMZWcuZHVyYXRpb24sXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy50ZXh0LFxuICAgICAgICAgICAgICAncmlnaHQnLFxuICAgICAgICAgICAgICBleHRlbmRlZExhc3RMZWcuaWNvbixcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IHJlbmRlclRyYW5zZmVyVGltZShcbiAgICAgICAgICAgICAgZXh0ZW5kZWRMYXN0TGVnLmR1cmF0aW9uLFxuICAgICAgICAgICAgICBleHRlbmRlZExhc3RMZWcuaWNvbixcbiAgICAgICAgICAgICAgY3VycmVudExhbmd1YWdlLFxuICAgICAgICAgICAgICBleHRlbmRlZExhc3RMZWcudGV4dCxcbiAgICAgICAgICAgICAgJ2Fycml2YWwnLFxuICAgICAgICAgICAgKVxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgYDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZSxcbiAgICByZW5kZXJBcnJpdmFsVGltZUF0dHJpYnV0ZSxcbiAgICBkZXBhcnR1cmVUaW1lQXR0cmlidXRlOiBnZXREZXBhcnR1cmVUeXBlKCksXG4gICAgYXJyaXZhbFRpbWVBdHRyaWJ1dGU6IGdldEFycml2YWxUeXBlKCksXG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSWEsTUFBQSxZQUFZ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
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXRhYmxlLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7In0=
@@ -1,4 +1,4 @@
1
- import { t as toDate, b as millisecondsInMinute } from "./toDate-B6IBgPYH.js";
1
+ import { t as toDate, m as millisecondsInMinute } from "./toDate-D_Vjps95.js";
2
2
  function addMinutes(date, amount, options) {
3
3
  const _date = toDate(date, options == null ? void 0 : options.in);
4
4
  _date.setTime(_date.getTime() + amount * millisecondsInMinute);
@@ -23,4 +23,4 @@ export {
23
23
  differenceInMinutes as d,
24
24
  getRoundingMethod as g
25
25
  };
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZmVyZW5jZUluTWludXRlcy1DbXl6YTZubS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2FkZE1pbnV0ZXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvX2xpYi9nZXRSb3VuZGluZ01ldGhvZC5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9kaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZGlmZmVyZW5jZUluTWludXRlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtaWxsaXNlY29uZHNJbk1pbnV0ZSB9IGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBhZGRNaW51dGVzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgYWRkTWludXRlc1xuICogQGNhdGVnb3J5IE1pbnV0ZSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbWludXRlcyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtaW51dGVzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIG1pbnV0ZXMgdG8gYmUgYWRkZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCB3aXRoIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgbmV3IGRhdGUgd2l0aCB0aGUgbWludXRlcyBhZGRlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMzAgbWludXRlcyB0byAxMCBKdWx5IDIwMTQgMTI6MDA6MDA6XG4gKiBjb25zdCByZXN1bHQgPSBhZGRNaW51dGVzKG5ldyBEYXRlKDIwMTQsIDYsIDEwLCAxMiwgMCksIDMwKVxuICogLy89PiBUaHUgSnVsIDEwIDIwMTQgMTI6MzA6MDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE1pbnV0ZXMoZGF0ZSwgYW1vdW50LCBvcHRpb25zKSB7XG4gIGNvbnN0IF9kYXRlID0gdG9EYXRlKGRhdGUsIG9wdGlvbnM/LmluKTtcbiAgX2RhdGUuc2V0VGltZShfZGF0ZS5nZXRUaW1lKCkgKyBhbW91bnQgKiBtaWxsaXNlY29uZHNJbk1pbnV0ZSk7XG4gIHJldHVybiBfZGF0ZTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBhZGRNaW51dGVzO1xuIiwiZXhwb3J0IGZ1bmN0aW9uIGdldFJvdW5kaW5nTWV0aG9kKG1ldGhvZCkge1xuICByZXR1cm4gKG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHJvdW5kID0gbWV0aG9kID8gTWF0aFttZXRob2RdIDogTWF0aC50cnVuYztcbiAgICBjb25zdCByZXN1bHQgPSByb3VuZChudW1iZXIpO1xuICAgIC8vIFByZXZlbnQgbmVnYXRpdmUgemVyb1xuICAgIHJldHVybiByZXN1bHQgPT09IDAgPyAwIDogcmVzdWx0O1xuICB9O1xufVxuIiwiaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzXG4gKiBAY2F0ZWdvcnkgTWlsbGlzZWNvbmQgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBwYXJhbSBsYXRlckRhdGUgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGVhcmxpZXJEYXRlIC0gVGhlIGVhcmxpZXIgZGF0ZVxuICpcbiAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IG1pbGxpc2Vjb25kcyBhcmUgYmV0d2VlblxuICogLy8gMiBKdWx5IDIwMTQgMTI6MzA6MjAuNjAwIGFuZCAyIEp1bHkgMjAxNCAxMjozMDoyMS43MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMoXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDEyLCAzMCwgMjEsIDcwMCksXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDEyLCAzMCwgMjAsIDYwMClcbiAqIClcbiAqIC8vPT4gMTEwMFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzKGxhdGVyRGF0ZSwgZWFybGllckRhdGUpIHtcbiAgcmV0dXJuICt0b0RhdGUobGF0ZXJEYXRlKSAtICt0b0RhdGUoZWFybGllckRhdGUpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcztcbiIsImltcG9ydCB7IGdldFJvdW5kaW5nTWV0aG9kIH0gZnJvbSBcIi4vX2xpYi9nZXRSb3VuZGluZ01ldGhvZC5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5NaW51dGUgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyB9IGZyb20gXCIuL2RpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcy5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgZGlmZmVyZW5jZUluTWludXRlc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbk1pbnV0ZXNcbiAqIEBjYXRlZ29yeSBNaW51dGUgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgbWludXRlcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgc2lnbmVkIG51bWJlciBvZiBmdWxsIChyb3VuZGVkIHRvd2FyZHMgMCkgbWludXRlcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAcGFyYW0gZGF0ZUxlZnQgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGRhdGVSaWdodCAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IHdpdGggb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIG1pbnV0ZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgbWludXRlcyBhcmUgYmV0d2VlbiAyIEp1bHkgMjAxNCAxMjowNzo1OSBhbmQgMiBKdWx5IDIwMTQgMTI6MjA6MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgMjAsIDApLFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgNywgNTkpXG4gKiApXG4gKiAvLz0+IDEyXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IG1pbnV0ZXMgYXJlIGJldHdlZW4gMTA6MDE6NTkgYW5kIDEwOjAwOjAwXG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICogICBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAxMCwgMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMDAsIDAsIDEsIDEwLCAxLCA1OSlcbiAqIClcbiAqIC8vPT4gLTFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbk1pbnV0ZXMoZGF0ZUxlZnQsIGRhdGVSaWdodCwgb3B0aW9ucykge1xuICBjb25zdCBkaWZmID1cbiAgICBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMoZGF0ZUxlZnQsIGRhdGVSaWdodCkgLyBtaWxsaXNlY29uZHNJbk1pbnV0ZTtcbiAgcmV0dXJuIGdldFJvdW5kaW5nTWV0aG9kKG9wdGlvbnM/LnJvdW5kaW5nTWV0aG9kKShkaWZmKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBkaWZmZXJlbmNlSW5NaW51dGVzO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUE2Qk8sU0FBUyxXQUFXLE1BQU0sUUFBUSxTQUFTO0FBQ2hELFFBQU0sUUFBUSxPQUFPLE1BQU0sbUNBQVMsRUFBRTtBQUN0QyxRQUFNLFFBQVEsTUFBTSxRQUFPLElBQUssU0FBUyxvQkFBb0I7QUFDN0QsU0FBTztBQUNUO0FDakNPLFNBQVMsa0JBQWtCLFFBQVE7QUFDeEMsU0FBTyxDQUFDLFdBQVc7QUFDakIsVUFBTSxRQUFRLFNBQVMsS0FBSyxNQUFNLElBQUksS0FBSztBQUMzQyxVQUFNLFNBQVMsTUFBTSxNQUFNO0FBRTNCLFdBQU8sV0FBVyxJQUFJLElBQUk7QUFBQSxFQUMzQjtBQUNIO0FDaUJPLFNBQVMseUJBQXlCLFdBQVcsYUFBYTtBQUMvRCxTQUFPLENBQUMsT0FBTyxTQUFTLElBQUksQ0FBQyxPQUFPLFdBQVc7QUFDakQ7QUNZTyxTQUFTLG9CQUFvQixVQUFVLFdBQVcsU0FBUztBQUNoRSxRQUFNLE9BQ0oseUJBQXlCLFVBQVUsU0FBUyxJQUFJO0FBQ2xELFNBQU8sa0JBQWtCLG1DQUFTLGNBQWMsRUFBRSxJQUFJO0FBQ3hEOyIsInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswLDEsMiwzXX0=
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZmVyZW5jZUluTWludXRlcy1DSFN5V2lRcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2FkZE1pbnV0ZXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvX2xpYi9nZXRSb3VuZGluZ01ldGhvZC5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9kaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZGlmZmVyZW5jZUluTWludXRlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtaWxsaXNlY29uZHNJbk1pbnV0ZSB9IGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBhZGRNaW51dGVzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgYWRkTWludXRlc1xuICogQGNhdGVnb3J5IE1pbnV0ZSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbWludXRlcyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtaW51dGVzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIG1pbnV0ZXMgdG8gYmUgYWRkZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCB3aXRoIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgbmV3IGRhdGUgd2l0aCB0aGUgbWludXRlcyBhZGRlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMzAgbWludXRlcyB0byAxMCBKdWx5IDIwMTQgMTI6MDA6MDA6XG4gKiBjb25zdCByZXN1bHQgPSBhZGRNaW51dGVzKG5ldyBEYXRlKDIwMTQsIDYsIDEwLCAxMiwgMCksIDMwKVxuICogLy89PiBUaHUgSnVsIDEwIDIwMTQgMTI6MzA6MDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE1pbnV0ZXMoZGF0ZSwgYW1vdW50LCBvcHRpb25zKSB7XG4gIGNvbnN0IF9kYXRlID0gdG9EYXRlKGRhdGUsIG9wdGlvbnM/LmluKTtcbiAgX2RhdGUuc2V0VGltZShfZGF0ZS5nZXRUaW1lKCkgKyBhbW91bnQgKiBtaWxsaXNlY29uZHNJbk1pbnV0ZSk7XG4gIHJldHVybiBfZGF0ZTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBhZGRNaW51dGVzO1xuIiwiZXhwb3J0IGZ1bmN0aW9uIGdldFJvdW5kaW5nTWV0aG9kKG1ldGhvZCkge1xuICByZXR1cm4gKG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHJvdW5kID0gbWV0aG9kID8gTWF0aFttZXRob2RdIDogTWF0aC50cnVuYztcbiAgICBjb25zdCByZXN1bHQgPSByb3VuZChudW1iZXIpO1xuICAgIC8vIFByZXZlbnQgbmVnYXRpdmUgemVyb1xuICAgIHJldHVybiByZXN1bHQgPT09IDAgPyAwIDogcmVzdWx0O1xuICB9O1xufVxuIiwiaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzXG4gKiBAY2F0ZWdvcnkgTWlsbGlzZWNvbmQgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBwYXJhbSBsYXRlckRhdGUgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGVhcmxpZXJEYXRlIC0gVGhlIGVhcmxpZXIgZGF0ZVxuICpcbiAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IG1pbGxpc2Vjb25kcyBhcmUgYmV0d2VlblxuICogLy8gMiBKdWx5IDIwMTQgMTI6MzA6MjAuNjAwIGFuZCAyIEp1bHkgMjAxNCAxMjozMDoyMS43MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMoXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDEyLCAzMCwgMjEsIDcwMCksXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDEyLCAzMCwgMjAsIDYwMClcbiAqIClcbiAqIC8vPT4gMTEwMFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzKGxhdGVyRGF0ZSwgZWFybGllckRhdGUpIHtcbiAgcmV0dXJuICt0b0RhdGUobGF0ZXJEYXRlKSAtICt0b0RhdGUoZWFybGllckRhdGUpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcztcbiIsImltcG9ydCB7IGdldFJvdW5kaW5nTWV0aG9kIH0gZnJvbSBcIi4vX2xpYi9nZXRSb3VuZGluZ01ldGhvZC5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5NaW51dGUgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyB9IGZyb20gXCIuL2RpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcy5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgZGlmZmVyZW5jZUluTWludXRlc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbk1pbnV0ZXNcbiAqIEBjYXRlZ29yeSBNaW51dGUgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgbWludXRlcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgc2lnbmVkIG51bWJlciBvZiBmdWxsIChyb3VuZGVkIHRvd2FyZHMgMCkgbWludXRlcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAcGFyYW0gZGF0ZUxlZnQgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGRhdGVSaWdodCAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IHdpdGggb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIG1pbnV0ZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgbWludXRlcyBhcmUgYmV0d2VlbiAyIEp1bHkgMjAxNCAxMjowNzo1OSBhbmQgMiBKdWx5IDIwMTQgMTI6MjA6MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgMjAsIDApLFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgNywgNTkpXG4gKiApXG4gKiAvLz0+IDEyXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IG1pbnV0ZXMgYXJlIGJldHdlZW4gMTA6MDE6NTkgYW5kIDEwOjAwOjAwXG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICogICBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAxMCwgMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMDAsIDAsIDEsIDEwLCAxLCA1OSlcbiAqIClcbiAqIC8vPT4gLTFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbk1pbnV0ZXMoZGF0ZUxlZnQsIGRhdGVSaWdodCwgb3B0aW9ucykge1xuICBjb25zdCBkaWZmID1cbiAgICBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMoZGF0ZUxlZnQsIGRhdGVSaWdodCkgLyBtaWxsaXNlY29uZHNJbk1pbnV0ZTtcbiAgcmV0dXJuIGdldFJvdW5kaW5nTWV0aG9kKG9wdGlvbnM/LnJvdW5kaW5nTWV0aG9kKShkaWZmKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBkaWZmZXJlbmNlSW5NaW51dGVzO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUE2Qk8sU0FBUyxXQUFXLE1BQU0sUUFBUSxTQUFTO0FBQ2hELFFBQU0sUUFBUSxPQUFPLE1BQU0sbUNBQVMsRUFBRTtBQUN0QyxRQUFNLFFBQVEsTUFBTSxRQUFPLElBQUssU0FBUyxvQkFBb0I7QUFDN0QsU0FBTztBQUNUO0FDakNPLFNBQVMsa0JBQWtCLFFBQVE7QUFDeEMsU0FBTyxDQUFDLFdBQVc7QUFDakIsVUFBTSxRQUFRLFNBQVMsS0FBSyxNQUFNLElBQUksS0FBSztBQUMzQyxVQUFNLFNBQVMsTUFBTSxNQUFNO0FBRTNCLFdBQU8sV0FBVyxJQUFJLElBQUk7QUFBQSxFQUMzQjtBQUNIO0FDaUJPLFNBQVMseUJBQXlCLFdBQVcsYUFBYTtBQUMvRCxTQUFPLENBQUMsT0FBTyxTQUFTLElBQUksQ0FBQyxPQUFPLFdBQVc7QUFDakQ7QUNZTyxTQUFTLG9CQUFvQixVQUFVLFdBQVcsU0FBUztBQUNoRSxRQUFNLE9BQ0oseUJBQXlCLFVBQVUsU0FBUyxJQUFJO0FBQ2xELFNBQU8sa0JBQWtCLG1DQUFTLGNBQWMsRUFBRSxJQUFJO0FBQ3hEOyIsInhfZ29vZ2xlX2lnbm9yZUxpc3QiOlswLDEsMiwzXX0=