@porsche-design-system/components-angular 3.15.0-rc.1 → 3.15.0-rc.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/CHANGELOG.md CHANGED
@@ -14,12 +14,36 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
14
14
 
15
15
  ### [Unreleased]
16
16
 
17
+ ### [3.15.0-rc.2] - 2024-04-22
18
+
19
+ #### Added
20
+
21
+ - `Accordion`: Add experimental property `sticky` for a fixed heading
22
+ ([#3181](https://github.com/porsche-design-system/porsche-design-system/pull/3181))
23
+ - `Inline Notification`, `Banner`: heading hierarchy can now be customized with `headingTag` prop
24
+ ([#3168](https://github.com/porsche-design-system/porsche-design-system/pull/3168))
25
+
26
+ #### Changed
27
+
28
+ - `Accordion`: `tag` property is deprecated. Use `headingTag` property instead to specify heading hierarchy level.
29
+ ([#3168](https://github.com/porsche-design-system/porsche-design-system/pull/3168))
30
+
31
+ ```diff
32
+ - <p-accordion tag="h3"></p-accordion>
33
+ + <p-accordion heading-tag="h3"></p-accordion>
34
+ ```
35
+
36
+ #### Fixed
37
+
38
+ - `Pin Code`: Input is entered twice in iOS
39
+ ([#3192](https://github.com/porsche-design-system/porsche-design-system/pull/3192))
40
+
17
41
  ### [3.15.0-rc.1] - 2024-04-17
18
42
 
19
- #### Added
43
+ #### Added
20
44
 
21
- - Partials: `getMetaTagsAndIconLinks`, `getComponentChunkLinks`, `getIconLinks` and `getFontLinks` support new format option `js`
22
- ([#3179](https://github.com/porsche-design-system/porsche-design-system/pull/3179))
45
+ - Partials: `getMetaTagsAndIconLinks`, `getComponentChunkLinks`, `getIconLinks` and `getFontLinks` support new format
46
+ option `js` ([#3179](https://github.com/porsche-design-system/porsche-design-system/pull/3179))
23
47
 
24
48
  ### [3.15.0-rc.0] - 2024-04-05
25
49
 
@@ -1,17 +1,20 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { BaseComponentWithTheme } from '../../utils';
3
- import type { BreakpointCustomizable, AccordionSize, AccordionTag, Theme } from '../types';
3
+ import type { AccordionHeadingTag, BreakpointCustomizable, AccordionSize, AccordionTag, Theme } from '../types';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class PAccordion extends BaseComponentWithTheme {
6
6
  compact?: boolean;
7
7
  heading?: string;
8
+ headingTag?: AccordionHeadingTag;
8
9
  open?: boolean;
9
10
  size?: BreakpointCustomizable<AccordionSize>;
11
+ sticky?: boolean;
12
+ /** @deprecated */
10
13
  tag?: AccordionTag;
11
14
  theme?: Theme;
12
15
  /** @deprecated */
13
16
  accordionChange: EventEmitter<CustomEvent<import("../types").AccordionUpdateEvent>>;
14
17
  update: EventEmitter<CustomEvent<import("../types").AccordionUpdateEvent>>;
15
18
  static ɵfac: i0.ɵɵFactoryDeclaration<PAccordion, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<PAccordion, "p-accordion,[p-accordion]", never, { "compact": { "alias": "compact"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "open": { "alias": "open"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tag": { "alias": "tag"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; }, { "accordionChange": "accordionChange"; "update": "update"; }, never, ["*"], false, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<PAccordion, "p-accordion,[p-accordion]", never, { "compact": { "alias": "compact"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "headingTag": { "alias": "headingTag"; "required": false; }; "open": { "alias": "open"; "required": false; }; "size": { "alias": "size"; "required": false; }; "sticky": { "alias": "sticky"; "required": false; }; "tag": { "alias": "tag"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; }, { "accordionChange": "accordionChange"; "update": "update"; }, never, ["*"], false, never>;
17
20
  }
@@ -1,11 +1,12 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { BaseComponentWithTheme } from '../../utils';
3
- import type { BannerState, Theme, BannerWidth } from '../types';
3
+ import type { BannerHeadingTag, BannerState, Theme, BannerWidth } from '../types';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class PBanner extends BaseComponentWithTheme {
6
6
  description?: string;
7
7
  dismissButton?: boolean;
8
8
  heading?: string;
9
+ headingTag?: BannerHeadingTag;
9
10
  open: boolean;
10
11
  /** @deprecated */
11
12
  persistent?: boolean;
@@ -15,5 +16,5 @@ export declare class PBanner extends BaseComponentWithTheme {
15
16
  width?: BannerWidth;
16
17
  dismiss: EventEmitter<CustomEvent<void>>;
17
18
  static ɵfac: i0.ɵɵFactoryDeclaration<PBanner, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<PBanner, "p-banner,[p-banner]", never, { "description": { "alias": "description"; "required": false; }; "dismissButton": { "alias": "dismissButton"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "open": { "alias": "open"; "required": false; }; "persistent": { "alias": "persistent"; "required": false; }; "state": { "alias": "state"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "dismiss": "dismiss"; }, never, ["*"], false, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<PBanner, "p-banner,[p-banner]", never, { "description": { "alias": "description"; "required": false; }; "dismissButton": { "alias": "dismissButton"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "headingTag": { "alias": "headingTag"; "required": false; }; "open": { "alias": "open"; "required": false; }; "persistent": { "alias": "persistent"; "required": false; }; "state": { "alias": "state"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "dismiss": "dismiss"; }, never, ["*"], false, never>;
19
20
  }
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { BaseComponentWithTheme } from '../../utils';
3
- import type { InlineNotificationActionIcon, InlineNotificationState, Theme } from '../types';
3
+ import type { InlineNotificationActionIcon, InlineNotificationHeadingTag, InlineNotificationState, Theme } from '../types';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class PInlineNotification extends BaseComponentWithTheme {
6
6
  actionIcon?: InlineNotificationActionIcon;
@@ -9,6 +9,7 @@ export declare class PInlineNotification extends BaseComponentWithTheme {
9
9
  description?: string;
10
10
  dismissButton?: boolean;
11
11
  heading?: string;
12
+ headingTag?: InlineNotificationHeadingTag;
12
13
  /** @deprecated */
13
14
  persistent?: boolean;
14
15
  state?: InlineNotificationState;
@@ -16,5 +17,5 @@ export declare class PInlineNotification extends BaseComponentWithTheme {
16
17
  action: EventEmitter<CustomEvent<void>>;
17
18
  dismiss: EventEmitter<CustomEvent<void>>;
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<PInlineNotification, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<PInlineNotification, "p-inline-notification,[p-inline-notification]", never, { "actionIcon": { "alias": "actionIcon"; "required": false; }; "actionLabel": { "alias": "actionLabel"; "required": false; }; "actionLoading": { "alias": "actionLoading"; "required": false; }; "description": { "alias": "description"; "required": false; }; "dismissButton": { "alias": "dismissButton"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "persistent": { "alias": "persistent"; "required": false; }; "state": { "alias": "state"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; }, { "action": "action"; "dismiss": "dismiss"; }, never, ["*"], false, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<PInlineNotification, "p-inline-notification,[p-inline-notification]", never, { "actionIcon": { "alias": "actionIcon"; "required": false; }; "actionLabel": { "alias": "actionLabel"; "required": false; }; "actionLoading": { "alias": "actionLoading"; "required": false; }; "description": { "alias": "description"; "required": false; }; "dismissButton": { "alias": "dismissButton"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "headingTag": { "alias": "headingTag"; "required": false; }; "persistent": { "alias": "persistent"; "required": false; }; "state": { "alias": "state"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; }, { "action": "action"; "dismiss": "dismiss"; }, never, ["*"], false, never>;
20
21
  }
@@ -530,6 +530,15 @@ declare const HEADING_SIZES: readonly [
530
530
  "inherit"
531
531
  ];
532
532
  export type HeadingSize = (typeof HEADING_SIZES)[number];
533
+ declare const HEADING_TAGS: readonly [
534
+ "h1",
535
+ "h2",
536
+ "h3",
537
+ "h4",
538
+ "h5",
539
+ "h6"
540
+ ];
541
+ export type HeadingTag = typeof HEADING_TAGS[number];
533
542
  declare const TEXT_SIZES: readonly [
534
543
  "xx-small",
535
544
  "x-small",
@@ -587,15 +596,6 @@ declare const BUTTON_TYPES: readonly [
587
596
  "reset"
588
597
  ];
589
598
  export type ButtonType = typeof BUTTON_TYPES[number];
590
- declare const HEADING_TAGS: readonly [
591
- "h1",
592
- "h2",
593
- "h3",
594
- "h4",
595
- "h5",
596
- "h6"
597
- ];
598
- export type HeadingTag = typeof HEADING_TAGS[number];
599
599
  declare const LINK_BUTTON_VARIANTS: readonly [
600
600
  "primary",
601
601
  "secondary",
@@ -627,21 +627,34 @@ export type AccordionUpdateEvent = {
627
627
  open: boolean;
628
628
  };
629
629
  export type AccordionUpdateEventDetail = AccordionUpdateEvent;
630
+ /** @deprecated */
630
631
  export type AccordionTag = HeadingTag;
632
+ export type AccordionHeadingTag = HeadingTag;
633
+ declare const INLINE_NOTIFICATION_STATES: readonly [
634
+ "success",
635
+ "info",
636
+ "warning",
637
+ "error",
638
+ "neutral"
639
+ ];
640
+ export type InlineNotificationState = (typeof INLINE_NOTIFICATION_STATES)[number];
641
+ export type InlineNotificationActionIcon = IconName;
642
+ export type InlineNotificationHeadingTag = HeadingTag;
631
643
  declare const BANNER_STATES: readonly [
632
644
  "info",
633
645
  "warning",
634
646
  "error",
635
647
  "neutral"
636
648
  ];
637
- export type BannerState = typeof BANNER_STATES[number];
649
+ export type BannerState = (typeof BANNER_STATES)[number];
638
650
  declare const BANNER_WIDTHS: readonly [
639
651
  "extended",
640
652
  "basic",
641
653
  "fluid"
642
654
  ];
643
655
  /** @deprecated */
644
- export type BannerWidth = typeof BANNER_WIDTHS[number];
656
+ export type BannerWidth = (typeof BANNER_WIDTHS)[number];
657
+ export type BannerHeadingTag = InlineNotificationHeadingTag;
645
658
  export type ButtonIcon = LinkButtonIconName;
646
659
  declare const GROUP_DIRECTIONS: readonly [
647
660
  "row",
@@ -959,15 +972,6 @@ declare const ICON_COLORS: readonly [
959
972
  "state-disabled"
960
973
  ];
961
974
  export type IconColor = (typeof ICON_COLORS)[number];
962
- declare const INLINE_NOTIFICATION_STATES: readonly [
963
- "success",
964
- "info",
965
- "warning",
966
- "error",
967
- "neutral"
968
- ];
969
- export type InlineNotificationState = typeof INLINE_NOTIFICATION_STATES[number];
970
- export type InlineNotificationActionIcon = IconName;
971
975
  export type LinkIcon = LinkButtonIconName;
972
976
  export type LinkPureIcon = LinkButtonIconName;
973
977
  export type LinkPureAriaAttribute = LinkAriaAttribute;
@@ -4,23 +4,26 @@ import * as i0 from "@angular/core";
4
4
  export class PAccordion extends BaseComponentWithTheme {
5
5
  compact;
6
6
  heading;
7
+ headingTag;
7
8
  open;
8
9
  size;
10
+ sticky;
11
+ /** @deprecated */
9
12
  tag;
10
13
  theme;
11
14
  /** @deprecated */
12
15
  accordionChange = new EventEmitter();
13
16
  update = new EventEmitter();
14
17
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PAccordion, deps: null, target: i0.ɵɵFactoryTarget.Component });
15
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: PAccordion, selector: "p-accordion,[p-accordion]", inputs: { compact: "compact", heading: "heading", open: "open", size: "size", tag: "tag", theme: "theme" }, outputs: { accordionChange: "accordionChange", update: "update" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: PAccordion, selector: "p-accordion,[p-accordion]", inputs: { compact: "compact", heading: "heading", headingTag: "headingTag", open: "open", size: "size", sticky: "sticky", tag: "tag", theme: "theme" }, outputs: { accordionChange: "accordionChange", update: "update" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true });
16
19
  }
17
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PAccordion, decorators: [{
18
21
  type: Component,
19
22
  args: [{
20
23
  selector: 'p-accordion,[p-accordion]',
21
24
  template: '<ng-content />',
22
- inputs: ['compact', 'heading', 'open', 'size', 'tag', 'theme'],
25
+ inputs: ['compact', 'heading', 'headingTag', 'open', 'size', 'sticky', 'tag', 'theme'],
23
26
  outputs: ['accordionChange', 'update']
24
27
  }]
25
28
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLndyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXdyYXBwZXIvc3JjL2xpYi9jb21wb25lbnRzL2FjY29yZGlvbi53cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFTckQsTUFBTSxPQUFPLFVBQVcsU0FBUSxzQkFBc0I7SUFDcEQsT0FBTyxDQUFXO0lBQ2xCLE9BQU8sQ0FBVTtJQUNqQixJQUFJLENBQVc7SUFDZixJQUFJLENBQXlDO0lBQzdDLEdBQUcsQ0FBZ0I7SUFDWCxLQUFLLENBQVM7SUFDdEIsa0JBQWtCO0lBQ2xCLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBMkMsQ0FBQztJQUM5RSxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQTJDLENBQUM7dUdBVDFELFVBQVU7MkZBQVYsVUFBVSx1UUFKWCxnQkFBZ0I7OzJGQUlmLFVBQVU7a0JBTnRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUM7b0JBQzlELE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQztpQkFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudFdpdGhUaGVtZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQWNjb3JkaW9uVXBkYXRlRXZlbnREZXRhaWwsIEJyZWFrcG9pbnRDdXN0b21pemFibGUsIEFjY29yZGlvblNpemUsIEFjY29yZGlvblRhZywgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtYWNjb3JkaW9uLFtwLWFjY29yZGlvbl0nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IC8+JyxcbiAgaW5wdXRzOiBbJ2NvbXBhY3QnLCAnaGVhZGluZycsICdvcGVuJywgJ3NpemUnLCAndGFnJywgJ3RoZW1lJ10sXG4gIG91dHB1dHM6IFsnYWNjb3JkaW9uQ2hhbmdlJywgJ3VwZGF0ZSddXG59KVxuZXhwb3J0IGNsYXNzIFBBY2NvcmRpb24gZXh0ZW5kcyBCYXNlQ29tcG9uZW50V2l0aFRoZW1lIHtcbiAgY29tcGFjdD86IGJvb2xlYW47XG4gIGhlYWRpbmc/OiBzdHJpbmc7XG4gIG9wZW4/OiBib29sZWFuO1xuICBzaXplPzogQnJlYWtwb2ludEN1c3RvbWl6YWJsZTxBY2NvcmRpb25TaXplPjtcbiAgdGFnPzogQWNjb3JkaW9uVGFnO1xuICBkZWNsYXJlIHRoZW1lPzogVGhlbWU7XG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xuICBhY2NvcmRpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEFjY29yZGlvblVwZGF0ZUV2ZW50RGV0YWlsPj4oKTtcbiAgdXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxBY2NvcmRpb25VcGRhdGVFdmVudERldGFpbD4+KCk7XG59Il19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLndyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXdyYXBwZXIvc3JjL2xpYi9jb21wb25lbnRzL2FjY29yZGlvbi53cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFTckQsTUFBTSxPQUFPLFVBQVcsU0FBUSxzQkFBc0I7SUFDcEQsT0FBTyxDQUFXO0lBQ2xCLE9BQU8sQ0FBVTtJQUNqQixVQUFVLENBQXVCO0lBQ2pDLElBQUksQ0FBVztJQUNmLElBQUksQ0FBeUM7SUFDN0MsTUFBTSxDQUFXO0lBQ2pCLGtCQUFrQjtJQUNsQixHQUFHLENBQWdCO0lBQ1gsS0FBSyxDQUFTO0lBQ3RCLGtCQUFrQjtJQUNsQixlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQTJDLENBQUM7SUFDOUUsTUFBTSxHQUFHLElBQUksWUFBWSxFQUEyQyxDQUFDO3VHQVoxRCxVQUFVOzJGQUFWLFVBQVUsbVRBSlgsZ0JBQWdCOzsyRkFJZixVQUFVO2tCQU50QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUM7b0JBQ3RGLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQztpQkFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudFdpdGhUaGVtZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQWNjb3JkaW9uSGVhZGluZ1RhZywgQWNjb3JkaW9uVXBkYXRlRXZlbnREZXRhaWwsIEJyZWFrcG9pbnRDdXN0b21pemFibGUsIEFjY29yZGlvblNpemUsIEFjY29yZGlvblRhZywgVGhlbWUgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3AtYWNjb3JkaW9uLFtwLWFjY29yZGlvbl0nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IC8+JyxcbiAgaW5wdXRzOiBbJ2NvbXBhY3QnLCAnaGVhZGluZycsICdoZWFkaW5nVGFnJywgJ29wZW4nLCAnc2l6ZScsICdzdGlja3knLCAndGFnJywgJ3RoZW1lJ10sXG4gIG91dHB1dHM6IFsnYWNjb3JkaW9uQ2hhbmdlJywgJ3VwZGF0ZSddXG59KVxuZXhwb3J0IGNsYXNzIFBBY2NvcmRpb24gZXh0ZW5kcyBCYXNlQ29tcG9uZW50V2l0aFRoZW1lIHtcbiAgY29tcGFjdD86IGJvb2xlYW47XG4gIGhlYWRpbmc/OiBzdHJpbmc7XG4gIGhlYWRpbmdUYWc/OiBBY2NvcmRpb25IZWFkaW5nVGFnO1xuICBvcGVuPzogYm9vbGVhbjtcbiAgc2l6ZT86IEJyZWFrcG9pbnRDdXN0b21pemFibGU8QWNjb3JkaW9uU2l6ZT47XG4gIHN0aWNreT86IGJvb2xlYW47XG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xuICB0YWc/OiBBY2NvcmRpb25UYWc7XG4gIGRlY2xhcmUgdGhlbWU/OiBUaGVtZTtcbiAgLyoqIEBkZXByZWNhdGVkICovXG4gIGFjY29yZGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8QWNjb3JkaW9uVXBkYXRlRXZlbnREZXRhaWw+PigpO1xuICB1cGRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEFjY29yZGlvblVwZGF0ZUV2ZW50RGV0YWlsPj4oKTtcbn0iXX0=
@@ -5,6 +5,7 @@ export class PBanner extends BaseComponentWithTheme {
5
5
  description;
6
6
  dismissButton;
7
7
  heading;
8
+ headingTag;
8
9
  open;
9
10
  /** @deprecated */
10
11
  persistent;
@@ -14,15 +15,15 @@ export class PBanner extends BaseComponentWithTheme {
14
15
  width;
15
16
  dismiss = new EventEmitter();
16
17
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PBanner, deps: null, target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: PBanner, selector: "p-banner,[p-banner]", inputs: { description: "description", dismissButton: "dismissButton", heading: "heading", open: "open", persistent: "persistent", state: "state", theme: "theme", width: "width" }, outputs: { dismiss: "dismiss" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: PBanner, selector: "p-banner,[p-banner]", inputs: { description: "description", dismissButton: "dismissButton", heading: "heading", headingTag: "headingTag", open: "open", persistent: "persistent", state: "state", theme: "theme", width: "width" }, outputs: { dismiss: "dismiss" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true });
18
19
  }
19
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PBanner, decorators: [{
20
21
  type: Component,
21
22
  args: [{
22
23
  selector: 'p-banner,[p-banner]',
23
24
  template: '<ng-content />',
24
- inputs: ['description', 'dismissButton', 'heading', 'open', 'persistent', 'state', 'theme', 'width'],
25
+ inputs: ['description', 'dismissButton', 'heading', 'headingTag', 'open', 'persistent', 'state', 'theme', 'width'],
25
26
  outputs: ['dismiss']
26
27
  }]
27
28
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLndyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXdyYXBwZXIvc3JjL2xpYi9jb21wb25lbnRzL2Jhbm5lci53cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFTckQsTUFBTSxPQUFPLE9BQVEsU0FBUSxzQkFBc0I7SUFDakQsV0FBVyxDQUFVO0lBQ3JCLGFBQWEsQ0FBVztJQUN4QixPQUFPLENBQVU7SUFDakIsSUFBSSxDQUFVO0lBQ2Qsa0JBQWtCO0lBQ2xCLFVBQVUsQ0FBVztJQUNyQixLQUFLLENBQWU7SUFDWixLQUFLLENBQVM7SUFDdEIsa0JBQWtCO0lBQ2xCLEtBQUssQ0FBZTtJQUNwQixPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7dUdBWHJDLE9BQU87MkZBQVAsT0FBTyx1U0FKUixnQkFBZ0I7OzJGQUlmLE9BQU87a0JBTm5CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztvQkFDcEcsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50V2l0aFRoZW1lIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBCYW5uZXJTdGF0ZSwgVGhlbWUsIEJhbm5lcldpZHRoIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWJhbm5lcixbcC1iYW5uZXJdJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudCAvPicsXG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdkaXNtaXNzQnV0dG9uJywgJ2hlYWRpbmcnLCAnb3BlbicsICdwZXJzaXN0ZW50JywgJ3N0YXRlJywgJ3RoZW1lJywgJ3dpZHRoJ10sXG4gIG91dHB1dHM6IFsnZGlzbWlzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBCYW5uZXIgZXh0ZW5kcyBCYXNlQ29tcG9uZW50V2l0aFRoZW1lIHtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGRpc21pc3NCdXR0b24/OiBib29sZWFuO1xuICBoZWFkaW5nPzogc3RyaW5nO1xuICBvcGVuOiBib29sZWFuO1xuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgcGVyc2lzdGVudD86IGJvb2xlYW47XG4gIHN0YXRlPzogQmFubmVyU3RhdGU7XG4gIGRlY2xhcmUgdGhlbWU/OiBUaGVtZTtcbiAgLyoqIEBkZXByZWNhdGVkICovXG4gIHdpZHRoPzogQmFubmVyV2lkdGg7XG4gIGRpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xufSJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFubmVyLndyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXdyYXBwZXIvc3JjL2xpYi9jb21wb25lbnRzL2Jhbm5lci53cmFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFTckQsTUFBTSxPQUFPLE9BQVEsU0FBUSxzQkFBc0I7SUFDakQsV0FBVyxDQUFVO0lBQ3JCLGFBQWEsQ0FBVztJQUN4QixPQUFPLENBQVU7SUFDakIsVUFBVSxDQUFvQjtJQUM5QixJQUFJLENBQVU7SUFDZCxrQkFBa0I7SUFDbEIsVUFBVSxDQUFXO0lBQ3JCLEtBQUssQ0FBZTtJQUNaLEtBQUssQ0FBUztJQUN0QixrQkFBa0I7SUFDbEIsS0FBSyxDQUFlO0lBQ3BCLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQzt1R0FackMsT0FBTzsyRkFBUCxPQUFPLGlVQUpSLGdCQUFnQjs7MkZBSWYsT0FBTztrQkFObkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztvQkFDbEgsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50V2l0aFRoZW1lIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBCYW5uZXJIZWFkaW5nVGFnLCBCYW5uZXJTdGF0ZSwgVGhlbWUsIEJhbm5lcldpZHRoIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWJhbm5lcixbcC1iYW5uZXJdJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudCAvPicsXG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdkaXNtaXNzQnV0dG9uJywgJ2hlYWRpbmcnLCAnaGVhZGluZ1RhZycsICdvcGVuJywgJ3BlcnNpc3RlbnQnLCAnc3RhdGUnLCAndGhlbWUnLCAnd2lkdGgnXSxcbiAgb3V0cHV0czogWydkaXNtaXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgUEJhbm5lciBleHRlbmRzIEJhc2VDb21wb25lbnRXaXRoVGhlbWUge1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZGlzbWlzc0J1dHRvbj86IGJvb2xlYW47XG4gIGhlYWRpbmc/OiBzdHJpbmc7XG4gIGhlYWRpbmdUYWc/OiBCYW5uZXJIZWFkaW5nVGFnO1xuICBvcGVuOiBib29sZWFuO1xuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgcGVyc2lzdGVudD86IGJvb2xlYW47XG4gIHN0YXRlPzogQmFubmVyU3RhdGU7XG4gIGRlY2xhcmUgdGhlbWU/OiBUaGVtZTtcbiAgLyoqIEBkZXByZWNhdGVkICovXG4gIHdpZHRoPzogQmFubmVyV2lkdGg7XG4gIGRpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xufSJdfQ==
@@ -8,6 +8,7 @@ export class PInlineNotification extends BaseComponentWithTheme {
8
8
  description;
9
9
  dismissButton;
10
10
  heading;
11
+ headingTag;
11
12
  /** @deprecated */
12
13
  persistent;
13
14
  state;
@@ -15,15 +16,15 @@ export class PInlineNotification extends BaseComponentWithTheme {
15
16
  action = new EventEmitter();
16
17
  dismiss = new EventEmitter();
17
18
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PInlineNotification, deps: null, target: i0.ɵɵFactoryTarget.Component });
18
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: PInlineNotification, selector: "p-inline-notification,[p-inline-notification]", inputs: { actionIcon: "actionIcon", actionLabel: "actionLabel", actionLoading: "actionLoading", description: "description", dismissButton: "dismissButton", heading: "heading", persistent: "persistent", state: "state", theme: "theme" }, outputs: { action: "action", dismiss: "dismiss" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: PInlineNotification, selector: "p-inline-notification,[p-inline-notification]", inputs: { actionIcon: "actionIcon", actionLabel: "actionLabel", actionLoading: "actionLoading", description: "description", dismissButton: "dismissButton", heading: "heading", headingTag: "headingTag", persistent: "persistent", state: "state", theme: "theme" }, outputs: { action: "action", dismiss: "dismiss" }, usesInheritance: true, ngImport: i0, template: '<ng-content />', isInline: true });
19
20
  }
20
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PInlineNotification, decorators: [{
21
22
  type: Component,
22
23
  args: [{
23
24
  selector: 'p-inline-notification,[p-inline-notification]',
24
25
  template: '<ng-content />',
25
- inputs: ['actionIcon', 'actionLabel', 'actionLoading', 'description', 'dismissButton', 'heading', 'persistent', 'state', 'theme'],
26
+ inputs: ['actionIcon', 'actionLabel', 'actionLoading', 'description', 'dismissButton', 'heading', 'headingTag', 'persistent', 'state', 'theme'],
26
27
  outputs: ['action', 'dismiss']
27
28
  }]
28
29
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLW5vdGlmaWNhdGlvbi53cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci13cmFwcGVyL3NyYy9saWIvY29tcG9uZW50cy9pbmxpbmUtbm90aWZpY2F0aW9uLndyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQVNyRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsc0JBQXNCO0lBQzdELFVBQVUsQ0FBZ0M7SUFDMUMsV0FBVyxDQUFVO0lBQ3JCLGFBQWEsQ0FBVztJQUN4QixXQUFXLENBQVU7SUFDckIsYUFBYSxDQUFXO0lBQ3hCLE9BQU8sQ0FBVTtJQUNqQixrQkFBa0I7SUFDbEIsVUFBVSxDQUFXO0lBQ3JCLEtBQUssQ0FBMkI7SUFDeEIsS0FBSyxDQUFTO0lBQ3RCLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUMvQyxPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7dUdBWnJDLG1CQUFtQjsyRkFBbkIsbUJBQW1CLDJZQUpwQixnQkFBZ0I7OzJGQUlmLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0NBQStDO29CQUN6RCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztvQkFDakksT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudFdpdGhUaGVtZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgSW5saW5lTm90aWZpY2F0aW9uQWN0aW9uSWNvbiwgSW5saW5lTm90aWZpY2F0aW9uU3RhdGUsIFRoZW1lIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWlubGluZS1ub3RpZmljYXRpb24sW3AtaW5saW5lLW5vdGlmaWNhdGlvbl0nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IC8+JyxcbiAgaW5wdXRzOiBbJ2FjdGlvbkljb24nLCAnYWN0aW9uTGFiZWwnLCAnYWN0aW9uTG9hZGluZycsICdkZXNjcmlwdGlvbicsICdkaXNtaXNzQnV0dG9uJywgJ2hlYWRpbmcnLCAncGVyc2lzdGVudCcsICdzdGF0ZScsICd0aGVtZSddLFxuICBvdXRwdXRzOiBbJ2FjdGlvbicsICdkaXNtaXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgUElubGluZU5vdGlmaWNhdGlvbiBleHRlbmRzIEJhc2VDb21wb25lbnRXaXRoVGhlbWUge1xuICBhY3Rpb25JY29uPzogSW5saW5lTm90aWZpY2F0aW9uQWN0aW9uSWNvbjtcbiAgYWN0aW9uTGFiZWw/OiBzdHJpbmc7XG4gIGFjdGlvbkxvYWRpbmc/OiBib29sZWFuO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZGlzbWlzc0J1dHRvbj86IGJvb2xlYW47XG4gIGhlYWRpbmc/OiBzdHJpbmc7XG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xuICBwZXJzaXN0ZW50PzogYm9vbGVhbjtcbiAgc3RhdGU/OiBJbmxpbmVOb3RpZmljYXRpb25TdGF0ZTtcbiAgZGVjbGFyZSB0aGVtZT86IFRoZW1lO1xuICBhY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBkaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj4oKTtcbn0iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLW5vdGlmaWNhdGlvbi53cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci13cmFwcGVyL3NyYy9saWIvY29tcG9uZW50cy9pbmxpbmUtbm90aWZpY2F0aW9uLndyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQVNyRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsc0JBQXNCO0lBQzdELFVBQVUsQ0FBZ0M7SUFDMUMsV0FBVyxDQUFVO0lBQ3JCLGFBQWEsQ0FBVztJQUN4QixXQUFXLENBQVU7SUFDckIsYUFBYSxDQUFXO0lBQ3hCLE9BQU8sQ0FBVTtJQUNqQixVQUFVLENBQWdDO0lBQzFDLGtCQUFrQjtJQUNsQixVQUFVLENBQVc7SUFDckIsS0FBSyxDQUEyQjtJQUN4QixLQUFLLENBQVM7SUFDdEIsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO0lBQy9DLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQzt1R0FickMsbUJBQW1COzJGQUFuQixtQkFBbUIscWFBSnBCLGdCQUFnQjs7MkZBSWYsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQ0FBK0M7b0JBQ3pELFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLE1BQU0sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQztvQkFDL0ksT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudFdpdGhUaGVtZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgSW5saW5lTm90aWZpY2F0aW9uQWN0aW9uSWNvbiwgSW5saW5lTm90aWZpY2F0aW9uSGVhZGluZ1RhZywgSW5saW5lTm90aWZpY2F0aW9uU3RhdGUsIFRoZW1lIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwLWlubGluZS1ub3RpZmljYXRpb24sW3AtaW5saW5lLW5vdGlmaWNhdGlvbl0nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IC8+JyxcbiAgaW5wdXRzOiBbJ2FjdGlvbkljb24nLCAnYWN0aW9uTGFiZWwnLCAnYWN0aW9uTG9hZGluZycsICdkZXNjcmlwdGlvbicsICdkaXNtaXNzQnV0dG9uJywgJ2hlYWRpbmcnLCAnaGVhZGluZ1RhZycsICdwZXJzaXN0ZW50JywgJ3N0YXRlJywgJ3RoZW1lJ10sXG4gIG91dHB1dHM6IFsnYWN0aW9uJywgJ2Rpc21pc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQSW5saW5lTm90aWZpY2F0aW9uIGV4dGVuZHMgQmFzZUNvbXBvbmVudFdpdGhUaGVtZSB7XG4gIGFjdGlvbkljb24/OiBJbmxpbmVOb3RpZmljYXRpb25BY3Rpb25JY29uO1xuICBhY3Rpb25MYWJlbD86IHN0cmluZztcbiAgYWN0aW9uTG9hZGluZz86IGJvb2xlYW47XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBkaXNtaXNzQnV0dG9uPzogYm9vbGVhbjtcbiAgaGVhZGluZz86IHN0cmluZztcbiAgaGVhZGluZ1RhZz86IElubGluZU5vdGlmaWNhdGlvbkhlYWRpbmdUYWc7XG4gIC8qKiBAZGVwcmVjYXRlZCAqL1xuICBwZXJzaXN0ZW50PzogYm9vbGVhbjtcbiAgc3RhdGU/OiBJbmxpbmVOb3RpZmljYXRpb25TdGF0ZTtcbiAgZGVjbGFyZSB0aGVtZT86IFRoZW1lO1xuICBhY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBkaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj4oKTtcbn0iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXdyYXBwZXIvc3JjL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyogQXV0byBHZW5lcmF0ZWQgQmVsb3cgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9xdW90ZXMgKi9cbmV4cG9ydCB0eXBlIEJvb2xlYW5pc2ggPSBib29sZWFuIHwgXCJ0cnVlXCIgfCBcImZhbHNlXCI7XG5leHBvcnQgdHlwZSBBcmlhQXR0cmlidXRlcyA9IHtcblx0LyoqIElkZW50aWZpZXMgdGhlIGN1cnJlbnRseSBhY3RpdmUgZWxlbWVudCB3aGVuIERPTSBmb2N1cyBpcyBvbiBhIGNvbXBvc2l0ZSB3aWRnZXQsIHRleHRib3gsIGdyb3VwLCBvciBhcHBsaWNhdGlvbi4gKi9cblx0XCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnRcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqIEluZGljYXRlcyB3aGV0aGVyIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXMgd2lsbCBwcmVzZW50IGFsbCwgb3Igb25seSBwYXJ0cyBvZiwgdGhlIGNoYW5nZWQgcmVnaW9uIGJhc2VkIG9uIHRoZSBjaGFuZ2Ugbm90aWZpY2F0aW9ucyBkZWZpbmVkIGJ5IHRoZSBhcmlhLXJlbGV2YW50IGF0dHJpYnV0ZS4gKi9cblx0XCJhcmlhLWF0b21pY1wiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB3aGV0aGVyIGlucHV0dGluZyB0ZXh0IGNvdWxkIHRyaWdnZXIgZGlzcGxheSBvZiBvbmUgb3IgbW9yZSBwcmVkaWN0aW9ucyBvZiB0aGUgdXNlcidzIGludGVuZGVkIHZhbHVlIGZvciBhbiBpbnB1dCBhbmQgc3BlY2lmaWVzIGhvdyBwcmVkaWN0aW9ucyB3b3VsZCBiZVxuXHQgKiBwcmVzZW50ZWQgaWYgdGhleSBhcmUgbWFkZS5cblx0ICovXG5cdFwiYXJpYS1hdXRvY29tcGxldGVcIj86IFwibm9uZVwiIHwgXCJpbmxpbmVcIiB8IFwibGlzdFwiIHwgXCJib3RoXCIgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgYW4gZWxlbWVudCBpcyBiZWluZyBtb2RpZmllZCBhbmQgdGhhdCBhc3Npc3RpdmUgdGVjaG5vbG9naWVzIE1BWSB3YW50IHRvIHdhaXQgdW50aWwgdGhlIG1vZGlmaWNhdGlvbnMgYXJlIGNvbXBsZXRlIGJlZm9yZSBleHBvc2luZyB0aGVtIHRvIHRoZSB1c2VyLiAqL1xuXHQvKipcblx0ICogRGVmaW5lcyBhIHN0cmluZyB2YWx1ZSB0aGF0IGxhYmVscyB0aGUgY3VycmVudCBlbGVtZW50LCB3aGljaCBpcyBpbnRlbmRlZCB0byBiZSBjb252ZXJ0ZWQgaW50byBCcmFpbGxlLlxuXHQgKiBAc2VlIGFyaWEtbGFiZWwuXG5cdCAqL1xuXHRcImFyaWEtYnJhaWxsZWxhYmVsXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGEgaHVtYW4tcmVhZGFibGUsIGF1dGhvci1sb2NhbGl6ZWQgYWJicmV2aWF0ZWQgZGVzY3JpcHRpb24gZm9yIHRoZSByb2xlIG9mIGFuIGVsZW1lbnQsIHdoaWNoIGlzIGludGVuZGVkIHRvIGJlIGNvbnZlcnRlZCBpbnRvIEJyYWlsbGUuXG5cdCAqIEBzZWUgYXJpYS1yb2xlZGVzY3JpcHRpb24uXG5cdCAqL1xuXHRcImFyaWEtYnJhaWxsZXJvbGVkZXNjcmlwdGlvblwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHRcImFyaWEtYnVzeVwiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB0aGUgY3VycmVudCBcImNoZWNrZWRcIiBzdGF0ZSBvZiBjaGVja2JveGVzLCByYWRpbyBidXR0b25zLCBhbmQgb3RoZXIgd2lkZ2V0cy5cblx0ICogQHNlZSBhcmlhLXByZXNzZWQgQHNlZSBhcmlhLXNlbGVjdGVkLlxuXHQgKi9cblx0XCJhcmlhLWNoZWNrZWRcIj86IGJvb2xlYW4gfCBcImZhbHNlXCIgfCBcIm1peGVkXCIgfCBcInRydWVcIiB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIGEgdGFibGUsIGdyaWQsIG9yIHRyZWVncmlkLlxuXHQgKiBAc2VlIGFyaWEtY29saW5kZXguXG5cdCAqL1xuXHRcImFyaWEtY29sY291bnRcIj86IG51bWJlciB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgYW4gZWxlbWVudCdzIGNvbHVtbiBpbmRleCBvciBwb3NpdGlvbiB3aXRoIHJlc3BlY3QgdG8gdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIHdpdGhpbiBhIHRhYmxlLCBncmlkLCBvciB0cmVlZ3JpZC5cblx0ICogQHNlZSBhcmlhLWNvbGNvdW50IEBzZWUgYXJpYS1jb2xzcGFuLlxuXHQgKi9cblx0XCJhcmlhLWNvbGluZGV4XCI/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGEgaHVtYW4gcmVhZGFibGUgdGV4dCBhbHRlcm5hdGl2ZSBvZiBhcmlhLWNvbGluZGV4LlxuXHQgKiBAc2VlIGFyaWEtcm93aW5kZXh0ZXh0LlxuXHQgKi9cblx0XCJhcmlhLWNvbGluZGV4dGV4dFwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgc3Bhbm5lZCBieSBhIGNlbGwgb3IgZ3JpZGNlbGwgd2l0aGluIGEgdGFibGUsIGdyaWQsIG9yIHRyZWVncmlkLlxuXHQgKiBAc2VlIGFyaWEtY29saW5kZXggQHNlZSBhcmlhLXJvd3NwYW4uXG5cdCAqL1xuXHRcImFyaWEtY29sc3BhblwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSWRlbnRpZmllcyB0aGUgZWxlbWVudCAob3IgZWxlbWVudHMpIHdob3NlIGNvbnRlbnRzIG9yIHByZXNlbmNlIGFyZSBjb250cm9sbGVkIGJ5IHRoZSBjdXJyZW50IGVsZW1lbnQuXG5cdCAqIEBzZWUgYXJpYS1vd25zLlxuXHQgKi9cblx0XCJhcmlhLWNvbnRyb2xzXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgdGhlIGVsZW1lbnQgdGhhdCByZXByZXNlbnRzIHRoZSBjdXJyZW50IGl0ZW0gd2l0aGluIGEgY29udGFpbmVyIG9yIHNldCBvZiByZWxhdGVkIGVsZW1lbnRzLiAqL1xuXHRcImFyaWEtY3VycmVudFwiPzogYm9vbGVhbiB8IFwiZmFsc2VcIiB8IFwidHJ1ZVwiIHwgXCJwYWdlXCIgfCBcInN0ZXBcIiB8IFwibG9jYXRpb25cIiB8IFwiZGF0ZVwiIHwgXCJ0aW1lXCIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJZGVudGlmaWVzIHRoZSBlbGVtZW50IChvciBlbGVtZW50cykgdGhhdCBkZXNjcmliZXMgdGhlIG9iamVjdC5cblx0ICogQHNlZSBhcmlhLWxhYmVsbGVkYnlcblx0ICovXG5cdFwiYXJpYS1kZXNjcmliZWRieVwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyBhIHN0cmluZyB2YWx1ZSB0aGF0IGRlc2NyaWJlcyBvciBhbm5vdGF0ZXMgdGhlIGN1cnJlbnQgZWxlbWVudC5cblx0ICogQHNlZSByZWxhdGVkIGFyaWEtZGVzY3JpYmVkYnkuXG5cdCAqL1xuXHRcImFyaWEtZGVzY3JpcHRpb25cIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIElkZW50aWZpZXMgdGhlIGVsZW1lbnQgdGhhdCBwcm92aWRlcyBhIGRldGFpbGVkLCBleHRlbmRlZCBkZXNjcmlwdGlvbiBmb3IgdGhlIG9iamVjdC5cblx0ICogQHNlZSBhcmlhLWRlc2NyaWJlZGJ5LlxuXHQgKi9cblx0XCJhcmlhLWRldGFpbHNcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB0aGF0IHRoZSBlbGVtZW50IGlzIHBlcmNlaXZhYmxlIGJ1dCBkaXNhYmxlZCwgc28gaXQgaXMgbm90IGVkaXRhYmxlIG9yIG90aGVyd2lzZSBvcGVyYWJsZS5cblx0ICogQHNlZSBhcmlhLWhpZGRlbiBAc2VlIGFyaWEtcmVhZG9ubHkuXG5cdCAqL1xuXHRcImFyaWEtZGlzYWJsZWRcIj86IEJvb2xlYW5pc2ggfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgd2hhdCBmdW5jdGlvbnMgY2FuIGJlIHBlcmZvcm1lZCB3aGVuIGEgZHJhZ2dlZCBvYmplY3QgaXMgcmVsZWFzZWQgb24gdGhlIGRyb3AgdGFyZ2V0LlxuXHQgKiBAZGVwcmVjYXRlZCBpbiBBUklBIDEuMVxuXHQgKi9cblx0XCJhcmlhLWRyb3BlZmZlY3RcIj86IFwibm9uZVwiIHwgXCJjb3B5XCIgfCBcImV4ZWN1dGVcIiB8IFwibGlua1wiIHwgXCJtb3ZlXCIgfCBcInBvcHVwXCIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJZGVudGlmaWVzIHRoZSBlbGVtZW50IHRoYXQgcHJvdmlkZXMgYW4gZXJyb3IgbWVzc2FnZSBmb3IgdGhlIG9iamVjdC5cblx0ICogQHNlZSBhcmlhLWludmFsaWQgQHNlZSBhcmlhLWRlc2NyaWJlZGJ5LlxuXHQgKi9cblx0XCJhcmlhLWVycm9ybWVzc2FnZVwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGVsZW1lbnQsIG9yIGFub3RoZXIgZ3JvdXBpbmcgZWxlbWVudCBpdCBjb250cm9scywgaXMgY3VycmVudGx5IGV4cGFuZGVkIG9yIGNvbGxhcHNlZC4gKi9cblx0XCJhcmlhLWV4cGFuZGVkXCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSWRlbnRpZmllcyB0aGUgbmV4dCBlbGVtZW50IChvciBlbGVtZW50cykgaW4gYW4gYWx0ZXJuYXRlIHJlYWRpbmcgb3JkZXIgb2YgY29udGVudCB3aGljaCwgYXQgdGhlIHVzZXIncyBkaXNjcmV0aW9uLFxuXHQgKiBhbGxvd3MgYXNzaXN0aXZlIHRlY2hub2xvZ3kgdG8gb3ZlcnJpZGUgdGhlIGdlbmVyYWwgZGVmYXVsdCBvZiByZWFkaW5nIGluIGRvY3VtZW50IHNvdXJjZSBvcmRlci5cblx0ICovXG5cdFwiYXJpYS1mbG93dG9cIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyBhbiBlbGVtZW50J3MgXCJncmFiYmVkXCIgc3RhdGUgaW4gYSBkcmFnLWFuZC1kcm9wIG9wZXJhdGlvbi5cblx0ICogQGRlcHJlY2F0ZWQgaW4gQVJJQSAxLjFcblx0ICovXG5cdFwiYXJpYS1ncmFiYmVkXCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHRoZSBhdmFpbGFiaWxpdHkgYW5kIHR5cGUgb2YgaW50ZXJhY3RpdmUgcG9wdXAgZWxlbWVudCwgc3VjaCBhcyBtZW51IG9yIGRpYWxvZywgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGFuIGVsZW1lbnQuICovXG5cdFwiYXJpYS1oYXNwb3B1cFwiPzogYm9vbGVhbiB8IFwiZmFsc2VcIiB8IFwidHJ1ZVwiIHwgXCJtZW51XCIgfCBcImxpc3Rib3hcIiB8IFwidHJlZVwiIHwgXCJncmlkXCIgfCBcImRpYWxvZ1wiIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgZXhwb3NlZCB0byBhbiBhY2Nlc3NpYmlsaXR5IEFQSS5cblx0ICogQHNlZSBhcmlhLWRpc2FibGVkLlxuXHQgKi9cblx0XCJhcmlhLWhpZGRlblwiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB0aGUgZW50ZXJlZCB2YWx1ZSBkb2VzIG5vdCBjb25mb3JtIHRvIHRoZSBmb3JtYXQgZXhwZWN0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uLlxuXHQgKiBAc2VlIGFyaWEtZXJyb3JtZXNzYWdlLlxuXHQgKi9cblx0XCJhcmlhLWludmFsaWRcIj86IGJvb2xlYW4gfCBcImZhbHNlXCIgfCBcInRydWVcIiB8IFwiZ3JhbW1hclwiIHwgXCJzcGVsbGluZ1wiIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIGtleWJvYXJkIHNob3J0Y3V0cyB0aGF0IGFuIGF1dGhvciBoYXMgaW1wbGVtZW50ZWQgdG8gYWN0aXZhdGUgb3IgZ2l2ZSBmb2N1cyB0byBhbiBlbGVtZW50LiAqL1xuXHRcImFyaWEta2V5c2hvcnRjdXRzXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGEgc3RyaW5nIHZhbHVlIHRoYXQgbGFiZWxzIHRoZSBjdXJyZW50IGVsZW1lbnQuXG5cdCAqIEBzZWUgYXJpYS1sYWJlbGxlZGJ5LlxuXHQgKi9cblx0XCJhcmlhLWxhYmVsXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJZGVudGlmaWVzIHRoZSBlbGVtZW50IChvciBlbGVtZW50cykgdGhhdCBsYWJlbHMgdGhlIGN1cnJlbnQgZWxlbWVudC5cblx0ICogQHNlZSBhcmlhLWRlc2NyaWJlZGJ5LlxuXHQgKi9cblx0XCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqIERlZmluZXMgdGhlIGhpZXJhcmNoaWNhbCBsZXZlbCBvZiBhbiBlbGVtZW50IHdpdGhpbiBhIHN0cnVjdHVyZS4gKi9cblx0XCJhcmlhLWxldmVsXCI/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgdGhhdCBhbiBlbGVtZW50IHdpbGwgYmUgdXBkYXRlZCwgYW5kIGRlc2NyaWJlcyB0aGUgdHlwZXMgb2YgdXBkYXRlcyB0aGUgdXNlciBhZ2VudHMsIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXMsIGFuZCB1c2VyIGNhbiBleHBlY3QgZnJvbSB0aGUgbGl2ZSByZWdpb24uICovXG5cdFwiYXJpYS1saXZlXCI/OiBcIm9mZlwiIHwgXCJhc3NlcnRpdmVcIiB8IFwicG9saXRlXCIgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgd2hldGhlciBhbiBlbGVtZW50IGlzIG1vZGFsIHdoZW4gZGlzcGxheWVkLiAqL1xuXHRcImFyaWEtbW9kYWxcIj86IEJvb2xlYW5pc2ggfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgd2hldGhlciBhIHRleHQgYm94IGFjY2VwdHMgbXVsdGlwbGUgbGluZXMgb2YgaW5wdXQgb3Igb25seSBhIHNpbmdsZSBsaW5lLiAqL1xuXHRcImFyaWEtbXVsdGlsaW5lXCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHRoYXQgdGhlIHVzZXIgbWF5IHNlbGVjdCBtb3JlIHRoYW4gb25lIGl0ZW0gZnJvbSB0aGUgY3VycmVudCBzZWxlY3RhYmxlIGRlc2NlbmRhbnRzLiAqL1xuXHRcImFyaWEtbXVsdGlzZWxlY3RhYmxlXCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGVsZW1lbnQncyBvcmllbnRhdGlvbiBpcyBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgb3IgdW5rbm93bi9hbWJpZ3VvdXMuICovXG5cdFwiYXJpYS1vcmllbnRhdGlvblwiPzogXCJob3Jpem9udGFsXCIgfCBcInZlcnRpY2FsXCIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJZGVudGlmaWVzIGFuIGVsZW1lbnQgKG9yIGVsZW1lbnRzKSBpbiBvcmRlciB0byBkZWZpbmUgYSB2aXN1YWwsIGZ1bmN0aW9uYWwsIG9yIGNvbnRleHR1YWwgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hpcFxuXHQgKiBiZXR3ZWVuIERPTSBlbGVtZW50cyB3aGVyZSB0aGUgRE9NIGhpZXJhcmNoeSBjYW5ub3QgYmUgdXNlZCB0byByZXByZXNlbnQgdGhlIHJlbGF0aW9uc2hpcC5cblx0ICogQHNlZSBhcmlhLWNvbnRyb2xzLlxuXHQgKi9cblx0XCJhcmlhLW93bnNcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgYSBzaG9ydCBoaW50IChhIHdvcmQgb3Igc2hvcnQgcGhyYXNlKSBpbnRlbmRlZCB0byBhaWQgdGhlIHVzZXIgd2l0aCBkYXRhIGVudHJ5IHdoZW4gdGhlIGNvbnRyb2wgaGFzIG5vIHZhbHVlLlxuXHQgKiBBIGhpbnQgY291bGQgYmUgYSBzYW1wbGUgdmFsdWUgb3IgYSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0XCJhcmlhLXBsYWNlaG9sZGVyXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGFuIGVsZW1lbnQncyBudW1iZXIgb3IgcG9zaXRpb24gaW4gdGhlIGN1cnJlbnQgc2V0IG9mIGxpc3RpdGVtcyBvciB0cmVlaXRlbXMuIE5vdCByZXF1aXJlZCBpZiBhbGwgZWxlbWVudHMgaW4gdGhlIHNldCBhcmUgcHJlc2VudCBpbiB0aGUgRE9NLlxuXHQgKiBAc2VlIGFyaWEtc2V0c2l6ZS5cblx0ICovXG5cdFwiYXJpYS1wb3NpbnNldFwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHRoZSBjdXJyZW50IFwicHJlc3NlZFwiIHN0YXRlIG9mIHRvZ2dsZSBidXR0b25zLlxuXHQgKiBAc2VlIGFyaWEtY2hlY2tlZCBAc2VlIGFyaWEtc2VsZWN0ZWQuXG5cdCAqL1xuXHRcImFyaWEtcHJlc3NlZFwiPzogYm9vbGVhbiB8IFwiZmFsc2VcIiB8IFwibWl4ZWRcIiB8IFwidHJ1ZVwiIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHRoYXQgdGhlIGVsZW1lbnQgaXMgbm90IGVkaXRhYmxlLCBidXQgaXMgb3RoZXJ3aXNlIG9wZXJhYmxlLlxuXHQgKiBAc2VlIGFyaWEtZGlzYWJsZWQuXG5cdCAqL1xuXHRcImFyaWEtcmVhZG9ubHlcIj86IEJvb2xlYW5pc2ggfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgd2hhdCBub3RpZmljYXRpb25zIHRoZSB1c2VyIGFnZW50IHdpbGwgdHJpZ2dlciB3aGVuIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUgd2l0aGluIGEgbGl2ZSByZWdpb24gaXMgbW9kaWZpZWQuXG5cdCAqIEBzZWUgYXJpYS1hdG9taWMuXG5cdCAqL1xuXHRcImFyaWEtcmVsZXZhbnRcIj86IFwiYWRkaXRpb25zXCIgfCBcImFkZGl0aW9ucyByZW1vdmFsc1wiIHwgXCJhZGRpdGlvbnMgdGV4dFwiIHwgXCJhbGxcIiB8IFwicmVtb3ZhbHNcIiB8IFwicmVtb3ZhbHMgYWRkaXRpb25zXCIgfCBcInJlbW92YWxzIHRleHRcIiB8IFwidGV4dFwiIHwgXCJ0ZXh0IGFkZGl0aW9uc1wiIHwgXCJ0ZXh0IHJlbW92YWxzXCIgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgdGhhdCB1c2VyIGlucHV0IGlzIHJlcXVpcmVkIG9uIHRoZSBlbGVtZW50IGJlZm9yZSBhIGZvcm0gbWF5IGJlIHN1Ym1pdHRlZC4gKi9cblx0XCJhcmlhLXJlcXVpcmVkXCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKiogRGVmaW5lcyBhIGh1bWFuLXJlYWRhYmxlLCBhdXRob3ItbG9jYWxpemVkIGRlc2NyaXB0aW9uIGZvciB0aGUgcm9sZSBvZiBhbiBlbGVtZW50LiAqL1xuXHRcImFyaWEtcm9sZWRlc2NyaXB0aW9uXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cyBpbiBhIHRhYmxlLCBncmlkLCBvciB0cmVlZ3JpZC5cblx0ICogQHNlZSBhcmlhLXJvd2luZGV4LlxuXHQgKi9cblx0XCJhcmlhLXJvd2NvdW50XCI/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGFuIGVsZW1lbnQncyByb3cgaW5kZXggb3IgcG9zaXRpb24gd2l0aCByZXNwZWN0IHRvIHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cyB3aXRoaW4gYSB0YWJsZSwgZ3JpZCwgb3IgdHJlZWdyaWQuXG5cdCAqIEBzZWUgYXJpYS1yb3djb3VudCBAc2VlIGFyaWEtcm93c3Bhbi5cblx0ICovXG5cdFwiYXJpYS1yb3dpbmRleFwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyBhIGh1bWFuIHJlYWRhYmxlIHRleHQgYWx0ZXJuYXRpdmUgb2YgYXJpYS1yb3dpbmRleC5cblx0ICogQHNlZSBhcmlhLWNvbGluZGV4dGV4dC5cblx0ICovXG5cdFwiYXJpYS1yb3dpbmRleHRleHRcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIG51bWJlciBvZiByb3dzIHNwYW5uZWQgYnkgYSBjZWxsIG9yIGdyaWRjZWxsIHdpdGhpbiBhIHRhYmxlLCBncmlkLCBvciB0cmVlZ3JpZC5cblx0ICogQHNlZSBhcmlhLXJvd2luZGV4IEBzZWUgYXJpYS1jb2xzcGFuLlxuXHQgKi9cblx0XCJhcmlhLXJvd3NwYW5cIj86IG51bWJlciB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB0aGUgY3VycmVudCBcInNlbGVjdGVkXCIgc3RhdGUgb2YgdmFyaW91cyB3aWRnZXRzLlxuXHQgKiBAc2VlIGFyaWEtY2hlY2tlZCBAc2VlIGFyaWEtcHJlc3NlZC5cblx0ICovXG5cdFwiYXJpYS1zZWxlY3RlZFwiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgY3VycmVudCBzZXQgb2YgbGlzdGl0ZW1zIG9yIHRyZWVpdGVtcy4gTm90IHJlcXVpcmVkIGlmIGFsbCBlbGVtZW50cyBpbiB0aGUgc2V0IGFyZSBwcmVzZW50IGluIHRoZSBET00uXG5cdCAqIEBzZWUgYXJpYS1wb3NpbnNldC5cblx0ICovXG5cdFwiYXJpYS1zZXRzaXplXCI/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgaWYgaXRlbXMgaW4gYSB0YWJsZSBvciBncmlkIGFyZSBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcgb3JkZXIuICovXG5cdFwiYXJpYS1zb3J0XCI/OiBcIm5vbmVcIiB8IFwiYXNjZW5kaW5nXCIgfCBcImRlc2NlbmRpbmdcIiB8IFwib3RoZXJcIiB8IHVuZGVmaW5lZDtcblx0LyoqIERlZmluZXMgdGhlIG1heGltdW0gYWxsb3dlZCB2YWx1ZSBmb3IgYSByYW5nZSB3aWRnZXQuICovXG5cdFwiYXJpYS12YWx1ZW1heFwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKiogRGVmaW5lcyB0aGUgbWluaW11bSBhbGxvd2VkIHZhbHVlIGZvciBhIHJhbmdlIHdpZGdldC4gKi9cblx0XCJhcmlhLXZhbHVlbWluXCI/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBjdXJyZW50IHZhbHVlIGZvciBhIHJhbmdlIHdpZGdldC5cblx0ICogQHNlZSBhcmlhLXZhbHVldGV4dC5cblx0ICovXG5cdFwiYXJpYS12YWx1ZW5vd1wiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKiogRGVmaW5lcyB0aGUgaHVtYW4gcmVhZGFibGUgdGV4dCBhbHRlcm5hdGl2ZSBvZiBhcmlhLXZhbHVlbm93IGZvciBhIHJhbmdlIHdpZGdldC4gKi9cblx0XCJhcmlhLXZhbHVldGV4dFwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKiogQWxsIHRoZSBXQUktQVJJQSAxLjEgcm9sZSBhdHRyaWJ1dGUgdmFsdWVzIGZyb20gaHR0cHM6Ly93My5vcmcvVFIvd2FpLWFyaWEtMS4xLyNyb2xlX2RlZmluaXRpb25zICovXG5cdHJvbGU/OiBBcmlhUm9sZTtcbn07XG5leHBvcnQgdHlwZSBBcmlhUm9sZSA9IFwiYWxlcnRcIiB8IFwiYWxlcnRkaWFsb2dcIiB8IFwiYXBwbGljYXRpb25cIiB8IFwiYXJ0aWNsZVwiIHwgXCJiYW5uZXJcIiB8IFwiYnV0dG9uXCIgfCBcImNlbGxcIiB8IFwiY2hlY2tib3hcIiB8IFwiY29sdW1uaGVhZGVyXCIgfCBcImNvbWJvYm94XCIgfCBcImNvbXBsZW1lbnRhcnlcIiB8IFwiY29udGVudGluZm9cIiB8IFwiZGVmaW5pdGlvblwiIHwgXCJkaWFsb2dcIiB8IFwiZGlyZWN0b3J5XCIgfCBcImRvY3VtZW50XCIgfCBcImZlZWRcIiB8IFwiZmlndXJlXCIgfCBcImZvcm1cIiB8IFwiZ3JpZFwiIHwgXCJncmlkY2VsbFwiIHwgXCJncm91cFwiIHwgXCJoZWFkaW5nXCIgfCBcImltZ1wiIHwgXCJsaW5rXCIgfCBcImxpc3RcIiB8IFwibGlzdGJveFwiIHwgXCJsaXN0aXRlbVwiIHwgXCJsb2dcIiB8IFwibWFpblwiIHwgXCJtYXJxdWVlXCIgfCBcIm1hdGhcIiB8IFwibWVudVwiIHwgXCJtZW51YmFyXCIgfCBcIm1lbnVpdGVtXCIgfCBcIm1lbnVpdGVtY2hlY2tib3hcIiB8IFwibWVudWl0ZW1yYWRpb1wiIHwgXCJuYXZpZ2F0aW9uXCIgfCBcIm5vbmVcIiB8IFwibm90ZVwiIHwgXCJvcHRpb25cIiB8IFwicHJlc2VudGF0aW9uXCIgfCBcInByb2dyZXNzYmFyXCIgfCBcInJhZGlvXCIgfCBcInJhZGlvZ3JvdXBcIiB8IFwicmVnaW9uXCIgfCBcInJvd1wiIHwgXCJyb3dncm91cFwiIHwgXCJyb3doZWFkZXJcIiB8IFwic2Nyb2xsYmFyXCIgfCBcInNlYXJjaFwiIHwgXCJzZWFyY2hib3hcIiB8IFwic2VwYXJhdG9yXCIgfCBcInNsaWRlclwiIHwgXCJzcGluYnV0dG9uXCIgfCBcInN0YXR1c1wiIHwgXCJzd2l0Y2hcIiB8IFwidGFiXCIgfCBcInRhYmxlXCIgfCBcInRhYmxpc3RcIiB8IFwidGFicGFuZWxcIiB8IFwidGVybVwiIHwgXCJ0ZXh0Ym94XCIgfCBcInRpbWVyXCIgfCBcInRvb2xiYXJcIiB8IFwidG9vbHRpcFwiIHwgXCJ0cmVlXCIgfCBcInRyZWVncmlkXCIgfCBcInRyZWVpdGVtXCI7XG5kZWNsYXJlIGNvbnN0IElDT05fTkFNRVM6IHJlYWRvbmx5IFtcblx0XCIzNjBcIixcblx0XCJhY2Nlc3NpYmlsaXR5XCIsXG5cdFwiYWN0aXZlLWNhYmluLXZlbnRpbGF0aW9uXCIsXG5cdFwiYWRkXCIsXG5cdFwiYWRqdXN0XCIsXG5cdFwiYXJyb3ctZG91YmxlLWRvd25cIixcblx0XCJhcnJvdy1kb3VibGUtbGVmdFwiLFxuXHRcImFycm93LWRvdWJsZS1yaWdodFwiLFxuXHRcImFycm93LWRvdWJsZS11cFwiLFxuXHRcImFycm93LWRvd25cIixcblx0XCJhcnJvdy1maXJzdFwiLFxuXHRcImFycm93LWhlYWQtZG93blwiLFxuXHRcImFycm93LWhlYWQtbGVmdFwiLFxuXHRcImFycm93LWhlYWQtcmlnaHRcIixcblx0XCJhcnJvdy1oZWFkLXVwXCIsXG5cdFwiYXJyb3ctbGFzdFwiLFxuXHRcImFycm93LWxlZnRcIixcblx0XCJhcnJvdy1yaWdodFwiLFxuXHRcImFycm93LXVwXCIsXG5cdFwiYXVnbWVudGVkLXJlYWxpdHlcIixcblx0XCJiYXR0ZXJ5LWVtcHR5XCIsXG5cdFwiYmF0dGVyeS1lbXB0eS1jbzJcIixcblx0XCJiYXR0ZXJ5LWVtcHR5LWZ1ZWxcIixcblx0XCJiYXR0ZXJ5LWZ1bGxcIixcblx0XCJiZWxsXCIsXG5cdFwiYm9va21hcmtcIixcblx0XCJib29rbWFyay1maWxsZWRcIixcblx0XCJicm9hZGNhc3RcIixcblx0XCJjYWxjdWxhdG9yXCIsXG5cdFwiY2FsZW5kYXJcIixcblx0XCJjYW1lcmFcIixcblx0XCJjYXJcIixcblx0XCJjYXItYmF0dGVyeVwiLFxuXHRcImNhcmRcIixcblx0XCJjaGFyZ2luZy1hY3RpdmVcIixcblx0XCJjaGFyZ2luZy1zdGF0ZVwiLFxuXHRcImNoYXJnaW5nLXN0YXRpb25cIixcblx0XCJjaGFydFwiLFxuXHRcImNoYXRcIixcblx0XCJjaGVja1wiLFxuXHRcImNpdHlcIixcblx0XCJjbGltYXRlXCIsXG5cdFwiY2xpbWF0ZS1jb250cm9sXCIsXG5cdFwiY2xvY2tcIixcblx0XCJjbG9zZVwiLFxuXHRcImNsb3NlZC1jYXB0aW9uXCIsXG5cdFwiY28yLWNsYXNzXCIsXG5cdFwiY28yLWVtaXNzaW9uXCIsXG5cdFwiY29tcGFyZVwiLFxuXHRcImNvbmZpZ3VyYXRlXCIsXG5cdFwiY29weVwiLFxuXHRcImNvdW50cnktcm9hZFwiLFxuXHRcImN1YmljLWNhcGFjaXR5XCIsXG5cdFwiZGVsZXRlXCIsXG5cdFwiZGlzYWJsZVwiLFxuXHRcImRvY3VtZW50XCIsXG5cdFwiZG93bmxvYWRcIixcblx0XCJkdXJhdGlvblwiLFxuXHRcImVkaXRcIixcblx0XCJlbWFpbFwiLFxuXHRcImVycm9yLWZpbGxlZFwiLFxuXHRcImV4Y2xhbWF0aW9uXCIsXG5cdFwiZXh0ZXJuYWxcIixcblx0XCJmaWx0ZXJcIixcblx0XCJmaW5nZXJwcmludFwiLFxuXHRcImZsYXNoXCIsXG5cdFwiZnVlbC1zdGF0aW9uXCIsXG5cdFwiZ2FyYWdlXCIsXG5cdFwiZ2lmdFwiLFxuXHRcImdsb2JlXCIsXG5cdFwiZ3JpZFwiLFxuXHRcImhlYXJ0XCIsXG5cdFwiaGVhcnQtZmlsbGVkXCIsXG5cdFwiaGlnaHdheVwiLFxuXHRcImhvbWVcIixcblx0XCJob3JuXCIsXG5cdFwiaW1hZ2VcIixcblx0XCJpbmNyZWFzZVwiLFxuXHRcImluZm9ybWF0aW9uXCIsXG5cdFwiaW5mb3JtYXRpb24tZmlsbGVkXCIsXG5cdFwia2V5XCIsXG5cdFwibGVhZlwiLFxuXHRcImxlYXRoZXJcIixcblx0XCJsaWdodFwiLFxuXHRcImxpc3RcIixcblx0XCJsb2NhdGVcIixcblx0XCJsb2NrXCIsXG5cdFwibG9jay1vcGVuXCIsXG5cdFwibG9nby1hcHBsZS1wb2RjYXN0XCIsXG5cdFwibG9nby1iYWlkdVwiLFxuXHRcImxvZ28tZGVsaWNpb3VzXCIsXG5cdFwibG9nby1kaWdnXCIsXG5cdFwibG9nby1mYWNlYm9va1wiLFxuXHRcImxvZ28tZm91cnNxdWFyZVwiLFxuXHRcImxvZ28tZ21haWxcIixcblx0XCJsb2dvLWdvb2dsZVwiLFxuXHRcImxvZ28taGF0ZW5hXCIsXG5cdFwibG9nby1pbnN0YWdyYW1cIixcblx0XCJsb2dvLWthaXhpblwiLFxuXHRcImxvZ28ta2FrYW90YWxrXCIsXG5cdFwibG9nby1saW5rZWRpblwiLFxuXHRcImxvZ28tbmF2ZXJcIixcblx0XCJsb2dvLXBpbnRlcmVzdFwiLFxuXHRcImxvZ28tcXFcIixcblx0XCJsb2dvLXFxLXNoYXJlXCIsXG5cdFwibG9nby1yZWRkaXRcIixcblx0XCJsb2dvLXNreXJvY2tcIixcblx0XCJsb2dvLXNvaHVcIixcblx0XCJsb2dvLXNwb3RpZnlcIixcblx0XCJsb2dvLXRlY2VudFwiLFxuXHRcImxvZ28tdGVsZWdyYW1cIixcblx0XCJsb2dvLXRpa3Rva1wiLFxuXHRcImxvZ28tdHVtYmxyXCIsXG5cdFwibG9nby10d2l0dGVyXCIsXG5cdFwibG9nby12aWJlclwiLFxuXHRcImxvZ28tdmtcIixcblx0XCJsb2dvLXdlY2hhdFwiLFxuXHRcImxvZ28td2VpYm9cIixcblx0XCJsb2dvLXdoYXRzYXBwXCIsXG5cdFwibG9nby14XCIsXG5cdFwibG9nby14aW5nXCIsXG5cdFwibG9nby15YWhvb1wiLFxuXHRcImxvZ28teW91a3VcIixcblx0XCJsb2dvLXlvdXR1YmVcIixcblx0XCJsb2dvdXRcIixcblx0XCJtYXBcIixcblx0XCJtZW51LWRvdHMtaG9yaXpvbnRhbFwiLFxuXHRcIm1lbnUtZG90cy12ZXJ0aWNhbFwiLFxuXHRcIm1lbnUtbGluZXNcIixcblx0XCJtaW51c1wiLFxuXHRcIm1vYmlsZVwiLFxuXHRcIm1vb25cIixcblx0XCJvaWwtY2FuXCIsXG5cdFwicGFya2luZy1icmFrZVwiLFxuXHRcInBhcmtpbmctbGlnaHRcIixcblx0XCJwYXVzZVwiLFxuXHRcInBob25lXCIsXG5cdFwicGluXCIsXG5cdFwicGluLWZpbGxlZFwiLFxuXHRcInBsYXlcIixcblx0XCJwbHVnXCIsXG5cdFwicGx1c1wiLFxuXHRcInByZWhlYXRpbmdcIixcblx0XCJwcmludGVyXCIsXG5cdFwicHVyY2hhc2VcIixcblx0XCJwdXNoLXBpblwiLFxuXHRcInB1c2gtcGluLW9mZlwiLFxuXHRcInFyXCIsXG5cdFwicXVlc3Rpb25cIixcblx0XCJyYWNpbmctZmxhZ1wiLFxuXHRcInJlZnJlc2hcIixcblx0XCJyZXBsYXlcIixcblx0XCJyZXNldFwiLFxuXHRcInJvb2YtY2xvc2VkXCIsXG5cdFwicm9vZi1vcGVuXCIsXG5cdFwicm91dGVcIixcblx0XCJyc3NcIixcblx0XCJzYXZlXCIsXG5cdFwic2NyZWVuXCIsXG5cdFwic2VhcmNoXCIsXG5cdFwic2VuZFwiLFxuXHRcInNoYXJlXCIsXG5cdFwic2hvcHBpbmctYmFnXCIsXG5cdFwic2hvcHBpbmctYmFnLWZpbGxlZFwiLFxuXHRcInNob3BwaW5nLWNhcnRcIixcblx0XCJzaG9wcGluZy1jYXJ0LWZpbGxlZFwiLFxuXHRcInNpZGVsaWdodHNcIixcblx0XCJzbm93Zmxha2VcIixcblx0XCJzb3J0XCIsXG5cdFwic3RhY2tcIixcblx0XCJzdGFyXCIsXG5cdFwic3Rhci1maWxsZWRcIixcblx0XCJzdGVlcmluZy13aGVlbFwiLFxuXHRcInN0b3B3YXRjaFwiLFxuXHRcInN1YnRyYWN0XCIsXG5cdFwic3VjY2Vzc1wiLFxuXHRcInN1Y2Nlc3MtZmlsbGVkXCIsXG5cdFwic3VuXCIsXG5cdFwic3dpdGNoXCIsXG5cdFwidGFibGV0XCIsXG5cdFwidGFjaG9tZXRlclwiLFxuXHRcInRpcmVcIixcblx0XCJ0cnVja1wiLFxuXHRcInVwbG9hZFwiLFxuXHRcInVzZXJcIixcblx0XCJ1c2VyLWZpbGxlZFwiLFxuXHRcInVzZXItZ3JvdXBcIixcblx0XCJ1c2VyLW1hbnVhbFwiLFxuXHRcInZpZGVvXCIsXG5cdFwidmlld1wiLFxuXHRcInZpZXctb2ZmXCIsXG5cdFwidm9sdW1lLW9mZlwiLFxuXHRcInZvbHVtZS11cFwiLFxuXHRcIndhcm5pbmdcIixcblx0XCJ3YXJuaW5nLWZpbGxlZFwiLFxuXHRcIndlaWdodFwiLFxuXHRcIndpZmlcIixcblx0XCJ3b3JrXCIsXG5cdFwid3JlbmNoXCIsXG5cdFwid3JlbmNoZXNcIixcblx0XCJ6b29tLWluXCIsXG5cdFwiem9vbS1vdXRcIlxuXTtcbmV4cG9ydCB0eXBlIEljb25OYW1lID0gdHlwZW9mIElDT05fTkFNRVNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRk9STV9TVEFURVM6IHJlYWRvbmx5IFtcblx0XCJub25lXCIsXG5cdFwiZXJyb3JcIixcblx0XCJzdWNjZXNzXCJcbl07XG5leHBvcnQgdHlwZSBGb3JtU3RhdGUgPSB0eXBlb2YgRk9STV9TVEFURVNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgQlVUVE9OX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIixcblx0XCJhcmlhLWV4cGFuZGVkXCIsXG5cdFwiYXJpYS1wcmVzc2VkXCIsXG5cdFwiYXJpYS1oYXNwb3B1cFwiXG5dO1xuZXhwb3J0IHR5cGUgQnV0dG9uQXJpYUF0dHJpYnV0ZSA9IHR5cGVvZiBCVVRUT05fQVJJQV9BVFRSSUJVVEVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IExJTktfQVJJQV9BVFRSSUJVVEVTOiByZWFkb25seSBbXG5cdFwiYXJpYS1sYWJlbFwiLFxuXHRcImFyaWEtY3VycmVudFwiXG5dO1xuZXhwb3J0IHR5cGUgTGlua0FyaWFBdHRyaWJ1dGUgPSAodHlwZW9mIExJTktfQVJJQV9BVFRSSUJVVEVTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBicmVha3BvaW50czogcmVhZG9ubHkgW1xuXHRcImJhc2VcIixcblx0XCJ4c1wiLFxuXHRcInNcIixcblx0XCJtXCIsXG5cdFwibFwiLFxuXHRcInhsXCIsXG5cdFwieHhsXCJcbl07XG5leHBvcnQgdHlwZSBCcmVha3BvaW50ID0gKHR5cGVvZiBicmVha3BvaW50cylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIEJyZWFrcG9pbnRWYWx1ZXM8VD4gPSB7XG5cdFtrZXkgaW4gQnJlYWtwb2ludF0/OiBUO1xufSAmIHtcblx0YmFzZTogVDtcbn07XG5leHBvcnQgdHlwZSBCcmVha3BvaW50Q3VzdG9taXphYmxlPFQ+ID0gVCB8IEJyZWFrcG9pbnRWYWx1ZXM8VD4gfCBzdHJpbmc7XG5kZWNsYXJlIGNvbnN0IExJTktfVEFSR0VUUzogcmVhZG9ubHkgW1xuXHRcIl9zZWxmXCIsXG5cdFwiX2JsYW5rXCIsXG5cdFwiX3BhcmVudFwiLFxuXHRcIl90b3BcIlxuXTtcbmV4cG9ydCB0eXBlIExpbmtUYXJnZXQgPSAodHlwZW9mIExJTktfVEFSR0VUUylbbnVtYmVyXSB8IHN0cmluZztcbmRlY2xhcmUgY29uc3QgVEhFTUVTOiByZWFkb25seSBbXG5cdFwibGlnaHRcIixcblx0XCJkYXJrXCIsXG5cdFwiYXV0b1wiXG5dO1xuZXhwb3J0IHR5cGUgVGhlbWUgPSAodHlwZW9mIFRIRU1FUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVElMRV9BU1BFQ1RfUkFUSU9TOiByZWFkb25seSBbXG5cdFwiMToxXCIsXG5cdFwiNDozXCIsXG5cdFwiMzo0XCIsXG5cdFwiMTY6OVwiLFxuXHRcIjk6MTZcIlxuXTtcbmV4cG9ydCB0eXBlIFRpbGVBc3BlY3RSYXRpbyA9ICh0eXBlb2YgVElMRV9BU1BFQ1RfUkFUSU9TKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBUSUxFX1NJWkVTOiByZWFkb25seSBbXG5cdFwiZGVmYXVsdFwiLFxuXHRcImluaGVyaXRcIlxuXTtcbmV4cG9ydCB0eXBlIFRpbGVTaXplID0gKHR5cGVvZiBUSUxFX1NJWkVTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBUSUxFX1dFSUdIVFM6IHJlYWRvbmx5IFtcblx0XCJyZWd1bGFyXCIsXG5cdFwic2VtaS1ib2xkXCJcbl07XG5leHBvcnQgdHlwZSBUaWxlV2VpZ2h0ID0gKHR5cGVvZiBUSUxFX1dFSUdIVFMpW251bWJlcl07XG5leHBvcnQgdHlwZSBUaWxlQmFja2dyb3VuZCA9ICh0eXBlb2YgVEhFTUVTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBUSUxFX0FMSUdOUzogcmVhZG9ubHkgW1xuXHRcInRvcFwiLFxuXHRcImJvdHRvbVwiXG5dO1xuZXhwb3J0IHR5cGUgVGlsZUFsaWduID0gKHR5cGVvZiBUSUxFX0FMSUdOUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgU0NST0xMRVJfQVJJQV9BVFRSSUJVVEVTOiByZWFkb25seSBbXG5cdFwicm9sZVwiXG5dO1xuZXhwb3J0IHR5cGUgU2Nyb2xsZXJBcmlhQXR0cmlidXRlID0gKHR5cGVvZiBTQ1JPTExFUl9BUklBX0FUVFJJQlVURVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEdSQURJRU5UX0NPTE9SX1NDSEVNRVM6IHJlYWRvbmx5IFtcblx0XCJkZWZhdWx0XCIsXG5cdFwic3VyZmFjZVwiXG5dO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBTY3JvbGxlckdyYWRpZW50Q29sb3JTY2hlbWUgPSAodHlwZW9mIEdSQURJRU5UX0NPTE9SX1NDSEVNRVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEdSQURJRU5UX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcImJhY2tncm91bmQtYmFzZVwiLFxuXHRcImJhY2tncm91bmQtc3VyZmFjZVwiXG5dO1xuZXhwb3J0IHR5cGUgU2Nyb2xsZXJHcmFkaWVudENvbG9yID0gKHR5cGVvZiBHUkFESUVOVF9DT0xPUlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBTY3JvbGxlclNjcm9sbFRvUG9zaXRpb24gPSB7XG5cdHNjcm9sbFBvc2l0aW9uOiBudW1iZXI7XG5cdGlzU21vb3RoPzogYm9vbGVhbjtcbn0gfCBzdHJpbmc7XG5kZWNsYXJlIGNvbnN0IFNDUk9MTF9JTkRJQ0FUT1JfUE9TSVRJT05TOiByZWFkb25seSBbXG5cdFwidG9wXCIsXG5cdFwiY2VudGVyXCJcbl07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFNjcm9sbGVyU2Nyb2xsSW5kaWNhdG9yUG9zaXRpb24gPSAodHlwZW9mIFNDUk9MTF9JTkRJQ0FUT1JfUE9TSVRJT05TKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgU2Nyb2xsZXJBbGlnblNjcm9sbEluZGljYXRvciA9IFNjcm9sbGVyU2Nyb2xsSW5kaWNhdG9yUG9zaXRpb247XG5kZWNsYXJlIGNvbnN0IFNFTEVDVF9EUk9QRE9XTl9ESVJFQ1RJT05TOiByZWFkb25seSBbXG5cdFwiZG93blwiLFxuXHRcInVwXCIsXG5cdFwiYXV0b1wiXG5dO1xuZXhwb3J0IHR5cGUgU2VsZWN0Q29tcG9uZW50c0Ryb3Bkb3duRGlyZWN0aW9uID0gKHR5cGVvZiBTRUxFQ1RfRFJPUERPV05fRElSRUNUSU9OUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgSEVBRElOR19TSVpFUzogcmVhZG9ubHkgW1xuXHRcInNtYWxsXCIsXG5cdFwibWVkaXVtXCIsXG5cdFwibGFyZ2VcIixcblx0XCJ4LWxhcmdlXCIsXG5cdFwieHgtbGFyZ2VcIixcblx0XCJpbmhlcml0XCJcbl07XG5leHBvcnQgdHlwZSBIZWFkaW5nU2l6ZSA9ICh0eXBlb2YgSEVBRElOR19TSVpFUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVEVYVF9TSVpFUzogcmVhZG9ubHkgW1xuXHRcInh4LXNtYWxsXCIsXG5cdFwieC1zbWFsbFwiLFxuXHRcInNtYWxsXCIsXG5cdFwibWVkaXVtXCIsXG5cdFwibGFyZ2VcIixcblx0XCJ4LWxhcmdlXCIsXG5cdFwiaW5oZXJpdFwiXG5dO1xuZXhwb3J0IHR5cGUgVGV4dFNpemUgPSAodHlwZW9mIFRFWFRfU0laRVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFRZUE9HUkFQSFlfQUxJR05TOiByZWFkb25seSBbXG5cdFwic3RhcnRcIixcblx0XCJjZW50ZXJcIixcblx0XCJlbmRcIixcblx0XCJsZWZ0XCIsXG5cdFwicmlnaHRcIlxuXTtcbmV4cG9ydCB0eXBlIFR5cG9ncmFwaHlBbGlnbiA9ICh0eXBlb2YgVFlQT0dSQVBIWV9BTElHTlMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFRZUE9HUkFQSFlfVEVYVF9DT0xPUlM6IHJlYWRvbmx5IFtcblx0XCJwcmltYXJ5XCIsXG5cdFwiY29udHJhc3QtbG93XCIsXG5cdFwiY29udHJhc3QtbWVkaXVtXCIsXG5cdFwiY29udHJhc3QtaGlnaFwiLFxuXHRcIm5vdGlmaWNhdGlvbi1zdWNjZXNzXCIsXG5cdFwibm90aWZpY2F0aW9uLXdhcm5pbmdcIixcblx0XCJub3RpZmljYXRpb24tZXJyb3JcIixcblx0XCJub3RpZmljYXRpb24taW5mb1wiLFxuXHRcImluaGVyaXRcIixcblx0XCJicmFuZFwiLFxuXHRcImRlZmF1bHRcIixcblx0XCJuZXV0cmFsLWNvbnRyYXN0LWxvd1wiLFxuXHRcIm5ldXRyYWwtY29udHJhc3QtbWVkaXVtXCIsXG5cdFwibmV1dHJhbC1jb250cmFzdC1oaWdoXCIsXG5cdFwibm90aWZpY2F0aW9uLW5ldXRyYWxcIlxuXTtcbmV4cG9ydCB0eXBlIFR5cG9ncmFwaHlUZXh0Q29sb3IgPSAodHlwZW9mIFRZUE9HUkFQSFlfVEVYVF9DT0xPUlMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFRZUE9HUkFQSFlfVEVYVF9XRUlHSFRTOiByZWFkb25seSBbXG5cdFwicmVndWxhclwiLFxuXHRcInNlbWktYm9sZFwiLFxuXHRcImJvbGRcIixcblx0XCJ0aGluXCIsXG5cdFwic2VtaWJvbGRcIlxuXTtcbmV4cG9ydCB0eXBlIFR5cG9ncmFwaHlUZXh0V2VpZ2h0ID0gKHR5cGVvZiBUWVBPR1JBUEhZX1RFWFRfV0VJR0hUUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgQUxJR05fTEFCRUxTOiByZWFkb25seSBbXG5cdFwic3RhcnRcIixcblx0XCJlbmRcIixcblx0XCJsZWZ0XCIsXG5cdFwicmlnaHRcIlxuXTtcbmV4cG9ydCB0eXBlIEFsaWduTGFiZWwgPSAodHlwZW9mIEFMSUdOX0xBQkVMUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgQlVUVE9OX1RZUEVTOiByZWFkb25seSBbXG5cdFwiYnV0dG9uXCIsXG5cdFwic3VibWl0XCIsXG5cdFwicmVzZXRcIlxuXTtcbmV4cG9ydCB0eXBlIEJ1dHRvblR5cGUgPSB0eXBlb2YgQlVUVE9OX1RZUEVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEhFQURJTkdfVEFHUzogcmVhZG9ubHkgW1xuXHRcImgxXCIsXG5cdFwiaDJcIixcblx0XCJoM1wiLFxuXHRcImg0XCIsXG5cdFwiaDVcIixcblx0XCJoNlwiXG5dO1xuZXhwb3J0IHR5cGUgSGVhZGluZ1RhZyA9IHR5cGVvZiBIRUFESU5HX1RBR1NbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgTElOS19CVVRUT05fVkFSSUFOVFM6IHJlYWRvbmx5IFtcblx0XCJwcmltYXJ5XCIsXG5cdFwic2Vjb25kYXJ5XCIsXG5cdFwidGVydGlhcnlcIlxuXTtcbmV4cG9ydCB0eXBlIExpbmtCdXR0b25WYXJpYW50ID0gdHlwZW9mIExJTktfQlVUVE9OX1ZBUklBTlRTW251bWJlcl07XG5leHBvcnQgdHlwZSBMaW5rQnV0dG9uSWNvbk5hbWUgPSBJY29uTmFtZSB8IFwibm9uZVwiO1xuZXhwb3J0IHR5cGUgQnV0dG9uVmFyaWFudCA9IExpbmtCdXR0b25WYXJpYW50O1xuZXhwb3J0IHR5cGUgTGlua1ZhcmlhbnQgPSBMaW5rQnV0dG9uVmFyaWFudDtcbi8vIFRPRE86IFNoYXJlIHR5cGUgYWNyb3NzIHJlcG9cbmV4cG9ydCB0eXBlIFBvcnNjaGVEZXNpZ25TeXN0ZW0gPSB7XG5cdFtrZXk6IGAke251bWJlcn0uJHtudW1iZXJ9LiR7bnVtYmVyfSR7YC1yYy4ke251bWJlcn1gIHwgXCJcIn1gXToge1xuXHRcdHByZWZpeGVzOiBzdHJpbmdbXTtcblx0XHRpc1JlYWR5OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXHRcdHJlYWR5UmVzb2x2ZTogKCkgPT4gdm9pZDtcblx0fTtcblx0Y2RuOiB7XG5cdFx0dXJsOiBzdHJpbmc7XG5cdFx0cHJlZml4ZXM6IHN0cmluZ1tdOyAvLyB0byBub3QgYnJlYWsgb2xkZXIgdmVyc2lvbnNcblx0fTtcbn07XG4vLyBST0xMVVBfUkVQTEFDRV9WQVJJQUJMRVMgYXJlIHJlcGxhY2VkIHZpYSByb2xsdXBcbmV4cG9ydCB0eXBlIFNlbGVjdGVkQXJpYUF0dHJpYnV0ZXM8VCBleHRlbmRzIGtleW9mIEFyaWFBdHRyaWJ1dGVzPiA9IFBpY2s8QXJpYUF0dHJpYnV0ZXMsIFQ+IHwgc3RyaW5nO1xuZGVjbGFyZSBjb25zdCBBQ0NPUkRJT05fU0laRVM6IHJlYWRvbmx5IFtcblx0XCJzbWFsbFwiLFxuXHRcIm1lZGl1bVwiXG5dO1xuZXhwb3J0IHR5cGUgQWNjb3JkaW9uU2l6ZSA9ICh0eXBlb2YgQUNDT1JESU9OX1NJWkVTKVtudW1iZXJdO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBBY2NvcmRpb25VcGRhdGVFdmVudCA9IHtcblx0b3BlbjogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBBY2NvcmRpb25VcGRhdGVFdmVudERldGFpbCA9IEFjY29yZGlvblVwZGF0ZUV2ZW50O1xuZXhwb3J0IHR5cGUgQWNjb3JkaW9uVGFnID0gSGVhZGluZ1RhZztcbmRlY2xhcmUgY29uc3QgQkFOTkVSX1NUQVRFUzogcmVhZG9ubHkgW1xuXHRcImluZm9cIixcblx0XCJ3YXJuaW5nXCIsXG5cdFwiZXJyb3JcIixcblx0XCJuZXV0cmFsXCJcbl07XG5leHBvcnQgdHlwZSBCYW5uZXJTdGF0ZSA9IHR5cGVvZiBCQU5ORVJfU1RBVEVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEJBTk5FUl9XSURUSFM6IHJlYWRvbmx5IFtcblx0XCJleHRlbmRlZFwiLFxuXHRcImJhc2ljXCIsXG5cdFwiZmx1aWRcIlxuXTtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgQmFubmVyV2lkdGggPSB0eXBlb2YgQkFOTkVSX1dJRFRIU1tudW1iZXJdO1xuZXhwb3J0IHR5cGUgQnV0dG9uSWNvbiA9IExpbmtCdXR0b25JY29uTmFtZTtcbmRlY2xhcmUgY29uc3QgR1JPVVBfRElSRUNUSU9OUzogcmVhZG9ubHkgW1xuXHRcInJvd1wiLFxuXHRcImNvbHVtblwiXG5dO1xuZXhwb3J0IHR5cGUgR3JvdXBEaXJlY3Rpb24gPSAodHlwZW9mIEdST1VQX0RJUkVDVElPTlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBCdXR0b25Hcm91cERpcmVjdGlvbiA9IEdyb3VwRGlyZWN0aW9uO1xuZXhwb3J0IHR5cGUgQnV0dG9uUHVyZVR5cGUgPSBCdXR0b25UeXBlO1xuZXhwb3J0IHR5cGUgQnV0dG9uUHVyZUljb24gPSBMaW5rQnV0dG9uSWNvbk5hbWU7XG5leHBvcnQgdHlwZSBCdXR0b25QdXJlQXJpYUF0dHJpYnV0ZSA9IEJ1dHRvbkFyaWFBdHRyaWJ1dGU7XG5leHBvcnQgdHlwZSBCdXR0b25QdXJlQWxpZ25MYWJlbCA9IEFsaWduTGFiZWw7XG5leHBvcnQgdHlwZSBCdXR0b25QdXJlV2VpZ2h0ID0gVHlwb2dyYXBoeVRleHRXZWlnaHQ7XG5leHBvcnQgdHlwZSBCdXR0b25QdXJlU2l6ZSA9IFRleHRTaXplO1xuZXhwb3J0IHR5cGUgQnV0dG9uVGlsZUFyaWFBdHRyaWJ1dGUgPSBCdXR0b25BcmlhQXR0cmlidXRlO1xuZXhwb3J0IHR5cGUgQnV0dG9uVGlsZUljb24gPSBMaW5rQnV0dG9uSWNvbk5hbWU7XG5leHBvcnQgdHlwZSBCdXR0b25UaWxlVHlwZSA9IEJ1dHRvblR5cGU7XG5leHBvcnQgdHlwZSBCdXR0b25UaWxlQXNwZWN0UmF0aW8gPSBUaWxlQXNwZWN0UmF0aW87XG5leHBvcnQgdHlwZSBCdXR0b25UaWxlU2l6ZSA9IFRpbGVTaXplO1xuZXhwb3J0IHR5cGUgQnV0dG9uVGlsZUJhY2tncm91bmQgPSBUaWxlQmFja2dyb3VuZDtcbmV4cG9ydCB0eXBlIEJ1dHRvblRpbGVXZWlnaHQgPSBUaWxlV2VpZ2h0O1xuZXhwb3J0IHR5cGUgQnV0dG9uVGlsZUFsaWduID0gVGlsZUFsaWduO1xuZGVjbGFyZSBjb25zdCBDQVJPVVNFTF9XSURUSFM6IHJlYWRvbmx5IFtcblx0XCJiYXNpY1wiLFxuXHRcImV4dGVuZGVkXCJcbl07XG5leHBvcnQgdHlwZSBDYXJvdXNlbFdpZHRoID0gKHR5cGVvZiBDQVJPVVNFTF9XSURUSFMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IENBUk9VU0VMX0FMSUdOX0hFQURFUlM6IHJlYWRvbmx5IFtcblx0XCJzdGFydFwiLFxuXHRcImNlbnRlclwiLFxuXHRcImxlZnRcIlxuXTtcbmV4cG9ydCB0eXBlIENhcm91c2VsQWxpZ25IZWFkZXIgPSAodHlwZW9mIENBUk9VU0VMX0FMSUdOX0hFQURFUlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBDYXJvdXNlbEhlYWRpbmdTaXplID0gRXh0cmFjdDxIZWFkaW5nU2l6ZSwgXCJ4LWxhcmdlXCIgfCBcInh4LWxhcmdlXCI+O1xuZGVjbGFyZSBjb25zdCBDQVJPVVNFTF9BUklBX0FUVFJJQlVURVM6IHJlYWRvbmx5IFtcblx0XCJhcmlhLWxhYmVsXCJcbl07XG5leHBvcnQgdHlwZSBDYXJvdXNlbEFyaWFBdHRyaWJ1dGUgPSAodHlwZW9mIENBUk9VU0VMX0FSSUFfQVRUUklCVVRFUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIENhcm91c2VsSW50ZXJuYXRpb25hbGl6YXRpb24gPSBQYXJ0aWFsPFJlY29yZDxcInByZXZcIiB8IFwibmV4dFwiIHwgXCJmaXJzdFwiIHwgXCJsYXN0XCIgfCBcInNsaWRlTGFiZWxcIiB8IFwic2xpZGVcIiwgc3RyaW5nPj4gfCBzdHJpbmc7XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIENhcm91c2VsVXBkYXRlRXZlbnQgPSB7XG5cdGFjdGl2ZUluZGV4OiBudW1iZXI7XG5cdHByZXZpb3VzSW5kZXg6IG51bWJlcjtcbn07XG5leHBvcnQgdHlwZSBDYXJvdXNlbFVwZGF0ZUV2ZW50RGV0YWlsID0gQ2Fyb3VzZWxVcGRhdGVFdmVudDtcbmV4cG9ydCB0eXBlIENoZWNrYm94V3JhcHBlclN0YXRlID0gRm9ybVN0YXRlO1xuZGVjbGFyZSBjb25zdCBDT05URU5UX1dSQVBQRVJfQkFDS0dST1VORF9DT0xPUlM6IHJlYWRvbmx5IFtcblx0XCJ0cmFuc3BhcmVudFwiLFxuXHRcImRlZmF1bHRcIlxuXTtcbmV4cG9ydCB0eXBlIENvbnRlbnRXcmFwcGVyQmFja2dyb3VuZENvbG9yID0gdHlwZW9mIENPTlRFTlRfV1JBUFBFUl9CQUNLR1JPVU5EX0NPTE9SU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBDT05URU5UX1dSQVBQRVJfV0lEVEhTOiByZWFkb25seSBbXG5cdFwibmFycm93XCIsXG5cdFwiYmFzaWNcIixcblx0XCJleHRlbmRlZFwiLFxuXHRcImZsdWlkXCIsXG5cdFwiZnVsbFwiXG5dO1xuZXhwb3J0IHR5cGUgQ29udGVudFdyYXBwZXJXaWR0aCA9IHR5cGVvZiBDT05URU5UX1dSQVBQRVJfV0lEVEhTW251bWJlcl07XG5leHBvcnQgdHlwZSBDcmVzdFRhcmdldCA9IExpbmtUYXJnZXQ7XG5leHBvcnQgdHlwZSBDcmVzdEFyaWFBdHRyaWJ1dGUgPSBMaW5rQXJpYUF0dHJpYnV0ZTtcbmRlY2xhcmUgY29uc3QgRElTUExBWV9UQUdTOiByZWFkb25seSBbXG5cdFwiaDFcIixcblx0XCJoMlwiLFxuXHRcImgzXCIsXG5cdFwiaDRcIixcblx0XCJoNVwiLFxuXHRcImg2XCJcbl07XG5leHBvcnQgdHlwZSBEaXNwbGF5VGFnID0gKHR5cGVvZiBESVNQTEFZX1RBR1MpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IERJU1BMQVlfU0laRVM6IHJlYWRvbmx5IFtcblx0XCJzbWFsbFwiLFxuXHRcIm1lZGl1bVwiLFxuXHRcImxhcmdlXCIsXG5cdFwiaW5oZXJpdFwiXG5dO1xuZXhwb3J0IHR5cGUgRGlzcGxheVNpemUgPSAodHlwZW9mIERJU1BMQVlfU0laRVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IERJU1BMQVlfQ09MT1JTOiByZWFkb25seSBbXG5cdFwicHJpbWFyeVwiLFxuXHRcImluaGVyaXRcIlxuXTtcbmV4cG9ydCB0eXBlIERpc3BsYXlDb2xvciA9ICh0eXBlb2YgRElTUExBWV9DT0xPUlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBEaXNwbGF5QWxpZ24gPSBUeXBvZ3JhcGh5QWxpZ247XG5kZWNsYXJlIGNvbnN0IERJVklERVJfQ09MT1JTOiByZWFkb25seSBbXG5cdFwiY29udHJhc3QtbG93XCIsXG5cdFwiY29udHJhc3QtbWVkaXVtXCIsXG5cdFwiY29udHJhc3QtaGlnaFwiLFxuXHRcIm5ldXRyYWwtY29udHJhc3QtaGlnaFwiLFxuXHRcIm5ldXRyYWwtY29udHJhc3QtbWVkaXVtXCIsXG5cdFwibmV1dHJhbC1jb250cmFzdC1sb3dcIlxuXTtcbmV4cG9ydCB0eXBlIERpdmlkZXJDb2xvciA9IHR5cGVvZiBESVZJREVSX0NPTE9SU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBESVZJREVSX0RJUkVDVElPTlM6IHJlYWRvbmx5IFtcblx0XCJ2ZXJ0aWNhbFwiLFxuXHRcImhvcml6b250YWxcIlxuXTtcbmV4cG9ydCB0eXBlIERpdmlkZXJEaXJlY3Rpb24gPSB0eXBlb2YgRElWSURFUl9ESVJFQ1RJT05TW251bWJlcl07XG5leHBvcnQgdHlwZSBEaXZpZGVyT3JpZW50YXRpb24gPSBEaXZpZGVyRGlyZWN0aW9uO1xuZGVjbGFyZSBjb25zdCBGSUVMRFNFVF9MQUJFTF9TSVpFUzogcmVhZG9ubHkgW1xuXHRcInNtYWxsXCIsXG5cdFwibWVkaXVtXCJcbl07XG5leHBvcnQgdHlwZSBGaWVsZHNldExhYmVsU2l6ZSA9ICh0eXBlb2YgRklFTERTRVRfTEFCRUxfU0laRVMpW251bWJlcl07XG5leHBvcnQgdHlwZSBGaWVsZHNldFN0YXRlID0gRm9ybVN0YXRlO1xuZXhwb3J0IHR5cGUgRmllbGRzZXRXcmFwcGVyTGFiZWxTaXplID0gRmllbGRzZXRMYWJlbFNpemU7XG5leHBvcnQgdHlwZSBGaWVsZHNldFdyYXBwZXJTdGF0ZSA9IEZpZWxkc2V0U3RhdGU7XG5leHBvcnQgdHlwZSBGbGV4SW5saW5lID0gYm9vbGVhbjtcbmRlY2xhcmUgY29uc3QgRkxFWF9XUkFQUzogcmVhZG9ubHkgW1xuXHRcIm5vd3JhcFwiLFxuXHRcIndyYXBcIixcblx0XCJ3cmFwLXJldmVyc2VcIlxuXTtcbmV4cG9ydCB0eXBlIEZsZXhXcmFwID0gdHlwZW9mIEZMRVhfV1JBUFNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxFWF9ESVJFQ1RJT05TOiByZWFkb25seSBbXG5cdFwicm93XCIsXG5cdFwicm93LXJldmVyc2VcIixcblx0XCJjb2x1bW5cIixcblx0XCJjb2x1bW4tcmV2ZXJzZVwiXG5dO1xuZXhwb3J0IHR5cGUgRmxleERpcmVjdGlvbiA9IHR5cGVvZiBGTEVYX0RJUkVDVElPTlNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxFWF9KVVNUSUZZX0NPTlRFTlRTOiByZWFkb25seSBbXG5cdFwiZmxleC1zdGFydFwiLFxuXHRcImZsZXgtZW5kXCIsXG5cdFwiY2VudGVyXCIsXG5cdFwic3BhY2UtYmV0d2VlblwiLFxuXHRcInNwYWNlLWFyb3VuZFwiLFxuXHRcInNwYWNlLWV2ZW5seVwiXG5dO1xuZXhwb3J0IHR5cGUgRmxleEp1c3RpZnlDb250ZW50ID0gdHlwZW9mIEZMRVhfSlVTVElGWV9DT05URU5UU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBGTEVYX0FMSUdOX0lURU1TOiByZWFkb25seSBbXG5cdFwic3RyZXRjaFwiLFxuXHRcImZsZXgtc3RhcnRcIixcblx0XCJmbGV4LWVuZFwiLFxuXHRcImNlbnRlclwiLFxuXHRcImJhc2VsaW5lXCJcbl07XG5leHBvcnQgdHlwZSBGbGV4QWxpZ25JdGVtcyA9IHR5cGVvZiBGTEVYX0FMSUdOX0lURU1TW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZMRVhfQUxJR05fQ09OVEVOVFM6IHJlYWRvbmx5IFtcblx0XCJzdHJldGNoXCIsXG5cdFwiZmxleC1zdGFydFwiLFxuXHRcImZsZXgtZW5kXCIsXG5cdFwiY2VudGVyXCIsXG5cdFwic3BhY2UtYmV0d2VlblwiLFxuXHRcInNwYWNlLWFyb3VuZFwiLFxuXHRcInNwYWNlLWV2ZW5seVwiXG5dO1xuZXhwb3J0IHR5cGUgRmxleEFsaWduQ29udGVudCA9IHR5cGVvZiBGTEVYX0FMSUdOX0NPTlRFTlRTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZMRVhfSVRFTV9XSURUSFM6IHJlYWRvbmx5IFtcblx0XCJhdXRvXCIsXG5cdFwib25lLXF1YXJ0ZXJcIixcblx0XCJvbmUtdGhpcmRcIixcblx0XCJoYWxmXCIsXG5cdFwidHdvLXRoaXJkc1wiLFxuXHRcInRocmVlLXF1YXJ0ZXJzXCIsXG5cdFwiZnVsbFwiXG5dO1xuZXhwb3J0IHR5cGUgRmxleEl0ZW1XaWR0aCA9IHR5cGVvZiBGTEVYX0lURU1fV0lEVEhTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZMRVhfSVRFTV9PRkZTRVRTOiByZWFkb25seSBbXG5cdFwibm9uZVwiLFxuXHRcIm9uZS1xdWFydGVyXCIsXG5cdFwib25lLXRoaXJkXCIsXG5cdFwiaGFsZlwiLFxuXHRcInR3by10aGlyZHNcIixcblx0XCJ0aHJlZS1xdWFydGVyc1wiXG5dO1xuZXhwb3J0IHR5cGUgRmxleEl0ZW1PZmZzZXQgPSB0eXBlb2YgRkxFWF9JVEVNX09GRlNFVFNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxFWF9JVEVNX0FMSUdOX1NFTEZTOiByZWFkb25seSBbXG5cdFwiYXV0b1wiLFxuXHRcImZsZXgtc3RhcnRcIixcblx0XCJmbGV4LWVuZFwiLFxuXHRcImNlbnRlclwiLFxuXHRcImJhc2VsaW5lXCIsXG5cdFwic3RyZXRjaFwiXG5dO1xuZXhwb3J0IHR5cGUgRmxleEl0ZW1BbGlnblNlbGYgPSB0eXBlb2YgRkxFWF9JVEVNX0FMSUdOX1NFTEZTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZMRVhfSVRFTV9HUk9XUzogcmVhZG9ubHkgW1xuXHQwLFxuXHQxXG5dO1xuZXhwb3J0IHR5cGUgRmxleEl0ZW1Hcm93ID0gdHlwZW9mIEZMRVhfSVRFTV9HUk9XU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBGTEVYX0lURU1fU0hSSU5LUzogcmVhZG9ubHkgW1xuXHQwLFxuXHQxXG5dO1xuZXhwb3J0IHR5cGUgRmxleEl0ZW1TaHJpbmsgPSB0eXBlb2YgRkxFWF9JVEVNX1NIUklOS1NbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxFWF9JVEVNX0ZMRVhTOiByZWFkb25seSBbXG5cdFwiaW5pdGlhbFwiLFxuXHRcImF1dG9cIixcblx0XCJub25lXCIsXG5cdFwiZXF1YWxcIlxuXTtcbmV4cG9ydCB0eXBlIEZsZXhJdGVtRmxleCA9IHR5cGVvZiBGTEVYX0lURU1fRkxFWFNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxZT1VUX1BPU0lUSU9OUzogcmVhZG9ubHkgW1xuXHRcInN0YXJ0XCIsXG5cdFwiZW5kXCIsXG5cdFwibGVmdFwiLFxuXHRcInJpZ2h0XCJcbl07XG5leHBvcnQgdHlwZSBGbHlvdXRQb3NpdGlvbiA9ICh0eXBlb2YgRkxZT1VUX1BPU0lUSU9OUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxZT1VUX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIlxuXTtcbmV4cG9ydCB0eXBlIEZseW91dEFyaWFBdHRyaWJ1dGUgPSAodHlwZW9mIEZMWU9VVF9BUklBX0FUVFJJQlVURVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZMWU9VVF9OQVZJR0FUSU9OX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIlxuXTtcbmV4cG9ydCB0eXBlIEZseW91dE5hdmlnYXRpb25BcmlhQXR0cmlidXRlID0gKHR5cGVvZiBGTFlPVVRfTkFWSUdBVElPTl9BUklBX0FUVFJJQlVURVMpW251bWJlcl07XG5leHBvcnQgdHlwZSBGbHlvdXROYXZpZ2F0aW9uVXBkYXRlID0ge1xuXHRhY3RpdmVJZGVudGlmaWVyOiBzdHJpbmc7XG59O1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBGbHlvdXROYXZpZ2F0aW9uVXBkYXRlRXZlbnQgPSBGbHlvdXROYXZpZ2F0aW9uVXBkYXRlO1xuZXhwb3J0IHR5cGUgRmx5b3V0TmF2aWdhdGlvblVwZGF0ZUV2ZW50RGV0YWlsID0gRmx5b3V0TmF2aWdhdGlvblVwZGF0ZUV2ZW50O1xuZGVjbGFyZSBjb25zdCBHUklEX0RJUkVDVElPTlM6IHJlYWRvbmx5IFtcblx0XCJyb3dcIixcblx0XCJyb3ctcmV2ZXJzZVwiLFxuXHRcImNvbHVtblwiLFxuXHRcImNvbHVtbi1yZXZlcnNlXCJcbl07XG5leHBvcnQgdHlwZSBHcmlkRGlyZWN0aW9uID0gdHlwZW9mIEdSSURfRElSRUNUSU9OU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBHUklEX1dSQVBTOiByZWFkb25seSBbXG5cdFwibm93cmFwXCIsXG5cdFwid3JhcFwiXG5dO1xuZXhwb3J0IHR5cGUgR3JpZFdyYXAgPSB0eXBlb2YgR1JJRF9XUkFQU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBHUklEX0dVVFRFUlM6IHJlYWRvbmx5IFtcblx0MTYsXG5cdDI0LFxuXHQzNlxuXTtcbmV4cG9ydCB0eXBlIEdyaWRHdXR0ZXIgPSB0eXBlb2YgR1JJRF9HVVRURVJTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEdSSURfSVRFTV9TSVpFUzogcmVhZG9ubHkgW1xuXHQxLFxuXHQyLFxuXHQzLFxuXHQ0LFxuXHQ1LFxuXHQ2LFxuXHQ3LFxuXHQ4LFxuXHQ5LFxuXHQxMCxcblx0MTEsXG5cdDEyXG5dO1xuZXhwb3J0IHR5cGUgR3JpZEl0ZW1TaXplID0gdHlwZW9mIEdSSURfSVRFTV9TSVpFU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBHUklEX0lURU1fT0ZGU0VUUzogcmVhZG9ubHkgW1xuXHQwLFxuXHQxLFxuXHQyLFxuXHQzLFxuXHQ0LFxuXHQ1LFxuXHQ2LFxuXHQ3LFxuXHQ4LFxuXHQ5LFxuXHQxMCxcblx0MTFcbl07XG5leHBvcnQgdHlwZSBHcmlkSXRlbU9mZnNldCA9IHR5cGVvZiBHUklEX0lURU1fT0ZGU0VUU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBIRUFESU5HX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcInByaW1hcnlcIixcblx0XCJpbmhlcml0XCJcbl07XG5leHBvcnQgdHlwZSBIZWFkaW5nQ29sb3IgPSAodHlwZW9mIEhFQURJTkdfQ09MT1JTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgSGVhZGluZ0FsaWduID0gVHlwb2dyYXBoeUFsaWduO1xuZGVjbGFyZSBjb25zdCBIRUFETElORV9WQVJJQU5UUzogcmVhZG9ubHkgW1xuXHRcImxhcmdlLXRpdGxlXCIsXG5cdFwiaGVhZGxpbmUtMVwiLFxuXHRcImhlYWRsaW5lLTJcIixcblx0XCJoZWFkbGluZS0zXCIsXG5cdFwiaGVhZGxpbmUtNFwiLFxuXHRcImhlYWRsaW5lLTVcIlxuXTtcbmV4cG9ydCB0eXBlIEhlYWRsaW5lVmFyaWFudFR5cGUgPSAodHlwZW9mIEhFQURMSU5FX1ZBUklBTlRTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgSGVhZGxpbmVWYXJpYW50Q3VzdG9tID0gRXhjbHVkZTxCcmVha3BvaW50Q3VzdG9taXphYmxlPFRleHRTaXplPiwgVGV4dFNpemU+O1xuZXhwb3J0IHR5cGUgSGVhZGxpbmVWYXJpYW50ID0gSGVhZGxpbmVWYXJpYW50VHlwZSB8IEhlYWRsaW5lVmFyaWFudEN1c3RvbSB8IEV4dHJhY3Q8VGV4dFNpemUsIFwiaW5oZXJpdFwiPjtcbmRlY2xhcmUgY29uc3QgSEVBRExJTkVfVEFHUzogcmVhZG9ubHkgW1xuXHRcImgxXCIsXG5cdFwiaDJcIixcblx0XCJoM1wiLFxuXHRcImg0XCIsXG5cdFwiaDVcIixcblx0XCJoNlwiXG5dO1xuZXhwb3J0IHR5cGUgSGVhZGxpbmVUYWcgPSAodHlwZW9mIEhFQURMSU5FX1RBR1MpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEhFQURMSU5FX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcInByaW1hcnlcIixcblx0XCJkZWZhdWx0XCIsXG5cdFwiaW5oZXJpdFwiXG5dO1xuZXhwb3J0IHR5cGUgSGVhZGxpbmVDb2xvciA9ICh0eXBlb2YgSEVBRExJTkVfQ09MT1JTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgSGVhZGxpbmVBbGlnbiA9IFR5cG9ncmFwaHlBbGlnbjtcbmRlY2xhcmUgY29uc3QgSUNPTl9BUklBX0FUVFJJQlVURVM6IHJlYWRvbmx5IFtcblx0XCJhcmlhLWxhYmVsXCJcbl07XG5leHBvcnQgdHlwZSBJY29uQXJpYUF0dHJpYnV0ZSA9ICh0eXBlb2YgSUNPTl9BUklBX0FUVFJJQlVURVMpW251bWJlcl07XG5leHBvcnQgdHlwZSBJY29uU2l6ZSA9IFRleHRTaXplO1xuZGVjbGFyZSBjb25zdCBJQ09OX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcInByaW1hcnlcIixcblx0XCJjb250cmFzdC1sb3dcIixcblx0XCJjb250cmFzdC1tZWRpdW1cIixcblx0XCJjb250cmFzdC1oaWdoXCIsXG5cdFwibm90aWZpY2F0aW9uLXN1Y2Nlc3NcIixcblx0XCJub3RpZmljYXRpb24td2FybmluZ1wiLFxuXHRcIm5vdGlmaWNhdGlvbi1lcnJvclwiLFxuXHRcIm5vdGlmaWNhdGlvbi1pbmZvXCIsXG5cdFwiaW5oZXJpdFwiLFxuXHRcImJyYW5kXCIsXG5cdFwiZGVmYXVsdFwiLFxuXHRcIm5ldXRyYWwtY29udHJhc3QtbG93XCIsXG5cdFwibmV1dHJhbC1jb250cmFzdC1tZWRpdW1cIixcblx0XCJuZXV0cmFsLWNvbnRyYXN0LWhpZ2hcIixcblx0XCJub3RpZmljYXRpb24tbmV1dHJhbFwiLFxuXHRcInN0YXRlLWRpc2FibGVkXCJcbl07XG5leHBvcnQgdHlwZSBJY29uQ29sb3IgPSAodHlwZW9mIElDT05fQ09MT1JTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBJTkxJTkVfTk9USUZJQ0FUSU9OX1NUQVRFUzogcmVhZG9ubHkgW1xuXHRcInN1Y2Nlc3NcIixcblx0XCJpbmZvXCIsXG5cdFwid2FybmluZ1wiLFxuXHRcImVycm9yXCIsXG5cdFwibmV1dHJhbFwiXG5dO1xuZXhwb3J0IHR5cGUgSW5saW5lTm90aWZpY2F0aW9uU3RhdGUgPSB0eXBlb2YgSU5MSU5FX05PVElGSUNBVElPTl9TVEFURVNbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIElubGluZU5vdGlmaWNhdGlvbkFjdGlvbkljb24gPSBJY29uTmFtZTtcbmV4cG9ydCB0eXBlIExpbmtJY29uID0gTGlua0J1dHRvbkljb25OYW1lO1xuZXhwb3J0IHR5cGUgTGlua1B1cmVJY29uID0gTGlua0J1dHRvbkljb25OYW1lO1xuZXhwb3J0IHR5cGUgTGlua1B1cmVBcmlhQXR0cmlidXRlID0gTGlua0FyaWFBdHRyaWJ1dGU7XG5leHBvcnQgdHlwZSBMaW5rUHVyZUFsaWduTGFiZWwgPSBBbGlnbkxhYmVsO1xuZXhwb3J0IHR5cGUgTGlua1B1cmVXZWlnaHQgPSBUeXBvZ3JhcGh5VGV4dFdlaWdodDtcbmV4cG9ydCB0eXBlIExpbmtQdXJlU2l6ZSA9IFRleHRTaXplO1xuZXhwb3J0IHR5cGUgTGlua1B1cmVUYXJnZXQgPSBMaW5rVGFyZ2V0O1xuZXhwb3J0IHR5cGUgTGlua1NvY2lhbEljb24gPSBFeHRyYWN0PEljb25OYW1lLCBcImxvZ28tZmFjZWJvb2tcIiB8IFwibG9nby1nb29nbGVcIiB8IFwibG9nby1pbnN0YWdyYW1cIiB8IFwibG9nby1saW5rZWRpblwiIHwgXCJsb2dvLXBpbnRlcmVzdFwiIHwgXCJsb2dvLXR3aXR0ZXJcIiB8IFwibG9nby13ZWNoYXRcIiB8IFwibG9nby13aGF0c2FwcFwiIHwgXCJsb2dvLXhpbmdcIiB8IFwibG9nby15b3V0dWJlXCIgfCBcImxvZ28tYmFpZHVcIiB8IFwibG9nby1kZWxpY2lvdXNcIiB8IFwibG9nby1kaWdnXCIgfCBcImxvZ28tZm91cnNxdWFyZVwiIHwgXCJsb2dvLWdtYWlsXCIgfCBcImxvZ28taGF0ZW5hXCIgfCBcImxvZ28ta2FpeGluXCIgfCBcImxvZ28ta2FrYW90YWxrXCIgfCBcImxvZ28tbmF2ZXJcIiB8IFwibG9nby1xcS1zaGFyZVwiIHwgXCJsb2dvLXFxXCIgfCBcImxvZ28tcmVkZGl0XCIgfCBcImxvZ28tc2t5cm9ja1wiIHwgXCJsb2dvLXNvaHVcIiB8IFwibG9nby10ZWNlbnRcIiB8IFwibG9nby10ZWxlZ3JhbVwiIHwgXCJsb2dvLXRpa3Rva1wiIHwgXCJsb2dvLXR1bWJsclwiIHwgXCJsb2dvLXZpYmVyXCIgfCBcImxvZ28tdmtcIiB8IFwibG9nby13ZWlib1wiIHwgXCJsb2dvLXlhaG9vXCIgfCBcImxvZ28teW91a3VcIj47XG5leHBvcnQgdHlwZSBMaW5rU29jaWFsVGFyZ2V0ID0gTGlua1RhcmdldDtcbmV4cG9ydCB0eXBlIExpbmtUaWxlVGFyZ2V0ID0gTGlua1RhcmdldDtcbmV4cG9ydCB0eXBlIExpbmtUaWxlQXJpYUF0dHJpYnV0ZSA9IExpbmtBcmlhQXR0cmlidXRlO1xuZXhwb3J0IHR5cGUgTGlua1RpbGVBc3BlY3RSYXRpbyA9IFRpbGVBc3BlY3RSYXRpbztcbmV4cG9ydCB0eXBlIExpbmtUaWxlU2l6ZSA9IFRpbGVTaXplO1xuZXhwb3J0IHR5cGUgTGlua1RpbGVCYWNrZ3JvdW5kID0gVGlsZUJhY2tncm91bmQ7XG5leHBvcnQgdHlwZSBMaW5rVGlsZUFsaWduID0gVGlsZUFsaWduO1xuZGVjbGFyZSBjb25zdCBMSU5LX1RJTEVfV0VJR0hUUzogcmVhZG9ubHkgW1xuXHRcInJlZ3VsYXJcIixcblx0XCJzZW1pLWJvbGRcIixcblx0XCJzZW1pYm9sZFwiXG5dO1xuZXhwb3J0IHR5cGUgTGlua1RpbGVXZWlnaHQgPSAodHlwZW9mIExJTktfVElMRV9XRUlHSFRTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBMSU5LX1RJTEVfTU9ERUxfU0lHTkFUVVJFX01PREVMUzogcmVhZG9ubHkgW1xuXHRcIjcxOFwiLFxuXHRcIjkxMVwiLFxuXHRcImJveHN0ZXJcIixcblx0XCJjYXllbm5lXCIsXG5cdFwiY2F5bWFuXCIsXG5cdFwibWFjYW5cIixcblx0XCJwYW5hbWVyYVwiLFxuXHRcInRheWNhblwiLFxuXHRcInR1cmJvLXNcIixcblx0XCJ0dXJib1wiXG5dO1xuZXhwb3J0IHR5cGUgTGlua1RpbGVNb2RlbFNpZ25hdHVyZU1vZGVsID0gKHR5cGVvZiBMSU5LX1RJTEVfTU9ERUxfU0lHTkFUVVJFX01PREVMUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgTElOS19USUxFX01PREVMX1NJR05BVFVSRV9IRUFESU5HX1RBR1M6IHJlYWRvbmx5IFtcblx0XCJoMlwiLFxuXHRcImgzXCIsXG5cdFwiaDRcIixcblx0XCJoNVwiLFxuXHRcImg2XCJcbl07XG5leHBvcnQgdHlwZSBMaW5rVGlsZU1vZGVsU2lnbmF0dXJlSGVhZGluZ1RhZyA9ICh0eXBlb2YgTElOS19USUxFX01PREVMX1NJR05BVFVSRV9IRUFESU5HX1RBR1MpW251bWJlcl07XG5leHBvcnQgdHlwZSBMaW5rVGlsZU1vZGVsU2lnbmF0dXJlV2VpZ2h0ID0gVGlsZVdlaWdodDtcbmV4cG9ydCB0eXBlIExpbmtUaWxlTW9kZWxTaWduYXR1cmVBc3BlY3RSYXRpbyA9IFRpbGVBc3BlY3RSYXRpbztcbmV4cG9ydCB0eXBlIExpbmtUaWxlTW9kZWxTaWduYXR1cmVMaW5rRGlyZWN0aW9uID0gR3JvdXBEaXJlY3Rpb247XG5leHBvcnQgdHlwZSBMaW5rVGlsZVByb2R1Y3RUYXJnZXQgPSBMaW5rVGFyZ2V0O1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBMaW5rVGlsZVByb2R1Y3RMaWtlRXZlbnQgPSB7XG5cdGxpa2VkOiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIExpbmtUaWxlUHJvZHVjdExpa2VFdmVudERldGFpbCA9IExpbmtUaWxlUHJvZHVjdExpa2VFdmVudDtcbmRlY2xhcmUgY29uc3QgVElMRV9QUk9EVUNUX0FTUEVDVF9SQVRJT1M6IHJlYWRvbmx5IFtcblx0XCIzOjRcIixcblx0XCI5OjE2XCJcbl07XG5leHBvcnQgdHlwZSBMaW5rVGlsZVByb2R1Y3RBc3BlY3RSYXRpbyA9IEV4dHJhY3Q8VGlsZUFzcGVjdFJhdGlvLCAodHlwZW9mIFRJTEVfUFJPRFVDVF9BU1BFQ1RfUkFUSU9TKVtudW1iZXJdPjtcbmRlY2xhcmUgY29uc3QgTU9ERUxfU0lHTkFUVVJFU19NQU5JRkVTVDoge1xuXHRcIjcxOFwiOiB7XG5cdFx0c3JjOiBzdHJpbmc7XG5cdFx0d2lkdGg6IG51bWJlcjtcblx0XHRoZWlnaHQ6IG51bWJlcjtcblx0fTtcblx0XCI5MTFcIjoge1xuXHRcdHNyYzogc3RyaW5nO1xuXHRcdHdpZHRoOiBudW1iZXI7XG5cdFx0aGVpZ2h0OiBudW1iZXI7XG5cdH07XG5cdGJveHN0ZXI6IHtcblx0XHRzcmM6IHN0cmluZztcblx0XHR3aWR0aDogbnVtYmVyO1xuXHRcdGhlaWdodDogbnVtYmVyO1xuXHR9O1xuXHRjYXllbm5lOiB7XG5cdFx0c3JjOiBzdHJpbmc7XG5cdFx0d2lkdGg6IG51bWJlcjtcblx0XHRoZWlnaHQ6IG51bWJlcjtcblx0fTtcblx0Y2F5bWFuOiB7XG5cdFx0c3JjOiBzdHJpbmc7XG5cdFx0d2lkdGg6IG51bWJlcjtcblx0XHRoZWlnaHQ6IG51bWJlcjtcblx0fTtcblx0bWFjYW46IHtcblx0XHRzcmM6IHN0cmluZztcblx0XHR3aWR0aDogbnVtYmVyO1xuXHRcdGhlaWdodDogbnVtYmVyO1xuXHR9O1xuXHRwYW5hbWVyYToge1xuXHRcdHNyYzogc3RyaW5nO1xuXHRcdHdpZHRoOiBudW1iZXI7XG5cdFx0aGVpZ2h0OiBudW1iZXI7XG5cdH07XG5cdHRheWNhbjoge1xuXHRcdHNyYzogc3RyaW5nO1xuXHRcdHdpZHRoOiBudW1iZXI7XG5cdFx0aGVpZ2h0OiBudW1iZXI7XG5cdH07XG5cdFwidHVyYm8tc1wiOiB7XG5cdFx0c3JjOiBzdHJpbmc7XG5cdFx0d2lkdGg6IG51bWJlcjtcblx0XHRoZWlnaHQ6IG51bWJlcjtcblx0fTtcblx0dHVyYm86IHtcblx0XHRzcmM6IHN0cmluZztcblx0XHR3aWR0aDogbnVtYmVyO1xuXHRcdGhlaWdodDogbnVtYmVyO1xuXHR9O1xufTtcbmRlY2xhcmUgY29uc3QgTUFSUVVFX1ZBUklBTlRTOiByZWFkb25seSBbXG5cdFwiNzUteWVhcnNcIixcblx0XCJkZWZhdWx0XCJcbl07XG5leHBvcnQgdHlwZSBNYXJxdWVWYXJpYW50ID0gKHR5cGVvZiBNQVJRVUVfVkFSSUFOVFMpW251bWJlcl07XG5leHBvcnQgdHlwZSBNYXJxdWVUYXJnZXQgPSBMaW5rVGFyZ2V0O1xuZXhwb3J0IHR5cGUgTWFycXVlQXJpYUF0dHJpYnV0ZSA9IExpbmtBcmlhQXR0cmlidXRlO1xuZGVjbGFyZSBjb25zdCBNQVJRVUVfU0laRVM6IHJlYWRvbmx5IFtcblx0XCJyZXNwb25zaXZlXCIsXG5cdFwic21hbGxcIixcblx0XCJtZWRpdW1cIlxuXTtcbmV4cG9ydCB0eXBlIE1hcnF1ZVNpemUgPSB0eXBlb2YgTUFSUVVFX1NJWkVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEJBQ0tEUk9QUzogcmVhZG9ubHkgW1xuXHRcImJsdXJcIixcblx0XCJzaGFkaW5nXCJcbl07XG5leHBvcnQgdHlwZSBCYWNrZHJvcCA9ICh0eXBlb2YgQkFDS0RST1BTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBNT0RBTF9BUklBX0FUVFJJQlVURVM6IHJlYWRvbmx5IFtcblx0XCJhcmlhLWxhYmVsXCJcbl07XG5leHBvcnQgdHlwZSBNb2RhbEFyaWFBdHRyaWJ1dGUgPSAodHlwZW9mIE1PREFMX0FSSUFfQVRUUklCVVRFUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIE1vZGFsQmFja2Ryb3AgPSBCYWNrZHJvcDtcbmRlY2xhcmUgY29uc3QgTU9ERUxfU0lHTkFUVVJFX0ZFVENIX1BSSU9SSVRZOiByZWFkb25seSBbXG5cdFwibG93XCIsXG5cdFwiaGlnaFwiLFxuXHRcImF1dG9cIlxuXTtcbmV4cG9ydCB0eXBlIE1vZGVsU2lnbmF0dXJlRmV0Y2hQcmlvcml0eSA9ICh0eXBlb2YgTU9ERUxfU0lHTkFUVVJFX0ZFVENIX1BSSU9SSVRZKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBNT0RFTF9TSUdOQVRVUkVfU0laRVM6IHJlYWRvbmx5IFtcblx0XCJzbWFsbFwiLFxuXHRcImluaGVyaXRcIlxuXTtcbmV4cG9ydCB0eXBlIE1vZGVsU2lnbmF0dXJlU2l6ZSA9ICh0eXBlb2YgTU9ERUxfU0lHTkFUVVJFX1NJWkVTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgTW9kZWxTaWduYXR1cmVNb2RlbCA9IGtleW9mIHR5cGVvZiBNT0RFTF9TSUdOQVRVUkVTX01BTklGRVNUO1xuZGVjbGFyZSBjb25zdCBNT0RFTF9TSUdOQVRVUkVfQ09MT1JTOiByZWFkb25seSBbXG5cdFwicHJpbWFyeVwiLFxuXHRcImNvbnRyYXN0LWxvd1wiLFxuXHRcImNvbnRyYXN0LW1lZGl1bVwiLFxuXHRcImNvbnRyYXN0LWhpZ2hcIixcblx0XCJpbmhlcml0XCJcbl07XG5leHBvcnQgdHlwZSBNb2RlbFNpZ25hdHVyZUNvbG9yID0gKHR5cGVvZiBNT0RFTF9TSUdOQVRVUkVfQ09MT1JTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgTXVsdGlTZWxlY3RTdGF0ZSA9IEZvcm1TdGF0ZTtcbmV4cG9ydCB0eXBlIE11bHRpU2VsZWN0RHJvcGRvd25EaXJlY3Rpb24gPSBTZWxlY3RDb21wb25lbnRzRHJvcGRvd25EaXJlY3Rpb247XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIE11bHRpU2VsZWN0VXBkYXRlRXZlbnQgPSB7XG5cdG5hbWU6IHN0cmluZztcblx0dmFsdWU6IHN0cmluZ1tdO1xufTtcbmV4cG9ydCB0eXBlIE11bHRpU2VsZWN0VXBkYXRlRXZlbnREZXRhaWwgPSBNdWx0aVNlbGVjdFVwZGF0ZUV2ZW50O1xuZGVjbGFyZSBjb25zdCBQQUdJTkFUSU9OX05VTUJFUl9PRl9QQUdFX0xJTktTOiByZWFkb25seSBbXG5cdDUsXG5cdDdcbl07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25NYXhOdW1iZXJPZlBhZ2VMaW5rcyA9ICh0eXBlb2YgUEFHSU5BVElPTl9OVU1CRVJfT0ZfUEFHRV9MSU5LUylbbnVtYmVyXTtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgUGFnaW5hdGlvblVwZGF0ZUV2ZW50ID0ge1xuXHRwYWdlOiBudW1iZXI7XG5cdHByZXZpb3VzUGFnZTogbnVtYmVyO1xufTtcbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25VcGRhdGVFdmVudERldGFpbCA9IFBhZ2luYXRpb25VcGRhdGVFdmVudDtcbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25JbnRlcm5hdGlvbmFsaXphdGlvbiA9IFBhcnRpYWw8UmVjb3JkPFwicm9vdFwiIHwgXCJwcmV2XCIgfCBcIm5leHRcIiB8IFwicGFnZVwiLCBzdHJpbmc+PiB8IHN0cmluZztcbmRlY2xhcmUgY29uc3QgUElOX0NPREVfVFlQRVM6IHJlYWRvbmx5IFtcblx0XCJudW1iZXJcIixcblx0XCJwYXNzd29yZFwiXG5dO1xuZXhwb3J0IHR5cGUgUGluQ29kZVR5cGUgPSAodHlwZW9mIFBJTl9DT0RFX1RZUEVTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBQSU5fQ09ERV9MRU5HVEhTOiByZWFkb25seSBbXG5cdDEsXG5cdDIsXG5cdDMsXG5cdDQsXG5cdDUsXG5cdDZcbl07XG5leHBvcnQgdHlwZSBQaW5Db2RlTGVuZ3RoID0gKHR5cGVvZiBQSU5fQ09ERV9MRU5HVEhTKVtudW1iZXJdO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBQaW5Db2RlVXBkYXRlRXZlbnQgPSB7XG5cdHZhbHVlOiBzdHJpbmc7XG5cdGlzQ29tcGxldGU6IGJvb2xlYW47XG59O1xuZXhwb3J0IHR5cGUgUGluQ29kZVVwZGF0ZUV2ZW50RGV0YWlsID0gUGluQ29kZVVwZGF0ZUV2ZW50O1xuZXhwb3J0IHR5cGUgUGluQ29kZVN0YXRlID0gRm9ybVN0YXRlO1xuZGVjbGFyZSBjb25zdCBQT1BPVkVSX0RJUkVDVElPTlM6IHJlYWRvbmx5IFtcblx0XCJ0b3BcIixcblx0XCJyaWdodFwiLFxuXHRcImJvdHRvbVwiLFxuXHRcImxlZnRcIlxuXTtcbmV4cG9ydCB0eXBlIFBvcG92ZXJEaXJlY3Rpb24gPSAodHlwZW9mIFBPUE9WRVJfRElSRUNUSU9OUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgUE9QT1ZFUl9BUklBX0FUVFJJQlVURVM6IHJlYWRvbmx5IFtcblx0XCJhcmlhLWxhYmVsXCJcbl07XG5leHBvcnQgdHlwZSBQb3BvdmVyQXJpYUF0dHJpYnV0ZSA9ICh0eXBlb2YgUE9QT1ZFUl9BUklBX0FUVFJJQlVURVMpW251bWJlcl07XG5leHBvcnQgdHlwZSBSYWRpb0J1dHRvbldyYXBwZXJTdGF0ZSA9IEZvcm1TdGF0ZTtcbmRlY2xhcmUgY29uc3QgU0VHTUVOVEVEX0NPTlRST0xfQkFDS0dST1VORF9DT0xPUlM6IHJlYWRvbmx5IFtcblx0XCJiYWNrZ3JvdW5kLXN1cmZhY2VcIixcblx0XCJiYWNrZ3JvdW5kLWRlZmF1bHRcIlxuXTtcbmV4cG9ydCB0eXBlIFNlZ21lbnRlZENvbnRyb2xCYWNrZ3JvdW5kQ29sb3IgPSAodHlwZW9mIFNFR01FTlRFRF9DT05UUk9MX0JBQ0tHUk9VTkRfQ09MT1JTKVtudW1iZXJdO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBTZWdtZW50ZWRDb250cm9sVXBkYXRlRXZlbnQgPSB7XG5cdHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG59O1xuZXhwb3J0IHR5cGUgU2VnbWVudGVkQ29udHJvbFVwZGF0ZUV2ZW50RGV0YWlsID0gU2VnbWVudGVkQ29udHJvbFVwZGF0ZUV2ZW50O1xuZGVjbGFyZSBjb25zdCBTRUdNRU5URURfQ09OVFJPTF9DT0xVTU5TOiAoc3RyaW5nIHwgbnVtYmVyKVtdO1xuZXhwb3J0IHR5cGUgU2VnbWVudGVkQ29udHJvbENvbHVtbnMgPSAodHlwZW9mIFNFR01FTlRFRF9DT05UUk9MX0NPTFVNTlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBTZWdtZW50ZWRDb250cm9sSXRlbUljb24gPSBMaW5rQnV0dG9uSWNvbk5hbWU7XG5leHBvcnQgdHlwZSBTZWxlY3RTdGF0ZSA9IEZvcm1TdGF0ZTtcbmV4cG9ydCB0eXBlIFNlbGVjdERyb3Bkb3duRGlyZWN0aW9uID0gU2VsZWN0Q29tcG9uZW50c0Ryb3Bkb3duRGlyZWN0aW9uO1xuZXhwb3J0IHR5cGUgU2VsZWN0VXBkYXRlRXZlbnREZXRhaWwgPSB7XG5cdG5hbWU6IHN0cmluZztcblx0dmFsdWU6IHN0cmluZztcbn07XG5kZWNsYXJlIGNvbnN0IERST1BET1dOX0RJUkVDVElPTlM6IHJlYWRvbmx5IFtcblx0XCJkb3duXCIsXG5cdFwidXBcIixcblx0XCJhdXRvXCJcbl07XG5leHBvcnQgdHlwZSBTZWxlY3RXcmFwcGVyRHJvcGRvd25EaXJlY3Rpb24gPSAodHlwZW9mIERST1BET1dOX0RJUkVDVElPTlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBTZWxlY3RXcmFwcGVyU3RhdGUgPSBGb3JtU3RhdGU7XG5kZWNsYXJlIGNvbnN0IFNQSU5ORVJfU0laRVM6IHJlYWRvbmx5IFtcblx0XCJzbWFsbFwiLFxuXHRcIm1lZGl1bVwiLFxuXHRcImxhcmdlXCIsXG5cdFwiaW5oZXJpdFwiXG5dO1xuZXhwb3J0IHR5cGUgU3Bpbm5lclNpemUgPSB0eXBlb2YgU1BJTk5FUl9TSVpFU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBTUElOTkVSX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIlxuXTtcbmV4cG9ydCB0eXBlIFNwaW5uZXJBcmlhQXR0cmlidXRlID0gdHlwZW9mIFNQSU5ORVJfQVJJQV9BVFRSSUJVVEVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFNURVBQRVJfSE9SSVpPTlRBTF9TSVpFUzogcmVhZG9ubHkgW1xuXHRcInNtYWxsXCIsXG5cdFwibWVkaXVtXCJcbl07XG5leHBvcnQgdHlwZSBTdGVwcGVySG9yaXpvbnRhbFNpemUgPSAodHlwZW9mIFNURVBQRVJfSE9SSVpPTlRBTF9TSVpFUylbbnVtYmVyXTtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgU3RlcHBlckhvcml6b250YWxVcGRhdGVFdmVudCA9IHtcblx0YWN0aXZlU3RlcEluZGV4OiBudW1iZXI7XG59O1xuZXhwb3J0IHR5cGUgU3RlcHBlckhvcml6b250YWxVcGRhdGVFdmVudERldGFpbCA9IFN0ZXBwZXJIb3Jpem9udGFsVXBkYXRlRXZlbnQ7XG5kZWNsYXJlIGNvbnN0IFNURVBQRVJfSVRFTV9TVEFURVM6IHJlYWRvbmx5IFtcblx0XCJjdXJyZW50XCIsXG5cdFwiY29tcGxldGVcIixcblx0XCJ3YXJuaW5nXCJcbl07XG5leHBvcnQgdHlwZSBTdGVwcGVySG9yaXpvbnRhbEl0ZW1TdGF0ZSA9ICh0eXBlb2YgU1RFUFBFUl9JVEVNX1NUQVRFUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFN3aXRjaEFsaWduTGFiZWwgPSBBbGlnbkxhYmVsO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBTd2l0Y2hVcGRhdGVFdmVudCA9IHtcblx0Y2hlY2tlZDogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBTd2l0Y2hVcGRhdGVFdmVudERldGFpbCA9IFN3aXRjaFVwZGF0ZUV2ZW50O1xuZXhwb3J0IHR5cGUgRGlyZWN0aW9uID0gXCJhc2NcIiB8IFwiZGVzY1wiO1xuZXhwb3J0IHR5cGUgVGFibGVIZWFkQ2VsbFNvcnQgPSB7XG5cdGlkOiBzdHJpbmc7XG5cdGFjdGl2ZT86IGJvb2xlYW47XG5cdGRpcmVjdGlvbj86IERpcmVjdGlvbjtcbn07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFRhYmxlVXBkYXRlRXZlbnQgPSBUYWJsZUhlYWRDZWxsU29ydDtcbmV4cG9ydCB0eXBlIFRhYmxlVXBkYXRlRXZlbnREZXRhaWwgPSBUYWJsZVVwZGF0ZUV2ZW50O1xuZGVjbGFyZSBjb25zdCBUQUJTX0JBUl9TSVpFUzogcmVhZG9ubHkgW1xuXHRcInNtYWxsXCIsXG5cdFwibWVkaXVtXCJcbl07XG5leHBvcnQgdHlwZSBUYWJzQmFyU2l6ZSA9ICh0eXBlb2YgVEFCU19CQVJfU0laRVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFRBQlNfQkFSX1dFSUdIVFM6IHJlYWRvbmx5IFtcblx0XCJyZWd1bGFyXCIsXG5cdFwic2VtaS1ib2xkXCIsXG5cdFwic2VtaWJvbGRcIlxuXTtcbmV4cG9ydCB0eXBlIFRhYnNCYXJXZWlnaHQgPSAodHlwZW9mIFRBQlNfQkFSX1dFSUdIVFMpW251bWJlcl07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFRhYnNCYXJVcGRhdGVFdmVudCA9IHtcblx0YWN0aXZlVGFiSW5kZXg6IG51bWJlcjtcbn07XG5leHBvcnQgdHlwZSBUYWJzQmFyVXBkYXRlRXZlbnREZXRhaWwgPSBUYWJzQmFyVXBkYXRlRXZlbnQ7XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFRhYnNCYXJHcmFkaWVudENvbG9yU2NoZW1lID0gU2Nyb2xsZXJHcmFkaWVudENvbG9yU2NoZW1lO1xuZXhwb3J0IHR5cGUgVGFic0JhckdyYWRpZW50Q29sb3IgPSBTY3JvbGxlckdyYWRpZW50Q29sb3I7XG5leHBvcnQgdHlwZSBUYWJzU2l6ZSA9IFRhYnNCYXJTaXplO1xuZXhwb3J0IHR5cGUgVGFic1dlaWdodCA9IFRhYnNCYXJXZWlnaHQ7XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFRhYnNHcmFkaWVudENvbG9yU2NoZW1lID0gVGFic0JhckdyYWRpZW50Q29sb3JTY2hlbWU7XG5leHBvcnQgdHlwZSBUYWJzR3JhZGllbnRDb2xvciA9IFRhYnNCYXJHcmFkaWVudENvbG9yO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBUYWJzVXBkYXRlRXZlbnQgPSBUYWJzQmFyVXBkYXRlRXZlbnQ7XG5leHBvcnQgdHlwZSBUYWJzVXBkYXRlRXZlbnREZXRhaWwgPSBUYWJzVXBkYXRlRXZlbnQ7XG5kZWNsYXJlIGNvbnN0IFRBR19ESVNNSVNTSUJMRV9DT0xPUlM6IHJlYWRvbmx5IFtcblx0XCJiYWNrZ3JvdW5kLWJhc2VcIixcblx0XCJiYWNrZ3JvdW5kLXN1cmZhY2VcIixcblx0XCJiYWNrZ3JvdW5kLWRlZmF1bHRcIlxuXTtcbmV4cG9ydCB0eXBlIFRhZ0Rpc21pc3NpYmxlQ29sb3IgPSB0eXBlb2YgVEFHX0RJU01JU1NJQkxFX0NPTE9SU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBUQUdfRElTTUlTU0lCTEVfQVJJQV9BVFRSSUJVVEVTOiByZWFkb25seSBbXG5cdFwiYXJpYS1sYWJlbFwiXG5dO1xuZXhwb3J0IHR5cGUgVGFnRGlzbWlzc2libGVBcmlhQXR0cmlidXRlID0gdHlwZW9mIFRBR19ESVNNSVNTSUJMRV9BUklBX0FUVFJJQlVURVNbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFRhZ0ljb24gPSBJY29uTmFtZTtcbmRlY2xhcmUgY29uc3QgVEFHX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcImJhY2tncm91bmQtYmFzZVwiLFxuXHRcImJhY2tncm91bmQtc3VyZmFjZVwiLFxuXHRcImJhY2tncm91bmQtZGVmYXVsdFwiLFxuXHRcInByaW1hcnlcIixcblx0XCJub3RpZmljYXRpb24taW5mby1zb2Z0XCIsXG5cdFwibm90aWZpY2F0aW9uLXdhcm5pbmctc29mdFwiLFxuXHRcIm5vdGlmaWNhdGlvbi1zdWNjZXNzLXNvZnRcIixcblx0XCJub3RpZmljYXRpb24tZXJyb3Itc29mdFwiLFxuXHRcIm5ldXRyYWwtY29udHJhc3QtaGlnaFwiLFxuXHRcIm5vdGlmaWNhdGlvbi1uZXV0cmFsXCIsXG5cdFwibm90aWZpY2F0aW9uLXdhcm5pbmdcIixcblx0XCJub3RpZmljYXRpb24tc3VjY2Vzc1wiLFxuXHRcIm5vdGlmaWNhdGlvbi1lcnJvclwiXG5dO1xuZXhwb3J0IHR5cGUgVGFnQ29sb3IgPSAodHlwZW9mIFRBR19DT0xPUlMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFRFWFRfVEFHUzogcmVhZG9ubHkgW1xuXHRcInBcIixcblx0XCJzcGFuXCIsXG5cdFwiZGl2XCIsXG5cdFwiYWRkcmVzc1wiLFxuXHRcImJsb2NrcXVvdGVcIixcblx0XCJmaWdjYXB0aW9uXCIsXG5cdFwiY2l0ZVwiLFxuXHRcInRpbWVcIixcblx0XCJsZWdlbmRcIlxuXTtcbmV4cG9ydCB0eXBlIFRleHRUYWcgPSAodHlwZW9mIFRFWFRfVEFHUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFRleHRBbGlnbiA9IFR5cG9ncmFwaHlBbGlnbjtcbmV4cG9ydCB0eXBlIFRleHRDb2xvciA9IFR5cG9ncmFwaHlUZXh0Q29sb3I7XG5leHBvcnQgdHlwZSBUZXh0V2VpZ2h0ID0gVHlwb2dyYXBoeVRleHRXZWlnaHQ7XG5kZWNsYXJlIGNvbnN0IFVOSVRfUE9TSVRJT05TOiByZWFkb25seSBbXG5cdFwicHJlZml4XCIsXG5cdFwic3VmZml4XCJcbl07XG5leHBvcnQgdHlwZSBUZXh0RmllbGRXcmFwcGVyVW5pdFBvc2l0aW9uID0gKHR5cGVvZiBVTklUX1BPU0lUSU9OUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFRleHRGaWVsZFdyYXBwZXJBY3Rpb25JY29uID0gRXh0cmFjdDxJY29uTmFtZSwgXCJsb2NhdGVcIj47XG5leHBvcnQgdHlwZSBUZXh0RmllbGRXcmFwcGVyU3RhdGUgPSBGb3JtU3RhdGU7XG5kZWNsYXJlIGNvbnN0IExJU1RfVFlQRVM6IHJlYWRvbmx5IFtcblx0XCJ1bm9yZGVyZWRcIixcblx0XCJvcmRlcmVkXCJcbl07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFRleHRMaXN0TGlzdFR5cGUgPSB0eXBlb2YgTElTVF9UWVBFU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBPUkRFUl9UWVBFUzogcmVhZG9ubHkgW1xuXHRcIm51bWJlcmVkXCIsXG5cdFwiYWxwaGFiZXRpY2FsbHlcIlxuXTtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgVGV4dExpc3RPcmRlclR5cGUgPSB0eXBlb2YgT1JERVJfVFlQRVNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVEVYVF9MSVNUX1RZUEVTOiByZWFkb25seSBbXG5cdFwidW5vcmRlcmVkXCIsXG5cdFwibnVtYmVyZWRcIixcblx0XCJhbHBoYWJldGljYWxseVwiXG5dO1xuZXhwb3J0IHR5cGUgVGV4dExpc3RUeXBlID0gdHlwZW9mIFRFWFRfTElTVF9UWVBFU1tudW1iZXJdO1xuZXhwb3J0IHR5cGUgVGV4dGFyZWFXcmFwcGVyU3RhdGUgPSBGb3JtU3RhdGU7XG5kZWNsYXJlIGNvbnN0IFRPQVNUX1NUQVRFUzogcmVhZG9ubHkgW1xuXHRcImluZm9cIixcblx0XCJzdWNjZXNzXCIsXG5cdFwibmV1dHJhbFwiXG5dO1xuZXhwb3J0IHR5cGUgVG9hc3RTdGF0ZSA9IHR5cGVvZiBUT0FTVF9TVEFURVNbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFRvYXN0TWVzc2FnZSA9IHtcblx0dGV4dDogc3RyaW5nO1xuXHRzdGF0ZT86IFRvYXN0U3RhdGU7XG59O1xuZGVjbGFyZSBjb25zdCBXT1JETUFSS19TSVpFUzogcmVhZG9ubHkgW1xuXHRcInNtYWxsXCIsXG5cdFwiaW5oZXJpdFwiXG5dO1xuZXhwb3J0IHR5cGUgV29yZG1hcmtTaXplID0gKHR5cGVvZiBXT1JETUFSS19TSVpFUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFdvcmRtYXJrVGFyZ2V0ID0gTGlua1RhcmdldDtcbmV4cG9ydCB0eXBlIFdvcmRtYXJrQXJpYUF0dHJpYnV0ZSA9IExpbmtBcmlhQXR0cmlidXRlO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXdyYXBwZXIvc3JjL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyogQXV0byBHZW5lcmF0ZWQgQmVsb3cgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9xdW90ZXMgKi9cbmV4cG9ydCB0eXBlIEJvb2xlYW5pc2ggPSBib29sZWFuIHwgXCJ0cnVlXCIgfCBcImZhbHNlXCI7XG5leHBvcnQgdHlwZSBBcmlhQXR0cmlidXRlcyA9IHtcblx0LyoqIElkZW50aWZpZXMgdGhlIGN1cnJlbnRseSBhY3RpdmUgZWxlbWVudCB3aGVuIERPTSBmb2N1cyBpcyBvbiBhIGNvbXBvc2l0ZSB3aWRnZXQsIHRleHRib3gsIGdyb3VwLCBvciBhcHBsaWNhdGlvbi4gKi9cblx0XCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnRcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqIEluZGljYXRlcyB3aGV0aGVyIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXMgd2lsbCBwcmVzZW50IGFsbCwgb3Igb25seSBwYXJ0cyBvZiwgdGhlIGNoYW5nZWQgcmVnaW9uIGJhc2VkIG9uIHRoZSBjaGFuZ2Ugbm90aWZpY2F0aW9ucyBkZWZpbmVkIGJ5IHRoZSBhcmlhLXJlbGV2YW50IGF0dHJpYnV0ZS4gKi9cblx0XCJhcmlhLWF0b21pY1wiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB3aGV0aGVyIGlucHV0dGluZyB0ZXh0IGNvdWxkIHRyaWdnZXIgZGlzcGxheSBvZiBvbmUgb3IgbW9yZSBwcmVkaWN0aW9ucyBvZiB0aGUgdXNlcidzIGludGVuZGVkIHZhbHVlIGZvciBhbiBpbnB1dCBhbmQgc3BlY2lmaWVzIGhvdyBwcmVkaWN0aW9ucyB3b3VsZCBiZVxuXHQgKiBwcmVzZW50ZWQgaWYgdGhleSBhcmUgbWFkZS5cblx0ICovXG5cdFwiYXJpYS1hdXRvY29tcGxldGVcIj86IFwibm9uZVwiIHwgXCJpbmxpbmVcIiB8IFwibGlzdFwiIHwgXCJib3RoXCIgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgYW4gZWxlbWVudCBpcyBiZWluZyBtb2RpZmllZCBhbmQgdGhhdCBhc3Npc3RpdmUgdGVjaG5vbG9naWVzIE1BWSB3YW50IHRvIHdhaXQgdW50aWwgdGhlIG1vZGlmaWNhdGlvbnMgYXJlIGNvbXBsZXRlIGJlZm9yZSBleHBvc2luZyB0aGVtIHRvIHRoZSB1c2VyLiAqL1xuXHQvKipcblx0ICogRGVmaW5lcyBhIHN0cmluZyB2YWx1ZSB0aGF0IGxhYmVscyB0aGUgY3VycmVudCBlbGVtZW50LCB3aGljaCBpcyBpbnRlbmRlZCB0byBiZSBjb252ZXJ0ZWQgaW50byBCcmFpbGxlLlxuXHQgKiBAc2VlIGFyaWEtbGFiZWwuXG5cdCAqL1xuXHRcImFyaWEtYnJhaWxsZWxhYmVsXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGEgaHVtYW4tcmVhZGFibGUsIGF1dGhvci1sb2NhbGl6ZWQgYWJicmV2aWF0ZWQgZGVzY3JpcHRpb24gZm9yIHRoZSByb2xlIG9mIGFuIGVsZW1lbnQsIHdoaWNoIGlzIGludGVuZGVkIHRvIGJlIGNvbnZlcnRlZCBpbnRvIEJyYWlsbGUuXG5cdCAqIEBzZWUgYXJpYS1yb2xlZGVzY3JpcHRpb24uXG5cdCAqL1xuXHRcImFyaWEtYnJhaWxsZXJvbGVkZXNjcmlwdGlvblwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHRcImFyaWEtYnVzeVwiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB0aGUgY3VycmVudCBcImNoZWNrZWRcIiBzdGF0ZSBvZiBjaGVja2JveGVzLCByYWRpbyBidXR0b25zLCBhbmQgb3RoZXIgd2lkZ2V0cy5cblx0ICogQHNlZSBhcmlhLXByZXNzZWQgQHNlZSBhcmlhLXNlbGVjdGVkLlxuXHQgKi9cblx0XCJhcmlhLWNoZWNrZWRcIj86IGJvb2xlYW4gfCBcImZhbHNlXCIgfCBcIm1peGVkXCIgfCBcInRydWVcIiB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIGEgdGFibGUsIGdyaWQsIG9yIHRyZWVncmlkLlxuXHQgKiBAc2VlIGFyaWEtY29saW5kZXguXG5cdCAqL1xuXHRcImFyaWEtY29sY291bnRcIj86IG51bWJlciB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgYW4gZWxlbWVudCdzIGNvbHVtbiBpbmRleCBvciBwb3NpdGlvbiB3aXRoIHJlc3BlY3QgdG8gdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIHdpdGhpbiBhIHRhYmxlLCBncmlkLCBvciB0cmVlZ3JpZC5cblx0ICogQHNlZSBhcmlhLWNvbGNvdW50IEBzZWUgYXJpYS1jb2xzcGFuLlxuXHQgKi9cblx0XCJhcmlhLWNvbGluZGV4XCI/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGEgaHVtYW4gcmVhZGFibGUgdGV4dCBhbHRlcm5hdGl2ZSBvZiBhcmlhLWNvbGluZGV4LlxuXHQgKiBAc2VlIGFyaWEtcm93aW5kZXh0ZXh0LlxuXHQgKi9cblx0XCJhcmlhLWNvbGluZGV4dGV4dFwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgc3Bhbm5lZCBieSBhIGNlbGwgb3IgZ3JpZGNlbGwgd2l0aGluIGEgdGFibGUsIGdyaWQsIG9yIHRyZWVncmlkLlxuXHQgKiBAc2VlIGFyaWEtY29saW5kZXggQHNlZSBhcmlhLXJvd3NwYW4uXG5cdCAqL1xuXHRcImFyaWEtY29sc3BhblwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSWRlbnRpZmllcyB0aGUgZWxlbWVudCAob3IgZWxlbWVudHMpIHdob3NlIGNvbnRlbnRzIG9yIHByZXNlbmNlIGFyZSBjb250cm9sbGVkIGJ5IHRoZSBjdXJyZW50IGVsZW1lbnQuXG5cdCAqIEBzZWUgYXJpYS1vd25zLlxuXHQgKi9cblx0XCJhcmlhLWNvbnRyb2xzXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgdGhlIGVsZW1lbnQgdGhhdCByZXByZXNlbnRzIHRoZSBjdXJyZW50IGl0ZW0gd2l0aGluIGEgY29udGFpbmVyIG9yIHNldCBvZiByZWxhdGVkIGVsZW1lbnRzLiAqL1xuXHRcImFyaWEtY3VycmVudFwiPzogYm9vbGVhbiB8IFwiZmFsc2VcIiB8IFwidHJ1ZVwiIHwgXCJwYWdlXCIgfCBcInN0ZXBcIiB8IFwibG9jYXRpb25cIiB8IFwiZGF0ZVwiIHwgXCJ0aW1lXCIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJZGVudGlmaWVzIHRoZSBlbGVtZW50IChvciBlbGVtZW50cykgdGhhdCBkZXNjcmliZXMgdGhlIG9iamVjdC5cblx0ICogQHNlZSBhcmlhLWxhYmVsbGVkYnlcblx0ICovXG5cdFwiYXJpYS1kZXNjcmliZWRieVwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyBhIHN0cmluZyB2YWx1ZSB0aGF0IGRlc2NyaWJlcyBvciBhbm5vdGF0ZXMgdGhlIGN1cnJlbnQgZWxlbWVudC5cblx0ICogQHNlZSByZWxhdGVkIGFyaWEtZGVzY3JpYmVkYnkuXG5cdCAqL1xuXHRcImFyaWEtZGVzY3JpcHRpb25cIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIElkZW50aWZpZXMgdGhlIGVsZW1lbnQgdGhhdCBwcm92aWRlcyBhIGRldGFpbGVkLCBleHRlbmRlZCBkZXNjcmlwdGlvbiBmb3IgdGhlIG9iamVjdC5cblx0ICogQHNlZSBhcmlhLWRlc2NyaWJlZGJ5LlxuXHQgKi9cblx0XCJhcmlhLWRldGFpbHNcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB0aGF0IHRoZSBlbGVtZW50IGlzIHBlcmNlaXZhYmxlIGJ1dCBkaXNhYmxlZCwgc28gaXQgaXMgbm90IGVkaXRhYmxlIG9yIG90aGVyd2lzZSBvcGVyYWJsZS5cblx0ICogQHNlZSBhcmlhLWhpZGRlbiBAc2VlIGFyaWEtcmVhZG9ubHkuXG5cdCAqL1xuXHRcImFyaWEtZGlzYWJsZWRcIj86IEJvb2xlYW5pc2ggfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgd2hhdCBmdW5jdGlvbnMgY2FuIGJlIHBlcmZvcm1lZCB3aGVuIGEgZHJhZ2dlZCBvYmplY3QgaXMgcmVsZWFzZWQgb24gdGhlIGRyb3AgdGFyZ2V0LlxuXHQgKiBAZGVwcmVjYXRlZCBpbiBBUklBIDEuMVxuXHQgKi9cblx0XCJhcmlhLWRyb3BlZmZlY3RcIj86IFwibm9uZVwiIHwgXCJjb3B5XCIgfCBcImV4ZWN1dGVcIiB8IFwibGlua1wiIHwgXCJtb3ZlXCIgfCBcInBvcHVwXCIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJZGVudGlmaWVzIHRoZSBlbGVtZW50IHRoYXQgcHJvdmlkZXMgYW4gZXJyb3IgbWVzc2FnZSBmb3IgdGhlIG9iamVjdC5cblx0ICogQHNlZSBhcmlhLWludmFsaWQgQHNlZSBhcmlhLWRlc2NyaWJlZGJ5LlxuXHQgKi9cblx0XCJhcmlhLWVycm9ybWVzc2FnZVwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGVsZW1lbnQsIG9yIGFub3RoZXIgZ3JvdXBpbmcgZWxlbWVudCBpdCBjb250cm9scywgaXMgY3VycmVudGx5IGV4cGFuZGVkIG9yIGNvbGxhcHNlZC4gKi9cblx0XCJhcmlhLWV4cGFuZGVkXCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSWRlbnRpZmllcyB0aGUgbmV4dCBlbGVtZW50IChvciBlbGVtZW50cykgaW4gYW4gYWx0ZXJuYXRlIHJlYWRpbmcgb3JkZXIgb2YgY29udGVudCB3aGljaCwgYXQgdGhlIHVzZXIncyBkaXNjcmV0aW9uLFxuXHQgKiBhbGxvd3MgYXNzaXN0aXZlIHRlY2hub2xvZ3kgdG8gb3ZlcnJpZGUgdGhlIGdlbmVyYWwgZGVmYXVsdCBvZiByZWFkaW5nIGluIGRvY3VtZW50IHNvdXJjZSBvcmRlci5cblx0ICovXG5cdFwiYXJpYS1mbG93dG9cIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyBhbiBlbGVtZW50J3MgXCJncmFiYmVkXCIgc3RhdGUgaW4gYSBkcmFnLWFuZC1kcm9wIG9wZXJhdGlvbi5cblx0ICogQGRlcHJlY2F0ZWQgaW4gQVJJQSAxLjFcblx0ICovXG5cdFwiYXJpYS1ncmFiYmVkXCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHRoZSBhdmFpbGFiaWxpdHkgYW5kIHR5cGUgb2YgaW50ZXJhY3RpdmUgcG9wdXAgZWxlbWVudCwgc3VjaCBhcyBtZW51IG9yIGRpYWxvZywgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGFuIGVsZW1lbnQuICovXG5cdFwiYXJpYS1oYXNwb3B1cFwiPzogYm9vbGVhbiB8IFwiZmFsc2VcIiB8IFwidHJ1ZVwiIHwgXCJtZW51XCIgfCBcImxpc3Rib3hcIiB8IFwidHJlZVwiIHwgXCJncmlkXCIgfCBcImRpYWxvZ1wiIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgZXhwb3NlZCB0byBhbiBhY2Nlc3NpYmlsaXR5IEFQSS5cblx0ICogQHNlZSBhcmlhLWRpc2FibGVkLlxuXHQgKi9cblx0XCJhcmlhLWhpZGRlblwiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB0aGUgZW50ZXJlZCB2YWx1ZSBkb2VzIG5vdCBjb25mb3JtIHRvIHRoZSBmb3JtYXQgZXhwZWN0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uLlxuXHQgKiBAc2VlIGFyaWEtZXJyb3JtZXNzYWdlLlxuXHQgKi9cblx0XCJhcmlhLWludmFsaWRcIj86IGJvb2xlYW4gfCBcImZhbHNlXCIgfCBcInRydWVcIiB8IFwiZ3JhbW1hclwiIHwgXCJzcGVsbGluZ1wiIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIGtleWJvYXJkIHNob3J0Y3V0cyB0aGF0IGFuIGF1dGhvciBoYXMgaW1wbGVtZW50ZWQgdG8gYWN0aXZhdGUgb3IgZ2l2ZSBmb2N1cyB0byBhbiBlbGVtZW50LiAqL1xuXHRcImFyaWEta2V5c2hvcnRjdXRzXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGEgc3RyaW5nIHZhbHVlIHRoYXQgbGFiZWxzIHRoZSBjdXJyZW50IGVsZW1lbnQuXG5cdCAqIEBzZWUgYXJpYS1sYWJlbGxlZGJ5LlxuXHQgKi9cblx0XCJhcmlhLWxhYmVsXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJZGVudGlmaWVzIHRoZSBlbGVtZW50IChvciBlbGVtZW50cykgdGhhdCBsYWJlbHMgdGhlIGN1cnJlbnQgZWxlbWVudC5cblx0ICogQHNlZSBhcmlhLWRlc2NyaWJlZGJ5LlxuXHQgKi9cblx0XCJhcmlhLWxhYmVsbGVkYnlcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqIERlZmluZXMgdGhlIGhpZXJhcmNoaWNhbCBsZXZlbCBvZiBhbiBlbGVtZW50IHdpdGhpbiBhIHN0cnVjdHVyZS4gKi9cblx0XCJhcmlhLWxldmVsXCI/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgdGhhdCBhbiBlbGVtZW50IHdpbGwgYmUgdXBkYXRlZCwgYW5kIGRlc2NyaWJlcyB0aGUgdHlwZXMgb2YgdXBkYXRlcyB0aGUgdXNlciBhZ2VudHMsIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXMsIGFuZCB1c2VyIGNhbiBleHBlY3QgZnJvbSB0aGUgbGl2ZSByZWdpb24uICovXG5cdFwiYXJpYS1saXZlXCI/OiBcIm9mZlwiIHwgXCJhc3NlcnRpdmVcIiB8IFwicG9saXRlXCIgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgd2hldGhlciBhbiBlbGVtZW50IGlzIG1vZGFsIHdoZW4gZGlzcGxheWVkLiAqL1xuXHRcImFyaWEtbW9kYWxcIj86IEJvb2xlYW5pc2ggfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgd2hldGhlciBhIHRleHQgYm94IGFjY2VwdHMgbXVsdGlwbGUgbGluZXMgb2YgaW5wdXQgb3Igb25seSBhIHNpbmdsZSBsaW5lLiAqL1xuXHRcImFyaWEtbXVsdGlsaW5lXCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHRoYXQgdGhlIHVzZXIgbWF5IHNlbGVjdCBtb3JlIHRoYW4gb25lIGl0ZW0gZnJvbSB0aGUgY3VycmVudCBzZWxlY3RhYmxlIGRlc2NlbmRhbnRzLiAqL1xuXHRcImFyaWEtbXVsdGlzZWxlY3RhYmxlXCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGVsZW1lbnQncyBvcmllbnRhdGlvbiBpcyBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgb3IgdW5rbm93bi9hbWJpZ3VvdXMuICovXG5cdFwiYXJpYS1vcmllbnRhdGlvblwiPzogXCJob3Jpem9udGFsXCIgfCBcInZlcnRpY2FsXCIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJZGVudGlmaWVzIGFuIGVsZW1lbnQgKG9yIGVsZW1lbnRzKSBpbiBvcmRlciB0byBkZWZpbmUgYSB2aXN1YWwsIGZ1bmN0aW9uYWwsIG9yIGNvbnRleHR1YWwgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hpcFxuXHQgKiBiZXR3ZWVuIERPTSBlbGVtZW50cyB3aGVyZSB0aGUgRE9NIGhpZXJhcmNoeSBjYW5ub3QgYmUgdXNlZCB0byByZXByZXNlbnQgdGhlIHJlbGF0aW9uc2hpcC5cblx0ICogQHNlZSBhcmlhLWNvbnRyb2xzLlxuXHQgKi9cblx0XCJhcmlhLW93bnNcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgYSBzaG9ydCBoaW50IChhIHdvcmQgb3Igc2hvcnQgcGhyYXNlKSBpbnRlbmRlZCB0byBhaWQgdGhlIHVzZXIgd2l0aCBkYXRhIGVudHJ5IHdoZW4gdGhlIGNvbnRyb2wgaGFzIG5vIHZhbHVlLlxuXHQgKiBBIGhpbnQgY291bGQgYmUgYSBzYW1wbGUgdmFsdWUgb3IgYSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0XCJhcmlhLXBsYWNlaG9sZGVyXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGFuIGVsZW1lbnQncyBudW1iZXIgb3IgcG9zaXRpb24gaW4gdGhlIGN1cnJlbnQgc2V0IG9mIGxpc3RpdGVtcyBvciB0cmVlaXRlbXMuIE5vdCByZXF1aXJlZCBpZiBhbGwgZWxlbWVudHMgaW4gdGhlIHNldCBhcmUgcHJlc2VudCBpbiB0aGUgRE9NLlxuXHQgKiBAc2VlIGFyaWEtc2V0c2l6ZS5cblx0ICovXG5cdFwiYXJpYS1wb3NpbnNldFwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHRoZSBjdXJyZW50IFwicHJlc3NlZFwiIHN0YXRlIG9mIHRvZ2dsZSBidXR0b25zLlxuXHQgKiBAc2VlIGFyaWEtY2hlY2tlZCBAc2VlIGFyaWEtc2VsZWN0ZWQuXG5cdCAqL1xuXHRcImFyaWEtcHJlc3NlZFwiPzogYm9vbGVhbiB8IFwiZmFsc2VcIiB8IFwibWl4ZWRcIiB8IFwidHJ1ZVwiIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHRoYXQgdGhlIGVsZW1lbnQgaXMgbm90IGVkaXRhYmxlLCBidXQgaXMgb3RoZXJ3aXNlIG9wZXJhYmxlLlxuXHQgKiBAc2VlIGFyaWEtZGlzYWJsZWQuXG5cdCAqL1xuXHRcImFyaWEtcmVhZG9ubHlcIj86IEJvb2xlYW5pc2ggfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBJbmRpY2F0ZXMgd2hhdCBub3RpZmljYXRpb25zIHRoZSB1c2VyIGFnZW50IHdpbGwgdHJpZ2dlciB3aGVuIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUgd2l0aGluIGEgbGl2ZSByZWdpb24gaXMgbW9kaWZpZWQuXG5cdCAqIEBzZWUgYXJpYS1hdG9taWMuXG5cdCAqL1xuXHRcImFyaWEtcmVsZXZhbnRcIj86IFwiYWRkaXRpb25zXCIgfCBcImFkZGl0aW9ucyByZW1vdmFsc1wiIHwgXCJhZGRpdGlvbnMgdGV4dFwiIHwgXCJhbGxcIiB8IFwicmVtb3ZhbHNcIiB8IFwicmVtb3ZhbHMgYWRkaXRpb25zXCIgfCBcInJlbW92YWxzIHRleHRcIiB8IFwidGV4dFwiIHwgXCJ0ZXh0IGFkZGl0aW9uc1wiIHwgXCJ0ZXh0IHJlbW92YWxzXCIgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgdGhhdCB1c2VyIGlucHV0IGlzIHJlcXVpcmVkIG9uIHRoZSBlbGVtZW50IGJlZm9yZSBhIGZvcm0gbWF5IGJlIHN1Ym1pdHRlZC4gKi9cblx0XCJhcmlhLXJlcXVpcmVkXCI/OiBCb29sZWFuaXNoIHwgdW5kZWZpbmVkO1xuXHQvKiogRGVmaW5lcyBhIGh1bWFuLXJlYWRhYmxlLCBhdXRob3ItbG9jYWxpemVkIGRlc2NyaXB0aW9uIGZvciB0aGUgcm9sZSBvZiBhbiBlbGVtZW50LiAqL1xuXHRcImFyaWEtcm9sZWRlc2NyaXB0aW9uXCI/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cyBpbiBhIHRhYmxlLCBncmlkLCBvciB0cmVlZ3JpZC5cblx0ICogQHNlZSBhcmlhLXJvd2luZGV4LlxuXHQgKi9cblx0XCJhcmlhLXJvd2NvdW50XCI/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIGFuIGVsZW1lbnQncyByb3cgaW5kZXggb3IgcG9zaXRpb24gd2l0aCByZXNwZWN0IHRvIHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cyB3aXRoaW4gYSB0YWJsZSwgZ3JpZCwgb3IgdHJlZWdyaWQuXG5cdCAqIEBzZWUgYXJpYS1yb3djb3VudCBAc2VlIGFyaWEtcm93c3Bhbi5cblx0ICovXG5cdFwiYXJpYS1yb3dpbmRleFwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKipcblx0ICogRGVmaW5lcyBhIGh1bWFuIHJlYWRhYmxlIHRleHQgYWx0ZXJuYXRpdmUgb2YgYXJpYS1yb3dpbmRleC5cblx0ICogQHNlZSBhcmlhLWNvbGluZGV4dGV4dC5cblx0ICovXG5cdFwiYXJpYS1yb3dpbmRleHRleHRcIj86IHN0cmluZyB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIG51bWJlciBvZiByb3dzIHNwYW5uZWQgYnkgYSBjZWxsIG9yIGdyaWRjZWxsIHdpdGhpbiBhIHRhYmxlLCBncmlkLCBvciB0cmVlZ3JpZC5cblx0ICogQHNlZSBhcmlhLXJvd2luZGV4IEBzZWUgYXJpYS1jb2xzcGFuLlxuXHQgKi9cblx0XCJhcmlhLXJvd3NwYW5cIj86IG51bWJlciB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB0aGUgY3VycmVudCBcInNlbGVjdGVkXCIgc3RhdGUgb2YgdmFyaW91cyB3aWRnZXRzLlxuXHQgKiBAc2VlIGFyaWEtY2hlY2tlZCBAc2VlIGFyaWEtcHJlc3NlZC5cblx0ICovXG5cdFwiYXJpYS1zZWxlY3RlZFwiPzogQm9vbGVhbmlzaCB8IHVuZGVmaW5lZDtcblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgY3VycmVudCBzZXQgb2YgbGlzdGl0ZW1zIG9yIHRyZWVpdGVtcy4gTm90IHJlcXVpcmVkIGlmIGFsbCBlbGVtZW50cyBpbiB0aGUgc2V0IGFyZSBwcmVzZW50IGluIHRoZSBET00uXG5cdCAqIEBzZWUgYXJpYS1wb3NpbnNldC5cblx0ICovXG5cdFwiYXJpYS1zZXRzaXplXCI/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdC8qKiBJbmRpY2F0ZXMgaWYgaXRlbXMgaW4gYSB0YWJsZSBvciBncmlkIGFyZSBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcgb3JkZXIuICovXG5cdFwiYXJpYS1zb3J0XCI/OiBcIm5vbmVcIiB8IFwiYXNjZW5kaW5nXCIgfCBcImRlc2NlbmRpbmdcIiB8IFwib3RoZXJcIiB8IHVuZGVmaW5lZDtcblx0LyoqIERlZmluZXMgdGhlIG1heGltdW0gYWxsb3dlZCB2YWx1ZSBmb3IgYSByYW5nZSB3aWRnZXQuICovXG5cdFwiYXJpYS12YWx1ZW1heFwiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKiogRGVmaW5lcyB0aGUgbWluaW11bSBhbGxvd2VkIHZhbHVlIGZvciBhIHJhbmdlIHdpZGdldC4gKi9cblx0XCJhcmlhLXZhbHVlbWluXCI/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBjdXJyZW50IHZhbHVlIGZvciBhIHJhbmdlIHdpZGdldC5cblx0ICogQHNlZSBhcmlhLXZhbHVldGV4dC5cblx0ICovXG5cdFwiYXJpYS12YWx1ZW5vd1wiPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXHQvKiogRGVmaW5lcyB0aGUgaHVtYW4gcmVhZGFibGUgdGV4dCBhbHRlcm5hdGl2ZSBvZiBhcmlhLXZhbHVlbm93IGZvciBhIHJhbmdlIHdpZGdldC4gKi9cblx0XCJhcmlhLXZhbHVldGV4dFwiPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXHQvKiogQWxsIHRoZSBXQUktQVJJQSAxLjEgcm9sZSBhdHRyaWJ1dGUgdmFsdWVzIGZyb20gaHR0cHM6Ly93My5vcmcvVFIvd2FpLWFyaWEtMS4xLyNyb2xlX2RlZmluaXRpb25zICovXG5cdHJvbGU/OiBBcmlhUm9sZTtcbn07XG5leHBvcnQgdHlwZSBBcmlhUm9sZSA9IFwiYWxlcnRcIiB8IFwiYWxlcnRkaWFsb2dcIiB8IFwiYXBwbGljYXRpb25cIiB8IFwiYXJ0aWNsZVwiIHwgXCJiYW5uZXJcIiB8IFwiYnV0dG9uXCIgfCBcImNlbGxcIiB8IFwiY2hlY2tib3hcIiB8IFwiY29sdW1uaGVhZGVyXCIgfCBcImNvbWJvYm94XCIgfCBcImNvbXBsZW1lbnRhcnlcIiB8IFwiY29udGVudGluZm9cIiB8IFwiZGVmaW5pdGlvblwiIHwgXCJkaWFsb2dcIiB8IFwiZGlyZWN0b3J5XCIgfCBcImRvY3VtZW50XCIgfCBcImZlZWRcIiB8IFwiZmlndXJlXCIgfCBcImZvcm1cIiB8IFwiZ3JpZFwiIHwgXCJncmlkY2VsbFwiIHwgXCJncm91cFwiIHwgXCJoZWFkaW5nXCIgfCBcImltZ1wiIHwgXCJsaW5rXCIgfCBcImxpc3RcIiB8IFwibGlzdGJveFwiIHwgXCJsaXN0aXRlbVwiIHwgXCJsb2dcIiB8IFwibWFpblwiIHwgXCJtYXJxdWVlXCIgfCBcIm1hdGhcIiB8IFwibWVudVwiIHwgXCJtZW51YmFyXCIgfCBcIm1lbnVpdGVtXCIgfCBcIm1lbnVpdGVtY2hlY2tib3hcIiB8IFwibWVudWl0ZW1yYWRpb1wiIHwgXCJuYXZpZ2F0aW9uXCIgfCBcIm5vbmVcIiB8IFwibm90ZVwiIHwgXCJvcHRpb25cIiB8IFwicHJlc2VudGF0aW9uXCIgfCBcInByb2dyZXNzYmFyXCIgfCBcInJhZGlvXCIgfCBcInJhZGlvZ3JvdXBcIiB8IFwicmVnaW9uXCIgfCBcInJvd1wiIHwgXCJyb3dncm91cFwiIHwgXCJyb3doZWFkZXJcIiB8IFwic2Nyb2xsYmFyXCIgfCBcInNlYXJjaFwiIHwgXCJzZWFyY2hib3hcIiB8IFwic2VwYXJhdG9yXCIgfCBcInNsaWRlclwiIHwgXCJzcGluYnV0dG9uXCIgfCBcInN0YXR1c1wiIHwgXCJzd2l0Y2hcIiB8IFwidGFiXCIgfCBcInRhYmxlXCIgfCBcInRhYmxpc3RcIiB8IFwidGFicGFuZWxcIiB8IFwidGVybVwiIHwgXCJ0ZXh0Ym94XCIgfCBcInRpbWVyXCIgfCBcInRvb2xiYXJcIiB8IFwidG9vbHRpcFwiIHwgXCJ0cmVlXCIgfCBcInRyZWVncmlkXCIgfCBcInRyZWVpdGVtXCI7XG5kZWNsYXJlIGNvbnN0IElDT05fTkFNRVM6IHJlYWRvbmx5IFtcblx0XCIzNjBcIixcblx0XCJhY2Nlc3NpYmlsaXR5XCIsXG5cdFwiYWN0aXZlLWNhYmluLXZlbnRpbGF0aW9uXCIsXG5cdFwiYWRkXCIsXG5cdFwiYWRqdXN0XCIsXG5cdFwiYXJyb3ctZG91YmxlLWRvd25cIixcblx0XCJhcnJvdy1kb3VibGUtbGVmdFwiLFxuXHRcImFycm93LWRvdWJsZS1yaWdodFwiLFxuXHRcImFycm93LWRvdWJsZS11cFwiLFxuXHRcImFycm93LWRvd25cIixcblx0XCJhcnJvdy1maXJzdFwiLFxuXHRcImFycm93LWhlYWQtZG93blwiLFxuXHRcImFycm93LWhlYWQtbGVmdFwiLFxuXHRcImFycm93LWhlYWQtcmlnaHRcIixcblx0XCJhcnJvdy1oZWFkLXVwXCIsXG5cdFwiYXJyb3ctbGFzdFwiLFxuXHRcImFycm93LWxlZnRcIixcblx0XCJhcnJvdy1yaWdodFwiLFxuXHRcImFycm93LXVwXCIsXG5cdFwiYXVnbWVudGVkLXJlYWxpdHlcIixcblx0XCJiYXR0ZXJ5LWVtcHR5XCIsXG5cdFwiYmF0dGVyeS1lbXB0eS1jbzJcIixcblx0XCJiYXR0ZXJ5LWVtcHR5LWZ1ZWxcIixcblx0XCJiYXR0ZXJ5LWZ1bGxcIixcblx0XCJiZWxsXCIsXG5cdFwiYm9va21hcmtcIixcblx0XCJib29rbWFyay1maWxsZWRcIixcblx0XCJicm9hZGNhc3RcIixcblx0XCJjYWxjdWxhdG9yXCIsXG5cdFwiY2FsZW5kYXJcIixcblx0XCJjYW1lcmFcIixcblx0XCJjYXJcIixcblx0XCJjYXItYmF0dGVyeVwiLFxuXHRcImNhcmRcIixcblx0XCJjaGFyZ2luZy1hY3RpdmVcIixcblx0XCJjaGFyZ2luZy1zdGF0ZVwiLFxuXHRcImNoYXJnaW5nLXN0YXRpb25cIixcblx0XCJjaGFydFwiLFxuXHRcImNoYXRcIixcblx0XCJjaGVja1wiLFxuXHRcImNpdHlcIixcblx0XCJjbGltYXRlXCIsXG5cdFwiY2xpbWF0ZS1jb250cm9sXCIsXG5cdFwiY2xvY2tcIixcblx0XCJjbG9zZVwiLFxuXHRcImNsb3NlZC1jYXB0aW9uXCIsXG5cdFwiY28yLWNsYXNzXCIsXG5cdFwiY28yLWVtaXNzaW9uXCIsXG5cdFwiY29tcGFyZVwiLFxuXHRcImNvbmZpZ3VyYXRlXCIsXG5cdFwiY29weVwiLFxuXHRcImNvdW50cnktcm9hZFwiLFxuXHRcImN1YmljLWNhcGFjaXR5XCIsXG5cdFwiZGVsZXRlXCIsXG5cdFwiZGlzYWJsZVwiLFxuXHRcImRvY3VtZW50XCIsXG5cdFwiZG93bmxvYWRcIixcblx0XCJkdXJhdGlvblwiLFxuXHRcImVkaXRcIixcblx0XCJlbWFpbFwiLFxuXHRcImVycm9yLWZpbGxlZFwiLFxuXHRcImV4Y2xhbWF0aW9uXCIsXG5cdFwiZXh0ZXJuYWxcIixcblx0XCJmaWx0ZXJcIixcblx0XCJmaW5nZXJwcmludFwiLFxuXHRcImZsYXNoXCIsXG5cdFwiZnVlbC1zdGF0aW9uXCIsXG5cdFwiZ2FyYWdlXCIsXG5cdFwiZ2lmdFwiLFxuXHRcImdsb2JlXCIsXG5cdFwiZ3JpZFwiLFxuXHRcImhlYXJ0XCIsXG5cdFwiaGVhcnQtZmlsbGVkXCIsXG5cdFwiaGlnaHdheVwiLFxuXHRcImhvbWVcIixcblx0XCJob3JuXCIsXG5cdFwiaW1hZ2VcIixcblx0XCJpbmNyZWFzZVwiLFxuXHRcImluZm9ybWF0aW9uXCIsXG5cdFwiaW5mb3JtYXRpb24tZmlsbGVkXCIsXG5cdFwia2V5XCIsXG5cdFwibGVhZlwiLFxuXHRcImxlYXRoZXJcIixcblx0XCJsaWdodFwiLFxuXHRcImxpc3RcIixcblx0XCJsb2NhdGVcIixcblx0XCJsb2NrXCIsXG5cdFwibG9jay1vcGVuXCIsXG5cdFwibG9nby1hcHBsZS1wb2RjYXN0XCIsXG5cdFwibG9nby1iYWlkdVwiLFxuXHRcImxvZ28tZGVsaWNpb3VzXCIsXG5cdFwibG9nby1kaWdnXCIsXG5cdFwibG9nby1mYWNlYm9va1wiLFxuXHRcImxvZ28tZm91cnNxdWFyZVwiLFxuXHRcImxvZ28tZ21haWxcIixcblx0XCJsb2dvLWdvb2dsZVwiLFxuXHRcImxvZ28taGF0ZW5hXCIsXG5cdFwibG9nby1pbnN0YWdyYW1cIixcblx0XCJsb2dvLWthaXhpblwiLFxuXHRcImxvZ28ta2FrYW90YWxrXCIsXG5cdFwibG9nby1saW5rZWRpblwiLFxuXHRcImxvZ28tbmF2ZXJcIixcblx0XCJsb2dvLXBpbnRlcmVzdFwiLFxuXHRcImxvZ28tcXFcIixcblx0XCJsb2dvLXFxLXNoYXJlXCIsXG5cdFwibG9nby1yZWRkaXRcIixcblx0XCJsb2dvLXNreXJvY2tcIixcblx0XCJsb2dvLXNvaHVcIixcblx0XCJsb2dvLXNwb3RpZnlcIixcblx0XCJsb2dvLXRlY2VudFwiLFxuXHRcImxvZ28tdGVsZWdyYW1cIixcblx0XCJsb2dvLXRpa3Rva1wiLFxuXHRcImxvZ28tdHVtYmxyXCIsXG5cdFwibG9nby10d2l0dGVyXCIsXG5cdFwibG9nby12aWJlclwiLFxuXHRcImxvZ28tdmtcIixcblx0XCJsb2dvLXdlY2hhdFwiLFxuXHRcImxvZ28td2VpYm9cIixcblx0XCJsb2dvLXdoYXRzYXBwXCIsXG5cdFwibG9nby14XCIsXG5cdFwibG9nby14aW5nXCIsXG5cdFwibG9nby15YWhvb1wiLFxuXHRcImxvZ28teW91a3VcIixcblx0XCJsb2dvLXlvdXR1YmVcIixcblx0XCJsb2dvdXRcIixcblx0XCJtYXBcIixcblx0XCJtZW51LWRvdHMtaG9yaXpvbnRhbFwiLFxuXHRcIm1lbnUtZG90cy12ZXJ0aWNhbFwiLFxuXHRcIm1lbnUtbGluZXNcIixcblx0XCJtaW51c1wiLFxuXHRcIm1vYmlsZVwiLFxuXHRcIm1vb25cIixcblx0XCJvaWwtY2FuXCIsXG5cdFwicGFya2luZy1icmFrZVwiLFxuXHRcInBhcmtpbmctbGlnaHRcIixcblx0XCJwYXVzZVwiLFxuXHRcInBob25lXCIsXG5cdFwicGluXCIsXG5cdFwicGluLWZpbGxlZFwiLFxuXHRcInBsYXlcIixcblx0XCJwbHVnXCIsXG5cdFwicGx1c1wiLFxuXHRcInByZWhlYXRpbmdcIixcblx0XCJwcmludGVyXCIsXG5cdFwicHVyY2hhc2VcIixcblx0XCJwdXNoLXBpblwiLFxuXHRcInB1c2gtcGluLW9mZlwiLFxuXHRcInFyXCIsXG5cdFwicXVlc3Rpb25cIixcblx0XCJyYWNpbmctZmxhZ1wiLFxuXHRcInJlZnJlc2hcIixcblx0XCJyZXBsYXlcIixcblx0XCJyZXNldFwiLFxuXHRcInJvb2YtY2xvc2VkXCIsXG5cdFwicm9vZi1vcGVuXCIsXG5cdFwicm91dGVcIixcblx0XCJyc3NcIixcblx0XCJzYXZlXCIsXG5cdFwic2NyZWVuXCIsXG5cdFwic2VhcmNoXCIsXG5cdFwic2VuZFwiLFxuXHRcInNoYXJlXCIsXG5cdFwic2hvcHBpbmctYmFnXCIsXG5cdFwic2hvcHBpbmctYmFnLWZpbGxlZFwiLFxuXHRcInNob3BwaW5nLWNhcnRcIixcblx0XCJzaG9wcGluZy1jYXJ0LWZpbGxlZFwiLFxuXHRcInNpZGVsaWdodHNcIixcblx0XCJzbm93Zmxha2VcIixcblx0XCJzb3J0XCIsXG5cdFwic3RhY2tcIixcblx0XCJzdGFyXCIsXG5cdFwic3Rhci1maWxsZWRcIixcblx0XCJzdGVlcmluZy13aGVlbFwiLFxuXHRcInN0b3B3YXRjaFwiLFxuXHRcInN1YnRyYWN0XCIsXG5cdFwic3VjY2Vzc1wiLFxuXHRcInN1Y2Nlc3MtZmlsbGVkXCIsXG5cdFwic3VuXCIsXG5cdFwic3dpdGNoXCIsXG5cdFwidGFibGV0XCIsXG5cdFwidGFjaG9tZXRlclwiLFxuXHRcInRpcmVcIixcblx0XCJ0cnVja1wiLFxuXHRcInVwbG9hZFwiLFxuXHRcInVzZXJcIixcblx0XCJ1c2VyLWZpbGxlZFwiLFxuXHRcInVzZXItZ3JvdXBcIixcblx0XCJ1c2VyLW1hbnVhbFwiLFxuXHRcInZpZGVvXCIsXG5cdFwidmlld1wiLFxuXHRcInZpZXctb2ZmXCIsXG5cdFwidm9sdW1lLW9mZlwiLFxuXHRcInZvbHVtZS11cFwiLFxuXHRcIndhcm5pbmdcIixcblx0XCJ3YXJuaW5nLWZpbGxlZFwiLFxuXHRcIndlaWdodFwiLFxuXHRcIndpZmlcIixcblx0XCJ3b3JrXCIsXG5cdFwid3JlbmNoXCIsXG5cdFwid3JlbmNoZXNcIixcblx0XCJ6b29tLWluXCIsXG5cdFwiem9vbS1vdXRcIlxuXTtcbmV4cG9ydCB0eXBlIEljb25OYW1lID0gdHlwZW9mIElDT05fTkFNRVNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRk9STV9TVEFURVM6IHJlYWRvbmx5IFtcblx0XCJub25lXCIsXG5cdFwiZXJyb3JcIixcblx0XCJzdWNjZXNzXCJcbl07XG5leHBvcnQgdHlwZSBGb3JtU3RhdGUgPSB0eXBlb2YgRk9STV9TVEFURVNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgQlVUVE9OX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIixcblx0XCJhcmlhLWV4cGFuZGVkXCIsXG5cdFwiYXJpYS1wcmVzc2VkXCIsXG5cdFwiYXJpYS1oYXNwb3B1cFwiXG5dO1xuZXhwb3J0IHR5cGUgQnV0dG9uQXJpYUF0dHJpYnV0ZSA9IHR5cGVvZiBCVVRUT05fQVJJQV9BVFRSSUJVVEVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IExJTktfQVJJQV9BVFRSSUJVVEVTOiByZWFkb25seSBbXG5cdFwiYXJpYS1sYWJlbFwiLFxuXHRcImFyaWEtY3VycmVudFwiXG5dO1xuZXhwb3J0IHR5cGUgTGlua0FyaWFBdHRyaWJ1dGUgPSAodHlwZW9mIExJTktfQVJJQV9BVFRSSUJVVEVTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBicmVha3BvaW50czogcmVhZG9ubHkgW1xuXHRcImJhc2VcIixcblx0XCJ4c1wiLFxuXHRcInNcIixcblx0XCJtXCIsXG5cdFwibFwiLFxuXHRcInhsXCIsXG5cdFwieHhsXCJcbl07XG5leHBvcnQgdHlwZSBCcmVha3BvaW50ID0gKHR5cGVvZiBicmVha3BvaW50cylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIEJyZWFrcG9pbnRWYWx1ZXM8VD4gPSB7XG5cdFtrZXkgaW4gQnJlYWtwb2ludF0/OiBUO1xufSAmIHtcblx0YmFzZTogVDtcbn07XG5leHBvcnQgdHlwZSBCcmVha3BvaW50Q3VzdG9taXphYmxlPFQ+ID0gVCB8IEJyZWFrcG9pbnRWYWx1ZXM8VD4gfCBzdHJpbmc7XG5kZWNsYXJlIGNvbnN0IExJTktfVEFSR0VUUzogcmVhZG9ubHkgW1xuXHRcIl9zZWxmXCIsXG5cdFwiX2JsYW5rXCIsXG5cdFwiX3BhcmVudFwiLFxuXHRcIl90b3BcIlxuXTtcbmV4cG9ydCB0eXBlIExpbmtUYXJnZXQgPSAodHlwZW9mIExJTktfVEFSR0VUUylbbnVtYmVyXSB8IHN0cmluZztcbmRlY2xhcmUgY29uc3QgVEhFTUVTOiByZWFkb25seSBbXG5cdFwibGlnaHRcIixcblx0XCJkYXJrXCIsXG5cdFwiYXV0b1wiXG5dO1xuZXhwb3J0IHR5cGUgVGhlbWUgPSAodHlwZW9mIFRIRU1FUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVElMRV9BU1BFQ1RfUkFUSU9TOiByZWFkb25seSBbXG5cdFwiMToxXCIsXG5cdFwiNDozXCIsXG5cdFwiMzo0XCIsXG5cdFwiMTY6OVwiLFxuXHRcIjk6MTZcIlxuXTtcbmV4cG9ydCB0eXBlIFRpbGVBc3BlY3RSYXRpbyA9ICh0eXBlb2YgVElMRV9BU1BFQ1RfUkFUSU9TKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBUSUxFX1NJWkVTOiByZWFkb25seSBbXG5cdFwiZGVmYXVsdFwiLFxuXHRcImluaGVyaXRcIlxuXTtcbmV4cG9ydCB0eXBlIFRpbGVTaXplID0gKHR5cGVvZiBUSUxFX1NJWkVTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBUSUxFX1dFSUdIVFM6IHJlYWRvbmx5IFtcblx0XCJyZWd1bGFyXCIsXG5cdFwic2VtaS1ib2xkXCJcbl07XG5leHBvcnQgdHlwZSBUaWxlV2VpZ2h0ID0gKHR5cGVvZiBUSUxFX1dFSUdIVFMpW251bWJlcl07XG5leHBvcnQgdHlwZSBUaWxlQmFja2dyb3VuZCA9ICh0eXBlb2YgVEhFTUVTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBUSUxFX0FMSUdOUzogcmVhZG9ubHkgW1xuXHRcInRvcFwiLFxuXHRcImJvdHRvbVwiXG5dO1xuZXhwb3J0IHR5cGUgVGlsZUFsaWduID0gKHR5cGVvZiBUSUxFX0FMSUdOUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgU0NST0xMRVJfQVJJQV9BVFRSSUJVVEVTOiByZWFkb25seSBbXG5cdFwicm9sZVwiXG5dO1xuZXhwb3J0IHR5cGUgU2Nyb2xsZXJBcmlhQXR0cmlidXRlID0gKHR5cGVvZiBTQ1JPTExFUl9BUklBX0FUVFJJQlVURVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEdSQURJRU5UX0NPTE9SX1NDSEVNRVM6IHJlYWRvbmx5IFtcblx0XCJkZWZhdWx0XCIsXG5cdFwic3VyZmFjZVwiXG5dO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBTY3JvbGxlckdyYWRpZW50Q29sb3JTY2hlbWUgPSAodHlwZW9mIEdSQURJRU5UX0NPTE9SX1NDSEVNRVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEdSQURJRU5UX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcImJhY2tncm91bmQtYmFzZVwiLFxuXHRcImJhY2tncm91bmQtc3VyZmFjZVwiXG5dO1xuZXhwb3J0IHR5cGUgU2Nyb2xsZXJHcmFkaWVudENvbG9yID0gKHR5cGVvZiBHUkFESUVOVF9DT0xPUlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBTY3JvbGxlclNjcm9sbFRvUG9zaXRpb24gPSB7XG5cdHNjcm9sbFBvc2l0aW9uOiBudW1iZXI7XG5cdGlzU21vb3RoPzogYm9vbGVhbjtcbn0gfCBzdHJpbmc7XG5kZWNsYXJlIGNvbnN0IFNDUk9MTF9JTkRJQ0FUT1JfUE9TSVRJT05TOiByZWFkb25seSBbXG5cdFwidG9wXCIsXG5cdFwiY2VudGVyXCJcbl07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFNjcm9sbGVyU2Nyb2xsSW5kaWNhdG9yUG9zaXRpb24gPSAodHlwZW9mIFNDUk9MTF9JTkRJQ0FUT1JfUE9TSVRJT05TKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgU2Nyb2xsZXJBbGlnblNjcm9sbEluZGljYXRvciA9IFNjcm9sbGVyU2Nyb2xsSW5kaWNhdG9yUG9zaXRpb247XG5kZWNsYXJlIGNvbnN0IFNFTEVDVF9EUk9QRE9XTl9ESVJFQ1RJT05TOiByZWFkb25seSBbXG5cdFwiZG93blwiLFxuXHRcInVwXCIsXG5cdFwiYXV0b1wiXG5dO1xuZXhwb3J0IHR5cGUgU2VsZWN0Q29tcG9uZW50c0Ryb3Bkb3duRGlyZWN0aW9uID0gKHR5cGVvZiBTRUxFQ1RfRFJPUERPV05fRElSRUNUSU9OUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgSEVBRElOR19TSVpFUzogcmVhZG9ubHkgW1xuXHRcInNtYWxsXCIsXG5cdFwibWVkaXVtXCIsXG5cdFwibGFyZ2VcIixcblx0XCJ4LWxhcmdlXCIsXG5cdFwieHgtbGFyZ2VcIixcblx0XCJpbmhlcml0XCJcbl07XG5leHBvcnQgdHlwZSBIZWFkaW5nU2l6ZSA9ICh0eXBlb2YgSEVBRElOR19TSVpFUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgSEVBRElOR19UQUdTOiByZWFkb25seSBbXG5cdFwiaDFcIixcblx0XCJoMlwiLFxuXHRcImgzXCIsXG5cdFwiaDRcIixcblx0XCJoNVwiLFxuXHRcImg2XCJcbl07XG5leHBvcnQgdHlwZSBIZWFkaW5nVGFnID0gdHlwZW9mIEhFQURJTkdfVEFHU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBURVhUX1NJWkVTOiByZWFkb25seSBbXG5cdFwieHgtc21hbGxcIixcblx0XCJ4LXNtYWxsXCIsXG5cdFwic21hbGxcIixcblx0XCJtZWRpdW1cIixcblx0XCJsYXJnZVwiLFxuXHRcIngtbGFyZ2VcIixcblx0XCJpbmhlcml0XCJcbl07XG5leHBvcnQgdHlwZSBUZXh0U2l6ZSA9ICh0eXBlb2YgVEVYVF9TSVpFUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVFlQT0dSQVBIWV9BTElHTlM6IHJlYWRvbmx5IFtcblx0XCJzdGFydFwiLFxuXHRcImNlbnRlclwiLFxuXHRcImVuZFwiLFxuXHRcImxlZnRcIixcblx0XCJyaWdodFwiXG5dO1xuZXhwb3J0IHR5cGUgVHlwb2dyYXBoeUFsaWduID0gKHR5cGVvZiBUWVBPR1JBUEhZX0FMSUdOUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVFlQT0dSQVBIWV9URVhUX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcInByaW1hcnlcIixcblx0XCJjb250cmFzdC1sb3dcIixcblx0XCJjb250cmFzdC1tZWRpdW1cIixcblx0XCJjb250cmFzdC1oaWdoXCIsXG5cdFwibm90aWZpY2F0aW9uLXN1Y2Nlc3NcIixcblx0XCJub3RpZmljYXRpb24td2FybmluZ1wiLFxuXHRcIm5vdGlmaWNhdGlvbi1lcnJvclwiLFxuXHRcIm5vdGlmaWNhdGlvbi1pbmZvXCIsXG5cdFwiaW5oZXJpdFwiLFxuXHRcImJyYW5kXCIsXG5cdFwiZGVmYXVsdFwiLFxuXHRcIm5ldXRyYWwtY29udHJhc3QtbG93XCIsXG5cdFwibmV1dHJhbC1jb250cmFzdC1tZWRpdW1cIixcblx0XCJuZXV0cmFsLWNvbnRyYXN0LWhpZ2hcIixcblx0XCJub3RpZmljYXRpb24tbmV1dHJhbFwiXG5dO1xuZXhwb3J0IHR5cGUgVHlwb2dyYXBoeVRleHRDb2xvciA9ICh0eXBlb2YgVFlQT0dSQVBIWV9URVhUX0NPTE9SUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVFlQT0dSQVBIWV9URVhUX1dFSUdIVFM6IHJlYWRvbmx5IFtcblx0XCJyZWd1bGFyXCIsXG5cdFwic2VtaS1ib2xkXCIsXG5cdFwiYm9sZFwiLFxuXHRcInRoaW5cIixcblx0XCJzZW1pYm9sZFwiXG5dO1xuZXhwb3J0IHR5cGUgVHlwb2dyYXBoeVRleHRXZWlnaHQgPSAodHlwZW9mIFRZUE9HUkFQSFlfVEVYVF9XRUlHSFRTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBBTElHTl9MQUJFTFM6IHJlYWRvbmx5IFtcblx0XCJzdGFydFwiLFxuXHRcImVuZFwiLFxuXHRcImxlZnRcIixcblx0XCJyaWdodFwiXG5dO1xuZXhwb3J0IHR5cGUgQWxpZ25MYWJlbCA9ICh0eXBlb2YgQUxJR05fTEFCRUxTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBCVVRUT05fVFlQRVM6IHJlYWRvbmx5IFtcblx0XCJidXR0b25cIixcblx0XCJzdWJtaXRcIixcblx0XCJyZXNldFwiXG5dO1xuZXhwb3J0IHR5cGUgQnV0dG9uVHlwZSA9IHR5cGVvZiBCVVRUT05fVFlQRVNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgTElOS19CVVRUT05fVkFSSUFOVFM6IHJlYWRvbmx5IFtcblx0XCJwcmltYXJ5XCIsXG5cdFwic2Vjb25kYXJ5XCIsXG5cdFwidGVydGlhcnlcIlxuXTtcbmV4cG9ydCB0eXBlIExpbmtCdXR0b25WYXJpYW50ID0gdHlwZW9mIExJTktfQlVUVE9OX1ZBUklBTlRTW251bWJlcl07XG5leHBvcnQgdHlwZSBMaW5rQnV0dG9uSWNvbk5hbWUgPSBJY29uTmFtZSB8IFwibm9uZVwiO1xuZXhwb3J0IHR5cGUgQnV0dG9uVmFyaWFudCA9IExpbmtCdXR0b25WYXJpYW50O1xuZXhwb3J0IHR5cGUgTGlua1ZhcmlhbnQgPSBMaW5rQnV0dG9uVmFyaWFudDtcbi8vIFRPRE86IFNoYXJlIHR5cGUgYWNyb3NzIHJlcG9cbmV4cG9ydCB0eXBlIFBvcnNjaGVEZXNpZ25TeXN0ZW0gPSB7XG5cdFtrZXk6IGAke251bWJlcn0uJHtudW1iZXJ9LiR7bnVtYmVyfSR7YC1yYy4ke251bWJlcn1gIHwgXCJcIn1gXToge1xuXHRcdHByZWZpeGVzOiBzdHJpbmdbXTtcblx0XHRpc1JlYWR5OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXHRcdHJlYWR5UmVzb2x2ZTogKCkgPT4gdm9pZDtcblx0fTtcblx0Y2RuOiB7XG5cdFx0dXJsOiBzdHJpbmc7XG5cdFx0cHJlZml4ZXM6IHN0cmluZ1tdOyAvLyB0byBub3QgYnJlYWsgb2xkZXIgdmVyc2lvbnNcblx0fTtcbn07XG4vLyBST0xMVVBfUkVQTEFDRV9WQVJJQUJMRVMgYXJlIHJlcGxhY2VkIHZpYSByb2xsdXBcbmV4cG9ydCB0eXBlIFNlbGVjdGVkQXJpYUF0dHJpYnV0ZXM8VCBleHRlbmRzIGtleW9mIEFyaWFBdHRyaWJ1dGVzPiA9IFBpY2s8QXJpYUF0dHJpYnV0ZXMsIFQ+IHwgc3RyaW5nO1xuZGVjbGFyZSBjb25zdCBBQ0NPUkRJT05fU0laRVM6IHJlYWRvbmx5IFtcblx0XCJzbWFsbFwiLFxuXHRcIm1lZGl1bVwiXG5dO1xuZXhwb3J0IHR5cGUgQWNjb3JkaW9uU2l6ZSA9ICh0eXBlb2YgQUNDT1JESU9OX1NJWkVTKVtudW1iZXJdO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBBY2NvcmRpb25VcGRhdGVFdmVudCA9IHtcblx0b3BlbjogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBBY2NvcmRpb25VcGRhdGVFdmVudERldGFpbCA9IEFjY29yZGlvblVwZGF0ZUV2ZW50O1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBBY2NvcmRpb25UYWcgPSBIZWFkaW5nVGFnO1xuZXhwb3J0IHR5cGUgQWNjb3JkaW9uSGVhZGluZ1RhZyA9IEhlYWRpbmdUYWc7XG5kZWNsYXJlIGNvbnN0IElOTElORV9OT1RJRklDQVRJT05fU1RBVEVTOiByZWFkb25seSBbXG5cdFwic3VjY2Vzc1wiLFxuXHRcImluZm9cIixcblx0XCJ3YXJuaW5nXCIsXG5cdFwiZXJyb3JcIixcblx0XCJuZXV0cmFsXCJcbl07XG5leHBvcnQgdHlwZSBJbmxpbmVOb3RpZmljYXRpb25TdGF0ZSA9ICh0eXBlb2YgSU5MSU5FX05PVElGSUNBVElPTl9TVEFURVMpW251bWJlcl07XG5leHBvcnQgdHlwZSBJbmxpbmVOb3RpZmljYXRpb25BY3Rpb25JY29uID0gSWNvbk5hbWU7XG5leHBvcnQgdHlwZSBJbmxpbmVOb3RpZmljYXRpb25IZWFkaW5nVGFnID0gSGVhZGluZ1RhZztcbmRlY2xhcmUgY29uc3QgQkFOTkVSX1NUQVRFUzogcmVhZG9ubHkgW1xuXHRcImluZm9cIixcblx0XCJ3YXJuaW5nXCIsXG5cdFwiZXJyb3JcIixcblx0XCJuZXV0cmFsXCJcbl07XG5leHBvcnQgdHlwZSBCYW5uZXJTdGF0ZSA9ICh0eXBlb2YgQkFOTkVSX1NUQVRFUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgQkFOTkVSX1dJRFRIUzogcmVhZG9ubHkgW1xuXHRcImV4dGVuZGVkXCIsXG5cdFwiYmFzaWNcIixcblx0XCJmbHVpZFwiXG5dO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBCYW5uZXJXaWR0aCA9ICh0eXBlb2YgQkFOTkVSX1dJRFRIUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIEJhbm5lckhlYWRpbmdUYWcgPSBJbmxpbmVOb3RpZmljYXRpb25IZWFkaW5nVGFnO1xuZXhwb3J0IHR5cGUgQnV0dG9uSWNvbiA9IExpbmtCdXR0b25JY29uTmFtZTtcbmRlY2xhcmUgY29uc3QgR1JPVVBfRElSRUNUSU9OUzogcmVhZG9ubHkgW1xuXHRcInJvd1wiLFxuXHRcImNvbHVtblwiXG5dO1xuZXhwb3J0IHR5cGUgR3JvdXBEaXJlY3Rpb24gPSAodHlwZW9mIEdST1VQX0RJUkVDVElPTlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBCdXR0b25Hcm91cERpcmVjdGlvbiA9IEdyb3VwRGlyZWN0aW9uO1xuZXhwb3J0IHR5cGUgQnV0dG9uUHVyZVR5cGUgPSBCdXR0b25UeXBlO1xuZXhwb3J0IHR5cGUgQnV0dG9uUHVyZUljb24gPSBMaW5rQnV0dG9uSWNvbk5hbWU7XG5leHBvcnQgdHlwZSBCdXR0b25QdXJlQXJpYUF0dHJpYnV0ZSA9IEJ1dHRvbkFyaWFBdHRyaWJ1dGU7XG5leHBvcnQgdHlwZSBCdXR0b25QdXJlQWxpZ25MYWJlbCA9IEFsaWduTGFiZWw7XG5leHBvcnQgdHlwZSBCdXR0b25QdXJlV2VpZ2h0ID0gVHlwb2dyYXBoeVRleHRXZWlnaHQ7XG5leHBvcnQgdHlwZSBCdXR0b25QdXJlU2l6ZSA9IFRleHRTaXplO1xuZXhwb3J0IHR5cGUgQnV0dG9uVGlsZUFyaWFBdHRyaWJ1dGUgPSBCdXR0b25BcmlhQXR0cmlidXRlO1xuZXhwb3J0IHR5cGUgQnV0dG9uVGlsZUljb24gPSBMaW5rQnV0dG9uSWNvbk5hbWU7XG5leHBvcnQgdHlwZSBCdXR0b25UaWxlVHlwZSA9IEJ1dHRvblR5cGU7XG5leHBvcnQgdHlwZSBCdXR0b25UaWxlQXNwZWN0UmF0aW8gPSBUaWxlQXNwZWN0UmF0aW87XG5leHBvcnQgdHlwZSBCdXR0b25UaWxlU2l6ZSA9IFRpbGVTaXplO1xuZXhwb3J0IHR5cGUgQnV0dG9uVGlsZUJhY2tncm91bmQgPSBUaWxlQmFja2dyb3VuZDtcbmV4cG9ydCB0eXBlIEJ1dHRvblRpbGVXZWlnaHQgPSBUaWxlV2VpZ2h0O1xuZXhwb3J0IHR5cGUgQnV0dG9uVGlsZUFsaWduID0gVGlsZUFsaWduO1xuZGVjbGFyZSBjb25zdCBDQVJPVVNFTF9XSURUSFM6IHJlYWRvbmx5IFtcblx0XCJiYXNpY1wiLFxuXHRcImV4dGVuZGVkXCJcbl07XG5leHBvcnQgdHlwZSBDYXJvdXNlbFdpZHRoID0gKHR5cGVvZiBDQVJPVVNFTF9XSURUSFMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IENBUk9VU0VMX0FMSUdOX0hFQURFUlM6IHJlYWRvbmx5IFtcblx0XCJzdGFydFwiLFxuXHRcImNlbnRlclwiLFxuXHRcImxlZnRcIlxuXTtcbmV4cG9ydCB0eXBlIENhcm91c2VsQWxpZ25IZWFkZXIgPSAodHlwZW9mIENBUk9VU0VMX0FMSUdOX0hFQURFUlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBDYXJvdXNlbEhlYWRpbmdTaXplID0gRXh0cmFjdDxIZWFkaW5nU2l6ZSwgXCJ4LWxhcmdlXCIgfCBcInh4LWxhcmdlXCI+O1xuZGVjbGFyZSBjb25zdCBDQVJPVVNFTF9BUklBX0FUVFJJQlVURVM6IHJlYWRvbmx5IFtcblx0XCJhcmlhLWxhYmVsXCJcbl07XG5leHBvcnQgdHlwZSBDYXJvdXNlbEFyaWFBdHRyaWJ1dGUgPSAodHlwZW9mIENBUk9VU0VMX0FSSUFfQVRUUklCVVRFUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIENhcm91c2VsSW50ZXJuYXRpb25hbGl6YXRpb24gPSBQYXJ0aWFsPFJlY29yZDxcInByZXZcIiB8IFwibmV4dFwiIHwgXCJmaXJzdFwiIHwgXCJsYXN0XCIgfCBcInNsaWRlTGFiZWxcIiB8IFwic2xpZGVcIiwgc3RyaW5nPj4gfCBzdHJpbmc7XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIENhcm91c2VsVXBkYXRlRXZlbnQgPSB7XG5cdGFjdGl2ZUluZGV4OiBudW1iZXI7XG5cdHByZXZpb3VzSW5kZXg6IG51bWJlcjtcbn07XG5leHBvcnQgdHlwZSBDYXJvdXNlbFVwZGF0ZUV2ZW50RGV0YWlsID0gQ2Fyb3VzZWxVcGRhdGVFdmVudDtcbmV4cG9ydCB0eXBlIENoZWNrYm94V3JhcHBlclN0YXRlID0gRm9ybVN0YXRlO1xuZGVjbGFyZSBjb25zdCBDT05URU5UX1dSQVBQRVJfQkFDS0dST1VORF9DT0xPUlM6IHJlYWRvbmx5IFtcblx0XCJ0cmFuc3BhcmVudFwiLFxuXHRcImRlZmF1bHRcIlxuXTtcbmV4cG9ydCB0eXBlIENvbnRlbnRXcmFwcGVyQmFja2dyb3VuZENvbG9yID0gdHlwZW9mIENPTlRFTlRfV1JBUFBFUl9CQUNLR1JPVU5EX0NPTE9SU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBDT05URU5UX1dSQVBQRVJfV0lEVEhTOiByZWFkb25seSBbXG5cdFwibmFycm93XCIsXG5cdFwiYmFzaWNcIixcblx0XCJleHRlbmRlZFwiLFxuXHRcImZsdWlkXCIsXG5cdFwiZnVsbFwiXG5dO1xuZXhwb3J0IHR5cGUgQ29udGVudFdyYXBwZXJXaWR0aCA9IHR5cGVvZiBDT05URU5UX1dSQVBQRVJfV0lEVEhTW251bWJlcl07XG5leHBvcnQgdHlwZSBDcmVzdFRhcmdldCA9IExpbmtUYXJnZXQ7XG5leHBvcnQgdHlwZSBDcmVzdEFyaWFBdHRyaWJ1dGUgPSBMaW5rQXJpYUF0dHJpYnV0ZTtcbmRlY2xhcmUgY29uc3QgRElTUExBWV9UQUdTOiByZWFkb25seSBbXG5cdFwiaDFcIixcblx0XCJoMlwiLFxuXHRcImgzXCIsXG5cdFwiaDRcIixcblx0XCJoNVwiLFxuXHRcImg2XCJcbl07XG5leHBvcnQgdHlwZSBEaXNwbGF5VGFnID0gKHR5cGVvZiBESVNQTEFZX1RBR1MpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IERJU1BMQVlfU0laRVM6IHJlYWRvbmx5IFtcblx0XCJzbWFsbFwiLFxuXHRcIm1lZGl1bVwiLFxuXHRcImxhcmdlXCIsXG5cdFwiaW5oZXJpdFwiXG5dO1xuZXhwb3J0IHR5cGUgRGlzcGxheVNpemUgPSAodHlwZW9mIERJU1BMQVlfU0laRVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IERJU1BMQVlfQ09MT1JTOiByZWFkb25seSBbXG5cdFwicHJpbWFyeVwiLFxuXHRcImluaGVyaXRcIlxuXTtcbmV4cG9ydCB0eXBlIERpc3BsYXlDb2xvciA9ICh0eXBlb2YgRElTUExBWV9DT0xPUlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBEaXNwbGF5QWxpZ24gPSBUeXBvZ3JhcGh5QWxpZ247XG5kZWNsYXJlIGNvbnN0IERJVklERVJfQ09MT1JTOiByZWFkb25seSBbXG5cdFwiY29udHJhc3QtbG93XCIsXG5cdFwiY29udHJhc3QtbWVkaXVtXCIsXG5cdFwiY29udHJhc3QtaGlnaFwiLFxuXHRcIm5ldXRyYWwtY29udHJhc3QtaGlnaFwiLFxuXHRcIm5ldXRyYWwtY29udHJhc3QtbWVkaXVtXCIsXG5cdFwibmV1dHJhbC1jb250cmFzdC1sb3dcIlxuXTtcbmV4cG9ydCB0eXBlIERpdmlkZXJDb2xvciA9IHR5cGVvZiBESVZJREVSX0NPTE9SU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBESVZJREVSX0RJUkVDVElPTlM6IHJlYWRvbmx5IFtcblx0XCJ2ZXJ0aWNhbFwiLFxuXHRcImhvcml6b250YWxcIlxuXTtcbmV4cG9ydCB0eXBlIERpdmlkZXJEaXJlY3Rpb24gPSB0eXBlb2YgRElWSURFUl9ESVJFQ1RJT05TW251bWJlcl07XG5leHBvcnQgdHlwZSBEaXZpZGVyT3JpZW50YXRpb24gPSBEaXZpZGVyRGlyZWN0aW9uO1xuZGVjbGFyZSBjb25zdCBGSUVMRFNFVF9MQUJFTF9TSVpFUzogcmVhZG9ubHkgW1xuXHRcInNtYWxsXCIsXG5cdFwibWVkaXVtXCJcbl07XG5leHBvcnQgdHlwZSBGaWVsZHNldExhYmVsU2l6ZSA9ICh0eXBlb2YgRklFTERTRVRfTEFCRUxfU0laRVMpW251bWJlcl07XG5leHBvcnQgdHlwZSBGaWVsZHNldFN0YXRlID0gRm9ybVN0YXRlO1xuZXhwb3J0IHR5cGUgRmllbGRzZXRXcmFwcGVyTGFiZWxTaXplID0gRmllbGRzZXRMYWJlbFNpemU7XG5leHBvcnQgdHlwZSBGaWVsZHNldFdyYXBwZXJTdGF0ZSA9IEZpZWxkc2V0U3RhdGU7XG5leHBvcnQgdHlwZSBGbGV4SW5saW5lID0gYm9vbGVhbjtcbmRlY2xhcmUgY29uc3QgRkxFWF9XUkFQUzogcmVhZG9ubHkgW1xuXHRcIm5vd3JhcFwiLFxuXHRcIndyYXBcIixcblx0XCJ3cmFwLXJldmVyc2VcIlxuXTtcbmV4cG9ydCB0eXBlIEZsZXhXcmFwID0gdHlwZW9mIEZMRVhfV1JBUFNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxFWF9ESVJFQ1RJT05TOiByZWFkb25seSBbXG5cdFwicm93XCIsXG5cdFwicm93LXJldmVyc2VcIixcblx0XCJjb2x1bW5cIixcblx0XCJjb2x1bW4tcmV2ZXJzZVwiXG5dO1xuZXhwb3J0IHR5cGUgRmxleERpcmVjdGlvbiA9IHR5cGVvZiBGTEVYX0RJUkVDVElPTlNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxFWF9KVVNUSUZZX0NPTlRFTlRTOiByZWFkb25seSBbXG5cdFwiZmxleC1zdGFydFwiLFxuXHRcImZsZXgtZW5kXCIsXG5cdFwiY2VudGVyXCIsXG5cdFwic3BhY2UtYmV0d2VlblwiLFxuXHRcInNwYWNlLWFyb3VuZFwiLFxuXHRcInNwYWNlLWV2ZW5seVwiXG5dO1xuZXhwb3J0IHR5cGUgRmxleEp1c3RpZnlDb250ZW50ID0gdHlwZW9mIEZMRVhfSlVTVElGWV9DT05URU5UU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBGTEVYX0FMSUdOX0lURU1TOiByZWFkb25seSBbXG5cdFwic3RyZXRjaFwiLFxuXHRcImZsZXgtc3RhcnRcIixcblx0XCJmbGV4LWVuZFwiLFxuXHRcImNlbnRlclwiLFxuXHRcImJhc2VsaW5lXCJcbl07XG5leHBvcnQgdHlwZSBGbGV4QWxpZ25JdGVtcyA9IHR5cGVvZiBGTEVYX0FMSUdOX0lURU1TW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZMRVhfQUxJR05fQ09OVEVOVFM6IHJlYWRvbmx5IFtcblx0XCJzdHJldGNoXCIsXG5cdFwiZmxleC1zdGFydFwiLFxuXHRcImZsZXgtZW5kXCIsXG5cdFwiY2VudGVyXCIsXG5cdFwic3BhY2UtYmV0d2VlblwiLFxuXHRcInNwYWNlLWFyb3VuZFwiLFxuXHRcInNwYWNlLWV2ZW5seVwiXG5dO1xuZXhwb3J0IHR5cGUgRmxleEFsaWduQ29udGVudCA9IHR5cGVvZiBGTEVYX0FMSUdOX0NPTlRFTlRTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZMRVhfSVRFTV9XSURUSFM6IHJlYWRvbmx5IFtcblx0XCJhdXRvXCIsXG5cdFwib25lLXF1YXJ0ZXJcIixcblx0XCJvbmUtdGhpcmRcIixcblx0XCJoYWxmXCIsXG5cdFwidHdvLXRoaXJkc1wiLFxuXHRcInRocmVlLXF1YXJ0ZXJzXCIsXG5cdFwiZnVsbFwiXG5dO1xuZXhwb3J0IHR5cGUgRmxleEl0ZW1XaWR0aCA9IHR5cGVvZiBGTEVYX0lURU1fV0lEVEhTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZMRVhfSVRFTV9PRkZTRVRTOiByZWFkb25seSBbXG5cdFwibm9uZVwiLFxuXHRcIm9uZS1xdWFydGVyXCIsXG5cdFwib25lLXRoaXJkXCIsXG5cdFwiaGFsZlwiLFxuXHRcInR3by10aGlyZHNcIixcblx0XCJ0aHJlZS1xdWFydGVyc1wiXG5dO1xuZXhwb3J0IHR5cGUgRmxleEl0ZW1PZmZzZXQgPSB0eXBlb2YgRkxFWF9JVEVNX09GRlNFVFNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxFWF9JVEVNX0FMSUdOX1NFTEZTOiByZWFkb25seSBbXG5cdFwiYXV0b1wiLFxuXHRcImZsZXgtc3RhcnRcIixcblx0XCJmbGV4LWVuZFwiLFxuXHRcImNlbnRlclwiLFxuXHRcImJhc2VsaW5lXCIsXG5cdFwic3RyZXRjaFwiXG5dO1xuZXhwb3J0IHR5cGUgRmxleEl0ZW1BbGlnblNlbGYgPSB0eXBlb2YgRkxFWF9JVEVNX0FMSUdOX1NFTEZTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZMRVhfSVRFTV9HUk9XUzogcmVhZG9ubHkgW1xuXHQwLFxuXHQxXG5dO1xuZXhwb3J0IHR5cGUgRmxleEl0ZW1Hcm93ID0gdHlwZW9mIEZMRVhfSVRFTV9HUk9XU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBGTEVYX0lURU1fU0hSSU5LUzogcmVhZG9ubHkgW1xuXHQwLFxuXHQxXG5dO1xuZXhwb3J0IHR5cGUgRmxleEl0ZW1TaHJpbmsgPSB0eXBlb2YgRkxFWF9JVEVNX1NIUklOS1NbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxFWF9JVEVNX0ZMRVhTOiByZWFkb25seSBbXG5cdFwiaW5pdGlhbFwiLFxuXHRcImF1dG9cIixcblx0XCJub25lXCIsXG5cdFwiZXF1YWxcIlxuXTtcbmV4cG9ydCB0eXBlIEZsZXhJdGVtRmxleCA9IHR5cGVvZiBGTEVYX0lURU1fRkxFWFNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxZT1VUX1BPU0lUSU9OUzogcmVhZG9ubHkgW1xuXHRcInN0YXJ0XCIsXG5cdFwiZW5kXCIsXG5cdFwibGVmdFwiLFxuXHRcInJpZ2h0XCJcbl07XG5leHBvcnQgdHlwZSBGbHlvdXRQb3NpdGlvbiA9ICh0eXBlb2YgRkxZT1VUX1BPU0lUSU9OUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgRkxZT1VUX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIlxuXTtcbmV4cG9ydCB0eXBlIEZseW91dEFyaWFBdHRyaWJ1dGUgPSAodHlwZW9mIEZMWU9VVF9BUklBX0FUVFJJQlVURVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEZMWU9VVF9OQVZJR0FUSU9OX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIlxuXTtcbmV4cG9ydCB0eXBlIEZseW91dE5hdmlnYXRpb25BcmlhQXR0cmlidXRlID0gKHR5cGVvZiBGTFlPVVRfTkFWSUdBVElPTl9BUklBX0FUVFJJQlVURVMpW251bWJlcl07XG5leHBvcnQgdHlwZSBGbHlvdXROYXZpZ2F0aW9uVXBkYXRlID0ge1xuXHRhY3RpdmVJZGVudGlmaWVyOiBzdHJpbmc7XG59O1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBGbHlvdXROYXZpZ2F0aW9uVXBkYXRlRXZlbnQgPSBGbHlvdXROYXZpZ2F0aW9uVXBkYXRlO1xuZXhwb3J0IHR5cGUgRmx5b3V0TmF2aWdhdGlvblVwZGF0ZUV2ZW50RGV0YWlsID0gRmx5b3V0TmF2aWdhdGlvblVwZGF0ZUV2ZW50O1xuZGVjbGFyZSBjb25zdCBHUklEX0RJUkVDVElPTlM6IHJlYWRvbmx5IFtcblx0XCJyb3dcIixcblx0XCJyb3ctcmV2ZXJzZVwiLFxuXHRcImNvbHVtblwiLFxuXHRcImNvbHVtbi1yZXZlcnNlXCJcbl07XG5leHBvcnQgdHlwZSBHcmlkRGlyZWN0aW9uID0gdHlwZW9mIEdSSURfRElSRUNUSU9OU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBHUklEX1dSQVBTOiByZWFkb25seSBbXG5cdFwibm93cmFwXCIsXG5cdFwid3JhcFwiXG5dO1xuZXhwb3J0IHR5cGUgR3JpZFdyYXAgPSB0eXBlb2YgR1JJRF9XUkFQU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBHUklEX0dVVFRFUlM6IHJlYWRvbmx5IFtcblx0MTYsXG5cdDI0LFxuXHQzNlxuXTtcbmV4cG9ydCB0eXBlIEdyaWRHdXR0ZXIgPSB0eXBlb2YgR1JJRF9HVVRURVJTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEdSSURfSVRFTV9TSVpFUzogcmVhZG9ubHkgW1xuXHQxLFxuXHQyLFxuXHQzLFxuXHQ0LFxuXHQ1LFxuXHQ2LFxuXHQ3LFxuXHQ4LFxuXHQ5LFxuXHQxMCxcblx0MTEsXG5cdDEyXG5dO1xuZXhwb3J0IHR5cGUgR3JpZEl0ZW1TaXplID0gdHlwZW9mIEdSSURfSVRFTV9TSVpFU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBHUklEX0lURU1fT0ZGU0VUUzogcmVhZG9ubHkgW1xuXHQwLFxuXHQxLFxuXHQyLFxuXHQzLFxuXHQ0LFxuXHQ1LFxuXHQ2LFxuXHQ3LFxuXHQ4LFxuXHQ5LFxuXHQxMCxcblx0MTFcbl07XG5leHBvcnQgdHlwZSBHcmlkSXRlbU9mZnNldCA9IHR5cGVvZiBHUklEX0lURU1fT0ZGU0VUU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBIRUFESU5HX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcInByaW1hcnlcIixcblx0XCJpbmhlcml0XCJcbl07XG5leHBvcnQgdHlwZSBIZWFkaW5nQ29sb3IgPSAodHlwZW9mIEhFQURJTkdfQ09MT1JTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgSGVhZGluZ0FsaWduID0gVHlwb2dyYXBoeUFsaWduO1xuZGVjbGFyZSBjb25zdCBIRUFETElORV9WQVJJQU5UUzogcmVhZG9ubHkgW1xuXHRcImxhcmdlLXRpdGxlXCIsXG5cdFwiaGVhZGxpbmUtMVwiLFxuXHRcImhlYWRsaW5lLTJcIixcblx0XCJoZWFkbGluZS0zXCIsXG5cdFwiaGVhZGxpbmUtNFwiLFxuXHRcImhlYWRsaW5lLTVcIlxuXTtcbmV4cG9ydCB0eXBlIEhlYWRsaW5lVmFyaWFudFR5cGUgPSAodHlwZW9mIEhFQURMSU5FX1ZBUklBTlRTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgSGVhZGxpbmVWYXJpYW50Q3VzdG9tID0gRXhjbHVkZTxCcmVha3BvaW50Q3VzdG9taXphYmxlPFRleHRTaXplPiwgVGV4dFNpemU+O1xuZXhwb3J0IHR5cGUgSGVhZGxpbmVWYXJpYW50ID0gSGVhZGxpbmVWYXJpYW50VHlwZSB8IEhlYWRsaW5lVmFyaWFudEN1c3RvbSB8IEV4dHJhY3Q8VGV4dFNpemUsIFwiaW5oZXJpdFwiPjtcbmRlY2xhcmUgY29uc3QgSEVBRExJTkVfVEFHUzogcmVhZG9ubHkgW1xuXHRcImgxXCIsXG5cdFwiaDJcIixcblx0XCJoM1wiLFxuXHRcImg0XCIsXG5cdFwiaDVcIixcblx0XCJoNlwiXG5dO1xuZXhwb3J0IHR5cGUgSGVhZGxpbmVUYWcgPSAodHlwZW9mIEhFQURMSU5FX1RBR1MpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IEhFQURMSU5FX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcInByaW1hcnlcIixcblx0XCJkZWZhdWx0XCIsXG5cdFwiaW5oZXJpdFwiXG5dO1xuZXhwb3J0IHR5cGUgSGVhZGxpbmVDb2xvciA9ICh0eXBlb2YgSEVBRExJTkVfQ09MT1JTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgSGVhZGxpbmVBbGlnbiA9IFR5cG9ncmFwaHlBbGlnbjtcbmRlY2xhcmUgY29uc3QgSUNPTl9BUklBX0FUVFJJQlVURVM6IHJlYWRvbmx5IFtcblx0XCJhcmlhLWxhYmVsXCJcbl07XG5leHBvcnQgdHlwZSBJY29uQXJpYUF0dHJpYnV0ZSA9ICh0eXBlb2YgSUNPTl9BUklBX0FUVFJJQlVURVMpW251bWJlcl07XG5leHBvcnQgdHlwZSBJY29uU2l6ZSA9IFRleHRTaXplO1xuZGVjbGFyZSBjb25zdCBJQ09OX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcInByaW1hcnlcIixcblx0XCJjb250cmFzdC1sb3dcIixcblx0XCJjb250cmFzdC1tZWRpdW1cIixcblx0XCJjb250cmFzdC1oaWdoXCIsXG5cdFwibm90aWZpY2F0aW9uLXN1Y2Nlc3NcIixcblx0XCJub3RpZmljYXRpb24td2FybmluZ1wiLFxuXHRcIm5vdGlmaWNhdGlvbi1lcnJvclwiLFxuXHRcIm5vdGlmaWNhdGlvbi1pbmZvXCIsXG5cdFwiaW5oZXJpdFwiLFxuXHRcImJyYW5kXCIsXG5cdFwiZGVmYXVsdFwiLFxuXHRcIm5ldXRyYWwtY29udHJhc3QtbG93XCIsXG5cdFwibmV1dHJhbC1jb250cmFzdC1tZWRpdW1cIixcblx0XCJuZXV0cmFsLWNvbnRyYXN0LWhpZ2hcIixcblx0XCJub3RpZmljYXRpb24tbmV1dHJhbFwiLFxuXHRcInN0YXRlLWRpc2FibGVkXCJcbl07XG5leHBvcnQgdHlwZSBJY29uQ29sb3IgPSAodHlwZW9mIElDT05fQ09MT1JTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgTGlua0ljb24gPSBMaW5rQnV0dG9uSWNvbk5hbWU7XG5leHBvcnQgdHlwZSBMaW5rUHVyZUljb24gPSBMaW5rQnV0dG9uSWNvbk5hbWU7XG5leHBvcnQgdHlwZSBMaW5rUHVyZUFyaWFBdHRyaWJ1dGUgPSBMaW5rQXJpYUF0dHJpYnV0ZTtcbmV4cG9ydCB0eXBlIExpbmtQdXJlQWxpZ25MYWJlbCA9IEFsaWduTGFiZWw7XG5leHBvcnQgdHlwZSBMaW5rUHVyZVdlaWdodCA9IFR5cG9ncmFwaHlUZXh0V2VpZ2h0O1xuZXhwb3J0IHR5cGUgTGlua1B1cmVTaXplID0gVGV4dFNpemU7XG5leHBvcnQgdHlwZSBMaW5rUHVyZVRhcmdldCA9IExpbmtUYXJnZXQ7XG5leHBvcnQgdHlwZSBMaW5rU29jaWFsSWNvbiA9IEV4dHJhY3Q8SWNvbk5hbWUsIFwibG9nby1mYWNlYm9va1wiIHwgXCJsb2dvLWdvb2dsZVwiIHwgXCJsb2dvLWluc3RhZ3JhbVwiIHwgXCJsb2dvLWxpbmtlZGluXCIgfCBcImxvZ28tcGludGVyZXN0XCIgfCBcImxvZ28tdHdpdHRlclwiIHwgXCJsb2dvLXdlY2hhdFwiIHwgXCJsb2dvLXdoYXRzYXBwXCIgfCBcImxvZ28teGluZ1wiIHwgXCJsb2dvLXlvdXR1YmVcIiB8IFwibG9nby1iYWlkdVwiIHwgXCJsb2dvLWRlbGljaW91c1wiIHwgXCJsb2dvLWRpZ2dcIiB8IFwibG9nby1mb3Vyc3F1YXJlXCIgfCBcImxvZ28tZ21haWxcIiB8IFwibG9nby1oYXRlbmFcIiB8IFwibG9nby1rYWl4aW5cIiB8IFwibG9nby1rYWthb3RhbGtcIiB8IFwibG9nby1uYXZlclwiIHwgXCJsb2dvLXFxLXNoYXJlXCIgfCBcImxvZ28tcXFcIiB8IFwibG9nby1yZWRkaXRcIiB8IFwibG9nby1za3lyb2NrXCIgfCBcImxvZ28tc29odVwiIHwgXCJsb2dvLXRlY2VudFwiIHwgXCJsb2dvLXRlbGVncmFtXCIgfCBcImxvZ28tdGlrdG9rXCIgfCBcImxvZ28tdHVtYmxyXCIgfCBcImxvZ28tdmliZXJcIiB8IFwibG9nby12a1wiIHwgXCJsb2dvLXdlaWJvXCIgfCBcImxvZ28teWFob29cIiB8IFwibG9nby15b3VrdVwiPjtcbmV4cG9ydCB0eXBlIExpbmtTb2NpYWxUYXJnZXQgPSBMaW5rVGFyZ2V0O1xuZXhwb3J0IHR5cGUgTGlua1RpbGVUYXJnZXQgPSBMaW5rVGFyZ2V0O1xuZXhwb3J0IHR5cGUgTGlua1RpbGVBcmlhQXR0cmlidXRlID0gTGlua0FyaWFBdHRyaWJ1dGU7XG5leHBvcnQgdHlwZSBMaW5rVGlsZUFzcGVjdFJhdGlvID0gVGlsZUFzcGVjdFJhdGlvO1xuZXhwb3J0IHR5cGUgTGlua1RpbGVTaXplID0gVGlsZVNpemU7XG5leHBvcnQgdHlwZSBMaW5rVGlsZUJhY2tncm91bmQgPSBUaWxlQmFja2dyb3VuZDtcbmV4cG9ydCB0eXBlIExpbmtUaWxlQWxpZ24gPSBUaWxlQWxpZ247XG5kZWNsYXJlIGNvbnN0IExJTktfVElMRV9XRUlHSFRTOiByZWFkb25seSBbXG5cdFwicmVndWxhclwiLFxuXHRcInNlbWktYm9sZFwiLFxuXHRcInNlbWlib2xkXCJcbl07XG5leHBvcnQgdHlwZSBMaW5rVGlsZVdlaWdodCA9ICh0eXBlb2YgTElOS19USUxFX1dFSUdIVFMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IExJTktfVElMRV9NT0RFTF9TSUdOQVRVUkVfTU9ERUxTOiByZWFkb25seSBbXG5cdFwiNzE4XCIsXG5cdFwiOTExXCIsXG5cdFwiYm94c3RlclwiLFxuXHRcImNheWVubmVcIixcblx0XCJjYXltYW5cIixcblx0XCJtYWNhblwiLFxuXHRcInBhbmFtZXJhXCIsXG5cdFwidGF5Y2FuXCIsXG5cdFwidHVyYm8tc1wiLFxuXHRcInR1cmJvXCJcbl07XG5leHBvcnQgdHlwZSBMaW5rVGlsZU1vZGVsU2lnbmF0dXJlTW9kZWwgPSAodHlwZW9mIExJTktfVElMRV9NT0RFTF9TSUdOQVRVUkVfTU9ERUxTKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBMSU5LX1RJTEVfTU9ERUxfU0lHTkFUVVJFX0hFQURJTkdfVEFHUzogcmVhZG9ubHkgW1xuXHRcImgyXCIsXG5cdFwiaDNcIixcblx0XCJoNFwiLFxuXHRcImg1XCIsXG5cdFwiaDZcIlxuXTtcbmV4cG9ydCB0eXBlIExpbmtUaWxlTW9kZWxTaWduYXR1cmVIZWFkaW5nVGFnID0gKHR5cGVvZiBMSU5LX1RJTEVfTU9ERUxfU0lHTkFUVVJFX0hFQURJTkdfVEFHUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIExpbmtUaWxlTW9kZWxTaWduYXR1cmVXZWlnaHQgPSBUaWxlV2VpZ2h0O1xuZXhwb3J0IHR5cGUgTGlua1RpbGVNb2RlbFNpZ25hdHVyZUFzcGVjdFJhdGlvID0gVGlsZUFzcGVjdFJhdGlvO1xuZXhwb3J0IHR5cGUgTGlua1RpbGVNb2RlbFNpZ25hdHVyZUxpbmtEaXJlY3Rpb24gPSBHcm91cERpcmVjdGlvbjtcbmV4cG9ydCB0eXBlIExpbmtUaWxlUHJvZHVjdFRhcmdldCA9IExpbmtUYXJnZXQ7XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIExpbmtUaWxlUHJvZHVjdExpa2VFdmVudCA9IHtcblx0bGlrZWQ6IGJvb2xlYW47XG59O1xuZXhwb3J0IHR5cGUgTGlua1RpbGVQcm9kdWN0TGlrZUV2ZW50RGV0YWlsID0gTGlua1RpbGVQcm9kdWN0TGlrZUV2ZW50O1xuZGVjbGFyZSBjb25zdCBUSUxFX1BST0RVQ1RfQVNQRUNUX1JBVElPUzogcmVhZG9ubHkgW1xuXHRcIjM6NFwiLFxuXHRcIjk6MTZcIlxuXTtcbmV4cG9ydCB0eXBlIExpbmtUaWxlUHJvZHVjdEFzcGVjdFJhdGlvID0gRXh0cmFjdDxUaWxlQXNwZWN0UmF0aW8sICh0eXBlb2YgVElMRV9QUk9EVUNUX0FTUEVDVF9SQVRJT1MpW251bWJlcl0+O1xuZGVjbGFyZSBjb25zdCBNT0RFTF9TSUdOQVRVUkVTX01BTklGRVNUOiB7XG5cdFwiNzE4XCI6IHtcblx0XHRzcmM6IHN0cmluZztcblx0XHR3aWR0aDogbnVtYmVyO1xuXHRcdGhlaWdodDogbnVtYmVyO1xuXHR9O1xuXHRcIjkxMVwiOiB7XG5cdFx0c3JjOiBzdHJpbmc7XG5cdFx0d2lkdGg6IG51bWJlcjtcblx0XHRoZWlnaHQ6IG51bWJlcjtcblx0fTtcblx0Ym94c3Rlcjoge1xuXHRcdHNyYzogc3RyaW5nO1xuXHRcdHdpZHRoOiBudW1iZXI7XG5cdFx0aGVpZ2h0OiBudW1iZXI7XG5cdH07XG5cdGNheWVubmU6IHtcblx0XHRzcmM6IHN0cmluZztcblx0XHR3aWR0aDogbnVtYmVyO1xuXHRcdGhlaWdodDogbnVtYmVyO1xuXHR9O1xuXHRjYXltYW46IHtcblx0XHRzcmM6IHN0cmluZztcblx0XHR3aWR0aDogbnVtYmVyO1xuXHRcdGhlaWdodDogbnVtYmVyO1xuXHR9O1xuXHRtYWNhbjoge1xuXHRcdHNyYzogc3RyaW5nO1xuXHRcdHdpZHRoOiBudW1iZXI7XG5cdFx0aGVpZ2h0OiBudW1iZXI7XG5cdH07XG5cdHBhbmFtZXJhOiB7XG5cdFx0c3JjOiBzdHJpbmc7XG5cdFx0d2lkdGg6IG51bWJlcjtcblx0XHRoZWlnaHQ6IG51bWJlcjtcblx0fTtcblx0dGF5Y2FuOiB7XG5cdFx0c3JjOiBzdHJpbmc7XG5cdFx0d2lkdGg6IG51bWJlcjtcblx0XHRoZWlnaHQ6IG51bWJlcjtcblx0fTtcblx0XCJ0dXJiby1zXCI6IHtcblx0XHRzcmM6IHN0cmluZztcblx0XHR3aWR0aDogbnVtYmVyO1xuXHRcdGhlaWdodDogbnVtYmVyO1xuXHR9O1xuXHR0dXJibzoge1xuXHRcdHNyYzogc3RyaW5nO1xuXHRcdHdpZHRoOiBudW1iZXI7XG5cdFx0aGVpZ2h0OiBudW1iZXI7XG5cdH07XG59O1xuZGVjbGFyZSBjb25zdCBNQVJRVUVfVkFSSUFOVFM6IHJlYWRvbmx5IFtcblx0XCI3NS15ZWFyc1wiLFxuXHRcImRlZmF1bHRcIlxuXTtcbmV4cG9ydCB0eXBlIE1hcnF1ZVZhcmlhbnQgPSAodHlwZW9mIE1BUlFVRV9WQVJJQU5UUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIE1hcnF1ZVRhcmdldCA9IExpbmtUYXJnZXQ7XG5leHBvcnQgdHlwZSBNYXJxdWVBcmlhQXR0cmlidXRlID0gTGlua0FyaWFBdHRyaWJ1dGU7XG5kZWNsYXJlIGNvbnN0IE1BUlFVRV9TSVpFUzogcmVhZG9ubHkgW1xuXHRcInJlc3BvbnNpdmVcIixcblx0XCJzbWFsbFwiLFxuXHRcIm1lZGl1bVwiXG5dO1xuZXhwb3J0IHR5cGUgTWFycXVlU2l6ZSA9IHR5cGVvZiBNQVJRVUVfU0laRVNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgQkFDS0RST1BTOiByZWFkb25seSBbXG5cdFwiYmx1clwiLFxuXHRcInNoYWRpbmdcIlxuXTtcbmV4cG9ydCB0eXBlIEJhY2tkcm9wID0gKHR5cGVvZiBCQUNLRFJPUFMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IE1PREFMX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIlxuXTtcbmV4cG9ydCB0eXBlIE1vZGFsQXJpYUF0dHJpYnV0ZSA9ICh0eXBlb2YgTU9EQUxfQVJJQV9BVFRSSUJVVEVTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgTW9kYWxCYWNrZHJvcCA9IEJhY2tkcm9wO1xuZGVjbGFyZSBjb25zdCBNT0RFTF9TSUdOQVRVUkVfRkVUQ0hfUFJJT1JJVFk6IHJlYWRvbmx5IFtcblx0XCJsb3dcIixcblx0XCJoaWdoXCIsXG5cdFwiYXV0b1wiXG5dO1xuZXhwb3J0IHR5cGUgTW9kZWxTaWduYXR1cmVGZXRjaFByaW9yaXR5ID0gKHR5cGVvZiBNT0RFTF9TSUdOQVRVUkVfRkVUQ0hfUFJJT1JJVFkpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IE1PREVMX1NJR05BVFVSRV9TSVpFUzogcmVhZG9ubHkgW1xuXHRcInNtYWxsXCIsXG5cdFwiaW5oZXJpdFwiXG5dO1xuZXhwb3J0IHR5cGUgTW9kZWxTaWduYXR1cmVTaXplID0gKHR5cGVvZiBNT0RFTF9TSUdOQVRVUkVfU0laRVMpW251bWJlcl07XG5leHBvcnQgdHlwZSBNb2RlbFNpZ25hdHVyZU1vZGVsID0ga2V5b2YgdHlwZW9mIE1PREVMX1NJR05BVFVSRVNfTUFOSUZFU1Q7XG5kZWNsYXJlIGNvbnN0IE1PREVMX1NJR05BVFVSRV9DT0xPUlM6IHJlYWRvbmx5IFtcblx0XCJwcmltYXJ5XCIsXG5cdFwiY29udHJhc3QtbG93XCIsXG5cdFwiY29udHJhc3QtbWVkaXVtXCIsXG5cdFwiY29udHJhc3QtaGlnaFwiLFxuXHRcImluaGVyaXRcIlxuXTtcbmV4cG9ydCB0eXBlIE1vZGVsU2lnbmF0dXJlQ29sb3IgPSAodHlwZW9mIE1PREVMX1NJR05BVFVSRV9DT0xPUlMpW251bWJlcl07XG5leHBvcnQgdHlwZSBNdWx0aVNlbGVjdFN0YXRlID0gRm9ybVN0YXRlO1xuZXhwb3J0IHR5cGUgTXVsdGlTZWxlY3REcm9wZG93bkRpcmVjdGlvbiA9IFNlbGVjdENvbXBvbmVudHNEcm9wZG93bkRpcmVjdGlvbjtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgTXVsdGlTZWxlY3RVcGRhdGVFdmVudCA9IHtcblx0bmFtZTogc3RyaW5nO1xuXHR2YWx1ZTogc3RyaW5nW107XG59O1xuZXhwb3J0IHR5cGUgTXVsdGlTZWxlY3RVcGRhdGVFdmVudERldGFpbCA9IE11bHRpU2VsZWN0VXBkYXRlRXZlbnQ7XG5kZWNsYXJlIGNvbnN0IFBBR0lOQVRJT05fTlVNQkVSX09GX1BBR0VfTElOS1M6IHJlYWRvbmx5IFtcblx0NSxcblx0N1xuXTtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgUGFnaW5hdGlvbk1heE51bWJlck9mUGFnZUxpbmtzID0gKHR5cGVvZiBQQUdJTkFUSU9OX05VTUJFUl9PRl9QQUdFX0xJTktTKVtudW1iZXJdO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBQYWdpbmF0aW9uVXBkYXRlRXZlbnQgPSB7XG5cdHBhZ2U6IG51bWJlcjtcblx0cHJldmlvdXNQYWdlOiBudW1iZXI7XG59O1xuZXhwb3J0IHR5cGUgUGFnaW5hdGlvblVwZGF0ZUV2ZW50RGV0YWlsID0gUGFnaW5hdGlvblVwZGF0ZUV2ZW50O1xuZXhwb3J0IHR5cGUgUGFnaW5hdGlvbkludGVybmF0aW9uYWxpemF0aW9uID0gUGFydGlhbDxSZWNvcmQ8XCJyb290XCIgfCBcInByZXZcIiB8IFwibmV4dFwiIHwgXCJwYWdlXCIsIHN0cmluZz4+IHwgc3RyaW5nO1xuZGVjbGFyZSBjb25zdCBQSU5fQ09ERV9UWVBFUzogcmVhZG9ubHkgW1xuXHRcIm51bWJlclwiLFxuXHRcInBhc3N3b3JkXCJcbl07XG5leHBvcnQgdHlwZSBQaW5Db2RlVHlwZSA9ICh0eXBlb2YgUElOX0NPREVfVFlQRVMpW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFBJTl9DT0RFX0xFTkdUSFM6IHJlYWRvbmx5IFtcblx0MSxcblx0Mixcblx0Myxcblx0NCxcblx0NSxcblx0NlxuXTtcbmV4cG9ydCB0eXBlIFBpbkNvZGVMZW5ndGggPSAodHlwZW9mIFBJTl9DT0RFX0xFTkdUSFMpW251bWJlcl07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFBpbkNvZGVVcGRhdGVFdmVudCA9IHtcblx0dmFsdWU6IHN0cmluZztcblx0aXNDb21wbGV0ZTogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBQaW5Db2RlVXBkYXRlRXZlbnREZXRhaWwgPSBQaW5Db2RlVXBkYXRlRXZlbnQ7XG5leHBvcnQgdHlwZSBQaW5Db2RlU3RhdGUgPSBGb3JtU3RhdGU7XG5kZWNsYXJlIGNvbnN0IFBPUE9WRVJfRElSRUNUSU9OUzogcmVhZG9ubHkgW1xuXHRcInRvcFwiLFxuXHRcInJpZ2h0XCIsXG5cdFwiYm90dG9tXCIsXG5cdFwibGVmdFwiXG5dO1xuZXhwb3J0IHR5cGUgUG9wb3ZlckRpcmVjdGlvbiA9ICh0eXBlb2YgUE9QT1ZFUl9ESVJFQ1RJT05TKVtudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBQT1BPVkVSX0FSSUFfQVRUUklCVVRFUzogcmVhZG9ubHkgW1xuXHRcImFyaWEtbGFiZWxcIlxuXTtcbmV4cG9ydCB0eXBlIFBvcG92ZXJBcmlhQXR0cmlidXRlID0gKHR5cGVvZiBQT1BPVkVSX0FSSUFfQVRUUklCVVRFUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFJhZGlvQnV0dG9uV3JhcHBlclN0YXRlID0gRm9ybVN0YXRlO1xuZGVjbGFyZSBjb25zdCBTRUdNRU5URURfQ09OVFJPTF9CQUNLR1JPVU5EX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcImJhY2tncm91bmQtc3VyZmFjZVwiLFxuXHRcImJhY2tncm91bmQtZGVmYXVsdFwiXG5dO1xuZXhwb3J0IHR5cGUgU2VnbWVudGVkQ29udHJvbEJhY2tncm91bmRDb2xvciA9ICh0eXBlb2YgU0VHTUVOVEVEX0NPTlRST0xfQkFDS0dST1VORF9DT0xPUlMpW251bWJlcl07XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFNlZ21lbnRlZENvbnRyb2xVcGRhdGVFdmVudCA9IHtcblx0dmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbn07XG5leHBvcnQgdHlwZSBTZWdtZW50ZWRDb250cm9sVXBkYXRlRXZlbnREZXRhaWwgPSBTZWdtZW50ZWRDb250cm9sVXBkYXRlRXZlbnQ7XG5kZWNsYXJlIGNvbnN0IFNFR01FTlRFRF9DT05UUk9MX0NPTFVNTlM6IChzdHJpbmcgfCBudW1iZXIpW107XG5leHBvcnQgdHlwZSBTZWdtZW50ZWRDb250cm9sQ29sdW1ucyA9ICh0eXBlb2YgU0VHTUVOVEVEX0NPTlRST0xfQ09MVU1OUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFNlZ21lbnRlZENvbnRyb2xJdGVtSWNvbiA9IExpbmtCdXR0b25JY29uTmFtZTtcbmV4cG9ydCB0eXBlIFNlbGVjdFN0YXRlID0gRm9ybVN0YXRlO1xuZXhwb3J0IHR5cGUgU2VsZWN0RHJvcGRvd25EaXJlY3Rpb24gPSBTZWxlY3RDb21wb25lbnRzRHJvcGRvd25EaXJlY3Rpb247XG5leHBvcnQgdHlwZSBTZWxlY3RVcGRhdGVFdmVudERldGFpbCA9IHtcblx0bmFtZTogc3RyaW5nO1xuXHR2YWx1ZTogc3RyaW5nO1xufTtcbmRlY2xhcmUgY29uc3QgRFJPUERPV05fRElSRUNUSU9OUzogcmVhZG9ubHkgW1xuXHRcImRvd25cIixcblx0XCJ1cFwiLFxuXHRcImF1dG9cIlxuXTtcbmV4cG9ydCB0eXBlIFNlbGVjdFdyYXBwZXJEcm9wZG93bkRpcmVjdGlvbiA9ICh0eXBlb2YgRFJPUERPV05fRElSRUNUSU9OUylbbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFNlbGVjdFdyYXBwZXJTdGF0ZSA9IEZvcm1TdGF0ZTtcbmRlY2xhcmUgY29uc3QgU1BJTk5FUl9TSVpFUzogcmVhZG9ubHkgW1xuXHRcInNtYWxsXCIsXG5cdFwibWVkaXVtXCIsXG5cdFwibGFyZ2VcIixcblx0XCJpbmhlcml0XCJcbl07XG5leHBvcnQgdHlwZSBTcGlubmVyU2l6ZSA9IHR5cGVvZiBTUElOTkVSX1NJWkVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFNQSU5ORVJfQVJJQV9BVFRSSUJVVEVTOiByZWFkb25seSBbXG5cdFwiYXJpYS1sYWJlbFwiXG5dO1xuZXhwb3J0IHR5cGUgU3Bpbm5lckFyaWFBdHRyaWJ1dGUgPSB0eXBlb2YgU1BJTk5FUl9BUklBX0FUVFJJQlVURVNbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgU1RFUFBFUl9IT1JJWk9OVEFMX1NJWkVTOiByZWFkb25seSBbXG5cdFwic21hbGxcIixcblx0XCJtZWRpdW1cIlxuXTtcbmV4cG9ydCB0eXBlIFN0ZXBwZXJIb3Jpem9udGFsU2l6ZSA9ICh0eXBlb2YgU1RFUFBFUl9IT1JJWk9OVEFMX1NJWkVTKVtudW1iZXJdO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBTdGVwcGVySG9yaXpvbnRhbFVwZGF0ZUV2ZW50ID0ge1xuXHRhY3RpdmVTdGVwSW5kZXg6IG51bWJlcjtcbn07XG5leHBvcnQgdHlwZSBTdGVwcGVySG9yaXpvbnRhbFVwZGF0ZUV2ZW50RGV0YWlsID0gU3RlcHBlckhvcml6b250YWxVcGRhdGVFdmVudDtcbmRlY2xhcmUgY29uc3QgU1RFUFBFUl9JVEVNX1NUQVRFUzogcmVhZG9ubHkgW1xuXHRcImN1cnJlbnRcIixcblx0XCJjb21wbGV0ZVwiLFxuXHRcIndhcm5pbmdcIlxuXTtcbmV4cG9ydCB0eXBlIFN0ZXBwZXJIb3Jpem9udGFsSXRlbVN0YXRlID0gKHR5cGVvZiBTVEVQUEVSX0lURU1fU1RBVEVTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgU3dpdGNoQWxpZ25MYWJlbCA9IEFsaWduTGFiZWw7XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFN3aXRjaFVwZGF0ZUV2ZW50ID0ge1xuXHRjaGVja2VkOiBib29sZWFuO1xufTtcbmV4cG9ydCB0eXBlIFN3aXRjaFVwZGF0ZUV2ZW50RGV0YWlsID0gU3dpdGNoVXBkYXRlRXZlbnQ7XG5leHBvcnQgdHlwZSBEaXJlY3Rpb24gPSBcImFzY1wiIHwgXCJkZXNjXCI7XG5leHBvcnQgdHlwZSBUYWJsZUhlYWRDZWxsU29ydCA9IHtcblx0aWQ6IHN0cmluZztcblx0YWN0aXZlPzogYm9vbGVhbjtcblx0ZGlyZWN0aW9uPzogRGlyZWN0aW9uO1xufTtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgVGFibGVVcGRhdGVFdmVudCA9IFRhYmxlSGVhZENlbGxTb3J0O1xuZXhwb3J0IHR5cGUgVGFibGVVcGRhdGVFdmVudERldGFpbCA9IFRhYmxlVXBkYXRlRXZlbnQ7XG5kZWNsYXJlIGNvbnN0IFRBQlNfQkFSX1NJWkVTOiByZWFkb25seSBbXG5cdFwic21hbGxcIixcblx0XCJtZWRpdW1cIlxuXTtcbmV4cG9ydCB0eXBlIFRhYnNCYXJTaXplID0gKHR5cGVvZiBUQUJTX0JBUl9TSVpFUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVEFCU19CQVJfV0VJR0hUUzogcmVhZG9ubHkgW1xuXHRcInJlZ3VsYXJcIixcblx0XCJzZW1pLWJvbGRcIixcblx0XCJzZW1pYm9sZFwiXG5dO1xuZXhwb3J0IHR5cGUgVGFic0JhcldlaWdodCA9ICh0eXBlb2YgVEFCU19CQVJfV0VJR0hUUylbbnVtYmVyXTtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgVGFic0JhclVwZGF0ZUV2ZW50ID0ge1xuXHRhY3RpdmVUYWJJbmRleDogbnVtYmVyO1xufTtcbmV4cG9ydCB0eXBlIFRhYnNCYXJVcGRhdGVFdmVudERldGFpbCA9IFRhYnNCYXJVcGRhdGVFdmVudDtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgVGFic0JhckdyYWRpZW50Q29sb3JTY2hlbWUgPSBTY3JvbGxlckdyYWRpZW50Q29sb3JTY2hlbWU7XG5leHBvcnQgdHlwZSBUYWJzQmFyR3JhZGllbnRDb2xvciA9IFNjcm9sbGVyR3JhZGllbnRDb2xvcjtcbmV4cG9ydCB0eXBlIFRhYnNTaXplID0gVGFic0JhclNpemU7XG5leHBvcnQgdHlwZSBUYWJzV2VpZ2h0ID0gVGFic0JhcldlaWdodDtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgVGFic0dyYWRpZW50Q29sb3JTY2hlbWUgPSBUYWJzQmFyR3JhZGllbnRDb2xvclNjaGVtZTtcbmV4cG9ydCB0eXBlIFRhYnNHcmFkaWVudENvbG9yID0gVGFic0JhckdyYWRpZW50Q29sb3I7XG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIFRhYnNVcGRhdGVFdmVudCA9IFRhYnNCYXJVcGRhdGVFdmVudDtcbmV4cG9ydCB0eXBlIFRhYnNVcGRhdGVFdmVudERldGFpbCA9IFRhYnNVcGRhdGVFdmVudDtcbmRlY2xhcmUgY29uc3QgVEFHX0RJU01JU1NJQkxFX0NPTE9SUzogcmVhZG9ubHkgW1xuXHRcImJhY2tncm91bmQtYmFzZVwiLFxuXHRcImJhY2tncm91bmQtc3VyZmFjZVwiLFxuXHRcImJhY2tncm91bmQtZGVmYXVsdFwiXG5dO1xuZXhwb3J0IHR5cGUgVGFnRGlzbWlzc2libGVDb2xvciA9IHR5cGVvZiBUQUdfRElTTUlTU0lCTEVfQ09MT1JTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IFRBR19ESVNNSVNTSUJMRV9BUklBX0FUVFJJQlVURVM6IHJlYWRvbmx5IFtcblx0XCJhcmlhLWxhYmVsXCJcbl07XG5leHBvcnQgdHlwZSBUYWdEaXNtaXNzaWJsZUFyaWFBdHRyaWJ1dGUgPSB0eXBlb2YgVEFHX0RJU01JU1NJQkxFX0FSSUFfQVRUUklCVVRFU1tudW1iZXJdO1xuZXhwb3J0IHR5cGUgVGFnSWNvbiA9IEljb25OYW1lO1xuZGVjbGFyZSBjb25zdCBUQUdfQ09MT1JTOiByZWFkb25seSBbXG5cdFwiYmFja2dyb3VuZC1iYXNlXCIsXG5cdFwiYmFja2dyb3VuZC1zdXJmYWNlXCIsXG5cdFwiYmFja2dyb3VuZC1kZWZhdWx0XCIsXG5cdFwicHJpbWFyeVwiLFxuXHRcIm5vdGlmaWNhdGlvbi1pbmZvLXNvZnRcIixcblx0XCJub3RpZmljYXRpb24td2FybmluZy1zb2Z0XCIsXG5cdFwibm90aWZpY2F0aW9uLXN1Y2Nlc3Mtc29mdFwiLFxuXHRcIm5vdGlmaWNhdGlvbi1lcnJvci1zb2Z0XCIsXG5cdFwibmV1dHJhbC1jb250cmFzdC1oaWdoXCIsXG5cdFwibm90aWZpY2F0aW9uLW5ldXRyYWxcIixcblx0XCJub3RpZmljYXRpb24td2FybmluZ1wiLFxuXHRcIm5vdGlmaWNhdGlvbi1zdWNjZXNzXCIsXG5cdFwibm90aWZpY2F0aW9uLWVycm9yXCJcbl07XG5leHBvcnQgdHlwZSBUYWdDb2xvciA9ICh0eXBlb2YgVEFHX0NPTE9SUylbbnVtYmVyXTtcbmRlY2xhcmUgY29uc3QgVEVYVF9UQUdTOiByZWFkb25seSBbXG5cdFwicFwiLFxuXHRcInNwYW5cIixcblx0XCJkaXZcIixcblx0XCJhZGRyZXNzXCIsXG5cdFwiYmxvY2txdW90ZVwiLFxuXHRcImZpZ2NhcHRpb25cIixcblx0XCJjaXRlXCIsXG5cdFwidGltZVwiLFxuXHRcImxlZ2VuZFwiXG5dO1xuZXhwb3J0IHR5cGUgVGV4dFRhZyA9ICh0eXBlb2YgVEVYVF9UQUdTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgVGV4dEFsaWduID0gVHlwb2dyYXBoeUFsaWduO1xuZXhwb3J0IHR5cGUgVGV4dENvbG9yID0gVHlwb2dyYXBoeVRleHRDb2xvcjtcbmV4cG9ydCB0eXBlIFRleHRXZWlnaHQgPSBUeXBvZ3JhcGh5VGV4dFdlaWdodDtcbmRlY2xhcmUgY29uc3QgVU5JVF9QT1NJVElPTlM6IHJlYWRvbmx5IFtcblx0XCJwcmVmaXhcIixcblx0XCJzdWZmaXhcIlxuXTtcbmV4cG9ydCB0eXBlIFRleHRGaWVsZFdyYXBwZXJVbml0UG9zaXRpb24gPSAodHlwZW9mIFVOSVRfUE9TSVRJT05TKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgVGV4dEZpZWxkV3JhcHBlckFjdGlvbkljb24gPSBFeHRyYWN0PEljb25OYW1lLCBcImxvY2F0ZVwiPjtcbmV4cG9ydCB0eXBlIFRleHRGaWVsZFdyYXBwZXJTdGF0ZSA9IEZvcm1TdGF0ZTtcbmRlY2xhcmUgY29uc3QgTElTVF9UWVBFUzogcmVhZG9ubHkgW1xuXHRcInVub3JkZXJlZFwiLFxuXHRcIm9yZGVyZWRcIlxuXTtcbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IHR5cGUgVGV4dExpc3RMaXN0VHlwZSA9IHR5cGVvZiBMSVNUX1RZUEVTW251bWJlcl07XG5kZWNsYXJlIGNvbnN0IE9SREVSX1RZUEVTOiByZWFkb25seSBbXG5cdFwibnVtYmVyZWRcIixcblx0XCJhbHBoYWJldGljYWxseVwiXG5dO1xuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgdHlwZSBUZXh0TGlzdE9yZGVyVHlwZSA9IHR5cGVvZiBPUkRFUl9UWVBFU1tudW1iZXJdO1xuZGVjbGFyZSBjb25zdCBURVhUX0xJU1RfVFlQRVM6IHJlYWRvbmx5IFtcblx0XCJ1bm9yZGVyZWRcIixcblx0XCJudW1iZXJlZFwiLFxuXHRcImFscGhhYmV0aWNhbGx5XCJcbl07XG5leHBvcnQgdHlwZSBUZXh0TGlzdFR5cGUgPSB0eXBlb2YgVEVYVF9MSVNUX1RZUEVTW251bWJlcl07XG5leHBvcnQgdHlwZSBUZXh0YXJlYVdyYXBwZXJTdGF0ZSA9IEZvcm1TdGF0ZTtcbmRlY2xhcmUgY29uc3QgVE9BU1RfU1RBVEVTOiByZWFkb25seSBbXG5cdFwiaW5mb1wiLFxuXHRcInN1Y2Nlc3NcIixcblx0XCJuZXV0cmFsXCJcbl07XG5leHBvcnQgdHlwZSBUb2FzdFN0YXRlID0gdHlwZW9mIFRPQVNUX1NUQVRFU1tudW1iZXJdO1xuZXhwb3J0IHR5cGUgVG9hc3RNZXNzYWdlID0ge1xuXHR0ZXh0OiBzdHJpbmc7XG5cdHN0YXRlPzogVG9hc3RTdGF0ZTtcbn07XG5kZWNsYXJlIGNvbnN0IFdPUkRNQVJLX1NJWkVTOiByZWFkb25seSBbXG5cdFwic21hbGxcIixcblx0XCJpbmhlcml0XCJcbl07XG5leHBvcnQgdHlwZSBXb3JkbWFya1NpemUgPSAodHlwZW9mIFdPUkRNQVJLX1NJWkVTKVtudW1iZXJdO1xuZXhwb3J0IHR5cGUgV29yZG1hcmtUYXJnZXQgPSBMaW5rVGFyZ2V0O1xuZXhwb3J0IHR5cGUgV29yZG1hcmtBcmlhQXR0cmlidXRlID0gTGlua0FyaWFBdHRyaWJ1dGU7XG4iXX0=