@mediusinc/mng-commons 0.11.1 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/esm2020/lib/components/action/action.component.mjs +20 -19
  2. package/esm2020/lib/components/action/editor/action-editor.component.mjs +9 -9
  3. package/esm2020/lib/components/action/route/action-route.component.mjs +3 -3
  4. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +11 -7
  5. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +11 -8
  6. package/esm2020/lib/components/form/editor/form-editor.component.mjs +7 -7
  7. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +6 -6
  8. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +6 -6
  9. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +5 -5
  10. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +12 -12
  11. package/esm2020/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +3 -3
  12. package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +12 -12
  13. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +7 -7
  14. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +13 -13
  15. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +6 -6
  16. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +5 -5
  17. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +5 -5
  18. package/esm2020/lib/components/layout/breadcrumb.component.mjs +3 -3
  19. package/esm2020/lib/components/layout/footer.component.mjs +3 -3
  20. package/esm2020/lib/components/layout/main-layout.component.mjs +3 -3
  21. package/esm2020/lib/components/layout/menu-item.component.mjs +4 -4
  22. package/esm2020/lib/components/layout/menu.component.mjs +7 -7
  23. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +3 -3
  24. package/esm2020/lib/components/layout/topbar.component.mjs +7 -7
  25. package/esm2020/lib/components/layout/version.component.mjs +4 -4
  26. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +3 -3
  27. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +3 -3
  28. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +9 -9
  29. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +8 -8
  30. package/esm2020/lib/components/tableview/table/table.component.mjs +14 -14
  31. package/esm2020/lib/components/tableview/tableview.component.mjs +9 -9
  32. package/esm2020/lib/descriptors/action.descriptor.mjs +50 -22
  33. package/esm2020/lib/directives/component.directive.mjs +3 -3
  34. package/esm2020/lib/directives/template.directive.mjs +3 -3
  35. package/esm2020/lib/mng-commons.module.mjs +15 -17
  36. package/esm2020/lib/pipes/boolean.pipe.mjs +3 -3
  37. package/esm2020/lib/pipes/enum.pipe.mjs +3 -3
  38. package/esm2020/lib/pipes/i18n-property.pipe.mjs +3 -3
  39. package/esm2020/lib/pipes/json-path.pipe.mjs +3 -3
  40. package/esm2020/lib/pipes/link-formatter.pipe.mjs +3 -3
  41. package/esm2020/lib/router/route-builder.mjs +2 -2
  42. package/esm2020/lib/security/authorization.guard.mjs +3 -3
  43. package/esm2020/lib/security/authorization.service.mjs +3 -3
  44. package/esm2020/lib/services/action-executor.service.mjs +8 -6
  45. package/esm2020/lib/services/commons.service.mjs +3 -3
  46. package/esm2020/lib/services/configuration.service.mjs +11 -2
  47. package/esm2020/lib/services/internal/commons-init.service.mjs +5 -5
  48. package/esm2020/lib/services/navigation.service.mjs +3 -3
  49. package/esm2020/lib/services/version.service.mjs +3 -3
  50. package/esm2020/lib/services/view-container.component.service.mjs +3 -3
  51. package/esm2020/lib/styles/button-style.builder.mjs +112 -0
  52. package/esm2020/lib/styles/index.mjs +3 -0
  53. package/esm2020/lib/styles/styles.util.mjs +41 -0
  54. package/esm2020/lib/utils/index.mjs +2 -1
  55. package/esm2020/lib/utils/string.util.mjs +24 -0
  56. package/esm2020/public-api.mjs +3 -1
  57. package/fesm2015/mediusinc-mng-commons.mjs +513 -333
  58. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  59. package/fesm2020/mediusinc-mng-commons.mjs +511 -331
  60. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  61. package/{mediusinc-mng-commons.d.ts → index.d.ts} +0 -0
  62. package/lib/components/action/action.component.d.ts +3 -10
  63. package/lib/components/action/editor/action-editor.component.d.ts +1 -1
  64. package/lib/components/action/route/action-route.component.d.ts +1 -1
  65. package/lib/components/form/autocomplete/autocomplete.component.d.ts +1 -1
  66. package/lib/components/form/dropdown/dropdown.component.d.ts +1 -1
  67. package/lib/components/form/editor/form-editor.component.d.ts +2 -2
  68. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +1 -1
  69. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +1 -1
  70. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +1 -1
  71. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +1 -1
  72. package/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.d.ts +1 -1
  73. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +1 -1
  74. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +1 -1
  75. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +1 -1
  76. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +1 -1
  77. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +1 -1
  78. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +1 -1
  79. package/lib/components/layout/breadcrumb.component.d.ts +1 -1
  80. package/lib/components/layout/footer.component.d.ts +1 -1
  81. package/lib/components/layout/main-layout.component.d.ts +1 -1
  82. package/lib/components/layout/menu-item.component.d.ts +1 -1
  83. package/lib/components/layout/menu.component.d.ts +1 -1
  84. package/lib/components/layout/topbar.component.d.ts +1 -1
  85. package/lib/components/layout/version.component.d.ts +1 -1
  86. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +1 -1
  87. package/lib/components/tableview/route/tableview-route.component.d.ts +1 -1
  88. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +1 -1
  89. package/lib/components/tableview/table/column-value/column-value.component.d.ts +1 -1
  90. package/lib/components/tableview/table/table.component.d.ts +1 -1
  91. package/lib/components/tableview/tableview.component.d.ts +1 -1
  92. package/lib/descriptors/action.descriptor.d.ts +31 -6
  93. package/lib/descriptors/field.descriptor.d.ts +1 -1
  94. package/lib/directives/component.directive.d.ts +1 -1
  95. package/lib/directives/template.directive.d.ts +1 -1
  96. package/lib/pipes/boolean.pipe.d.ts +1 -1
  97. package/lib/pipes/enum.pipe.d.ts +1 -1
  98. package/lib/pipes/i18n-property.pipe.d.ts +1 -1
  99. package/lib/pipes/json-path.pipe.d.ts +1 -1
  100. package/lib/pipes/link-formatter.pipe.d.ts +1 -1
  101. package/lib/services/configuration.service.d.ts +10 -1
  102. package/lib/styles/button-style.builder.d.ts +26 -0
  103. package/lib/styles/index.d.ts +2 -0
  104. package/lib/{utils → styles}/styles.util.d.ts +0 -0
  105. package/lib/utils/index.d.ts +1 -0
  106. package/lib/utils/string.util.d.ts +4 -0
  107. package/package.json +9 -9
  108. package/public-api.d.ts +1 -0
  109. package/scss/common/theme/designer/components/button/_speeddial.scss +6 -4
  110. package/scss/common/theme/designer/components/input/_autocomplete.scss +5 -3
  111. package/scss/common/theme/designer/components/input/_chips.scss +5 -3
  112. package/scss/common/theme/designer/components/input/_inputswitch.scss +3 -1
  113. package/scss/common/theme/designer/components/input/_multiselect.scss +4 -2
  114. package/scss/common/theme/designer/components/input/_slider.scss +6 -4
  115. package/scss/common/theme/designer/components/input/_treeselect.scss +4 -2
  116. package/scss/common/theme/designer/components/menu/_steps.scss +3 -1
  117. package/scss/common/theme/designer/components/misc/_chip.scss +4 -2
  118. package/scss/common/theme/designer/components/misc/_tag.scss +3 -1
  119. package/scss/common/theme/designer/components/overlay/_overlaypanel.scss +4 -2
  120. package/version-info.json +5 -5
  121. package/esm2020/lib/utils/styles.util.mjs +0 -41
@@ -1,3 +1,5 @@
1
+ @use 'sass:math';
2
+
1
3
  .p-autocomplete {
2
4
  .p-autocomplete-loader {
3
5
  right: nth($inputPadding, 2);
@@ -10,7 +12,7 @@
10
12
  }
11
13
 
12
14
  .p-autocomplete-multiple-container {
13
- padding: nth($inputPadding, 1) / 2 nth($inputPadding, 2);
15
+ padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2);
14
16
 
15
17
  &:not(.p-disabled):hover {
16
18
  border-color: $inputHoverBorderColor;
@@ -21,7 +23,7 @@
21
23
  }
22
24
 
23
25
  .p-autocomplete-input-token {
24
- padding: nth($inputPadding, 1) / 2 0;
26
+ padding: math.div(nth($inputPadding, 1), 2) 0;
25
27
 
26
28
  input {
27
29
  font-family: $fontFamily;
@@ -33,7 +35,7 @@
33
35
  }
34
36
 
35
37
  .p-autocomplete-token {
36
- padding: nth($inputPadding, 1) / 2 nth($inputPadding, 2);
38
+ padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2);
37
39
  margin-right: $inlineSpacing;
38
40
  background: $highlightBg;
39
41
  color: $highlightTextColor;
@@ -1,6 +1,8 @@
1
+ @use 'sass:math';
2
+
1
3
  .p-chips {
2
4
  .p-chips-multiple-container {
3
- padding: nth($inputPadding, 1) / 2 nth($inputPadding, 2);
5
+ padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2);
4
6
 
5
7
  &:not(.p-disabled):hover {
6
8
  border-color: $inputHoverBorderColor;
@@ -11,7 +13,7 @@
11
13
  }
12
14
 
13
15
  .p-chips-token {
14
- padding: nth($inputPadding, 1) / 2 nth($inputPadding, 2);
16
+ padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2);
15
17
  margin-right: $inlineSpacing;
16
18
  background: $highlightBg;
17
19
  color: $highlightTextColor;
@@ -23,7 +25,7 @@
23
25
  }
24
26
 
25
27
  .p-chips-input-token {
26
- padding: nth($inputPadding, 1) / 2 0;
28
+ padding: math.div(nth($inputPadding, 1), 2) 0;
27
29
 
28
30
  input {
29
31
  font-family: $fontFamily;
@@ -1,3 +1,5 @@
1
+ @use 'sass:math';
2
+
1
3
  .p-inputswitch {
2
4
  width: $inputSwitchWidth;
3
5
  height: $inputSwitchHeight;
@@ -12,7 +14,7 @@
12
14
  width: $inputSwitchHandleWidth;
13
15
  height: $inputSwitchHandleHeight;
14
16
  left: $inputSwitchSliderPadding;
15
- margin-top: -1 * $inputSwitchHandleHeight / 2;
17
+ margin-top: -1 * math.div($inputSwitchHandleHeight, 2);
16
18
  border-radius: $inputSwitchHandleBorderRadius;
17
19
  transition-duration: $transitionDuration;
18
20
  }
@@ -1,3 +1,5 @@
1
+ @use 'sass:math';
2
+
1
3
  .p-multiselect {
2
4
  background: $inputBg;
3
5
  border: $inputBorder;
@@ -23,7 +25,7 @@
23
25
 
24
26
  &.p-multiselect-chip {
25
27
  .p-multiselect-token {
26
- padding: nth($inputPadding, 1) / 2 nth($inputPadding, 2);
28
+ padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2);
27
29
  margin-right: $inlineSpacing;
28
30
  background: $highlightBg;
29
31
  color: $highlightTextColor;
@@ -48,7 +50,7 @@
48
50
  .p-multiselect {
49
51
  &.p-multiselect-chip {
50
52
  .p-multiselect-label {
51
- padding: nth($inputPadding, 1) / 2 nth($inputPadding, 2);
53
+ padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2);
52
54
  }
53
55
  }
54
56
  }
@@ -1,3 +1,5 @@
1
+ @use 'sass:math';
2
+
1
3
  .p-slider {
2
4
  background: $sliderBg;
3
5
  border: $sliderBorder;
@@ -7,8 +9,8 @@
7
9
  height: $sliderHorizontalHeight;
8
10
 
9
11
  .p-slider-handle {
10
- margin-top: (-1 * $sliderHandleHeight / 2);
11
- margin-left: (-1 * $sliderHandleWidth / 2);
12
+ margin-top: (-1 * math.div($sliderHandleHeight, 2));
13
+ margin-left: (-1 * math.div($sliderHandleWidth, 2));
12
14
  }
13
15
  }
14
16
 
@@ -16,8 +18,8 @@
16
18
  width: $sliderVerticalWidth;
17
19
 
18
20
  .p-slider-handle {
19
- margin-left: (-1 * $sliderHandleWidth / 2);
20
- margin-bottom: (-1 * $sliderHandleHeight / 2);
21
+ margin-left: (-1 * math.div($sliderHandleWidth, 2));
22
+ margin-bottom: (-1 * math.div($sliderHandleHeight, 2));
21
23
  }
22
24
  }
23
25
 
@@ -1,3 +1,5 @@
1
+ @use 'sass:math';
2
+
1
3
  .p-treeselect {
2
4
  background: $inputBg;
3
5
  border: $inputBorder;
@@ -23,7 +25,7 @@
23
25
 
24
26
  &.p-treeselect-chip {
25
27
  .p-treeselect-token {
26
- padding: nth($inputPadding, 1) / 2 nth($inputPadding, 2);
28
+ padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2);
27
29
  margin-right: $inlineSpacing;
28
30
  background: $chipBg;
29
31
  color: $chipTextColor;
@@ -48,7 +50,7 @@
48
50
  .p-treeselect {
49
51
  &.p-treeselect-chip {
50
52
  .p-treeselect-label {
51
- padding: nth($inputPadding, 1) / 2 nth($inputPadding, 2);
53
+ padding: math.div(nth($inputPadding, 1), 2) nth($inputPadding, 2);
52
54
  }
53
55
  }
54
56
  }
@@ -1,3 +1,5 @@
1
+ @use 'sass:math';
2
+
1
3
  .p-steps {
2
4
  .p-steps-item {
3
5
  .p-menuitem-link {
@@ -48,7 +50,7 @@
48
50
  left: 0;
49
51
  display: block;
50
52
  position: absolute;
51
- margin-top: -1 * ($stepsItemNumberHeight / 2);
53
+ margin-top: -1 * math.div($stepsItemNumberHeight, 2);
52
54
  }
53
55
  }
54
56
  }
@@ -1,3 +1,5 @@
1
+ @use 'sass:math';
2
+
1
3
  .p-chip {
2
4
  background-color: $chipBg;
3
5
  color: $chipTextColor;
@@ -6,8 +8,8 @@
6
8
 
7
9
  .p-chip-text {
8
10
  line-height: 1.5;
9
- margin-top: nth($inputPadding, 1) / 2;
10
- margin-bottom: nth($inputPadding, 1) / 2;
11
+ margin-top: math.div(nth($inputPadding, 1), 2);
12
+ margin-bottom: math.div(nth($inputPadding, 1), 2);
11
13
  }
12
14
 
13
15
  .p-chip-icon {
@@ -1,3 +1,5 @@
1
+ @use 'sass:math';
2
+
1
3
  .p-tag {
2
4
  background: $badgeBg;
3
5
  color: $badgeTextColor;
@@ -27,7 +29,7 @@
27
29
  }
28
30
 
29
31
  .p-tag-icon {
30
- margin-right: $inlineSpacing / 2;
32
+ margin-right: math.div($inlineSpacing, 2);
31
33
  font-size: $badgeFontSize;
32
34
  }
33
35
  }
@@ -1,3 +1,5 @@
1
+ @use 'sass:math';
2
+
1
3
  .p-overlaypanel {
2
4
  background: $overlayContentBg;
3
5
  color: $panelContentTextColor;
@@ -17,8 +19,8 @@
17
19
  transition: $actionIconTransition;
18
20
  border-radius: $actionIconBorderRadius;
19
21
  position: absolute;
20
- top: -1 * $actionIconWidth / 2;
21
- right: -1 * $actionIconWidth / 2;
22
+ top: -1 * math.div($actionIconWidth, 2);
23
+ right: -1 * math.div($actionIconWidth, 2);
22
24
 
23
25
  &:enabled:hover {
24
26
  background: $buttonHoverBg;
package/version-info.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons",
3
- "version": "0.11.1",
4
- "tag": "v0.11.1",
3
+ "version": "0.12.2",
4
+ "tag": "v0.12.2",
5
5
  "distance": 0,
6
- "hash": "820fe958",
6
+ "hash": "27054678",
7
7
  "dirty": false,
8
- "semver": "0.11.1",
9
- "raw": "v0.11.1-820fe958"
8
+ "semver": "0.12.2",
9
+ "raw": "v0.12.2-27054678"
10
10
  }
@@ -1,41 +0,0 @@
1
- import { ActionSizeEnum, TableSizeEnum } from '../descriptors/types';
2
- export class StylesUtil {
3
- static calculateTableColumnActionWidth(table, actions) {
4
- const buttonsWidth = actions.reduce((acc, action) => acc + StylesUtil.getActionButtonRoundedWidth(action) + 2 * StylesUtil.ACTION_BUTTON_MARGIN_X, 0);
5
- const tablePadding = StylesUtil.getTableCellPaddingX(table);
6
- return buttonsWidth + 2 * tablePadding;
7
- }
8
- static getTableCellPaddingX(table) {
9
- switch (table.size) {
10
- case TableSizeEnum.Small:
11
- return StylesUtil.TABLE_CELL_PADDING_X_SM;
12
- case TableSizeEnum.Large:
13
- return StylesUtil.TABLE_CELL_PADDING_X_LG;
14
- default:
15
- return StylesUtil.TABLE_CELL_PADDING_X;
16
- }
17
- }
18
- static getActionButtonRoundedWidth(action) {
19
- switch (action.size) {
20
- case ActionSizeEnum.ExtraSmall:
21
- return StylesUtil.BUTTON_ROUNDED_WIDTH_XS;
22
- case ActionSizeEnum.Small:
23
- return StylesUtil.BUTTON_ROUNDED_WIDTH_SM;
24
- case ActionSizeEnum.Large:
25
- case ActionSizeEnum.ExtraLarge:
26
- return StylesUtil.BUTTON_ROUNDED_WIDTH_LG;
27
- case ActionSizeEnum.Normal:
28
- default:
29
- return StylesUtil.BUTTON_ROUNDED_WIDTH;
30
- }
31
- }
32
- }
33
- StylesUtil.BUTTON_ROUNDED_WIDTH_XS = 26;
34
- StylesUtil.BUTTON_ROUNDED_WIDTH_SM = 28;
35
- StylesUtil.BUTTON_ROUNDED_WIDTH = 32;
36
- StylesUtil.BUTTON_ROUNDED_WIDTH_LG = 45;
37
- StylesUtil.ACTION_BUTTON_MARGIN_X = 2;
38
- StylesUtil.TABLE_CELL_PADDING_X = 8; // left and right paddings are same
39
- StylesUtil.TABLE_CELL_PADDING_X_SM = 4;
40
- StylesUtil.TABLE_CELL_PADDING_X_LG = 12;
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3N0eWxlcy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxjQUFjLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkUsTUFBTSxPQUFPLFVBQVU7SUFZWixNQUFNLENBQUMsK0JBQStCLENBQUMsS0FBK0IsRUFBRSxPQUF5QztRQUNwSCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RKLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1RCxPQUFPLFlBQVksR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDO0lBQzNDLENBQUM7SUFFTSxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBK0I7UUFDOUQsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2hCLEtBQUssYUFBYSxDQUFDLEtBQUs7Z0JBQ3BCLE9BQU8sVUFBVSxDQUFDLHVCQUF1QixDQUFDO1lBQzlDLEtBQUssYUFBYSxDQUFDLEtBQUs7Z0JBQ3BCLE9BQU8sVUFBVSxDQUFDLHVCQUF1QixDQUFDO1lBQzlDO2dCQUNJLE9BQU8sVUFBVSxDQUFDLG9CQUFvQixDQUFDO1NBQzlDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxNQUFpQztRQUN2RSxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxjQUFjLENBQUMsVUFBVTtnQkFDMUIsT0FBTyxVQUFVLENBQUMsdUJBQXVCLENBQUM7WUFDOUMsS0FBSyxjQUFjLENBQUMsS0FBSztnQkFDckIsT0FBTyxVQUFVLENBQUMsdUJBQXVCLENBQUM7WUFDOUMsS0FBSyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQzFCLEtBQUssY0FBYyxDQUFDLFVBQVU7Z0JBQzFCLE9BQU8sVUFBVSxDQUFDLHVCQUF1QixDQUFDO1lBQzlDLEtBQUssY0FBYyxDQUFDLE1BQU0sQ0FBQztZQUMzQjtnQkFDSSxPQUFPLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztTQUM5QztJQUNMLENBQUM7O0FBekNzQixrQ0FBdUIsR0FBRyxFQUFFLENBQUM7QUFDN0Isa0NBQXVCLEdBQUcsRUFBRSxDQUFDO0FBQzdCLCtCQUFvQixHQUFHLEVBQUUsQ0FBQztBQUMxQixrQ0FBdUIsR0FBRyxFQUFFLENBQUM7QUFFN0IsaUNBQXNCLEdBQUcsQ0FBQyxDQUFDO0FBRTNCLCtCQUFvQixHQUFHLENBQUMsQ0FBQyxDQUFDLG1DQUFtQztBQUM3RCxrQ0FBdUIsR0FBRyxDQUFDLENBQUM7QUFDNUIsa0NBQXVCLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9yLCBUYWJsZURlc2NyaXB0b3J9IGZyb20gJy4uL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7QWN0aW9uU2l6ZUVudW0sIFRhYmxlU2l6ZUVudW19IGZyb20gJy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIFN0eWxlc1V0aWwge1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQlVUVE9OX1JPVU5ERURfV0lEVEhfWFMgPSAyNjtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJVVFRPTl9ST1VOREVEX1dJRFRIX1NNID0gMjg7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBCVVRUT05fUk9VTkRFRF9XSURUSCA9IDMyO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQlVUVE9OX1JPVU5ERURfV0lEVEhfTEcgPSA0NTtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUNUSU9OX0JVVFRPTl9NQVJHSU5fWCA9IDI7XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRBQkxFX0NFTExfUEFERElOR19YID0gODsgLy8gbGVmdCBhbmQgcmlnaHQgcGFkZGluZ3MgYXJlIHNhbWVcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRBQkxFX0NFTExfUEFERElOR19YX1NNID0gNDtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRBQkxFX0NFTExfUEFERElOR19YX0xHID0gMTI7XG5cbiAgICBwdWJsaWMgc3RhdGljIGNhbGN1bGF0ZVRhYmxlQ29sdW1uQWN0aW9uV2lkdGgodGFibGU6IFRhYmxlRGVzY3JpcHRvcjx1bmtub3duPiwgYWN0aW9uczogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjx1bmtub3duPj4pOiBudW1iZXIge1xuICAgICAgICBjb25zdCBidXR0b25zV2lkdGggPSBhY3Rpb25zLnJlZHVjZSgoYWNjLCBhY3Rpb24pID0+IGFjYyArIFN0eWxlc1V0aWwuZ2V0QWN0aW9uQnV0dG9uUm91bmRlZFdpZHRoKGFjdGlvbikgKyAyICogU3R5bGVzVXRpbC5BQ1RJT05fQlVUVE9OX01BUkdJTl9YLCAwKTtcbiAgICAgICAgY29uc3QgdGFibGVQYWRkaW5nID0gU3R5bGVzVXRpbC5nZXRUYWJsZUNlbGxQYWRkaW5nWCh0YWJsZSk7XG4gICAgICAgIHJldHVybiBidXR0b25zV2lkdGggKyAyICogdGFibGVQYWRkaW5nO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VGFibGVDZWxsUGFkZGluZ1godGFibGU6IFRhYmxlRGVzY3JpcHRvcjx1bmtub3duPik6IG51bWJlciB7XG4gICAgICAgIHN3aXRjaCAodGFibGUuc2l6ZSkge1xuICAgICAgICAgICAgY2FzZSBUYWJsZVNpemVFbnVtLlNtYWxsOlxuICAgICAgICAgICAgICAgIHJldHVybiBTdHlsZXNVdGlsLlRBQkxFX0NFTExfUEFERElOR19YX1NNO1xuICAgICAgICAgICAgY2FzZSBUYWJsZVNpemVFbnVtLkxhcmdlOlxuICAgICAgICAgICAgICAgIHJldHVybiBTdHlsZXNVdGlsLlRBQkxFX0NFTExfUEFERElOR19YX0xHO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gU3R5bGVzVXRpbC5UQUJMRV9DRUxMX1BBRERJTkdfWDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWN0aW9uQnV0dG9uUm91bmRlZFdpZHRoKGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjx1bmtub3duPik6IG51bWJlciB7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uLnNpemUpIHtcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uU2l6ZUVudW0uRXh0cmFTbWFsbDpcbiAgICAgICAgICAgICAgICByZXR1cm4gU3R5bGVzVXRpbC5CVVRUT05fUk9VTkRFRF9XSURUSF9YUztcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uU2l6ZUVudW0uU21hbGw6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0eWxlc1V0aWwuQlVUVE9OX1JPVU5ERURfV0lEVEhfU007XG4gICAgICAgICAgICBjYXNlIEFjdGlvblNpemVFbnVtLkxhcmdlOlxuICAgICAgICAgICAgY2FzZSBBY3Rpb25TaXplRW51bS5FeHRyYUxhcmdlOlxuICAgICAgICAgICAgICAgIHJldHVybiBTdHlsZXNVdGlsLkJVVFRPTl9ST1VOREVEX1dJRFRIX0xHO1xuICAgICAgICAgICAgY2FzZSBBY3Rpb25TaXplRW51bS5Ob3JtYWw6XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBTdHlsZXNVdGlsLkJVVFRPTl9ST1VOREVEX1dJRFRIO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19