@byuhbll/components 4.0.0-alpha.3 → 4.0.0-alpha.5

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 (29) hide show
  1. package/esm2022/lib/animations/animations.mjs +19 -1
  2. package/esm2022/lib/expand-collapse/expand-collapse.component.mjs +31 -0
  3. package/esm2022/lib/hbll-checkbox/hbll-checkbox.component.mjs +6 -8
  4. package/esm2022/lib/hbll-header/hbll-header.component.mjs +89 -32
  5. package/esm2022/lib/hbll-header/impersonate-modal/impersonate-modal.component.mjs +187 -0
  6. package/esm2022/lib/hbll-header/nav-bar/nav-bar.component.mjs +307 -0
  7. package/esm2022/lib/hbll-header/nav-bar-dropdown/nav-bar-dropdown.component.mjs +29 -0
  8. package/esm2022/lib/hbll-header/pipes/library-hours.pipe.mjs +31 -0
  9. package/esm2022/lib/ss-search-bar/advanced-search/advanced-search.component.mjs +3 -3
  10. package/esm2022/lib/ss-search-bar/ss-search-bar.component.mjs +3 -3
  11. package/esm2022/lib/utils.mjs +8 -0
  12. package/fesm2022/byuhbll-components.mjs +689 -64
  13. package/fesm2022/byuhbll-components.mjs.map +1 -1
  14. package/lib/animations/animations.d.ts +1 -0
  15. package/lib/expand-collapse/expand-collapse.component.d.ts +10 -0
  16. package/lib/hbll-checkbox/hbll-checkbox.component.d.ts +2 -2
  17. package/lib/hbll-header/hbll-header.component.d.ts +27 -17
  18. package/lib/hbll-header/impersonate-modal/impersonate-modal.component.d.ts +57 -0
  19. package/lib/hbll-header/nav-bar/nav-bar.component.d.ts +28 -0
  20. package/lib/hbll-header/nav-bar-dropdown/nav-bar-dropdown.component.d.ts +12 -0
  21. package/lib/hbll-header/pipes/library-hours.pipe.d.ts +7 -0
  22. package/lib/utils.d.ts +5 -0
  23. package/package.json +4 -1
  24. package/styles/scss/_mixins.scss +1 -1
  25. package/styles/scss/_vars.scss +6 -0
  26. package/styles/scss/base.scss +38 -5
  27. package/styles/scss/cta-btn.scss +2 -2
  28. package/styles/scss/pill-btn.scss +2 -2
  29. package/styles/scss/spinner.scss +20 -0
@@ -0,0 +1,307 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, inject, input, ViewChildren } from '@angular/core';
3
+ import { NavBarDropdownComponent } from '../nav-bar-dropdown/nav-bar-dropdown.component';
4
+ import { isScreenSmallSignal } from '../../utils';
5
+ import { BreakpointObserver } from '@angular/cdk/layout';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ const mainSiteBaseUri = 'https://lib.byu.edu';
9
+ export class NavBarComponent {
10
+ constructor() {
11
+ this.bo = inject(BreakpointObserver);
12
+ this.height = input(null);
13
+ // If any section opens up, close all others. Only one section open at a time.
14
+ this.handleDropdownOpenEvent = (title) => {
15
+ this.dropdownComps
16
+ .filter((comp) => comp.title() !== title)
17
+ .forEach((comp) => {
18
+ comp.closeDropdown();
19
+ });
20
+ };
21
+ this.isScreenSmall = isScreenSmallSignal(this.bo);
22
+ this.navInfos = [
23
+ {
24
+ title: 'Materials',
25
+ mainSection: {
26
+ title: 'Formats',
27
+ links: [
28
+ { label: 'Articles', url: `${mainSiteBaseUri}/articles` },
29
+ { label: 'Audio', url: `${mainSiteBaseUri}/audio` },
30
+ { label: 'Books', url: `${mainSiteBaseUri}/books` },
31
+ { label: 'Video', url: `${mainSiteBaseUri}/video` },
32
+ ],
33
+ auxiliaryLink: {
34
+ label: 'See all formats',
35
+ url: `${mainSiteBaseUri}/formats`,
36
+ },
37
+ },
38
+ otherSections: [
39
+ {
40
+ title: 'Resource Collections',
41
+ links: [
42
+ {
43
+ label: 'Subject Area Collections',
44
+ url: `${mainSiteBaseUri}/collections`,
45
+ },
46
+ { label: 'Databases', url: `${mainSiteBaseUri}/databases` },
47
+ { label: 'Journals', url: `${mainSiteBaseUri}/journals` },
48
+ {
49
+ label: 'Theses & Dissertations',
50
+ url: `${mainSiteBaseUri}/theses-and-dissertations`,
51
+ },
52
+ ],
53
+ },
54
+ {
55
+ title: 'Equipment',
56
+ links: [
57
+ {
58
+ label: 'Available for Checkout',
59
+ url: `${mainSiteBaseUri}/services?categories=available-for-checkout`,
60
+ },
61
+ {
62
+ label: 'Available with Reservation',
63
+ url: `${mainSiteBaseUri}/services?categories=available-via-reservation`,
64
+ },
65
+ {
66
+ label: 'Public Computers',
67
+ url: `${mainSiteBaseUri}/services/public-computers`,
68
+ },
69
+ {
70
+ label: 'Printers and Copying',
71
+ url: `${mainSiteBaseUri}/services?categories=printing-and-copying`,
72
+ },
73
+ ],
74
+ },
75
+ ],
76
+ },
77
+ {
78
+ title: 'Places',
79
+ mainSection: {
80
+ title: 'Popular Places',
81
+ links: [
82
+ { label: 'Help Desks', url: `${mainSiteBaseUri}/services/help-desks` },
83
+ { label: 'Family History', url: `${mainSiteBaseUri}/religion-family-history` },
84
+ {
85
+ label: 'Research and Writing Center',
86
+ url: `${mainSiteBaseUri}/services/research-and-writing-center`,
87
+ },
88
+ { label: 'Special Collections', url: `${mainSiteBaseUri}/special-collections` },
89
+ ],
90
+ auxiliaryLink: {
91
+ label: 'View Floor Maps',
92
+ url: `${mainSiteBaseUri}/floormaps`,
93
+ },
94
+ },
95
+ otherSections: [
96
+ {
97
+ title: 'Spaces',
98
+ links: [
99
+ {
100
+ label: 'Collections & Archives',
101
+ url: `${mainSiteBaseUri}/services?categories=collections-and-archives`,
102
+ },
103
+ {
104
+ label: 'Group Study Spaces',
105
+ url: `${mainSiteBaseUri}/services/group-study-rooms`,
106
+ },
107
+ {
108
+ label: 'Individual Study Spaces',
109
+ url: `${mainSiteBaseUri}/services?categories=individual-study-spaces`,
110
+ },
111
+ {
112
+ label: 'Multimedia Creation Spaces',
113
+ url: `${mainSiteBaseUri}/services?categories=multimedia-creation`,
114
+ },
115
+ {
116
+ label: 'Video View Spaces',
117
+ url: `${mainSiteBaseUri}/services?categories=video-viewing`,
118
+ },
119
+ ],
120
+ },
121
+ {
122
+ title: 'Rooms',
123
+ links: [
124
+ {
125
+ label: 'Classrooms',
126
+ url: `${mainSiteBaseUri}/services?categories=classrooms`,
127
+ },
128
+ {
129
+ label: 'Conference Rooms',
130
+ url: `${mainSiteBaseUri}/services?categories=conference-rooms`,
131
+ },
132
+ {
133
+ label: 'Labs & Centers',
134
+ url: `${mainSiteBaseUri}/services?categories=labs-and-centers`,
135
+ },
136
+ {
137
+ label: 'Research Rooms',
138
+ url: `${mainSiteBaseUri}/services?categories=research-rooms`,
139
+ },
140
+ ],
141
+ },
142
+ ],
143
+ },
144
+ {
145
+ title: 'Experiences',
146
+ mainSection: {
147
+ title: 'Events',
148
+ links: [
149
+ {
150
+ label: 'Concerts & Film Showings',
151
+ url: `${mainSiteBaseUri}/services/motion-picture-archive-series`,
152
+ },
153
+ { label: 'Lectures', url: `${mainSiteBaseUri}/services?categories=lectures` },
154
+ { label: 'News', url: `${mainSiteBaseUri}/about/news` },
155
+ ],
156
+ auxiliaryLink: {
157
+ label: 'See calendar of events',
158
+ url: `${mainSiteBaseUri}/events`,
159
+ },
160
+ },
161
+ otherSections: [
162
+ {
163
+ title: 'Learning Opportunities',
164
+ links: [
165
+ {
166
+ label: 'Library Instruction Classes',
167
+ url: `${mainSiteBaseUri}/library-instruction`,
168
+ },
169
+ {
170
+ label: 'Software Training',
171
+ url: `${mainSiteBaseUri}/services/software-training`,
172
+ },
173
+ {
174
+ label: 'Family History Classes & Webinars',
175
+ url: `${mainSiteBaseUri}/services/family-history-classes`,
176
+ },
177
+ ],
178
+ },
179
+ {
180
+ title: 'Displays',
181
+ links: [
182
+ { label: 'Exhibits', url: `${mainSiteBaseUri}/exhibits` },
183
+ {
184
+ label: 'Galleries',
185
+ url: `${mainSiteBaseUri}/services?categories=galleries-and-exhibits`,
186
+ },
187
+ ],
188
+ },
189
+ ],
190
+ },
191
+ {
192
+ title: 'Services',
193
+ mainSection: {
194
+ title: 'Services For',
195
+ links: [
196
+ {
197
+ label: 'Current Students',
198
+ url: `${mainSiteBaseUri}/services?categories=for-students`,
199
+ },
200
+ {
201
+ label: 'Faculty and Staff',
202
+ url: `${mainSiteBaseUri}/services?categories=for-faculty`,
203
+ },
204
+ {
205
+ label: 'Retirees and Alumni',
206
+ url: `${mainSiteBaseUri}/services?categories=for-retirees`,
207
+ },
208
+ {
209
+ label: 'Visitors',
210
+ url: `${mainSiteBaseUri}/services?categories=for-visitors`,
211
+ },
212
+ ],
213
+ auxiliaryLink: {
214
+ label: 'See all Services',
215
+ url: `${mainSiteBaseUri}/services`,
216
+ },
217
+ },
218
+ otherSections: [
219
+ {
220
+ title: 'Getting Materials',
221
+ links: [
222
+ {
223
+ label: 'Checkout out Materials',
224
+ url: `${mainSiteBaseUri}/about/checkout-privileges`,
225
+ },
226
+ { label: 'Holds & Renewals', url: `${mainSiteBaseUri}/services/holds` },
227
+ {
228
+ label: 'Borrow from another Library (ILL)',
229
+ url: `${mainSiteBaseUri}/services/interlibrary-loan`,
230
+ },
231
+ ],
232
+ },
233
+ {
234
+ title: 'Other',
235
+ links: [
236
+ {
237
+ label: 'Internships, Fellowships and Grants',
238
+ url: `${mainSiteBaseUri}/services?categories=internships-fellowships-grants`,
239
+ },
240
+ {
241
+ label: 'Programs',
242
+ url: `${mainSiteBaseUri}/services?categories=programs`,
243
+ },
244
+ {
245
+ label: 'Scholarly Publishing',
246
+ url: `${mainSiteBaseUri}/services?categories=creating-and-publishing-materials`,
247
+ },
248
+ ],
249
+ },
250
+ ],
251
+ },
252
+ {
253
+ title: 'Ask Us',
254
+ otherSections: [
255
+ {
256
+ title: 'Get Help',
257
+ links: [
258
+ {
259
+ label: 'Ask a Librarian',
260
+ url: `${mainSiteBaseUri}/chat?url=${window.location.href}`,
261
+ icon: 'chat_bubble',
262
+ },
263
+ {
264
+ label: 'Library Instruction',
265
+ url: `${mainSiteBaseUri}/library-instruction`,
266
+ },
267
+ { label: 'Research Guides', url: `${mainSiteBaseUri}/guides` },
268
+ {
269
+ label: 'Help & Guidance',
270
+ url: `${mainSiteBaseUri}/services?categories=help-and-guidance`,
271
+ },
272
+ ],
273
+ },
274
+ {
275
+ title: 'Find a...',
276
+ links: [
277
+ { label: 'Department', url: `${mainSiteBaseUri}/directory` },
278
+ { label: 'Help Desk', url: `${mainSiteBaseUri}/services/help-desks` },
279
+ { label: 'Library Employee by Name', url: `${mainSiteBaseUri}/directory` },
280
+ {
281
+ label: 'Subject Librarian',
282
+ url: `${mainSiteBaseUri}/directory#browse-by-subject`,
283
+ },
284
+ ],
285
+ },
286
+ {
287
+ title: 'About the Library',
288
+ links: [
289
+ { label: 'General Information', url: `${mainSiteBaseUri}/about` },
290
+ { label: 'FAQs', url: `${mainSiteBaseUri}/faq` },
291
+ ],
292
+ },
293
+ ],
294
+ },
295
+ ];
296
+ }
297
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NavBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
298
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NavBarComponent, isStandalone: true, selector: "lib-nav-bar", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "dropdownComps", predicate: NavBarDropdownComponent, descendants: true }], ngImport: i0, template: "<nav\n [style]=\"{ height: height() ? height() + 'px' : 'auto' }\"\n [ngClass]=\"{ desktop: !isScreenSmall() }\"\n data-testid=\"nav\"\n>\n <ul class=\"nav-bar\">\n <li id=\"navHome\">\n <a href=\"https://lib.byu.edu\">\n @if (isScreenSmall()) {\n <span class=\"material-symbols-outlined icon\"> home </span>\n }\n Home\n </a>\n </li>\n @for (navInfo of navInfos; track navInfo.title) {\n <li>\n <lib-nav-bar-dropdown\n [title]=\"navInfo.title\"\n [isSmallScreen]=\"isScreenSmall() ?? true\"\n (openEvent)=\"handleDropdownOpenEvent($event)\"\n >\n <div class=\"content\">\n @if (navInfo.mainSection) {\n <section>\n <h2>{{ navInfo.mainSection.title }}</h2>\n <ul class=\"main links\">\n @for (link of navInfo.mainSection.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n </a>\n </li>\n }\n </ul>\n @if (navInfo.mainSection.auxiliaryLink) {\n <a\n class=\"see-all\"\n [href]=\"navInfo.mainSection.auxiliaryLink.url\"\n >\n {{ navInfo.mainSection.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n @for (section of navInfo.otherSections; track section.title) {\n <section>\n <h3>{{ section.title }}</h3>\n <ul class=\"links\">\n @for (link of section.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n @if (link.icon) {\n <span\n class=\"material-symbols-outlined icon-right\"\n >\n {{ link.icon }}\n </span>\n }\n </a>\n </li>\n }\n </ul>\n </section>\n }\n </div>\n </lib-nav-bar-dropdown>\n </li>\n }\n <li>\n <a id=\"navSearch\" href=\"https://lib.byu.edu/search\">\n @if (isScreenSmall()) {\n Search\n }\n <span class=\"material-symbols-outlined\" [ngClass]=\"{ icon: isScreenSmall() }\">\n search\n </span>\n </a>\n </li>\n </ul>\n</nav>\n", styles: ["nav.desktop .nav-bar li#navHome a,nav.desktop .nav-bar li #navSearch{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}nav.desktop .nav-bar li#navHome a .icon,nav.desktop .nav-bar li #navSearch .icon{font-size:1.3em;margin-bottom:-.1em}nav.desktop .nav-bar li#navHome a:hover,nav.desktop .nav-bar li #navSearch:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box}.icon-right{margin-left:.4em}nav{background-color:#0047ba;position:relative;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none}nav li{list-style-type:none}nav ::-webkit-scrollbar{display:none}nav .nav-bar{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0}nav .nav-bar .links{padding:0}nav .nav-bar li{width:100%}nav .nav-bar li#navHome .icon{margin-right:.2em}nav .nav-bar li a{color:#fff;display:flex;align-items:center;width:100%;padding:.6em}nav .nav-bar li #navSearch{justify-content:flex-end;font-size:1.3em}nav .nav-bar li #navSearch .icon{margin-left:.2em}nav .nav-bar li .content{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.4em}nav .nav-bar li .content section{padding-left:3em}nav .nav-bar li .content section:first-of-type{padding-top:1em}nav .nav-bar li .content section h2,nav .nav-bar li .content section h3{font-weight:600;font-size:1.4em;margin-bottom:.2em}nav .nav-bar li .content section+section{margin-top:1.8em}nav .nav-bar li .content section li a{padding:.4em .6em}nav .nav-bar li .content section .see-all{border-top:1px solid rgba(255,255,255,.3);justify-content:flex-end}nav .nav-bar li .content section .no-see-all{margin-bottom:1em}nav .nav-bar li .content section .main{padding-bottom:.4em}nav.desktop{overflow:initial;background-color:#fff;padding:0 2em}nav.desktop .nav-bar{flex-direction:row;align-items:center}nav.desktop .nav-bar .links{background-color:#0047ba;display:flex;flex-direction:column;align-items:flex-start}nav.desktop .nav-bar .links li{width:100%}nav.desktop .nav-bar .links li a{transition:background-color .1s ease-in-out}nav.desktop .nav-bar .links li a:hover{background-color:#fff3;width:100%}nav.desktop .nav-bar li{width:auto;height:100%}nav.desktop .nav-bar li #navSearch{color:#002e5d;transition:all .2s ease-in-out;background-color:transparent}nav.desktop .nav-bar li #navSearch:hover{background-color:transparent;transform:scale(115%);color:#0047ba}nav.desktop .nav-bar li .content{display:flex;justify-content:center;padding-top:1.4em;padding-right:10%;padding-left:10%}nav.desktop .nav-bar li .content section{padding-top:0;padding-left:5%;width:30em}nav.desktop .nav-bar li .content section+section{border-left:1px solid rgba(255,255,255,.3);margin-top:0}nav.desktop .nav-bar li .content section .see-all{margin-right:1em;transition:color .1s ease-in-out;width:auto}nav.desktop .nav-bar li .content section .see-all:hover{color:#ffffffd9}nav.desktop .nav-bar li .content h2,nav.desktop .nav-bar li .content h3{color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: NavBarDropdownComponent, selector: "lib-nav-bar-dropdown", inputs: ["title", "isSmallScreen"], outputs: ["openEvent"] }] }); }
299
+ }
300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NavBarComponent, decorators: [{
301
+ type: Component,
302
+ args: [{ selector: 'lib-nav-bar', standalone: true, imports: [CommonModule, NavBarDropdownComponent], template: "<nav\n [style]=\"{ height: height() ? height() + 'px' : 'auto' }\"\n [ngClass]=\"{ desktop: !isScreenSmall() }\"\n data-testid=\"nav\"\n>\n <ul class=\"nav-bar\">\n <li id=\"navHome\">\n <a href=\"https://lib.byu.edu\">\n @if (isScreenSmall()) {\n <span class=\"material-symbols-outlined icon\"> home </span>\n }\n Home\n </a>\n </li>\n @for (navInfo of navInfos; track navInfo.title) {\n <li>\n <lib-nav-bar-dropdown\n [title]=\"navInfo.title\"\n [isSmallScreen]=\"isScreenSmall() ?? true\"\n (openEvent)=\"handleDropdownOpenEvent($event)\"\n >\n <div class=\"content\">\n @if (navInfo.mainSection) {\n <section>\n <h2>{{ navInfo.mainSection.title }}</h2>\n <ul class=\"main links\">\n @for (link of navInfo.mainSection.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n </a>\n </li>\n }\n </ul>\n @if (navInfo.mainSection.auxiliaryLink) {\n <a\n class=\"see-all\"\n [href]=\"navInfo.mainSection.auxiliaryLink.url\"\n >\n {{ navInfo.mainSection.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n @for (section of navInfo.otherSections; track section.title) {\n <section>\n <h3>{{ section.title }}</h3>\n <ul class=\"links\">\n @for (link of section.links; track link.label) {\n <li>\n <a [href]=\"link.url\">\n {{ link.label }}\n @if (link.icon) {\n <span\n class=\"material-symbols-outlined icon-right\"\n >\n {{ link.icon }}\n </span>\n }\n </a>\n </li>\n }\n </ul>\n </section>\n }\n </div>\n </lib-nav-bar-dropdown>\n </li>\n }\n <li>\n <a id=\"navSearch\" href=\"https://lib.byu.edu/search\">\n @if (isScreenSmall()) {\n Search\n }\n <span class=\"material-symbols-outlined\" [ngClass]=\"{ icon: isScreenSmall() }\">\n search\n </span>\n </a>\n </li>\n </ul>\n</nav>\n", styles: ["nav.desktop .nav-bar li#navHome a,nav.desktop .nav-bar li #navSearch{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}nav.desktop .nav-bar li#navHome a .icon,nav.desktop .nav-bar li #navSearch .icon{font-size:1.3em;margin-bottom:-.1em}nav.desktop .nav-bar li#navHome a:hover,nav.desktop .nav-bar li #navSearch:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box}.icon-right{margin-left:.4em}nav{background-color:#0047ba;position:relative;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none}nav li{list-style-type:none}nav ::-webkit-scrollbar{display:none}nav .nav-bar{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0}nav .nav-bar .links{padding:0}nav .nav-bar li{width:100%}nav .nav-bar li#navHome .icon{margin-right:.2em}nav .nav-bar li a{color:#fff;display:flex;align-items:center;width:100%;padding:.6em}nav .nav-bar li #navSearch{justify-content:flex-end;font-size:1.3em}nav .nav-bar li #navSearch .icon{margin-left:.2em}nav .nav-bar li .content{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.4em}nav .nav-bar li .content section{padding-left:3em}nav .nav-bar li .content section:first-of-type{padding-top:1em}nav .nav-bar li .content section h2,nav .nav-bar li .content section h3{font-weight:600;font-size:1.4em;margin-bottom:.2em}nav .nav-bar li .content section+section{margin-top:1.8em}nav .nav-bar li .content section li a{padding:.4em .6em}nav .nav-bar li .content section .see-all{border-top:1px solid rgba(255,255,255,.3);justify-content:flex-end}nav .nav-bar li .content section .no-see-all{margin-bottom:1em}nav .nav-bar li .content section .main{padding-bottom:.4em}nav.desktop{overflow:initial;background-color:#fff;padding:0 2em}nav.desktop .nav-bar{flex-direction:row;align-items:center}nav.desktop .nav-bar .links{background-color:#0047ba;display:flex;flex-direction:column;align-items:flex-start}nav.desktop .nav-bar .links li{width:100%}nav.desktop .nav-bar .links li a{transition:background-color .1s ease-in-out}nav.desktop .nav-bar .links li a:hover{background-color:#fff3;width:100%}nav.desktop .nav-bar li{width:auto;height:100%}nav.desktop .nav-bar li #navSearch{color:#002e5d;transition:all .2s ease-in-out;background-color:transparent}nav.desktop .nav-bar li #navSearch:hover{background-color:transparent;transform:scale(115%);color:#0047ba}nav.desktop .nav-bar li .content{display:flex;justify-content:center;padding-top:1.4em;padding-right:10%;padding-left:10%}nav.desktop .nav-bar li .content section{padding-top:0;padding-left:5%;width:30em}nav.desktop .nav-bar li .content section+section{border-left:1px solid rgba(255,255,255,.3);margin-top:0}nav.desktop .nav-bar li .content section .see-all{margin-right:1em;transition:color .1s ease-in-out;width:auto}nav.desktop .nav-bar li .content section .see-all:hover{color:#ffffffd9}nav.desktop .nav-bar li .content h2,nav.desktop .nav-bar li .content h3{color:#fff}\n"] }]
303
+ }], propDecorators: { dropdownComps: [{
304
+ type: ViewChildren,
305
+ args: [NavBarDropdownComponent]
306
+ }] } });
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvaGJsbC1oZWFkZXIvbmF2LWJhci9uYXYtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWhlYWRlci9uYXYtYmFyL25hdi1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFvQnpELE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFDO0FBUzlDLE1BQU0sT0FBTyxlQUFlO0lBUDVCO1FBUVksT0FBRSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRXhDLFdBQU0sR0FBRyxLQUFLLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBSXBDLDhFQUE4RTtRQUNwRSw0QkFBdUIsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxhQUFhO2lCQUNiLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEtBQUssQ0FBQztpQkFDeEMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLENBQUMsQ0FBQyxD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IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2QmFyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9uYXYtYmFyLWRyb3Bkb3duL25hdi1iYXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IGlzU2NyZWVuU21hbGxTaWduYWwgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxudHlwZSBOYXZJbmZvID0ge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgbWFpblNlY3Rpb24/OiBTZWN0aW9uO1xuICAgIG90aGVyU2VjdGlvbnM6IFNlY3Rpb25bXTtcbn07XG5cbnR5cGUgU2VjdGlvbiA9IHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGxpbmtzOiBMaW5rW107XG4gICAgYXV4aWxpYXJ5TGluaz86IExpbms7XG59O1xuXG50eXBlIExpbmsgPSB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xufTtcblxuY29uc3QgbWFpblNpdGVCYXNlVXJpID0gJ2h0dHBzOi8vbGliLmJ5dS5lZHUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1uYXYtYmFyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5hdkJhckRyb3Bkb3duQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LWJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL25hdi1iYXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZCYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgYm8gPSBpbmplY3QoQnJlYWtwb2ludE9ic2VydmVyKTtcblxuICAgIGhlaWdodCA9IGlucHV0PG51bWJlciB8IG51bGw+KG51bGwpO1xuXG4gICAgQFZpZXdDaGlsZHJlbihOYXZCYXJEcm9wZG93bkNvbXBvbmVudCkgZHJvcGRvd25Db21wcyE6IE5hdkJhckRyb3Bkb3duQ29tcG9uZW50W107XG5cbiAgICAvLyBJZiBhbnkgc2VjdGlvbiBvcGVucyB1cCwgY2xvc2UgYWxsIG90aGVycy4gT25seSBvbmUgc2VjdGlvbiBvcGVuIGF0IGEgdGltZS5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlRHJvcGRvd25PcGVuRXZlbnQgPSAodGl0bGU6IHN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLmRyb3Bkb3duQ29tcHNcbiAgICAgICAgICAgIC5maWx0ZXIoKGNvbXApID0+IGNvbXAudGl0bGUoKSAhPT0gdGl0bGUpXG4gICAgICAgICAgICAuZm9yRWFjaCgoY29tcCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbXAuY2xvc2VEcm9wZG93bigpO1xuICAgICAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBpc1NjcmVlblNtYWxsID0gaXNTY3JlZW5TbWFsbFNpZ25hbCh0aGlzLmJvKTtcblxuICAgIHByb3RlY3RlZCBuYXZJbmZvczogTmF2SW5mb1tdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ01hdGVyaWFscycsXG4gICAgICAgICAgICBtYWluU2VjdGlvbjoge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnRm9ybWF0cycsXG4gICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FydGljbGVzJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2FydGljbGVzYCB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnQXVkaW8nLCB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vYXVkaW9gIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdCb29rcycsIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9ib29rc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ1ZpZGVvJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3ZpZGVvYCB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgYXV4aWxpYXJ5TGluazoge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1NlZSBhbGwgZm9ybWF0cycsXG4gICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9mb3JtYXRzYCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnUmVzb3VyY2UgQ29sbGVjdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU3ViamVjdCBBcmVhIENvbGxlY3Rpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vY29sbGVjdGlvbnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdEYXRhYmFzZXMnLCB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vZGF0YWJhc2VzYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0pvdXJuYWxzJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2pvdXJuYWxzYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnVGhlc2VzICYgRGlzc2VydGF0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3RoZXNlcy1hbmQtZGlzc2VydGF0aW9uc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0VxdWlwbWVudCcsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBdmFpbGFibGUgZm9yIENoZWNrb3V0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1hdmFpbGFibGUtZm9yLWNoZWNrb3V0YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBdmFpbGFibGUgd2l0aCBSZXNlcnZhdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9YXZhaWxhYmxlLXZpYS1yZXNlcnZhdGlvbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnUHVibGljIENvbXB1dGVycycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzL3B1YmxpYy1jb21wdXRlcnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1ByaW50ZXJzIGFuZCBDb3B5aW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1wcmludGluZy1hbmQtY29weWluZ2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ1BsYWNlcycsXG4gICAgICAgICAgICBtYWluU2VjdGlvbjoge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnUG9wdWxhciBQbGFjZXMnLFxuICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdIZWxwIERlc2tzJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzL2hlbHAtZGVza3NgIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdGYW1pbHkgSGlzdG9yeScsIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9yZWxpZ2lvbi1mYW1pbHktaGlzdG9yeWAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXNlYXJjaCBhbmQgV3JpdGluZyBDZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzL3Jlc2VhcmNoLWFuZC13cml0aW5nLWNlbnRlcmAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdTcGVjaWFsIENvbGxlY3Rpb25zJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NwZWNpYWwtY29sbGVjdGlvbnNgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBhdXhpbGlhcnlMaW5rOiB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnVmlldyBGbG9vciBNYXBzJyxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2Zsb29ybWFwc2AsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvdGhlclNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1NwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdDb2xsZWN0aW9ucyAmIEFyY2hpdmVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1jb2xsZWN0aW9ucy1hbmQtYXJjaGl2ZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0dyb3VwIFN0dWR5IFNwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzL2dyb3VwLXN0dWR5LXJvb21zYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdJbmRpdmlkdWFsIFN0dWR5IFNwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9aW5kaXZpZHVhbC1zdHVkeS1zcGFjZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ011bHRpbWVkaWEgQ3JlYXRpb24gU3BhY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1tdWx0aW1lZGlhLWNyZWF0aW9uYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdWaWRlbyBWaWV3IFNwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9dmlkZW8tdmlld2luZ2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1Jvb21zJyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0NsYXNzcm9vbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWNsYXNzcm9vbXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0NvbmZlcmVuY2UgUm9vbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWNvbmZlcmVuY2Utcm9vbXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0xhYnMgJiBDZW50ZXJzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1sYWJzLWFuZC1jZW50ZXJzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXNlYXJjaCBSb29tcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9cmVzZWFyY2gtcm9vbXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6ICdFeHBlcmllbmNlcycsXG4gICAgICAgICAgICBtYWluU2VjdGlvbjoge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnRXZlbnRzJyxcbiAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0NvbmNlcnRzICYgRmlsbSBTaG93aW5ncycsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXMvbW90aW9uLXBpY3R1cmUtYXJjaGl2ZS1zZXJpZXNgLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnTGVjdHVyZXMnLCB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1sZWN0dXJlc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ05ld3MnLCB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vYWJvdXQvbmV3c2AgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGF1eGlsaWFyeUxpbms6IHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTZWUgY2FsZW5kYXIgb2YgZXZlbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2V2ZW50c2AsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvdGhlclNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0xlYXJuaW5nIE9wcG9ydHVuaXRpZXMnLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTGlicmFyeSBJbnN0cnVjdGlvbiBDbGFzc2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vbGlicmFyeS1pbnN0cnVjdGlvbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU29mdHdhcmUgVHJhaW5pbmcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9zZXJ2aWNlcy9zb2Z0d2FyZS10cmFpbmluZ2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnRmFtaWx5IEhpc3RvcnkgQ2xhc3NlcyAmIFdlYmluYXJzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXMvZmFtaWx5LWhpc3RvcnktY2xhc3Nlc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0Rpc3BsYXlzJyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdFeGhpYml0cycsIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9leGhpYml0c2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0dhbGxlcmllcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Z2FsbGVyaWVzLWFuZC1leGhpYml0c2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ1NlcnZpY2VzJyxcbiAgICAgICAgICAgIG1haW5TZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdTZXJ2aWNlcyBGb3InLFxuICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ3VycmVudCBTdHVkZW50cycsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1mb3Itc3R1ZGVudHNgLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0ZhY3VsdHkgYW5kIFN0YWZmJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWZvci1mYWN1bHR5YCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXRpcmVlcyBhbmQgQWx1bW5pJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWZvci1yZXRpcmVlc2AsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnVmlzaXRvcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Zm9yLXZpc2l0b3JzYCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGF1eGlsaWFyeUxpbms6IHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTZWUgYWxsIFNlcnZpY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzYCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnR2V0dGluZyBNYXRlcmlhbHMnLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ2hlY2tvdXQgb3V0IE1hdGVyaWFscycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2Fib3V0L2NoZWNrb3V0LXByaXZpbGVnZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdIb2xkcyAmIFJlbmV3YWxzJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzL2hvbGRzYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQm9ycm93IGZyb20gYW5vdGhlciBMaWJyYXJ5IChJTEwpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXMvaW50ZXJsaWJyYXJ5LWxvYW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdPdGhlcicsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdJbnRlcm5zaGlwcywgRmVsbG93c2hpcHMgYW5kIEdyYW50cycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9aW50ZXJuc2hpcHMtZmVsbG93c2hpcHMtZ3JhbnRzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdQcm9ncmFtcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9cHJvZ3JhbXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1NjaG9sYXJseSBQdWJsaXNoaW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vc2VydmljZXM/Y2F0ZWdvcmllcz1jcmVhdGluZy1hbmQtcHVibGlzaGluZy1tYXRlcmlhbHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6ICdBc2sgVXMnLFxuXG4gICAgICAgICAgICBvdGhlclNlY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0dldCBIZWxwJyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0FzayBhIExpYnJhcmlhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2NoYXQ/dXJsPSR7d2luZG93LmxvY2F0aW9uLmhyZWZ9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnY2hhdF9idWJibGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0xpYnJhcnkgSW5zdHJ1Y3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9saWJyYXJ5LWluc3RydWN0aW9uYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnUmVzZWFyY2ggR3VpZGVzJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2d1aWRlc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0hlbHAgJiBHdWlkYW5jZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L3NlcnZpY2VzP2NhdGVnb3JpZXM9aGVscC1hbmQtZ3VpZGFuY2VgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdGaW5kIGEuLi4nLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0RlcGFydG1lbnQnLCB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vZGlyZWN0b3J5YCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0hlbHAgRGVzaycsIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9zZXJ2aWNlcy9oZWxwLWRlc2tzYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0xpYnJhcnkgRW1wbG95ZWUgYnkgTmFtZScsIHVybDogYCR7bWFpblNpdGVCYXNlVXJpfS9kaXJlY3RvcnlgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTdWJqZWN0IExpYnJhcmlhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2RpcmVjdG9yeSNicm93c2UtYnktc3ViamVjdGAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0Fib3V0IHRoZSBMaWJyYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdHZW5lcmFsIEluZm9ybWF0aW9uJywgdXJsOiBgJHttYWluU2l0ZUJhc2VVcml9L2Fib3V0YCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0ZBUXMnLCB1cmw6IGAke21haW5TaXRlQmFzZVVyaX0vZmFxYCB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgIF07XG59XG4iLCI8bmF2XG4gICAgW3N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQoKSA/IGhlaWdodCgpICsgJ3B4JyA6ICdhdXRvJyB9XCJcbiAgICBbbmdDbGFzc109XCJ7IGRlc2t0b3A6ICFpc1NjcmVlblNtYWxsKCkgfVwiXG4gICAgZGF0YS10ZXN0aWQ9XCJuYXZcIlxuPlxuICAgIDx1bCBjbGFzcz1cIm5hdi1iYXJcIj5cbiAgICAgICAgPGxpIGlkPVwibmF2SG9tZVwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vbGliLmJ5dS5lZHVcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGlzU2NyZWVuU21hbGwoKSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvblwiPiBob21lIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgSG9tZVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgICBAZm9yIChuYXZJbmZvIG9mIG5hdkluZm9zOyB0cmFjayBuYXZJbmZvLnRpdGxlKSB7XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPGxpYi1uYXYtYmFyLWRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJuYXZJbmZvLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzU21hbGxTY3JlZW5dPVwiaXNTY3JlZW5TbWFsbCgpID8/IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICAob3BlbkV2ZW50KT1cImhhbmRsZURyb3Bkb3duT3BlbkV2ZW50KCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobmF2SW5mby5tYWluU2VjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+e3sgbmF2SW5mby5tYWluU2VjdGlvbi50aXRsZSB9fTwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm1haW4gbGlua3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGxpbmsgb2YgbmF2SW5mby5tYWluU2VjdGlvbi5saW5rczsgdHJhY2sgbGluay5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibGluay51cmxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxpbmsubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobmF2SW5mby5tYWluU2VjdGlvbi5hdXhpbGlhcnlMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VlLWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibmF2SW5mby5tYWluU2VjdGlvbi5hdXhpbGlhcnlMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbmF2SW5mby5tYWluU2VjdGlvbi5hdXhpbGlhcnlMaW5rLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hldnJvbl9yaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHNlY3Rpb24gb2YgbmF2SW5mby5vdGhlclNlY3Rpb25zOyB0cmFjayBzZWN0aW9uLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57eyBzZWN0aW9uLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwibGlua3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGxpbmsgb2Ygc2VjdGlvbi5saW5rczsgdHJhY2sgbGluay5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibGluay51cmxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxpbmsubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobGluay5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGluay5pY29uIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbGliLW5hdi1iYXItZHJvcGRvd24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxhIGlkPVwibmF2U2VhcmNoXCIgaHJlZj1cImh0dHBzOi8vbGliLmJ5dS5lZHUvc2VhcmNoXCI+XG4gICAgICAgICAgICAgICAgQGlmIChpc1NjcmVlblNtYWxsKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgU2VhcmNoXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiIFtuZ0NsYXNzXT1cInsgaWNvbjogaXNTY3JlZW5TbWFsbCgpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG48L25hdj5cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Component, EventEmitter, input, Output } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ExpandCollapseComponent } from '../../expand-collapse/expand-collapse.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class NavBarDropdownComponent {
7
+ constructor() {
8
+ this.title = input.required();
9
+ this.isSmallScreen = input(true);
10
+ this.openEvent = new EventEmitter();
11
+ // Public to be called by parent comp.
12
+ this.closeDropdown = () => (this.isOpen = false);
13
+ this.isOpen = false;
14
+ this.handleClick = () => {
15
+ if (!this.isOpen)
16
+ this.openEvent.emit(this.title());
17
+ this.isOpen = !this.isOpen;
18
+ };
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NavBarDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NavBarDropdownComponent, isStandalone: true, selector: "lib-nav-bar-dropdown", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, isSmallScreen: { classPropertyName: "isSmallScreen", publicName: "isSmallScreen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openEvent: "openEvent" }, ngImport: i0, template: "<span\n class=\"dropdown-wrapper\"\n data-testid=\"wrapper\"\n [ngClass]=\"{ desktop: !isSmallScreen() }\"\n (mouseenter)=\"!isSmallScreen() && (this.isOpen = true)\"\n (mouseleave)=\"!isSmallScreen() && (this.isOpen = false)\"\n>\n <button (click)=\"handleClick()\" data-testid=\"btn\">\n {{ title() }}\n <span class=\"material-symbols-outlined icon\">\n {{ 'keyboard_arrow_' + (isOpen ? 'up' : 'down') }}\n </span>\n </button>\n @if (!isSmallScreen()) {\n @if (isOpen) {\n <div class=\"dropdown\" data-testid=\"dropdown\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n }\n } @else {\n <lib-expand-collapse [isExpanded]=\"isOpen\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </lib-expand-collapse>\n }\n</span>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".dropdown-wrapper.desktop button{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}.dropdown-wrapper.desktop button .icon{font-size:1.3em;margin-bottom:-.1em}.dropdown-wrapper.desktop button:hover{background-color:#0047ba;color:#fff}.dropdown-wrapper button{justify-content:flex-end;font-size:1.3em;color:#fff;display:flex;align-items:center;width:100%;padding:.6em;border-bottom:1px solid rgba(255,255,255,.3)}.dropdown-wrapper button .icon{margin-left:.2em}.dropdown-wrapper.desktop:hover button{background-color:#0047ba;color:#fff}.dropdown-wrapper.desktop .dropdown{position:absolute;z-index:11;width:100%;top:100%;left:0;background-color:#0047ba}\n"], dependencies: [{ kind: "component", type: ExpandCollapseComponent, selector: "lib-expand-collapse", inputs: ["isExpanded"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NavBarDropdownComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'lib-nav-bar-dropdown', standalone: true, imports: [ExpandCollapseComponent, CommonModule], template: "<span\n class=\"dropdown-wrapper\"\n data-testid=\"wrapper\"\n [ngClass]=\"{ desktop: !isSmallScreen() }\"\n (mouseenter)=\"!isSmallScreen() && (this.isOpen = true)\"\n (mouseleave)=\"!isSmallScreen() && (this.isOpen = false)\"\n>\n <button (click)=\"handleClick()\" data-testid=\"btn\">\n {{ title() }}\n <span class=\"material-symbols-outlined icon\">\n {{ 'keyboard_arrow_' + (isOpen ? 'up' : 'down') }}\n </span>\n </button>\n @if (!isSmallScreen()) {\n @if (isOpen) {\n <div class=\"dropdown\" data-testid=\"dropdown\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n }\n } @else {\n <lib-expand-collapse [isExpanded]=\"isOpen\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </lib-expand-collapse>\n }\n</span>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".dropdown-wrapper.desktop button{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}.dropdown-wrapper.desktop button .icon{font-size:1.3em;margin-bottom:-.1em}.dropdown-wrapper.desktop button:hover{background-color:#0047ba;color:#fff}.dropdown-wrapper button{justify-content:flex-end;font-size:1.3em;color:#fff;display:flex;align-items:center;width:100%;padding:.6em;border-bottom:1px solid rgba(255,255,255,.3)}.dropdown-wrapper button .icon{margin-left:.2em}.dropdown-wrapper.desktop:hover button{background-color:#0047ba;color:#fff}.dropdown-wrapper.desktop .dropdown{position:absolute;z-index:11;width:100%;top:100%;left:0;background-color:#0047ba}\n"] }]
26
+ }], propDecorators: { openEvent: [{
27
+ type: Output
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWJhci1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvaGJsbC1oZWFkZXIvbmF2LWJhci1kcm9wZG93bi9uYXYtYmFyLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWhlYWRlci9uYXYtYmFyLWRyb3Bkb3duL25hdi1iYXItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7OztBQVMxRixNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBUUksVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVqRCxzQ0FBc0M7UUFDdEMsa0JBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFFbEMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGdCQUFXLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtnQkFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMvQixDQUFDLENBQUM7S0FDTDs4R0FiWSx1QkFBdUI7a0dBQXZCLHVCQUF1Qix3WUNYcEMsODhCQTZCQSwrekJEdEJjLHVCQUF1Qix1RkFBRSxZQUFZOzsyRkFJdEMsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNJLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyx1QkFBdUIsRUFBRSxZQUFZLENBQUM7OEJBT3RDLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEV4cGFuZENvbGxhcHNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZXhwYW5kLWNvbGxhcHNlL2V4cGFuZC1jb2xsYXBzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1uYXYtYmFyLWRyb3Bkb3duJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtFeHBhbmRDb2xsYXBzZUNvbXBvbmVudCwgQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LWJhci1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL25hdi1iYXItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZCYXJEcm9wZG93bkNvbXBvbmVudCB7XG4gICAgdGl0bGUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gICAgaXNTbWFsbFNjcmVlbiA9IGlucHV0KHRydWUpO1xuICAgIEBPdXRwdXQoKSBvcGVuRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIC8vIFB1YmxpYyB0byBiZSBjYWxsZWQgYnkgcGFyZW50IGNvbXAuXG4gICAgY2xvc2VEcm9wZG93biA9ICgpID0+ICh0aGlzLmlzT3BlbiA9IGZhbHNlKTtcblxuICAgIHByb3RlY3RlZCBpc09wZW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4pIHRoaXMub3BlbkV2ZW50LmVtaXQodGhpcy50aXRsZSgpKTtcbiAgICAgICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW47XG4gICAgfTtcbn1cbiIsIjxzcGFuXG4gICAgY2xhc3M9XCJkcm9wZG93bi13cmFwcGVyXCJcbiAgICBkYXRhLXRlc3RpZD1cIndyYXBwZXJcIlxuICAgIFtuZ0NsYXNzXT1cInsgZGVza3RvcDogIWlzU21hbGxTY3JlZW4oKSB9XCJcbiAgICAobW91c2VlbnRlcik9XCIhaXNTbWFsbFNjcmVlbigpICYmICh0aGlzLmlzT3BlbiA9IHRydWUpXCJcbiAgICAobW91c2VsZWF2ZSk9XCIhaXNTbWFsbFNjcmVlbigpICYmICh0aGlzLmlzT3BlbiA9IGZhbHNlKVwiXG4+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlQ2xpY2soKVwiIGRhdGEtdGVzdGlkPVwiYnRuXCI+XG4gICAgICAgIHt7IHRpdGxlKCkgfX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb25cIj5cbiAgICAgICAgICAgIHt7ICdrZXlib2FyZF9hcnJvd18nICsgKGlzT3BlbiA/ICd1cCcgOiAnZG93bicpIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICBAaWYgKCFpc1NtYWxsU2NyZWVuKCkpIHtcbiAgICAgICAgQGlmIChpc09wZW4pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93blwiIGRhdGEtdGVzdGlkPVwiZHJvcGRvd25cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgPGxpYi1leHBhbmQtY29sbGFwc2UgW2lzRXhwYW5kZWRdPVwiaXNPcGVuXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2xpYi1leHBhbmQtY29sbGFwc2U+XG4gICAgfVxuPC9zcGFuPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { DatePipe } from '@angular/common';
2
+ import { Pipe } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class LibraryHoursPipe {
5
+ transform(date, time) {
6
+ let newTime = null;
7
+ try {
8
+ newTime = new DatePipe('en-US').transform(new Date(date + 'T' + time), 'ha');
9
+ }
10
+ catch (e) {
11
+ return newTime;
12
+ }
13
+ if (newTime === '12AM')
14
+ newTime = 'Midnight';
15
+ else if (newTime) {
16
+ newTime = newTime.replace('AM', ' a.m.');
17
+ newTime = newTime.replace('PM', ' p.m.');
18
+ }
19
+ return newTime;
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LibraryHoursPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
22
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: LibraryHoursPipe, isStandalone: true, name: "libraryHours" }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LibraryHoursPipe, decorators: [{
25
+ type: Pipe,
26
+ args: [{
27
+ name: 'libraryHours',
28
+ standalone: true,
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS1ob3Vycy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2hibGwtaGVhZGVyL3BpcGVzL2xpYnJhcnktaG91cnMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsU0FBUyxDQUFDLElBQVksRUFBRSxJQUFZO1FBQ2hDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUM7WUFDRCxPQUFPLEdBQUcsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxPQUFPLE9BQU8sQ0FBQztRQUNuQixDQUFDO1FBQ0QsSUFBSSxPQUFPLEtBQUssTUFBTTtZQUFFLE9BQU8sR0FBRyxVQUFVLENBQUM7YUFDeEMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNmLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN6QyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7OEdBZFEsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdsaWJyYXJ5SG91cnMnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIExpYnJhcnlIb3Vyc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oZGF0ZTogc3RyaW5nLCB0aW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgbGV0IG5ld1RpbWUgPSBudWxsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbmV3VGltZSA9IG5ldyBEYXRlUGlwZSgnZW4tVVMnKS50cmFuc2Zvcm0obmV3IERhdGUoZGF0ZSArICdUJyArIHRpbWUpLCAnaGEnKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ld1RpbWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5ld1RpbWUgPT09ICcxMkFNJykgbmV3VGltZSA9ICdNaWRuaWdodCc7XG4gICAgICAgIGVsc2UgaWYgKG5ld1RpbWUpIHtcbiAgICAgICAgICAgIG5ld1RpbWUgPSBuZXdUaW1lLnJlcGxhY2UoJ0FNJywgJyBhLm0uJyk7XG4gICAgICAgICAgICBuZXdUaW1lID0gbmV3VGltZS5yZXBsYWNlKCdQTScsICcgcC5tLicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXdUaW1lO1xuICAgIH1cbn1cbiJdfQ==