@sbb-esta/lyne-elements-experimental 2.11.0 → 2.11.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.
- package/core/datetime/date-helper.js +142 -142
- package/core/timetable/access-leg-helper.js +49 -52
- package/core/timetable/timetable-helper.js +7 -8
- package/custom-elements.json +106 -35
- package/development/core/datetime/date-helper.js +10 -10
- package/development/core/timetable/access-leg-helper.js +12 -15
- package/development/core/timetable/timetable-helper.js +6 -7
- package/development/{differenceInMinutes-CHSyWiQs.js → differenceInMinutes-D5Nj8Stc.js} +3 -3
- package/development/{format-D0-yhzi4.js → format-BQfaa1ZT.js} +22 -26
- package/development/{isValid-Bo4R7iA7.js → isValid-DvieCZVi.js} +3 -3
- package/development/journey-summary/journey-summary.component.js +4 -5
- package/development/pearl-chain/pearl-chain.component.d.ts.map +1 -1
- package/development/pearl-chain/pearl-chain.component.js +28 -39
- package/development/pearl-chain-time/pearl-chain-time.component.js +5 -6
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +1 -1
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +1 -1
- package/development/seat-reservation/common/mapper/icon-mapper.js +1 -1
- package/development/seat-reservation/common/mapper/mapper.d.ts +5 -5
- package/development/seat-reservation/common/mapper/mapper.d.ts.map +1 -1
- package/development/seat-reservation/common/mapper/mapper.js +17 -19
- package/development/seat-reservation/common/mapper/seat-reservation-sample-data.js +1 -1
- package/development/seat-reservation/common/svgs.js +1 -1
- package/development/seat-reservation/common/translations/i18n.js +2 -3
- package/development/seat-reservation/common/types.d.ts +71 -0
- package/development/seat-reservation/common/types.d.ts.map +1 -0
- package/development/seat-reservation/common/types.js +2 -0
- package/development/seat-reservation/common.d.ts +6 -3
- package/development/seat-reservation/common.d.ts.map +1 -1
- package/development/seat-reservation/common.js +3 -7
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +4 -3
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +27 -38
- package/development/seat-reservation/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation/{seat-reservation-scoped-component → seat-reservation-scoped}/seat-reservation-scoped.component.js +6 -7
- package/development/seat-reservation/seat-reservation/seat-reservation-scoped.d.ts +5 -0
- package/development/seat-reservation/seat-reservation/seat-reservation-scoped.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation/seat-reservation-scoped.js +5 -0
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts +4 -4
- package/development/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation/seat-reservation.component.js +20 -27
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +1 -1
- package/development/seat-reservation/seat-reservation-area.d.ts +3 -0
- package/development/seat-reservation/seat-reservation-area.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +2 -3
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +7 -8
- package/development/seat-reservation/seat-reservation-graphic.d.ts +3 -0
- package/development/seat-reservation/seat-reservation-graphic.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +6 -5
- package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +7 -11
- package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach.d.ts +3 -0
- package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +2 -3
- package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services.d.ts +3 -0
- package/development/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-navigation.d.ts +6 -0
- package/development/seat-reservation/seat-reservation-navigation.d.ts.map +1 -0
- package/development/seat-reservation/seat-reservation-navigation.js +7 -0
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +2 -2
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +5 -6
- package/development/seat-reservation/seat-reservation-place-control.d.ts +3 -0
- package/development/seat-reservation/seat-reservation-place-control.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation.d.ts +5 -71
- package/development/seat-reservation/seat-reservation.d.ts.map +1 -1
- package/development/seat-reservation/seat-reservation.js +4 -2
- package/development/seat-reservation.d.ts +5 -0
- package/development/seat-reservation.d.ts.map +1 -1
- package/development/seat-reservation.js +26 -3
- package/development/timetable-duration/timetable-duration.component.js +1 -1
- package/development/timetable-row/timetable-row.component.js +58 -89
- package/differenceInMinutes-CP_C5onR.js +23 -0
- package/{format-Dg8rkk7h.js → format-lqeCzmzS.js} +438 -442
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/isValid-Ceq2O0NQ.js +45 -0
- package/journey-summary/journey-summary.component.js +3 -4
- package/package.json +47 -2
- package/pearl-chain/pearl-chain.component.d.ts.map +1 -1
- package/pearl-chain/pearl-chain.component.js +78 -95
- package/pearl-chain-time/pearl-chain-time.component.js +44 -45
- package/seat-reservation/common/mapper/mapper.d.ts +5 -5
- package/seat-reservation/common/mapper/mapper.d.ts.map +1 -1
- package/seat-reservation/common/mapper/mapper.js +50 -54
- package/seat-reservation/common/translations/i18n.js +5 -6
- package/seat-reservation/common/types.d.ts +71 -0
- package/seat-reservation/common/types.d.ts.map +1 -0
- package/seat-reservation/common/types.js +1 -0
- package/seat-reservation/common.d.ts +6 -3
- package/seat-reservation/common.d.ts.map +1 -1
- package/seat-reservation/common.js +11 -15
- package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts +4 -3
- package/seat-reservation/seat-reservation/seat-reservation-base-element.d.ts.map +1 -1
- package/seat-reservation/seat-reservation/seat-reservation-base-element.js +107 -118
- package/seat-reservation/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.d.ts.map +1 -0
- package/seat-reservation/seat-reservation/{seat-reservation-scoped-component → seat-reservation-scoped}/seat-reservation-scoped.component.js +40 -41
- package/seat-reservation/seat-reservation/seat-reservation-scoped.d.ts +5 -0
- package/seat-reservation/seat-reservation/seat-reservation-scoped.d.ts.map +1 -0
- package/seat-reservation/seat-reservation/{seat-reservation-scoped-component.js → seat-reservation-scoped.js} +1 -1
- package/seat-reservation/seat-reservation/seat-reservation.component.d.ts +4 -4
- package/seat-reservation/seat-reservation/seat-reservation.component.d.ts.map +1 -1
- package/seat-reservation/seat-reservation/seat-reservation.component.js +82 -91
- package/seat-reservation/seat-reservation-area.d.ts +3 -0
- package/seat-reservation/seat-reservation-area.d.ts.map +1 -1
- package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +15 -18
- package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +58 -59
- package/seat-reservation/seat-reservation-graphic.d.ts +3 -0
- package/seat-reservation/seat-reservation-graphic.d.ts.map +1 -1
- package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts +6 -5
- package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.d.ts.map +1 -1
- package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +71 -75
- package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach.d.ts +3 -0
- package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-coach.d.ts.map +1 -1
- package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +12 -13
- package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services.d.ts +3 -0
- package/seat-reservation/seat-reservation-navigation/seat-reservation-navigation-services.d.ts.map +1 -1
- package/seat-reservation/seat-reservation-navigation.d.ts +6 -0
- package/seat-reservation/seat-reservation-navigation.d.ts.map +1 -0
- package/seat-reservation/seat-reservation-navigation.js +6 -0
- package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts +2 -2
- package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.d.ts.map +1 -1
- package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +24 -25
- package/seat-reservation/seat-reservation-place-control.d.ts +3 -0
- package/seat-reservation/seat-reservation-place-control.d.ts.map +1 -1
- package/seat-reservation/seat-reservation.d.ts +5 -71
- package/seat-reservation/seat-reservation.d.ts.map +1 -1
- package/seat-reservation/seat-reservation.js +6 -4
- package/seat-reservation.d.ts +5 -0
- package/seat-reservation.d.ts.map +1 -1
- package/seat-reservation.js +27 -4
- package/timetable-row/timetable-row.component.js +207 -247
- package/development/seat-reservation/seat-reservation/seat-reservation-scoped-component/seat-reservation-scoped.component.d.ts.map +0 -1
- package/development/seat-reservation/seat-reservation/seat-reservation-scoped-component.d.ts +0 -2
- package/development/seat-reservation/seat-reservation/seat-reservation-scoped-component.d.ts.map +0 -1
- package/development/seat-reservation/seat-reservation/seat-reservation-scoped-component.js +0 -5
- package/differenceInMinutes-BMqUZdhj.js +0 -23
- package/isValid-DJ69OMZJ.js +0 -45
- package/seat-reservation/seat-reservation/seat-reservation-scoped-component/seat-reservation-scoped.component.d.ts.map +0 -1
- package/seat-reservation/seat-reservation/seat-reservation-scoped-component.d.ts +0 -2
- package/seat-reservation/seat-reservation/seat-reservation-scoped-component.d.ts.map +0 -1
- /package/development/seat-reservation/seat-reservation/{seat-reservation-scoped-component → seat-reservation-scoped}/seat-reservation-scoped.component.d.ts +0 -0
- /package/seat-reservation/seat-reservation/{seat-reservation-scoped-component → seat-reservation-scoped}/seat-reservation-scoped.component.d.ts +0 -0
|
@@ -3,33 +3,30 @@ import { nothing, html } from "lit";
|
|
|
3
3
|
import { isRideLeg, isConnectionLeg, extractTimeAndStringFromNoticeText } from "./timetable-helper.js";
|
|
4
4
|
import "@sbb-esta/lyne-elements/icon.js";
|
|
5
5
|
function getPTConnectionAttribute(leg, connectionLegNotice) {
|
|
6
|
-
var _a, _b;
|
|
7
6
|
const connectionFirstLeg = isConnectionLeg(leg) ? leg : null;
|
|
8
|
-
const connectionFirstLegNotice = connectionFirstLeg ?
|
|
7
|
+
const connectionFirstLegNotice = connectionFirstLeg ? connectionFirstLeg?.notices?.filter((notice) => connectionLegNotice.includes(notice.name))[0] : null;
|
|
9
8
|
return connectionFirstLegNotice ? {
|
|
10
|
-
duration:
|
|
11
|
-
text:
|
|
9
|
+
duration: connectionFirstLeg?.duration || 0,
|
|
10
|
+
text: connectionFirstLegNotice?.text?.template || "",
|
|
12
11
|
icon: "walk-small"
|
|
13
12
|
} : null;
|
|
14
13
|
}
|
|
15
14
|
function getFirstExtendedLegAttribute(leg, departureWalk, a11yFootpath, currentLanguage) {
|
|
16
|
-
|
|
17
|
-
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;
|
|
15
|
+
const extendedFirstLeg = isRideLeg(leg) ? leg?.serviceJourney?.notices?.filter((notice) => ["CI"].includes(notice.name))[0] : null;
|
|
18
16
|
const extractTimeAndString = extendedFirstLeg && extractTimeAndStringFromNoticeText(extendedFirstLeg);
|
|
19
17
|
return extendedFirstLeg ? {
|
|
20
|
-
duration: (
|
|
21
|
-
text: a11yFootpath ? i18nWalkingDistanceDeparture[currentLanguage] :
|
|
22
|
-
icon: a11yFootpath ? "wheelchair-small" : `sa-${
|
|
18
|
+
duration: (extractTimeAndString?.duration || 0) + (departureWalk || 0),
|
|
19
|
+
text: a11yFootpath ? i18nWalkingDistanceDeparture[currentLanguage] : extractTimeAndString?.text || "",
|
|
20
|
+
icon: a11yFootpath ? "wheelchair-small" : `sa-${extendedFirstLeg?.name?.toLowerCase()}`
|
|
23
21
|
} : null;
|
|
24
22
|
}
|
|
25
23
|
function getLastExtendedLegAttribute(leg, arrivalWalk, a11yFootpath, currentLanguage) {
|
|
26
|
-
|
|
27
|
-
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;
|
|
24
|
+
const extendedLastLeg = isRideLeg(leg) ? leg?.serviceJourney?.notices?.filter((notice) => ["CO"].includes(notice.name))[0] : null;
|
|
28
25
|
const extractTimeAndString = extendedLastLeg && extractTimeAndStringFromNoticeText(extendedLastLeg);
|
|
29
26
|
return extendedLastLeg ? {
|
|
30
|
-
duration: (
|
|
31
|
-
text: a11yFootpath ? i18nWalkingDistanceArrival[currentLanguage] :
|
|
32
|
-
icon: a11yFootpath ? "wheelchair-small" : `sa-${
|
|
27
|
+
duration: (extractTimeAndString?.duration || 0) + (arrivalWalk || 0),
|
|
28
|
+
text: a11yFootpath ? i18nWalkingDistanceArrival[currentLanguage] : extractTimeAndString?.text || "",
|
|
29
|
+
icon: a11yFootpath ? "wheelchair-small" : `sa-${extendedLastLeg?.name?.toLowerCase()}`
|
|
33
30
|
} : null;
|
|
34
31
|
}
|
|
35
32
|
function renderTransferTime(duration, icon, currentLanguage, label, type) {
|
|
@@ -125,4 +122,4 @@ function getDepartureArrivalTimeAttribute(legs, departureWalk, arrivalWalk, curr
|
|
|
125
122
|
export {
|
|
126
123
|
getDepartureArrivalTimeAttribute
|
|
127
124
|
};
|
|
128
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWxlZy1oZWxwZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvY29yZS90aW1ldGFibGUvYWNjZXNzLWxlZy1oZWxwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBoZWxwZXIgZmlsZSBjb250YWlucyBzZXZlcmFsIGZ1bmN0aW9ucyByZWxhdGVkIHRvIGFjY2Vzc2luZyBhdHRyaWJ1dGVzIGZvciB0aGUgY29ubmVjdGlvbnMuXG5cbmltcG9ydCB7XG4gIGkxOG5XYWxraW5nRGlzdGFuY2VBcnJpdmFsLFxuICBpMThuV2Fsa2luZ0Rpc3RhbmNlRGVwYXJ0dXJlLFxufSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHtcbiAgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dCxcbiAgaXNDb25uZWN0aW9uTGVnLFxuICBpc1JpZGVMZWcsXG59IGZyb20gJy4vdGltZXRhYmxlLWhlbHBlci5qcyc7XG5pbXBvcnQgdHlwZSB7IExlZywgUHRDb25uZWN0aW9uTGVnLCBQdFJpZGVMZWcgfSBmcm9tICcuL3RpbWV0YWJsZS1wcm9wZXJ0aWVzLmpzJztcblxuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9pY29uLmpzJztcblxuaW50ZXJmYWNlIElBY2Nlc3NBdHRyaWJ1dGUge1xuICBkdXJhdGlvbjogbnVtYmVyO1xuICB0ZXh0OiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB0aGUgYXR0cmlidXRlIG9mIGEgQ29ubmVjdGlvbkxlZ1xuICovXG5mdW5jdGlvbiBnZXRQVENvbm5lY3Rpb25BdHRyaWJ1dGUoXG4gIGxlZzogUHRSaWRlTGVnIHwgUHRDb25uZWN0aW9uTGVnLFxuICBjb25uZWN0aW9uTGVnTm90aWNlOiBzdHJpbmdbXSxcbik6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsIHtcbiAgY29uc3QgY29ubmVjdGlvbkZpcnN0TGVnID0gaXNDb25uZWN0aW9uTGVnKGxlZykgPyAobGVnIGFzIFB0Q29ubmVjdGlvbkxlZykgOiBudWxsO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb25GaXJzdExlZ05vdGljZSA9IGNvbm5lY3Rpb25GaXJzdExlZ1xuICAgID8gY29ubmVjdGlvbkZpcnN0TGVnPy5ub3RpY2VzPy5maWx0ZXIoKG5vdGljZSkgPT4gY29ubmVjdGlvbkxlZ05vdGljZS5pbmNsdWRlcyhub3RpY2UubmFtZSkpWzBdXG4gICAgOiBudWxsO1xuXG4gIHJldHVybiBjb25uZWN0aW9uRmlyc3RMZWdOb3RpY2VcbiAgICA/IHtcbiAgICAgICAgZHVyYXRpb246IGNvbm5lY3Rpb25GaXJzdExlZz8uZHVyYXRpb24gfHwgMCxcbiAgICAgICAgdGV4dDogY29ubmVjdGlvbkZpcnN0TGVnTm90aWNlPy50ZXh0Py50ZW1wbGF0ZSB8fCAnJyxcbiAgICAgICAgaWNvbjogJ3dhbGstc21hbGwnLFxuICAgICAgfVxuICAgIDogbnVsbDtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB0aGUgZXh0ZW5kZWQgZW50ZXIgYXR0cmlidXRlIG9mIHRoZSBQVFJpZGVMZWdcbiAqL1xuZnVuY3Rpb24gZ2V0Rmlyc3RFeHRlbmRlZExlZ0F0dHJpYnV0ZShcbiAgbGVnOiBQdFJpZGVMZWcgfCBQdENvbm5lY3Rpb25MZWcsXG4gIGRlcGFydHVyZVdhbGs6IG51bWJlcixcbiAgYTExeUZvb3RwYXRoOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZyxcbik6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsIHtcbiAgLy8gRXh0ZW5kZWQgZW50ZXJcbiAgY29uc3QgZXh0ZW5kZWRGaXJzdExlZyA9IGlzUmlkZUxlZyhsZWcpXG4gICAgPyAobGVnIGFzIFB0UmlkZUxlZyk/LnNlcnZpY2VKb3VybmV5Py5ub3RpY2VzPy5maWx0ZXIoKG5vdGljZSkgPT5cbiAgICAgICAgWydDSSddLmluY2x1ZGVzKG5vdGljZS5uYW1lKSxcbiAgICAgIClbMF1cbiAgICA6IG51bGw7XG5cbiAgY29uc3QgZXh0cmFjdFRpbWVBbmRTdHJpbmcgPVxuICAgIGV4dGVuZGVkRmlyc3RMZWcgJiYgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dChleHRlbmRlZEZpcnN0TGVnKTtcblxuICByZXR1cm4gZXh0ZW5kZWRGaXJzdExlZ1xuICAgID8ge1xuICAgICAgICBkdXJhdGlvbjogKGV4dHJhY3RUaW1lQW5kU3RyaW5nPy5kdXJhdGlvbiB8fCAwKSArIChkZXBhcnR1cmVXYWxrIHx8IDApLFxuICAgICAgICB0ZXh0OiBhMTF5Rm9vdHBhdGhcbiAgICAgICAgICA/IGkxOG5XYWxraW5nRGlzdGFuY2VEZXBhcnR1cmVbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgIDogZXh0cmFjdFRpbWVBbmRTdHJpbmc/LnRleHQgfHwgJycsXG4gICAgICAgIGljb246IGExMXlGb290cGF0aCA/ICd3aGVlbGNoYWlyLXNtYWxsJyA6IGBzYS0ke2V4dGVuZGVkRmlyc3RMZWc/Lm5hbWU/LnRvTG93ZXJDYXNlKCl9YCxcbiAgICAgIH1cbiAgICA6IG51bGw7XG59XG5cbi8qKlxuICogQHJldHVybnMgdGhlIGV4dGVuZGVkIGV4aXQgYXR0cmlidXRlIG9mIHRoZSBQVFJpZGVMZWdcbiAqL1xuZnVuY3Rpb24gZ2V0TGFzdEV4dGVuZGVkTGVnQXR0cmlidXRlKFxuICBsZWc6IExlZyxcbiAgYXJyaXZhbFdhbGs6IG51bWJlcixcbiAgYTExeUZvb3RwYXRoOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZyxcbik6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsIHtcbiAgLy8gRXh0ZW5kZWQgZXhpdFxuICBjb25zdCBleHRlbmRlZExhc3RMZWcgPSBpc1JpZGVMZWcobGVnKVxuICAgID8gKGxlZyBhcyBQdFJpZGVMZWcpPy5zZXJ2aWNlSm91cm5leT8ubm90aWNlcz8uZmlsdGVyKChub3RpY2UpID0+XG4gICAgICAgIFsnQ08nXS5pbmNsdWRlcyhub3RpY2UubmFtZSksXG4gICAgICApWzBdXG4gICAgOiBudWxsO1xuXG4gIGNvbnN0IGV4dHJhY3RUaW1lQW5kU3RyaW5nID1cbiAgICBleHRlbmRlZExhc3RMZWcgJiYgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dChleHRlbmRlZExhc3RMZWcpO1xuXG4gIHJldHVybiBleHRlbmRlZExhc3RMZWdcbiAgICA/IHtcbiAgICAgICAgZHVyYXRpb246IChleHRyYWN0VGltZUFuZFN0cmluZz8uZHVyYXRpb24gfHwgMCkgKyAoYXJyaXZhbFdhbGsgfHwgMCksXG4gICAgICAgIHRleHQ6IGExMXlGb290cGF0aFxuICAgICAgICAgID8gaTE4bldhbGtpbmdEaXN0YW5jZUFycml2YWxbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgIDogZXh0cmFjdFRpbWVBbmRTdHJpbmc/LnRleHQgfHwgJycsXG4gICAgICAgIGljb246IGExMXlGb290cGF0aCA/ICd3aGVlbGNoYWlyLXNtYWxsJyA6IGBzYS0ke2V4dGVuZGVkTGFzdExlZz8ubmFtZT8udG9Mb3dlckNhc2UoKX1gLFxuICAgICAgfVxuICAgIDogbnVsbDtcbn1cblxuLyoqXG4gKiByZW5kZXJzIHRoZSBleHRlbmRlZCBleGl0L2VudGVyIGljb24gd2l0aCB0aGUgZHVyYXRpb25cbiAqL1xuZnVuY3Rpb24gcmVuZGVyVHJhbnNmZXJUaW1lKFxuICBkdXJhdGlvbjogbnVtYmVyIHwgc3RyaW5nLFxuICBpY29uOiBzdHJpbmcsXG4gIGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nLFxuICBsYWJlbD86IHN0cmluZyxcbiAgdHlwZT86ICdkZXBhcnR1cmUnIHwgJ2Fycml2YWwnLFxuKTogVGVtcGxhdGVSZXN1bHQge1xuICByZXR1cm4gaHRtbGBcbiAgICA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fdGltZS10cmFuc2ZlciBzYmItcGVhcmwtY2hhaW5fX3RpbWUtdHJhbnNmZXItLSR7aWNvbn0tJHt0eXBlfVwiPlxuICAgICAgPHNiYi1pY29uIG5hbWU9JHtpY29ufT48L3NiYi1pY29uPlxuICAgICAgPHRpbWUgZGF0ZXRpbWU9JHtkdXJhdGlvbiArICdNJ30+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiPlxuICAgICAgICAgICR7IWxhYmVsICYmIHR5cGVcbiAgICAgICAgICAgID8gdHlwZSA9PT0gJ2RlcGFydHVyZSdcbiAgICAgICAgICAgICAgPyBpMThuV2Fsa2luZ0Rpc3RhbmNlRGVwYXJ0dXJlW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgICAgICAgOiBpMThuV2Fsa2luZ0Rpc3RhbmNlQXJyaXZhbFtjdXJyZW50TGFuZ3VhZ2VdXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgJHtsYWJlbCA/IGh0bWxgPHNwYW4+JHtsYWJlbH08L3NwYW4+YCA6IG5vdGhpbmd9Jm5ic3A7XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgJHtkdXJhdGlvbn1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUtcHJpbWUtc3ltYm9sXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Jzwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+bWluPC9zcGFuPlxuICAgICAgPC90aW1lPlxuICAgIDwvc3Bhbj5cbiAgYDtcbn1cblxuLyoqXG4gKiByZW5kZXJzIGEgd2Fsay10aW1lIGljb24gd2l0aCB0aGUgd2FsayBkdXJhdGlvblxuICovXG5mdW5jdGlvbiByZW5kZXJXYWxrVGltZShcbiAgZHVyYXRpb246IG51bWJlciB8IHN0cmluZyxcbiAgbGFiZWw6IHN0cmluZyxcbiAgdmFyaWFudDogJ2xlZnQnIHwgJ3JpZ2h0JyxcbiAgaWNvbjogc3RyaW5nLFxuKTogVGVtcGxhdGVSZXN1bHQge1xuICByZXR1cm4gaHRtbGBcbiAgICA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZSBzYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUtLSR7aWNvbn0tJHt2YXJpYW50fVwiPlxuICAgICAgPHNiYi1pY29uIG5hbWU9JHtpY29ufT48L3NiYi1pY29uPlxuICAgICAgPHRpbWUgZGF0ZXRpbWU9JHtkdXJhdGlvbiArICdNJ30+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiPiR7bGFiZWx9PC9zcGFuPlxuICAgICAgICAke2R1cmF0aW9ufVxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZS1wcmltZS1zeW1ib2xcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4nPC9zcGFuPlxuICAgICAgPC90aW1lPlxuICAgIDwvc3Bhbj5cbiAgYDtcbn1cblxuLyoqXG4gKiBAcGFyYW0gbGVnczogQW4gYXJyYXkgb2YgTGVnIG9iamVjdHMgcmVwcmVzZW50aW5nIHRoZSBqb3VybmV5IGxlZ3MuXG4gKiBAcGFyYW0gZGVwYXJ0dXJlV2FsazogVGhlIHdhbGtpbmcgZGlzdGFuY2UgaW4gbWludXRlcyBmcm9tIHRoZSBkZXBhcnR1cmUgcG9pbnQgdG8gdGhlIGZpcnN0IGxlZy5cbiAqIEBwYXJhbSBhcnJpdmFsV2FsazogVGhlIHdhbGtpbmcgZGlzdGFuY2UgaW4gbWludXRlcyBmcm9tIHRoZSBsYXN0IGxlZyB0byB0aGUgYXJyaXZhbCBwb2ludC5cbiAqIEBwYXJhbSBjdXJyZW50TGFuZ3VhZ2U6IFRoZSBjdXJyZW50IGxhbmd1YWdlIGZvciBsb2NhbGl6YXRpb24uXG4gKiBAcGFyYW0gYTExeUZvb3RwYXRoOiBXaGV0aGVyIHRoZSBhMTF5LWljb24gc2hvdWxkIGJlIHNob3duLlxuICogQHJldHVybnMgcmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZTogQSBmdW5jdGlvbiB0aGF0IHJlbmRlcnMgdGhlIGVsZW1lbnQgZm9yIHRoZSBkZXBhcnR1cmUgdGltZSBhdHRyaWJ1dGUuXG4gKiBAcmV0dXJucyByZW5kZXJBcnJpdmFsVGltZUF0dHJpYnV0ZTogQSBmdW5jdGlvbiB0aGF0IHJlbmRlcnMgdGhlIGVsZW1lbnQgZm9yIHRoZSBhcnJpdmFsIHRpbWUgYXR0cmlidXRlLlxuICogQHJldHVybnMgYXJyaXZhbFRpbWVBdHRyaWJ1dGU6IFRoZSBhY2Nlc3MgYXR0cmlidXRlIGZvciB0aGUgYXJyaXZhbCB0aW1lLlxuICogQHJldHVybnMgZGVwYXJ0dXJlVGltZUF0dHJpYnV0ZTogVGhlIGFjY2VzcyBhdHRyaWJ1dGUgZm9yIHRoZSBkZXBhcnR1cmUgdGltZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlcGFydHVyZUFycml2YWxUaW1lQXR0cmlidXRlKFxuICBsZWdzOiBMZWdbXSxcbiAgZGVwYXJ0dXJlV2FsazogbnVtYmVyLFxuICBhcnJpdmFsV2FsazogbnVtYmVyLFxuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZyxcbiAgYTExeUZvb3RwYXRoPzogYm9vbGVhbixcbik6IHtcbiAgcmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZTogKCkgPT4gVGVtcGxhdGVSZXN1bHQ7XG4gIHJlbmRlckFycml2YWxUaW1lQXR0cmlidXRlOiAoKSA9PiBUZW1wbGF0ZVJlc3VsdDtcbiAgZGVwYXJ0dXJlVGltZUF0dHJpYnV0ZTogSUFjY2Vzc0F0dHJpYnV0ZSB8IG51bGw7XG4gIGFycml2YWxUaW1lQXR0cmlidXRlOiBJQWNjZXNzQXR0cmlidXRlIHwgbnVsbDtcbn0ge1xuICBjb25zdCBjb25uZWN0aW9uUmlkZUxlZyA9XG4gICAgbGVncyAmJlxuICAgIChsZWdzLmZpbHRlcigobGVnKSA9PiBpc1JpZGVMZWcobGVnKSB8fCBpc0Nvbm5lY3Rpb25MZWcobGVnKSlbMF0gYXNcbiAgICAgIHwgUHRSaWRlTGVnXG4gICAgICB8IFB0Q29ubmVjdGlvbkxlZyk7XG5cbiAgY29uc3QgY29ubmVjdGlvbkxlZ05vdGljZSA9IFsnWU0nLCAnWUInLCAnWScsICdZVCddO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb25GaXJzdExlZyA9IGdldFBUQ29ubmVjdGlvbkF0dHJpYnV0ZShjb25uZWN0aW9uUmlkZUxlZywgY29ubmVjdGlvbkxlZ05vdGljZSk7XG4gIGNvbnN0IGV4dGVuZGVkRmlyc3RMZWcgPSBnZXRGaXJzdEV4dGVuZGVkTGVnQXR0cmlidXRlKFxuICAgIGNvbm5lY3Rpb25SaWRlTGVnLFxuICAgIGRlcGFydHVyZVdhbGssXG4gICAgYTExeUZvb3RwYXRoLFxuICAgIGN1cnJlbnRMYW5ndWFnZSxcbiAgKTtcbiAgY29uc3QgZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZSA9IGRlcGFydHVyZVdhbGtcbiAgICA/IHtcbiAgICAgICAgdGV4dDogaTE4bldhbGtpbmdEaXN0YW5jZURlcGFydHVyZVtjdXJyZW50TGFuZ3VhZ2VdLFxuICAgICAgICBkdXJhdGlvbjogZGVwYXJ0dXJlV2FsayxcbiAgICAgICAgaWNvbjogYTExeUZvb3RwYXRoID8gJ3doZWVsY2hhaXItc21hbGwnIDogJ3dhbGstc21hbGwnLFxuICAgICAgfVxuICAgIDogbnVsbDtcblxuICBjb25zdCBnZXREZXBhcnR1cmVUeXBlID0gKCk6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsID0+IHtcbiAgICBpZiAoY29ubmVjdGlvbkZpcnN0TGVnKSB7XG4gICAgICByZXR1cm4gY29ubmVjdGlvbkZpcnN0TGVnO1xuICAgIH0gZWxzZSBpZiAoZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZSAmJiAhZXh0ZW5kZWRGaXJzdExlZyAmJiAhY29ubmVjdGlvbkZpcnN0TGVnKSB7XG4gICAgICByZXR1cm4gZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZTtcbiAgICB9IGVsc2UgaWYgKGV4dGVuZGVkRmlyc3RMZWcpIHtcbiAgICAgIHJldHVybiBleHRlbmRlZEZpcnN0TGVnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH07XG5cbiAgZnVuY3Rpb24gcmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke2Nvbm5lY3Rpb25GaXJzdExlZ1xuICAgICAgICA/IHJlbmRlcldhbGtUaW1lKFxuICAgICAgICAgICAgY29ubmVjdGlvbkZpcnN0TGVnLmR1cmF0aW9uLFxuICAgICAgICAgICAgY29ubmVjdGlvbkZpcnN0TGVnLnRleHQsXG4gICAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgICBjb25uZWN0aW9uRmlyc3RMZWcuaWNvbixcbiAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICAgICR7ZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZSAmJiAhZXh0ZW5kZWRGaXJzdExlZyAmJiAhY29ubmVjdGlvbkZpcnN0TGVnXG4gICAgICAgID8gcmVuZGVyV2Fsa1RpbWUoXG4gICAgICAgICAgICBkZXBhcnR1cmVXYWxrQXR0cmlidXRlLmR1cmF0aW9uLFxuICAgICAgICAgICAgZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZS50ZXh0LFxuICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZS5pY29uLFxuICAgICAgICAgIClcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgJHtleHRlbmRlZEZpcnN0TGVnXG4gICAgICAgID8gYTExeUZvb3RwYXRoXG4gICAgICAgICAgPyByZW5kZXJXYWxrVGltZShcbiAgICAgICAgICAgICAgZXh0ZW5kZWRGaXJzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgICAgZXh0ZW5kZWRGaXJzdExlZy50ZXh0LFxuICAgICAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcuaWNvbixcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IHJlbmRlclRyYW5zZmVyVGltZShcbiAgICAgICAgICAgICAgZXh0ZW5kZWRGaXJzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgICAgZXh0ZW5kZWRGaXJzdExlZy5pY29uLFxuICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2UsXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcudGV4dCxcbiAgICAgICAgICAgICAgJ2RlcGFydHVyZScsXG4gICAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICBgO1xuICB9XG5cbiAgY29uc3QgbGFzdExlZyA9IGxlZ3MgJiYgbGVnc1tsZWdzLmxlbmd0aCAtIDFdO1xuICBjb25zdCBsYXN0Q29ubmVjdGlvblJpZGVMZWcgPVxuICAgIChpc0Nvbm5lY3Rpb25MZWcobGFzdExlZykgfHwgaXNSaWRlTGVnKGxhc3RMZWcpKSAmJiAobGFzdExlZyBhcyBQdENvbm5lY3Rpb25MZWcgfCBQdFJpZGVMZWcpO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb25MYXN0TGVnID1cbiAgICBsYXN0Q29ubmVjdGlvblJpZGVMZWcgJiYgZ2V0UFRDb25uZWN0aW9uQXR0cmlidXRlKGxhc3RDb25uZWN0aW9uUmlkZUxlZywgY29ubmVjdGlvbkxlZ05vdGljZSk7XG4gIGNvbnN0IGV4dGVuZGVkTGFzdExlZyA9XG4gICAgbGFzdENvbm5lY3Rpb25SaWRlTGVnICYmXG4gICAgZ2V0TGFzdEV4dGVuZGVkTGVnQXR0cmlidXRlKGxhc3RDb25uZWN0aW9uUmlkZUxlZywgYXJyaXZhbFdhbGssIGExMXlGb290cGF0aCwgY3VycmVudExhbmd1YWdlKTtcbiAgY29uc3QgYXJyaXZhbFdhbGtBdHRyaWJ1dGUgPSBhcnJpdmFsV2Fsa1xuICAgID8ge1xuICAgICAgICB0ZXh0OiBpMThuV2Fsa2luZ0Rpc3RhbmNlQXJyaXZhbFtjdXJyZW50TGFuZ3VhZ2VdLFxuICAgICAgICBkdXJhdGlvbjogYXJyaXZhbFdhbGssXG4gICAgICAgIGljb246IGExMXlGb290cGF0aCA/ICd3aGVlbGNoYWlyLXNtYWxsJyA6ICd3YWxrLXNtYWxsJyxcbiAgICAgIH1cbiAgICA6IG51bGw7XG5cbiAgY29uc3QgZ2V0QXJyaXZhbFR5cGUgPSAoKTogSUFjY2Vzc0F0dHJpYnV0ZSB8IG51bGwgPT4ge1xuICAgIGlmIChjb25uZWN0aW9uTGFzdExlZykge1xuICAgICAgcmV0dXJuIGNvbm5lY3Rpb25MYXN0TGVnO1xuICAgIH0gZWxzZSBpZiAoYXJyaXZhbFdhbGtBdHRyaWJ1dGUgJiYgIWV4dGVuZGVkTGFzdExlZyAmJiAhY29ubmVjdGlvbkxhc3RMZWcpIHtcbiAgICAgIHJldHVybiBhcnJpdmFsV2Fsa0F0dHJpYnV0ZTtcbiAgICB9IGVsc2UgaWYgKGV4dGVuZGVkTGFzdExlZykge1xuICAgICAgcmV0dXJuIGV4dGVuZGVkTGFzdExlZztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIHJlbmRlckFycml2YWxUaW1lQXR0cmlidXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7Y29ubmVjdGlvbkxhc3RMZWdcbiAgICAgICAgPyByZW5kZXJXYWxrVGltZShcbiAgICAgICAgICAgIGNvbm5lY3Rpb25MYXN0TGVnLmR1cmF0aW9uLFxuICAgICAgICAgICAgY29ubmVjdGlvbkxhc3RMZWcudGV4dCxcbiAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICBjb25uZWN0aW9uTGFzdExlZy5pY29uLFxuICAgICAgICAgIClcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgJHthcnJpdmFsV2Fsa0F0dHJpYnV0ZSAmJiAhZXh0ZW5kZWRMYXN0TGVnICYmICFjb25uZWN0aW9uTGFzdExlZ1xuICAgICAgICA/IHJlbmRlcldhbGtUaW1lKFxuICAgICAgICAgICAgYXJyaXZhbFdhbGtBdHRyaWJ1dGUuZHVyYXRpb24sXG4gICAgICAgICAgICBhcnJpdmFsV2Fsa0F0dHJpYnV0ZS50ZXh0LFxuICAgICAgICAgICAgJ3JpZ2h0JyxcbiAgICAgICAgICAgIGFycml2YWxXYWxrQXR0cmlidXRlLmljb24sXG4gICAgICAgICAgKVxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAke2V4dGVuZGVkTGFzdExlZ1xuICAgICAgICA/IGExMXlGb290cGF0aFxuICAgICAgICAgID8gcmVuZGVyV2Fsa1RpbWUoXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgICAgZXh0ZW5kZWRMYXN0TGVnLnRleHQsXG4gICAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy5pY29uLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogcmVuZGVyVHJhbnNmZXJUaW1lKFxuICAgICAgICAgICAgICBleHRlbmRlZExhc3RMZWcuZHVyYXRpb24sXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy5pY29uLFxuICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2UsXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy50ZXh0LFxuICAgICAgICAgICAgICAnYXJyaXZhbCcsXG4gICAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICBgO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICByZW5kZXJEZXBhcnR1cmVUaW1lQXR0cmlidXRlLFxuICAgIHJlbmRlckFycml2YWxUaW1lQXR0cmlidXRlLFxuICAgIGRlcGFydHVyZVRpbWVBdHRyaWJ1dGU6IGdldERlcGFydHVyZVR5cGUoKSxcbiAgICBhcnJpdmFsVGltZUF0dHJpYnV0ZTogZ2V0QXJyaXZhbFR5cGUoKSxcbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBMkJBLFNBQVMseUJBQ1AsS0FDQSxxQkFBNkI7O0FBRTdCLFFBQU0scUJBQXFCLGdCQUFnQixHQUFHLElBQUssTUFBMEI7QUFFN0UsUUFBTSwyQkFBMkIsc0JBQzdCLDhEQUFvQixZQUFwQixtQkFBNkIsT0FBTyxDQUFD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
|
|
125
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWxlZy1oZWxwZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvY29yZS90aW1ldGFibGUvYWNjZXNzLWxlZy1oZWxwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBoZWxwZXIgZmlsZSBjb250YWlucyBzZXZlcmFsIGZ1bmN0aW9ucyByZWxhdGVkIHRvIGFjY2Vzc2luZyBhdHRyaWJ1dGVzIGZvciB0aGUgY29ubmVjdGlvbnMuXG5cbmltcG9ydCB7XG4gIGkxOG5XYWxraW5nRGlzdGFuY2VBcnJpdmFsLFxuICBpMThuV2Fsa2luZ0Rpc3RhbmNlRGVwYXJ0dXJlLFxufSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHtcbiAgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dCxcbiAgaXNDb25uZWN0aW9uTGVnLFxuICBpc1JpZGVMZWcsXG59IGZyb20gJy4vdGltZXRhYmxlLWhlbHBlci5qcyc7XG5pbXBvcnQgdHlwZSB7IExlZywgUHRDb25uZWN0aW9uTGVnLCBQdFJpZGVMZWcgfSBmcm9tICcuL3RpbWV0YWJsZS1wcm9wZXJ0aWVzLmpzJztcblxuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9pY29uLmpzJztcblxuaW50ZXJmYWNlIElBY2Nlc3NBdHRyaWJ1dGUge1xuICBkdXJhdGlvbjogbnVtYmVyO1xuICB0ZXh0OiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB0aGUgYXR0cmlidXRlIG9mIGEgQ29ubmVjdGlvbkxlZ1xuICovXG5mdW5jdGlvbiBnZXRQVENvbm5lY3Rpb25BdHRyaWJ1dGUoXG4gIGxlZzogUHRSaWRlTGVnIHwgUHRDb25uZWN0aW9uTGVnLFxuICBjb25uZWN0aW9uTGVnTm90aWNlOiBzdHJpbmdbXSxcbik6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsIHtcbiAgY29uc3QgY29ubmVjdGlvbkZpcnN0TGVnID0gaXNDb25uZWN0aW9uTGVnKGxlZykgPyAobGVnIGFzIFB0Q29ubmVjdGlvbkxlZykgOiBudWxsO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb25GaXJzdExlZ05vdGljZSA9IGNvbm5lY3Rpb25GaXJzdExlZ1xuICAgID8gY29ubmVjdGlvbkZpcnN0TGVnPy5ub3RpY2VzPy5maWx0ZXIoKG5vdGljZSkgPT4gY29ubmVjdGlvbkxlZ05vdGljZS5pbmNsdWRlcyhub3RpY2UubmFtZSkpWzBdXG4gICAgOiBudWxsO1xuXG4gIHJldHVybiBjb25uZWN0aW9uRmlyc3RMZWdOb3RpY2VcbiAgICA/IHtcbiAgICAgICAgZHVyYXRpb246IGNvbm5lY3Rpb25GaXJzdExlZz8uZHVyYXRpb24gfHwgMCxcbiAgICAgICAgdGV4dDogY29ubmVjdGlvbkZpcnN0TGVnTm90aWNlPy50ZXh0Py50ZW1wbGF0ZSB8fCAnJyxcbiAgICAgICAgaWNvbjogJ3dhbGstc21hbGwnLFxuICAgICAgfVxuICAgIDogbnVsbDtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB0aGUgZXh0ZW5kZWQgZW50ZXIgYXR0cmlidXRlIG9mIHRoZSBQVFJpZGVMZWdcbiAqL1xuZnVuY3Rpb24gZ2V0Rmlyc3RFeHRlbmRlZExlZ0F0dHJpYnV0ZShcbiAgbGVnOiBQdFJpZGVMZWcgfCBQdENvbm5lY3Rpb25MZWcsXG4gIGRlcGFydHVyZVdhbGs6IG51bWJlcixcbiAgYTExeUZvb3RwYXRoOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZyxcbik6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsIHtcbiAgLy8gRXh0ZW5kZWQgZW50ZXJcbiAgY29uc3QgZXh0ZW5kZWRGaXJzdExlZyA9IGlzUmlkZUxlZyhsZWcpXG4gICAgPyAobGVnIGFzIFB0UmlkZUxlZyk/LnNlcnZpY2VKb3VybmV5Py5ub3RpY2VzPy5maWx0ZXIoKG5vdGljZSkgPT5cbiAgICAgICAgWydDSSddLmluY2x1ZGVzKG5vdGljZS5uYW1lKSxcbiAgICAgIClbMF1cbiAgICA6IG51bGw7XG5cbiAgY29uc3QgZXh0cmFjdFRpbWVBbmRTdHJpbmcgPVxuICAgIGV4dGVuZGVkRmlyc3RMZWcgJiYgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dChleHRlbmRlZEZpcnN0TGVnKTtcblxuICByZXR1cm4gZXh0ZW5kZWRGaXJzdExlZ1xuICAgID8ge1xuICAgICAgICBkdXJhdGlvbjogKGV4dHJhY3RUaW1lQW5kU3RyaW5nPy5kdXJhdGlvbiB8fCAwKSArIChkZXBhcnR1cmVXYWxrIHx8IDApLFxuICAgICAgICB0ZXh0OiBhMTF5Rm9vdHBhdGhcbiAgICAgICAgICA/IGkxOG5XYWxraW5nRGlzdGFuY2VEZXBhcnR1cmVbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgIDogZXh0cmFjdFRpbWVBbmRTdHJpbmc/LnRleHQgfHwgJycsXG4gICAgICAgIGljb246IGExMXlGb290cGF0aCA/ICd3aGVlbGNoYWlyLXNtYWxsJyA6IGBzYS0ke2V4dGVuZGVkRmlyc3RMZWc/Lm5hbWU/LnRvTG93ZXJDYXNlKCl9YCxcbiAgICAgIH1cbiAgICA6IG51bGw7XG59XG5cbi8qKlxuICogQHJldHVybnMgdGhlIGV4dGVuZGVkIGV4aXQgYXR0cmlidXRlIG9mIHRoZSBQVFJpZGVMZWdcbiAqL1xuZnVuY3Rpb24gZ2V0TGFzdEV4dGVuZGVkTGVnQXR0cmlidXRlKFxuICBsZWc6IExlZyxcbiAgYXJyaXZhbFdhbGs6IG51bWJlcixcbiAgYTExeUZvb3RwYXRoOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZyxcbik6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsIHtcbiAgLy8gRXh0ZW5kZWQgZXhpdFxuICBjb25zdCBleHRlbmRlZExhc3RMZWcgPSBpc1JpZGVMZWcobGVnKVxuICAgID8gKGxlZyBhcyBQdFJpZGVMZWcpPy5zZXJ2aWNlSm91cm5leT8ubm90aWNlcz8uZmlsdGVyKChub3RpY2UpID0+XG4gICAgICAgIFsnQ08nXS5pbmNsdWRlcyhub3RpY2UubmFtZSksXG4gICAgICApWzBdXG4gICAgOiBudWxsO1xuXG4gIGNvbnN0IGV4dHJhY3RUaW1lQW5kU3RyaW5nID1cbiAgICBleHRlbmRlZExhc3RMZWcgJiYgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dChleHRlbmRlZExhc3RMZWcpO1xuXG4gIHJldHVybiBleHRlbmRlZExhc3RMZWdcbiAgICA/IHtcbiAgICAgICAgZHVyYXRpb246IChleHRyYWN0VGltZUFuZFN0cmluZz8uZHVyYXRpb24gfHwgMCkgKyAoYXJyaXZhbFdhbGsgfHwgMCksXG4gICAgICAgIHRleHQ6IGExMXlGb290cGF0aFxuICAgICAgICAgID8gaTE4bldhbGtpbmdEaXN0YW5jZUFycml2YWxbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgIDogZXh0cmFjdFRpbWVBbmRTdHJpbmc/LnRleHQgfHwgJycsXG4gICAgICAgIGljb246IGExMXlGb290cGF0aCA/ICd3aGVlbGNoYWlyLXNtYWxsJyA6IGBzYS0ke2V4dGVuZGVkTGFzdExlZz8ubmFtZT8udG9Mb3dlckNhc2UoKX1gLFxuICAgICAgfVxuICAgIDogbnVsbDtcbn1cblxuLyoqXG4gKiByZW5kZXJzIHRoZSBleHRlbmRlZCBleGl0L2VudGVyIGljb24gd2l0aCB0aGUgZHVyYXRpb25cbiAqL1xuZnVuY3Rpb24gcmVuZGVyVHJhbnNmZXJUaW1lKFxuICBkdXJhdGlvbjogbnVtYmVyIHwgc3RyaW5nLFxuICBpY29uOiBzdHJpbmcsXG4gIGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nLFxuICBsYWJlbD86IHN0cmluZyxcbiAgdHlwZT86ICdkZXBhcnR1cmUnIHwgJ2Fycml2YWwnLFxuKTogVGVtcGxhdGVSZXN1bHQge1xuICByZXR1cm4gaHRtbGBcbiAgICA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fdGltZS10cmFuc2ZlciBzYmItcGVhcmwtY2hhaW5fX3RpbWUtdHJhbnNmZXItLSR7aWNvbn0tJHt0eXBlfVwiPlxuICAgICAgPHNiYi1pY29uIG5hbWU9JHtpY29ufT48L3NiYi1pY29uPlxuICAgICAgPHRpbWUgZGF0ZXRpbWU9JHtkdXJhdGlvbiArICdNJ30+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiPlxuICAgICAgICAgICR7IWxhYmVsICYmIHR5cGVcbiAgICAgICAgICAgID8gdHlwZSA9PT0gJ2RlcGFydHVyZSdcbiAgICAgICAgICAgICAgPyBpMThuV2Fsa2luZ0Rpc3RhbmNlRGVwYXJ0dXJlW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgICAgICAgOiBpMThuV2Fsa2luZ0Rpc3RhbmNlQXJyaXZhbFtjdXJyZW50TGFuZ3VhZ2VdXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgJHtsYWJlbCA/IGh0bWxgPHNwYW4+JHtsYWJlbH08L3NwYW4+YCA6IG5vdGhpbmd9Jm5ic3A7XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgJHtkdXJhdGlvbn1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUtcHJpbWUtc3ltYm9sXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Jzwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+bWluPC9zcGFuPlxuICAgICAgPC90aW1lPlxuICAgIDwvc3Bhbj5cbiAgYDtcbn1cblxuLyoqXG4gKiByZW5kZXJzIGEgd2Fsay10aW1lIGljb24gd2l0aCB0aGUgd2FsayBkdXJhdGlvblxuICovXG5mdW5jdGlvbiByZW5kZXJXYWxrVGltZShcbiAgZHVyYXRpb246IG51bWJlciB8IHN0cmluZyxcbiAgbGFiZWw6IHN0cmluZyxcbiAgdmFyaWFudDogJ2xlZnQnIHwgJ3JpZ2h0JyxcbiAgaWNvbjogc3RyaW5nLFxuKTogVGVtcGxhdGVSZXN1bHQge1xuICByZXR1cm4gaHRtbGBcbiAgICA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZSBzYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUtLSR7aWNvbn0tJHt2YXJpYW50fVwiPlxuICAgICAgPHNiYi1pY29uIG5hbWU9JHtpY29ufT48L3NiYi1pY29uPlxuICAgICAgPHRpbWUgZGF0ZXRpbWU9JHtkdXJhdGlvbiArICdNJ30+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiPiR7bGFiZWx9PC9zcGFuPlxuICAgICAgICAke2R1cmF0aW9ufVxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZS1wcmltZS1zeW1ib2xcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4nPC9zcGFuPlxuICAgICAgPC90aW1lPlxuICAgIDwvc3Bhbj5cbiAgYDtcbn1cblxuLyoqXG4gKiBAcGFyYW0gbGVnczogQW4gYXJyYXkgb2YgTGVnIG9iamVjdHMgcmVwcmVzZW50aW5nIHRoZSBqb3VybmV5IGxlZ3MuXG4gKiBAcGFyYW0gZGVwYXJ0dXJlV2FsazogVGhlIHdhbGtpbmcgZGlzdGFuY2UgaW4gbWludXRlcyBmcm9tIHRoZSBkZXBhcnR1cmUgcG9pbnQgdG8gdGhlIGZpcnN0IGxlZy5cbiAqIEBwYXJhbSBhcnJpdmFsV2FsazogVGhlIHdhbGtpbmcgZGlzdGFuY2UgaW4gbWludXRlcyBmcm9tIHRoZSBsYXN0IGxlZyB0byB0aGUgYXJyaXZhbCBwb2ludC5cbiAqIEBwYXJhbSBjdXJyZW50TGFuZ3VhZ2U6IFRoZSBjdXJyZW50IGxhbmd1YWdlIGZvciBsb2NhbGl6YXRpb24uXG4gKiBAcGFyYW0gYTExeUZvb3RwYXRoOiBXaGV0aGVyIHRoZSBhMTF5LWljb24gc2hvdWxkIGJlIHNob3duLlxuICogQHJldHVybnMgcmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZTogQSBmdW5jdGlvbiB0aGF0IHJlbmRlcnMgdGhlIGVsZW1lbnQgZm9yIHRoZSBkZXBhcnR1cmUgdGltZSBhdHRyaWJ1dGUuXG4gKiBAcmV0dXJucyByZW5kZXJBcnJpdmFsVGltZUF0dHJpYnV0ZTogQSBmdW5jdGlvbiB0aGF0IHJlbmRlcnMgdGhlIGVsZW1lbnQgZm9yIHRoZSBhcnJpdmFsIHRpbWUgYXR0cmlidXRlLlxuICogQHJldHVybnMgYXJyaXZhbFRpbWVBdHRyaWJ1dGU6IFRoZSBhY2Nlc3MgYXR0cmlidXRlIGZvciB0aGUgYXJyaXZhbCB0aW1lLlxuICogQHJldHVybnMgZGVwYXJ0dXJlVGltZUF0dHJpYnV0ZTogVGhlIGFjY2VzcyBhdHRyaWJ1dGUgZm9yIHRoZSBkZXBhcnR1cmUgdGltZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlcGFydHVyZUFycml2YWxUaW1lQXR0cmlidXRlKFxuICBsZWdzOiBMZWdbXSxcbiAgZGVwYXJ0dXJlV2FsazogbnVtYmVyLFxuICBhcnJpdmFsV2FsazogbnVtYmVyLFxuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZyxcbiAgYTExeUZvb3RwYXRoPzogYm9vbGVhbixcbik6IHtcbiAgcmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZTogKCkgPT4gVGVtcGxhdGVSZXN1bHQ7XG4gIHJlbmRlckFycml2YWxUaW1lQXR0cmlidXRlOiAoKSA9PiBUZW1wbGF0ZVJlc3VsdDtcbiAgZGVwYXJ0dXJlVGltZUF0dHJpYnV0ZTogSUFjY2Vzc0F0dHJpYnV0ZSB8IG51bGw7XG4gIGFycml2YWxUaW1lQXR0cmlidXRlOiBJQWNjZXNzQXR0cmlidXRlIHwgbnVsbDtcbn0ge1xuICBjb25zdCBjb25uZWN0aW9uUmlkZUxlZyA9XG4gICAgbGVncyAmJlxuICAgIChsZWdzLmZpbHRlcigobGVnKSA9PiBpc1JpZGVMZWcobGVnKSB8fCBpc0Nvbm5lY3Rpb25MZWcobGVnKSlbMF0gYXNcbiAgICAgIHwgUHRSaWRlTGVnXG4gICAgICB8IFB0Q29ubmVjdGlvbkxlZyk7XG5cbiAgY29uc3QgY29ubmVjdGlvbkxlZ05vdGljZSA9IFsnWU0nLCAnWUInLCAnWScsICdZVCddO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb25GaXJzdExlZyA9IGdldFBUQ29ubmVjdGlvbkF0dHJpYnV0ZShjb25uZWN0aW9uUmlkZUxlZywgY29ubmVjdGlvbkxlZ05vdGljZSk7XG4gIGNvbnN0IGV4dGVuZGVkRmlyc3RMZWcgPSBnZXRGaXJzdEV4dGVuZGVkTGVnQXR0cmlidXRlKFxuICAgIGNvbm5lY3Rpb25SaWRlTGVnLFxuICAgIGRlcGFydHVyZVdhbGssXG4gICAgYTExeUZvb3RwYXRoLFxuICAgIGN1cnJlbnRMYW5ndWFnZSxcbiAgKTtcbiAgY29uc3QgZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZSA9IGRlcGFydHVyZVdhbGtcbiAgICA/IHtcbiAgICAgICAgdGV4dDogaTE4bldhbGtpbmdEaXN0YW5jZURlcGFydHVyZVtjdXJyZW50TGFuZ3VhZ2VdLFxuICAgICAgICBkdXJhdGlvbjogZGVwYXJ0dXJlV2FsayxcbiAgICAgICAgaWNvbjogYTExeUZvb3RwYXRoID8gJ3doZWVsY2hhaXItc21hbGwnIDogJ3dhbGstc21hbGwnLFxuICAgICAgfVxuICAgIDogbnVsbDtcblxuICBjb25zdCBnZXREZXBhcnR1cmVUeXBlID0gKCk6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsID0+IHtcbiAgICBpZiAoY29ubmVjdGlvbkZpcnN0TGVnKSB7XG4gICAgICByZXR1cm4gY29ubmVjdGlvbkZpcnN0TGVnO1xuICAgIH0gZWxzZSBpZiAoZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZSAmJiAhZXh0ZW5kZWRGaXJzdExlZyAmJiAhY29ubmVjdGlvbkZpcnN0TGVnKSB7XG4gICAgICByZXR1cm4gZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZTtcbiAgICB9IGVsc2UgaWYgKGV4dGVuZGVkRmlyc3RMZWcpIHtcbiAgICAgIHJldHVybiBleHRlbmRlZEZpcnN0TGVnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH07XG5cbiAgZnVuY3Rpb24gcmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke2Nvbm5lY3Rpb25GaXJzdExlZ1xuICAgICAgICA/IHJlbmRlcldhbGtUaW1lKFxuICAgICAgICAgICAgY29ubmVjdGlvbkZpcnN0TGVnLmR1cmF0aW9uLFxuICAgICAgICAgICAgY29ubmVjdGlvbkZpcnN0TGVnLnRleHQsXG4gICAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgICBjb25uZWN0aW9uRmlyc3RMZWcuaWNvbixcbiAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICAgICR7ZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZSAmJiAhZXh0ZW5kZWRGaXJzdExlZyAmJiAhY29ubmVjdGlvbkZpcnN0TGVnXG4gICAgICAgID8gcmVuZGVyV2Fsa1RpbWUoXG4gICAgICAgICAgICBkZXBhcnR1cmVXYWxrQXR0cmlidXRlLmR1cmF0aW9uLFxuICAgICAgICAgICAgZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZS50ZXh0LFxuICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZS5pY29uLFxuICAgICAgICAgIClcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgJHtleHRlbmRlZEZpcnN0TGVnXG4gICAgICAgID8gYTExeUZvb3RwYXRoXG4gICAgICAgICAgPyByZW5kZXJXYWxrVGltZShcbiAgICAgICAgICAgICAgZXh0ZW5kZWRGaXJzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgICAgZXh0ZW5kZWRGaXJzdExlZy50ZXh0LFxuICAgICAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcuaWNvbixcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IHJlbmRlclRyYW5zZmVyVGltZShcbiAgICAgICAgICAgICAgZXh0ZW5kZWRGaXJzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgICAgZXh0ZW5kZWRGaXJzdExlZy5pY29uLFxuICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2UsXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcudGV4dCxcbiAgICAgICAgICAgICAgJ2RlcGFydHVyZScsXG4gICAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICBgO1xuICB9XG5cbiAgY29uc3QgbGFzdExlZyA9IGxlZ3MgJiYgbGVnc1tsZWdzLmxlbmd0aCAtIDFdO1xuICBjb25zdCBsYXN0Q29ubmVjdGlvblJpZGVMZWcgPVxuICAgIChpc0Nvbm5lY3Rpb25MZWcobGFzdExlZykgfHwgaXNSaWRlTGVnKGxhc3RMZWcpKSAmJiAobGFzdExlZyBhcyBQdENvbm5lY3Rpb25MZWcgfCBQdFJpZGVMZWcpO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb25MYXN0TGVnID1cbiAgICBsYXN0Q29ubmVjdGlvblJpZGVMZWcgJiYgZ2V0UFRDb25uZWN0aW9uQXR0cmlidXRlKGxhc3RDb25uZWN0aW9uUmlkZUxlZywgY29ubmVjdGlvbkxlZ05vdGljZSk7XG4gIGNvbnN0IGV4dGVuZGVkTGFzdExlZyA9XG4gICAgbGFzdENvbm5lY3Rpb25SaWRlTGVnICYmXG4gICAgZ2V0TGFzdEV4dGVuZGVkTGVnQXR0cmlidXRlKGxhc3RDb25uZWN0aW9uUmlkZUxlZywgYXJyaXZhbFdhbGssIGExMXlGb290cGF0aCwgY3VycmVudExhbmd1YWdlKTtcbiAgY29uc3QgYXJyaXZhbFdhbGtBdHRyaWJ1dGUgPSBhcnJpdmFsV2Fsa1xuICAgID8ge1xuICAgICAgICB0ZXh0OiBpMThuV2Fsa2luZ0Rpc3RhbmNlQXJyaXZhbFtjdXJyZW50TGFuZ3VhZ2VdLFxuICAgICAgICBkdXJhdGlvbjogYXJyaXZhbFdhbGssXG4gICAgICAgIGljb246IGExMXlGb290cGF0aCA/ICd3aGVlbGNoYWlyLXNtYWxsJyA6ICd3YWxrLXNtYWxsJyxcbiAgICAgIH1cbiAgICA6IG51bGw7XG5cbiAgY29uc3QgZ2V0QXJyaXZhbFR5cGUgPSAoKTogSUFjY2Vzc0F0dHJpYnV0ZSB8IG51bGwgPT4ge1xuICAgIGlmIChjb25uZWN0aW9uTGFzdExlZykge1xuICAgICAgcmV0dXJuIGNvbm5lY3Rpb25MYXN0TGVnO1xuICAgIH0gZWxzZSBpZiAoYXJyaXZhbFdhbGtBdHRyaWJ1dGUgJiYgIWV4dGVuZGVkTGFzdExlZyAmJiAhY29ubmVjdGlvbkxhc3RMZWcpIHtcbiAgICAgIHJldHVybiBhcnJpdmFsV2Fsa0F0dHJpYnV0ZTtcbiAgICB9IGVsc2UgaWYgKGV4dGVuZGVkTGFzdExlZykge1xuICAgICAgcmV0dXJuIGV4dGVuZGVkTGFzdExlZztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIHJlbmRlckFycml2YWxUaW1lQXR0cmlidXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7Y29ubmVjdGlvbkxhc3RMZWdcbiAgICAgICAgPyByZW5kZXJXYWxrVGltZShcbiAgICAgICAgICAgIGNvbm5lY3Rpb25MYXN0TGVnLmR1cmF0aW9uLFxuICAgICAgICAgICAgY29ubmVjdGlvbkxhc3RMZWcudGV4dCxcbiAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICBjb25uZWN0aW9uTGFzdExlZy5pY29uLFxuICAgICAgICAgIClcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgJHthcnJpdmFsV2Fsa0F0dHJpYnV0ZSAmJiAhZXh0ZW5kZWRMYXN0TGVnICYmICFjb25uZWN0aW9uTGFzdExlZ1xuICAgICAgICA/IHJlbmRlcldhbGtUaW1lKFxuICAgICAgICAgICAgYXJyaXZhbFdhbGtBdHRyaWJ1dGUuZHVyYXRpb24sXG4gICAgICAgICAgICBhcnJpdmFsV2Fsa0F0dHJpYnV0ZS50ZXh0LFxuICAgICAgICAgICAgJ3JpZ2h0JyxcbiAgICAgICAgICAgIGFycml2YWxXYWxrQXR0cmlidXRlLmljb24sXG4gICAgICAgICAgKVxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAke2V4dGVuZGVkTGFzdExlZ1xuICAgICAgICA/IGExMXlGb290cGF0aFxuICAgICAgICAgID8gcmVuZGVyV2Fsa1RpbWUoXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgICAgZXh0ZW5kZWRMYXN0TGVnLnRleHQsXG4gICAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy5pY29uLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogcmVuZGVyVHJhbnNmZXJUaW1lKFxuICAgICAgICAgICAgICBleHRlbmRlZExhc3RMZWcuZHVyYXRpb24sXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy5pY29uLFxuICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2UsXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy50ZXh0LFxuICAgICAgICAgICAgICAnYXJyaXZhbCcsXG4gICAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICBgO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICByZW5kZXJEZXBhcnR1cmVUaW1lQXR0cmlidXRlLFxuICAgIHJlbmRlckFycml2YWxUaW1lQXR0cmlidXRlLFxuICAgIGRlcGFydHVyZVRpbWVBdHRyaWJ1dGU6IGdldERlcGFydHVyZVR5cGUoKSxcbiAgICBhcnJpdmFsVGltZUF0dHJpYnV0ZTogZ2V0QXJyaXZhbFR5cGUoKSxcbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBMkJBLFNBQVMseUJBQ1AsS0FDQSxxQkFBNkI7QUFFN0IsUUFBTSxxQkFBcUIsZ0JBQWdCLEdBQUcsSUFBSyxNQUEwQjtBQUU3RSxRQUFNLDJCQUEyQixxQkFDN0Isb0JBQW9CLFNBQVMsT0FBTyxDQUFDLFdBQVcsb0JBQW9CLFNBQVMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQzVGO0FBRUosU0FBTywyQkFDSDtBQUFBLElBQ0UsVUFBVSxvQkFBb0IsWUFBWTtBQUFBLElBQzFDLE1BQU0sMEJBQTBCLE1BQU0sWUFBWTtBQUFBLElBQ2xELE1BQU07QUFBQSxFQUFBLElBRVI7QUFDTjtBQUtBLFNBQVMsNkJBQ1AsS0FDQSxlQUNBLGNBQ0EsaUJBQXVCO0FBR3ZCLFFBQU0sbUJBQW1CLFVBQVUsR0FBRyxJQUNqQyxLQUFtQixnQkFBZ0IsU0FBUyxPQUFPLENBQUMsV0FDbkQsQ0FBQyxJQUFJLEVBQUUsU0FBUyxPQUFPLElBQUksQ0FBQyxFQUM1QixDQUFDLElBQ0g7QUFFSixRQUFNLHVCQUNKLG9CQUFvQixtQ0FBbUMsZ0JBQWdCO0FBRXpFLFNBQU8sbUJBQ0g7QUFBQSxJQUNFLFdBQVcsc0JBQXNCLFlBQVksTUFBTSxpQkFBaUI7QUFBQSxJQUNwRSxNQUFNLGVBQ0YsNkJBQTZCLGVBQWUsSUFDNUMsc0JBQXNCLFFBQVE7QUFBQSxJQUNsQyxNQUFNLGVBQWUscUJBQXFCLE1BQU0sa0JBQWtCLE1BQU0sYUFBYTtBQUFBLEVBQUEsSUFFdkY7QUFDTjtBQUtBLFNBQVMsNEJBQ1AsS0FDQSxhQUNBLGNBQ0EsaUJBQXVCO0FBR3ZCLFFBQU0sa0JBQWtCLFVBQVUsR0FBRyxJQUNoQyxLQUFtQixnQkFBZ0IsU0FBUyxPQUFPLENBQUMsV0FDbkQsQ0FBQyxJQUFJLEVBQUUsU0FBUyxPQUFPLElBQUksQ0FBQyxFQUM1QixDQUFDLElBQ0g7QUFFSixRQUFNLHVCQUNKLG1CQUFtQixtQ0FBbUMsZUFBZTtBQUV2RSxTQUFPLGtCQUNIO0FBQUEsSUFDRSxXQUFXLHNCQUFzQixZQUFZLE1BQU0sZUFBZTtBQUFBLElBQ2xFLE1BQU0sZUFDRiwyQkFBMkIsZUFBZSxJQUMxQyxzQkFBc0IsUUFBUTtBQUFBLElBQ2xDLE1BQU0sZUFBZSxxQkFBcUIsTUFBTSxpQkFBaUIsTUFBTSxhQUFhO0FBQUEsRUFBQSxJQUV0RjtBQUNOO0FBS0EsU0FBUyxtQkFDUCxVQUNBLE1BQ0EsaUJBQ0EsT0FDQSxNQUE4QjtBQUU5QixTQUFPO0FBQUEsa0ZBQ3lFLElBQUksSUFBSSxJQUFJO0FBQUEsdUJBQ3ZFLElBQUk7QUFBQSx1QkFDSixXQUFXLEdBQUc7QUFBQTtBQUFBLFlBRXpCLENBQUMsU0FBUyxPQUNSLFNBQVMsY0FDUCw2QkFBNkIsZUFBZSxJQUM1QywyQkFBMkIsZUFBZSxJQUM1QyxPQUFPO0FBQUEsWUFDVCxRQUFRLGFBQWEsS0FBSyxZQUFZLE9BQU87QUFBQTtBQUFBLFVBRS9DLFFBQVE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTWxCO0FBS0EsU0FBUyxlQUNQLFVBQ0EsT0FDQSxTQUNBLE1BQVk7QUFFWixTQUFPO0FBQUEsa0ZBQ3lFLElBQUksSUFBSSxPQUFPO0FBQUEsdUJBQzFFLElBQUk7QUFBQSx1QkFDSixXQUFXLEdBQUc7QUFBQSwrQ0FDVSxLQUFLO0FBQUEsVUFDMUMsUUFBUTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS2xCO0FBYU0sU0FBVSxpQ0FDZCxNQUNBLGVBQ0EsYUFDQSxpQkFDQSxjQUFzQjtBQU90QixRQUFNLG9CQUNKLFFBQ0MsS0FBSyxPQUFPLENBQUMsUUFBUSxVQUFVLEdBQUcsS0FBSyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUUsQ0FBQztBQUlqRSxRQUFNLHNCQUFzQixDQUFDLE1BQU0sTUFBTSxLQUFLLElBQUk7QUFFbEQsUUFBTSxxQkFBcUIseUJBQXlCLG1CQUFtQixtQkFBbUI7QUFDMUYsUUFBTSxtQkFBbUIsNkJBQ3ZCLG1CQUNBLGVBQ0EsY0FDQSxlQUFlO0FBRWpCLFFBQU0seUJBQXlCLGdCQUMzQjtBQUFBLElBQ0UsTUFBTSw2QkFBNkIsZUFBZTtBQUFBLElBQ2xELFVBQVU7QUFBQSxJQUNWLE1BQU0sZUFBZSxxQkFBcUI7QUFBQSxFQUFBLElBRTVDO0FBRUosUUFBTSxtQkFBbUIsTUFBOEI7QUFDckQsUUFBSSxvQkFBb0I7QUFDdEIsYUFBTztBQUFBLElBQUEsV0FDRSwwQkFBMEIsQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0I7QUFDN0UsYUFBTztBQUFBLElBQUEsV0FDRSxrQkFBa0I7QUFDM0IsYUFBTztBQUFBLElBQUEsT0FDRjtBQUNMLGFBQU87QUFBQSxJQUFBO0FBQUEsRUFDVDtBQUdGLFdBQVMsK0JBQTRCO0FBQ25DLFdBQU87QUFBQSxRQUNILHFCQUNFLGVBQ0UsbUJBQW1CLFVBQ25CLG1CQUFtQixNQUNuQixRQUNBLG1CQUFtQixJQUFJLElBRXpCLE9BQU87QUFBQSxRQUNULDBCQUEwQixDQUFDLG9CQUFvQixDQUFDLHFCQUM5QyxlQUNFLHVCQUF1QixVQUN2Qix1QkFBdUIsTUFDdkIsUUFDQSx1QkFBdUIsSUFBSSxJQUU3QixPQUFPO0FBQUEsUUFDVCxtQkFDRSxlQUNFLGVBQ0UsaUJBQWlCLFVBQ2pCLGlCQUFpQixNQUNqQixRQUNBLGlCQUFpQixJQUFJLElBRXZCLG1CQUNFLGlCQUFpQixVQUNqQixpQkFBaUIsTUFDakIsaUJBQ0EsaUJBQWlCLE1BQ2pCLFdBQVcsSUFFZixPQUFPO0FBQUE7QUFBQSxFQUFBO0FBSWYsUUFBTSxVQUFVLFFBQVEsS0FBSyxLQUFLLFNBQVMsQ0FBQztBQUM1QyxRQUFNLHlCQUNILGdCQUFnQixPQUFPLEtBQUssVUFBVSxPQUFPLE1BQU87QUFFdkQsUUFBTSxvQkFDSix5QkFBeUIseUJBQXlCLHVCQUF1QixtQkFBbUI7QUFDOUYsUUFBTSxrQkFDSix5QkFDQSw0QkFBNEIsdUJBQXVCLGFBQWEsY0FBYyxlQUFlO0FBQy9GLFFBQU0sdUJBQXVCLGNBQ3pCO0FBQUEsSUFDRSxNQUFNLDJCQUEyQixlQUFlO0FBQUEsSUFDaEQsVUFBVTtBQUFBLElBQ1YsTUFBTSxlQUFlLHFCQUFxQjtBQUFBLEVBQUEsSUFFNUM7QUFFSixRQUFNLGlCQUFpQixNQUE4QjtBQUNuRCxRQUFJLG1CQUFtQjtBQUNyQixhQUFPO0FBQUEsSUFBQSxXQUNFLHdCQUF3QixDQUFDLG1CQUFtQixDQUFDLG1CQUFtQjtBQUN6RSxhQUFPO0FBQUEsSUFBQSxXQUNFLGlCQUFpQjtBQUMxQixhQUFPO0FBQUEsSUFBQSxPQUNGO0FBQ0wsYUFBTztBQUFBLElBQUE7QUFBQSxFQUNUO0FBR0YsV0FBUyw2QkFBMEI7QUFDakMsV0FBTztBQUFBLFFBQ0gsb0JBQ0UsZUFDRSxrQkFBa0IsVUFDbEIsa0JBQWtCLE1BQ2xCLFNBQ0Esa0JBQWtCLElBQUksSUFFeEIsT0FBTztBQUFBLFFBQ1Qsd0JBQXdCLENBQUMsbUJBQW1CLENBQUMsb0JBQzNDLGVBQ0UscUJBQXFCLFVBQ3JCLHFCQUFxQixNQUNyQixTQUNBLHFCQUFxQixJQUFJLElBRTNCLE9BQU87QUFBQSxRQUNULGtCQUNFLGVBQ0UsZUFDRSxnQkFBZ0IsVUFDaEIsZ0JBQWdCLE1BQ2hCLFNBQ0EsZ0JBQWdCLElBQUksSUFFdEIsbUJBQ0UsZ0JBQWdCLFVBQ2hCLGdCQUFnQixNQUNoQixpQkFDQSxnQkFBZ0IsTUFDaEIsU0FBUyxJQUViLE9BQU87QUFBQTtBQUFBLEVBQUE7QUFJZixTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0E7QUFBQSxJQUNBLHdCQUF3QixpQkFBQTtBQUFBLElBQ3hCLHNCQUFzQixlQUFBO0FBQUEsRUFBYztBQUV4QzsifQ==
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
const isRideLeg = (leg) => {
|
|
2
|
-
return
|
|
2
|
+
return leg?.__typename === "PTRideLeg";
|
|
3
3
|
};
|
|
4
4
|
const isConnectionLeg = (leg) => {
|
|
5
|
-
return
|
|
5
|
+
return leg?.__typename === "PTConnectionLeg";
|
|
6
6
|
};
|
|
7
7
|
const extractTimeAndStringFromNoticeText = (notice) => {
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
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(")"));
|
|
8
|
+
const firstIndex = notice?.text?.template && notice.text.template.indexOf("(") + 1;
|
|
9
|
+
const noticeDuration = notice?.text?.template?.substring(firstIndex || 0, notice?.text?.template.indexOf(")"));
|
|
11
10
|
return {
|
|
12
11
|
duration: noticeDuration && +noticeDuration.substring(0, noticeDuration.length - 1) || 0,
|
|
13
|
-
text:
|
|
12
|
+
text: notice?.text?.template?.split("(")[0] || ""
|
|
14
13
|
};
|
|
15
14
|
};
|
|
16
15
|
export {
|
|
@@ -18,4 +17,4 @@ export {
|
|
|
18
17
|
isConnectionLeg,
|
|
19
18
|
isRideLeg
|
|
20
19
|
};
|
|
21
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXRhYmxlLWhlbHBlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9jb3JlL3RpbWV0YWJsZS90aW1ldGFibGUtaGVscGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuXG5pbXBvcnQgdHlwZSB7IExlZywgTm90aWNlIH0gZnJvbSAnLi90aW1ldGFibGUtcHJvcGVydGllcy5qcyc7XG5cbmV4cG9ydCBjb25zdCBpc1JpZGVMZWcgPSAobGVnOiBhbnkpOiBsZWcgaXMgRXh0cmFjdDxMZWcsIHsgX190eXBlbmFtZTogJ1BUUmlkZUxlZycgfT4gPT4ge1xuICByZXR1cm4gbGVnPy5fX3R5cGVuYW1lID09PSAnUFRSaWRlTGVnJztcbn07XG5cbmV4cG9ydCBjb25zdCBpc0Nvbm5lY3Rpb25MZWcgPSAoXG4gIGxlZzogYW55LFxuKTogbGVnIGlzIEV4dHJhY3Q8TGVnLCB7IF9fdHlwZW5hbWU6ICdQVENvbm5lY3Rpb25MZWcnIH0+ID0+IHtcbiAgcmV0dXJuIGxlZz8uX190eXBlbmFtZSA9PT0gJ1BUQ29ubmVjdGlvbkxlZyc7XG59O1xuXG5leHBvcnQgY29uc3QgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dCA9IChcbiAgbm90aWNlPzogTm90aWNlLFxuKTogeyBkdXJhdGlvbjogbnVtYmVyOyB0ZXh0OiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IGZpcnN0SW5kZXggPSBub3RpY2U/LnRleHQ/LnRlbXBsYXRlICYmIG5vdGljZS50ZXh0LnRlbXBsYXRlLmluZGV4T2YoJygnKSArIDE7XG4gIGNvbnN0IG5vdGljZUR1cmF0aW9uID0gbm90aWNlPy50ZXh0Py50ZW1wbGF0ZT8uc3Vic3RyaW5nKFxuICAgIGZpcnN0SW5kZXggfHwgMCxcbiAgICBub3RpY2U/LnRleHQ/LnRlbXBsYXRlLmluZGV4T2YoJyknKSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGR1cmF0aW9uOiAobm90aWNlRHVyYXRpb24gJiYgK25vdGljZUR1cmF0aW9uLnN1YnN0cmluZygwLCBub3RpY2VEdXJhdGlvbi5sZW5ndGggLSAxKSkgfHwgMCxcbiAgICB0ZXh0OiBub3RpY2U/LnRleHQ/
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXRhYmxlLWhlbHBlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9jb3JlL3RpbWV0YWJsZS90aW1ldGFibGUtaGVscGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuXG5pbXBvcnQgdHlwZSB7IExlZywgTm90aWNlIH0gZnJvbSAnLi90aW1ldGFibGUtcHJvcGVydGllcy5qcyc7XG5cbmV4cG9ydCBjb25zdCBpc1JpZGVMZWcgPSAobGVnOiBhbnkpOiBsZWcgaXMgRXh0cmFjdDxMZWcsIHsgX190eXBlbmFtZTogJ1BUUmlkZUxlZycgfT4gPT4ge1xuICByZXR1cm4gbGVnPy5fX3R5cGVuYW1lID09PSAnUFRSaWRlTGVnJztcbn07XG5cbmV4cG9ydCBjb25zdCBpc0Nvbm5lY3Rpb25MZWcgPSAoXG4gIGxlZzogYW55LFxuKTogbGVnIGlzIEV4dHJhY3Q8TGVnLCB7IF9fdHlwZW5hbWU6ICdQVENvbm5lY3Rpb25MZWcnIH0+ID0+IHtcbiAgcmV0dXJuIGxlZz8uX190eXBlbmFtZSA9PT0gJ1BUQ29ubmVjdGlvbkxlZyc7XG59O1xuXG5leHBvcnQgY29uc3QgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dCA9IChcbiAgbm90aWNlPzogTm90aWNlLFxuKTogeyBkdXJhdGlvbjogbnVtYmVyOyB0ZXh0OiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IGZpcnN0SW5kZXggPSBub3RpY2U/LnRleHQ/LnRlbXBsYXRlICYmIG5vdGljZS50ZXh0LnRlbXBsYXRlLmluZGV4T2YoJygnKSArIDE7XG4gIGNvbnN0IG5vdGljZUR1cmF0aW9uID0gbm90aWNlPy50ZXh0Py50ZW1wbGF0ZT8uc3Vic3RyaW5nKFxuICAgIGZpcnN0SW5kZXggfHwgMCxcbiAgICBub3RpY2U/LnRleHQ/LnRlbXBsYXRlLmluZGV4T2YoJyknKSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGR1cmF0aW9uOiAobm90aWNlRHVyYXRpb24gJiYgK25vdGljZUR1cmF0aW9uLnN1YnN0cmluZygwLCBub3RpY2VEdXJhdGlvbi5sZW5ndGggLSAxKSkgfHwgMCxcbiAgICB0ZXh0OiBub3RpY2U/LnRleHQ/LnRlbXBsYXRlPy5zcGxpdCgnKCcpWzBdIHx8ICcnLFxuICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJTyxNQUFNLFlBQVksQ0FBQyxRQUE4RDtBQUN0RixTQUFPLEtBQUssZUFBZTtBQUM3QjtBQUVPLE1BQU0sa0JBQWtCLENBQzdCLFFBQzBEO0FBQzFELFNBQU8sS0FBSyxlQUFlO0FBQzdCO0FBRU8sTUFBTSxxQ0FBcUMsQ0FDaEQsV0FDc0M7QUFDdEMsUUFBTSxhQUFhLFFBQVEsTUFBTSxZQUFZLE9BQU8sS0FBSyxTQUFTLFFBQVEsR0FBRyxJQUFJO0FBQ2pGLFFBQU0saUJBQWlCLFFBQVEsTUFBTSxVQUFVLFVBQzdDLGNBQWMsR0FDZCxRQUFRLE1BQU0sU0FBUyxRQUFRLEdBQUcsQ0FBQztBQUdyQyxTQUFPO0FBQUEsSUFDTCxVQUFXLGtCQUFrQixDQUFDLGVBQWUsVUFBVSxHQUFHLGVBQWUsU0FBUyxDQUFDLEtBQU07QUFBQSxJQUN6RixNQUFNLFFBQVEsTUFBTSxVQUFVLE1BQU0sR0FBRyxFQUFFLENBQUMsS0FBSztBQUFBLEVBQUE7QUFFbkQ7In0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as toDate, m as millisecondsInMinute } from "./toDate-D_Vjps95.js";
|
|
2
2
|
function addMinutes(date, amount, options) {
|
|
3
|
-
const _date = toDate(date, options
|
|
3
|
+
const _date = toDate(date, options?.in);
|
|
4
4
|
_date.setTime(_date.getTime() + amount * millisecondsInMinute);
|
|
5
5
|
return _date;
|
|
6
6
|
}
|
|
@@ -16,11 +16,11 @@ function differenceInMilliseconds(laterDate, earlierDate) {
|
|
|
16
16
|
}
|
|
17
17
|
function differenceInMinutes(dateLeft, dateRight, options) {
|
|
18
18
|
const diff = differenceInMilliseconds(dateLeft, dateRight) / millisecondsInMinute;
|
|
19
|
-
return getRoundingMethod(options
|
|
19
|
+
return getRoundingMethod(options?.roundingMethod)(diff);
|
|
20
20
|
}
|
|
21
21
|
export {
|
|
22
22
|
addMinutes as a,
|
|
23
23
|
differenceInMinutes as d,
|
|
24
24
|
getRoundingMethod as g
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZmVyZW5jZUluTWludXRlcy1ENU5qOFN0Yy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2FkZE1pbnV0ZXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvX2xpYi9nZXRSb3VuZGluZ01ldGhvZC5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9kaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZGlmZmVyZW5jZUluTWludXRlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtaWxsaXNlY29uZHNJbk1pbnV0ZSB9IGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBhZGRNaW51dGVzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgYWRkTWludXRlc1xuICogQGNhdGVnb3J5IE1pbnV0ZSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbWludXRlcyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtaW51dGVzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIG1pbnV0ZXMgdG8gYmUgYWRkZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCB3aXRoIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgbmV3IGRhdGUgd2l0aCB0aGUgbWludXRlcyBhZGRlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMzAgbWludXRlcyB0byAxMCBKdWx5IDIwMTQgMTI6MDA6MDA6XG4gKiBjb25zdCByZXN1bHQgPSBhZGRNaW51dGVzKG5ldyBEYXRlKDIwMTQsIDYsIDEwLCAxMiwgMCksIDMwKVxuICogLy89PiBUaHUgSnVsIDEwIDIwMTQgMTI6MzA6MDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE1pbnV0ZXMoZGF0ZSwgYW1vdW50LCBvcHRpb25zKSB7XG4gIGNvbnN0IF9kYXRlID0gdG9EYXRlKGRhdGUsIG9wdGlvbnM/LmluKTtcbiAgX2RhdGUuc2V0VGltZShfZGF0ZS5nZXRUaW1lKCkgKyBhbW91bnQgKiBtaWxsaXNlY29uZHNJbk1pbnV0ZSk7XG4gIHJldHVybiBfZGF0ZTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBhZGRNaW51dGVzO1xuIiwiZXhwb3J0IGZ1bmN0aW9uIGdldFJvdW5kaW5nTWV0aG9kKG1ldGhvZCkge1xuICByZXR1cm4gKG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHJvdW5kID0gbWV0aG9kID8gTWF0aFttZXRob2RdIDogTWF0aC50cnVuYztcbiAgICBjb25zdCByZXN1bHQgPSByb3VuZChudW1iZXIpO1xuICAgIC8vIFByZXZlbnQgbmVnYXRpdmUgemVyb1xuICAgIHJldHVybiByZXN1bHQgPT09IDAgPyAwIDogcmVzdWx0O1xuICB9O1xufVxuIiwiaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzXG4gKiBAY2F0ZWdvcnkgTWlsbGlzZWNvbmQgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBwYXJhbSBsYXRlckRhdGUgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGVhcmxpZXJEYXRlIC0gVGhlIGVhcmxpZXIgZGF0ZVxuICpcbiAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IG1pbGxpc2Vjb25kcyBhcmUgYmV0d2VlblxuICogLy8gMiBKdWx5IDIwMTQgMTI6MzA6MjAuNjAwIGFuZCAyIEp1bHkgMjAxNCAxMjozMDoyMS43MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMoXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDEyLCAzMCwgMjEsIDcwMCksXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDEyLCAzMCwgMjAsIDYwMClcbiAqIClcbiAqIC8vPT4gMTEwMFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzKGxhdGVyRGF0ZSwgZWFybGllckRhdGUpIHtcbiAgcmV0dXJuICt0b0RhdGUobGF0ZXJEYXRlKSAtICt0b0RhdGUoZWFybGllckRhdGUpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcztcbiIsImltcG9ydCB7IGdldFJvdW5kaW5nTWV0aG9kIH0gZnJvbSBcIi4vX2xpYi9nZXRSb3VuZGluZ01ldGhvZC5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5NaW51dGUgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyB9IGZyb20gXCIuL2RpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcy5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgZGlmZmVyZW5jZUluTWludXRlc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbk1pbnV0ZXNcbiAqIEBjYXRlZ29yeSBNaW51dGUgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgbWludXRlcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgc2lnbmVkIG51bWJlciBvZiBmdWxsIChyb3VuZGVkIHRvd2FyZHMgMCkgbWludXRlcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAcGFyYW0gZGF0ZUxlZnQgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGRhdGVSaWdodCAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IHdpdGggb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIG1pbnV0ZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgbWludXRlcyBhcmUgYmV0d2VlbiAyIEp1bHkgMjAxNCAxMjowNzo1OSBhbmQgMiBKdWx5IDIwMTQgMTI6MjA6MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgMjAsIDApLFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgNywgNTkpXG4gKiApXG4gKiAvLz0+IDEyXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IG1pbnV0ZXMgYXJlIGJldHdlZW4gMTA6MDE6NTkgYW5kIDEwOjAwOjAwXG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICogICBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAxMCwgMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMDAsIDAsIDEsIDEwLCAxLCA1OSlcbiAqIClcbiAqIC8vPT4gLTFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbk1pbnV0ZXMoZGF0ZUxlZnQsIGRhdGVSaWdodCwgb3B0aW9ucykge1xuICBjb25zdCBkaWZmID1cbiAgICBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMoZGF0ZUxlZnQsIGRhdGVSaWdodCkgLyBtaWxsaXNlY29uZHNJbk1pbnV0ZTtcbiAgcmV0dXJuIGdldFJvdW5kaW5nTWV0aG9kKG9wdGlvbnM/LnJvdW5kaW5nTWV0aG9kKShkaWZmKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBkaWZmZXJlbmNlSW5NaW51dGVzO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUE2Qk8sU0FBUyxXQUFXLE1BQU0sUUFBUSxTQUFTO0FBQ2hELFFBQU0sUUFBUSxPQUFPLE1BQU0sU0FBUyxFQUFFO0FBQ3RDLFFBQU0sUUFBUSxNQUFNLFFBQU8sSUFBSyxTQUFTLG9CQUFvQjtBQUM3RCxTQUFPO0FBQ1Q7QUNqQ08sU0FBUyxrQkFBa0IsUUFBUTtBQUN4QyxTQUFPLENBQUMsV0FBVztBQUNqQixVQUFNLFFBQVEsU0FBUyxLQUFLLE1BQU0sSUFBSSxLQUFLO0FBQzNDLFVBQU0sU0FBUyxNQUFNLE1BQU07QUFFM0IsV0FBTyxXQUFXLElBQUksSUFBSTtBQUFBLEVBQzlCO0FBQ0E7QUNpQk8sU0FBUyx5QkFBeUIsV0FBVyxhQUFhO0FBQy9ELFNBQU8sQ0FBQyxPQUFPLFNBQVMsSUFBSSxDQUFDLE9BQU8sV0FBVztBQUNqRDtBQ1lPLFNBQVMsb0JBQW9CLFVBQVUsV0FBVyxTQUFTO0FBQ2hFLFFBQU0sT0FDSix5QkFBeUIsVUFBVSxTQUFTLElBQUk7QUFDbEQsU0FBTyxrQkFBa0IsU0FBUyxjQUFjLEVBQUUsSUFBSTtBQUN4RDsiLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMCwxLDIsM119
|