@sunbird-cb/utils 1.0.19-ang-13-16 → 1.0.20-ang-13-16

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 (163) hide show
  1. package/esm2022/lib/components/image-crop/image-crop.component.mjs +172 -0
  2. package/esm2022/lib/components/image-crop/image-crop.module.mjs +55 -0
  3. package/esm2022/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.mjs +87 -0
  4. package/esm2022/lib/directives/class-change-on-scroll/class-change-on-scroll.module.mjs +20 -0
  5. package/{esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js → esm2022/lib/directives/default-thumbnail/default-thumbnail.directive.mjs} +4 -4
  6. package/esm2022/lib/directives/default-thumbnail/default-thumbnail.module.mjs +20 -0
  7. package/{esm2015/lib/directives/image-responsive/image-responsive.directive.js → esm2022/lib/directives/image-responsive/image-responsive.directive.mjs} +4 -4
  8. package/esm2022/lib/directives/image-responsive/image-responsive.module.mjs +20 -0
  9. package/{esm2015/lib/directives/in-view-port/in-view-port.directive.js → esm2022/lib/directives/in-view-port/in-view-port.directive.mjs} +4 -4
  10. package/esm2022/lib/directives/in-view-port/in-view-port.module.mjs +20 -0
  11. package/esm2022/lib/directives/navigation/navigation.directive.mjs +43 -0
  12. package/esm2022/lib/directives/navigation/navigation.module.mjs +20 -0
  13. package/{esm2015/lib/directives/permission/permission.directive.js → esm2022/lib/directives/permission/permission.directive.mjs} +4 -4
  14. package/esm2022/lib/directives/permission/permission.module.mjs +20 -0
  15. package/esm2022/lib/helpers/horizontal-scroller/horizontal-scroller.component.mjs +96 -0
  16. package/esm2022/lib/helpers/horizontal-scroller/horizontal-scroller.module.mjs +32 -0
  17. package/esm2022/lib/helpers/logout/logout.component.mjs +44 -0
  18. package/esm2022/lib/helpers/logout/logout.module.mjs +27 -0
  19. package/esm2022/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.mjs +18 -0
  20. package/{esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js → esm2022/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.mjs} +4 -4
  21. package/esm2022/lib/pipes/pipe-count-transform/pipe-count-transform.module.mjs +20 -0
  22. package/{esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js → esm2022/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.mjs} +4 -4
  23. package/esm2022/lib/pipes/pipe-date-concat/pipe-date-concat.module.mjs +20 -0
  24. package/{esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js → esm2022/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.mjs} +4 -4
  25. package/esm2022/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.mjs +20 -0
  26. package/{esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js → esm2022/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.mjs} +4 -4
  27. package/esm2022/lib/pipes/pipe-filter/pipe-filter.module.mjs +20 -0
  28. package/{esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js → esm2022/lib/pipes/pipe-filter/pipe-filter.pipe.mjs} +4 -4
  29. package/esm2022/lib/pipes/pipe-filter-search/pipe-filter-search.module.mjs +20 -0
  30. package/{esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js → esm2022/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.mjs} +4 -4
  31. package/esm2022/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.mjs +20 -0
  32. package/{esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js → esm2022/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.mjs} +4 -4
  33. package/esm2022/lib/pipes/pipe-limit-to/pipe-limit-to.module.mjs +20 -0
  34. package/{esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js → esm2022/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.mjs} +4 -4
  35. package/esm2022/lib/pipes/pipe-list-filter/pipe-list-filter.module.mjs +20 -0
  36. package/{esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js → esm2022/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.mjs} +4 -4
  37. package/esm2022/lib/pipes/pipe-name-transform/pipe-name-transform.module.mjs +20 -0
  38. package/{esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js → esm2022/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.mjs} +4 -4
  39. package/esm2022/lib/pipes/pipe-order-by/pipe-order-by.module.mjs +20 -0
  40. package/{esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js → esm2022/lib/pipes/pipe-order-by/pipe-order-by.pipe.mjs} +4 -4
  41. package/esm2022/lib/pipes/pipe-partial-content/pipe-partial-content.module.mjs +20 -0
  42. package/{esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js → esm2022/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.mjs} +4 -4
  43. package/esm2022/lib/pipes/pipe-relative-time/pipe-relative-time.module.mjs +20 -0
  44. package/{esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js → esm2022/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.mjs} +4 -4
  45. package/esm2022/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.mjs +20 -0
  46. package/{esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js → esm2022/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.mjs} +4 -4
  47. package/{esm2015/lib/resolvers/explore-detail.resolver.js → esm2022/lib/resolvers/explore-detail.resolver.mjs} +4 -4
  48. package/{esm2015/lib/resolvers/marketing-offering.resolve.js → esm2022/lib/resolvers/marketing-offering.resolve.mjs} +4 -4
  49. package/{esm2015/lib/resolvers/page.resolver.js → esm2022/lib/resolvers/page.resolver.mjs} +4 -4
  50. package/esm2022/lib/services/auth-keycloak.service.mjs +52 -0
  51. package/esm2022/lib/services/auth-microsoft.service.mjs +173 -0
  52. package/{esm2015/lib/services/configurations.service.js → esm2022/lib/services/configurations.service.mjs} +4 -4
  53. package/esm2022/lib/services/event.service.mjs +204 -0
  54. package/{esm2015/lib/services/logger.service.js → esm2022/lib/services/logger.service.mjs} +4 -4
  55. package/esm2022/lib/services/subapplication-respond.service.mjs +76 -0
  56. package/esm2022/lib/services/telemetry.service.mjs +502 -0
  57. package/esm2022/lib/services/user-preference.service.mjs +92 -0
  58. package/{esm2015/lib/services/utility.service.js → esm2022/lib/services/utility.service.mjs} +4 -4
  59. package/{esm2015/lib/services/value.service.js → esm2022/lib/services/value.service.mjs} +4 -4
  60. package/esm2022/lib/services/widget-content.service.mjs +182 -0
  61. package/{fesm2015/sunbird-cb-utils.js → fesm2022/sunbird-cb-utils.mjs} +573 -545
  62. package/fesm2022/sunbird-cb-utils.mjs.map +1 -0
  63. package/lib/components/image-crop/image-crop.component.d.ts +3 -3
  64. package/lib/components/image-crop/image-crop.component.d.ts.map +1 -1
  65. package/lib/components/image-crop/image-crop.module.d.ts +6 -6
  66. package/lib/components/image-crop/image-crop.module.d.ts.map +1 -1
  67. package/lib/constants/misc.constants.d.ts +2 -2
  68. package/lib/constants/misc.constants.d.ts.map +1 -1
  69. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +1 -1
  70. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +1 -1
  71. package/lib/directives/image-responsive/image-responsive.directive.d.ts +1 -1
  72. package/lib/directives/in-view-port/in-view-port.directive.d.ts +1 -1
  73. package/lib/directives/navigation/navigation.directive.d.ts +1 -1
  74. package/lib/directives/permission/permission.directive.d.ts +1 -1
  75. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +1 -1
  76. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +3 -3
  77. package/lib/helpers/logout/logout.component.d.ts +2 -2
  78. package/lib/helpers/logout/logout.component.d.ts.map +1 -1
  79. package/lib/helpers/logout/logout.module.d.ts +3 -3
  80. package/lib/helpers/logout/logout.module.d.ts.map +1 -1
  81. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +1 -1
  82. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +1 -1
  83. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +1 -1
  84. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +1 -1
  85. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +1 -1
  86. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +1 -1
  87. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +1 -1
  88. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +1 -1
  89. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +1 -1
  90. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +1 -1
  91. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +5 -5
  92. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +1 -1
  93. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +1 -1
  94. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +1 -1
  95. package/lib/resolvers/explore-detail.resolver.d.ts +2 -2
  96. package/lib/resolvers/explore-detail.resolver.d.ts.map +1 -1
  97. package/lib/resolvers/marketing-offering.resolve.d.ts +2 -2
  98. package/lib/resolvers/marketing-offering.resolve.d.ts.map +1 -1
  99. package/lib/resolvers/page.resolver.d.ts +2 -2
  100. package/lib/resolvers/page.resolver.d.ts.map +1 -1
  101. package/lib/services/widget-resolver.model.d.ts +1 -1
  102. package/lib/services/widget-resolver.model.d.ts.map +1 -1
  103. package/package.json +26 -18
  104. package/sunbird-cb-utils-1.0.20-ang-13-16.tgz +0 -0
  105. package/bundles/sunbird-cb-utils.umd.js +0 -4785
  106. package/bundles/sunbird-cb-utils.umd.js.map +0 -1
  107. package/esm2015/lib/components/image-crop/image-crop.component.js +0 -166
  108. package/esm2015/lib/components/image-crop/image-crop.module.js +0 -58
  109. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +0 -87
  110. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +0 -22
  111. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +0 -22
  112. package/esm2015/lib/directives/image-responsive/image-responsive.module.js +0 -22
  113. package/esm2015/lib/directives/in-view-port/in-view-port.module.js +0 -22
  114. package/esm2015/lib/directives/navigation/navigation.directive.js +0 -43
  115. package/esm2015/lib/directives/navigation/navigation.module.js +0 -22
  116. package/esm2015/lib/directives/permission/permission.module.js +0 -22
  117. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +0 -100
  118. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +0 -34
  119. package/esm2015/lib/helpers/logout/logout.component.js +0 -48
  120. package/esm2015/lib/helpers/logout/logout.module.js +0 -30
  121. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +0 -18
  122. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +0 -22
  123. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +0 -22
  124. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +0 -22
  125. package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +0 -22
  126. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +0 -22
  127. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +0 -22
  128. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +0 -22
  129. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +0 -22
  130. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +0 -22
  131. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +0 -22
  132. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +0 -22
  133. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +0 -22
  134. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +0 -22
  135. package/esm2015/lib/services/auth-keycloak.service.js +0 -57
  136. package/esm2015/lib/services/auth-microsoft.service.js +0 -184
  137. package/esm2015/lib/services/event.service.js +0 -199
  138. package/esm2015/lib/services/subapplication-respond.service.js +0 -70
  139. package/esm2015/lib/services/telemetry.service.js +0 -434
  140. package/esm2015/lib/services/user-preference.service.js +0 -82
  141. package/esm2015/lib/services/widget-content.service.js +0 -182
  142. package/fesm2015/sunbird-cb-utils.js.map +0 -1
  143. package/sunbird-cb-utils-1.0.19-ang-13-16.tgz +0 -0
  144. /package/{esm2015/lib/constants/features.enum.js → esm2022/lib/constants/features.enum.mjs} +0 -0
  145. /package/{esm2015/lib/constants/instances.enum.js → esm2022/lib/constants/instances.enum.mjs} +0 -0
  146. /package/{esm2015/lib/constants/misc.constants.js → esm2022/lib/constants/misc.constants.mjs} +0 -0
  147. /package/{esm2015/lib/helpers/functions/getStringifiedQueryParams.js → esm2022/lib/helpers/functions/getStringifiedQueryParams.mjs} +0 -0
  148. /package/{esm2015/lib/models/contentRating.model.js → esm2022/lib/models/contentRating.model.mjs} +0 -0
  149. /package/{esm2015/lib/resolvers/page.constant.js → esm2022/lib/resolvers/page.constant.mjs} +0 -0
  150. /package/{esm2015/lib/resolvers/page.model.js → esm2022/lib/resolvers/page.model.mjs} +0 -0
  151. /package/{esm2015/lib/resolvers/resolver.model.js → esm2022/lib/resolvers/resolver.model.mjs} +0 -0
  152. /package/{esm2015/lib/services/card-content.model.js → esm2022/lib/services/card-content.model.mjs} +0 -0
  153. /package/{esm2015/lib/services/configurations.model.js → esm2022/lib/services/configurations.model.mjs} +0 -0
  154. /package/{esm2015/lib/services/content-strip-multiple.model.js → esm2022/lib/services/content-strip-multiple.model.mjs} +0 -0
  155. /package/{esm2015/lib/services/event.model.js → esm2022/lib/services/event.model.mjs} +0 -0
  156. /package/{esm2015/lib/services/ms-office.model.js → esm2022/lib/services/ms-office.model.mjs} +0 -0
  157. /package/{esm2015/lib/services/user-preference.model.js → esm2022/lib/services/user-preference.model.mjs} +0 -0
  158. /package/{esm2015/lib/services/widget-content.model.js → esm2022/lib/services/widget-content.model.mjs} +0 -0
  159. /package/{esm2015/lib/services/widget-resolver.model.js → esm2022/lib/services/widget-resolver.model.mjs} +0 -0
  160. /package/{esm2015/lib/services/widget-search.model.js → esm2022/lib/services/widget-search.model.mjs} +0 -0
  161. /package/{esm2015/public-api.js → esm2022/public-api.mjs} +0 -0
  162. /package/{esm2015/sunbird-cb-utils.js → esm2022/sunbird-cb-utils.mjs} +0 -0
  163. /package/{sunbird-cb-utils.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,172 @@
1
+ import { Component, EventEmitter, Inject, Output } from '@angular/core';
2
+ import { MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/legacy-dialog";
5
+ import * as i2 from "../../services/configurations.service";
6
+ import * as i3 from "@angular/material/legacy-snack-bar";
7
+ import * as i4 from "../../services/value.service";
8
+ import * as i5 from "@angular/common";
9
+ import * as i6 from "ngx-image-cropper";
10
+ import * as i7 from "@angular/material/icon";
11
+ import * as i8 from "@angular/material/legacy-button";
12
+ import * as i9 from "@angular/material/legacy-card";
13
+ import * as i10 from "@angular/material/legacy-slider";
14
+ export class ImageCropComponent {
15
+ constructor(dialogRef, configSvc, snackBar, valueSvc, data) {
16
+ this.dialogRef = dialogRef;
17
+ this.configSvc = configSvc;
18
+ this.snackBar = snackBar;
19
+ this.valueSvc = valueSvc;
20
+ this.data = new EventEmitter();
21
+ this.isRoundCrop = false;
22
+ this.isNotOfRequiredSize = false;
23
+ this.imageFileBase64 = '';
24
+ this.width = '';
25
+ this.height = '';
26
+ this.imageDimensions = '';
27
+ this.croppedHeight = '';
28
+ this.croppedWidth = '';
29
+ this.cropperReadyToStart = false;
30
+ this.fileName = '';
31
+ this.canvasRotation = 0;
32
+ this.transform = {};
33
+ this.resetValue = false;
34
+ this.isXSmall = false;
35
+ this.isThumbnail = true;
36
+ this.isRoundCrop = data.isRoundCrop;
37
+ if (data.imageFile) {
38
+ this.imageFile = data.imageFile;
39
+ }
40
+ if (data.imageFileName) {
41
+ this.fileName = data.imageFileName;
42
+ }
43
+ if (!data.isRoundCrop) {
44
+ if (data.height) {
45
+ this.opHeight = data.height;
46
+ }
47
+ if (data.width) {
48
+ this.opWidth = data.width;
49
+ }
50
+ }
51
+ }
52
+ ngOnInit() {
53
+ this.thumbnailSizeDetection();
54
+ this.valueSvc.isXSmall$.subscribe((isXSmall) => {
55
+ this.isXSmall = isXSmall;
56
+ if (this.isXSmall) {
57
+ this.dialogRef.updateSize('90%');
58
+ }
59
+ else {
60
+ this.dialogRef.updateSize('70%');
61
+ }
62
+ });
63
+ }
64
+ changeToDefaultImg($event) {
65
+ $event.target.src = this.configSvc.instanceConfig ?
66
+ this.configSvc.instanceConfig.logos.defaultContent : '';
67
+ }
68
+ imageCropped(event) {
69
+ this.imageFileBase64 = event.base64;
70
+ this.cropimageFile = this.base64ImageToBlob(this.imageFileBase64);
71
+ this.croppedHeight = event.height;
72
+ this.croppedWidth = event.width;
73
+ }
74
+ openSnackBar(message) {
75
+ this.snackBar.open(message, 'X', {
76
+ duration: 2000,
77
+ });
78
+ }
79
+ continueToImageCrop() {
80
+ this.isNotOfRequiredSize = false;
81
+ }
82
+ thumbnailSizeDetection() {
83
+ const fr = new FileReader();
84
+ fr.readAsDataURL(this.imageFile);
85
+ fr.onload = () => {
86
+ const img = new Image();
87
+ img.src = fr.result;
88
+ img.onload = () => {
89
+ this.width = img.width;
90
+ this.height = img.height;
91
+ if (!this.isRoundCrop) {
92
+ if ((this.height === this.opHeight) && (this.width === this.opWidth)) {
93
+ this.openSnackBar('Image is of the required dimensions of the thumbnail, croping is not available!');
94
+ return;
95
+ }
96
+ if ((this.height < this.opHeight) || (this.width < this.opWidth)) {
97
+ this.isNotOfRequiredSize = true;
98
+ }
99
+ }
100
+ };
101
+ };
102
+ }
103
+ base64ImageToBlob(str) {
104
+ const pos = str.indexOf(';base64,');
105
+ const b64 = str.substr(pos + 8);
106
+ const imageContent = atob(b64);
107
+ const buffer = new ArrayBuffer(imageContent.length);
108
+ const view = new Uint8Array(buffer);
109
+ for (let n = 0; n < imageContent.length; n = n + 1) {
110
+ view[n] = imageContent.charCodeAt(n);
111
+ }
112
+ const blob = new Blob([view], { type: 'image/png' });
113
+ const b = blob;
114
+ b.lastModifiedDate = new Date();
115
+ b.name = this.fileName;
116
+ const file = new File([blob], this.fileName, { type: 'image/jpeg' });
117
+ return file;
118
+ }
119
+ flipAfterRotate() {
120
+ const flippedH = this.transform.flipH;
121
+ const flippedV = this.transform.flipV;
122
+ this.transform = {
123
+ ...this.transform,
124
+ flipH: flippedV,
125
+ flipV: flippedH,
126
+ };
127
+ }
128
+ rotateLeft() {
129
+ this.canvasRotation = this.canvasRotation - 1;
130
+ this.flipAfterRotate();
131
+ }
132
+ rotateRight() {
133
+ this.canvasRotation = this.canvasRotation + 1;
134
+ this.flipAfterRotate();
135
+ }
136
+ flipHorizontal() {
137
+ this.transform = {
138
+ ...this.transform,
139
+ flipH: !this.transform.flipH,
140
+ };
141
+ }
142
+ zoom(event) {
143
+ this.resetValue = false;
144
+ this.transform = {
145
+ ...this.transform,
146
+ scale: event.value,
147
+ };
148
+ }
149
+ croppingImage() {
150
+ this.dialogRef.close(this.cropimageFile);
151
+ }
152
+ reset() {
153
+ this.resetValue = true;
154
+ this.canvasRotation = 0;
155
+ this.transform = {};
156
+ }
157
+ close() {
158
+ this.dialogRef.close();
159
+ }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageCropComponent, deps: [{ token: i1.MatLegacyDialogRef }, { token: i2.ConfigurationsService }, { token: i3.MatLegacySnackBar }, { token: i4.ValueService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ImageCropComponent, selector: "ws-utils-image-crop", outputs: { data: "data" }, ngImport: i0, template: "<ng-container *ngIf=\"isNotOfRequiredSize\">\r\n <mat-dialog-content>\r\n <div class=\"flex pl-4\">\r\n <mat-icon class=\"ws-mat-warn-text largeicon padding-remove-left\">warning</mat-icon>\r\n <h2 class=\"text-xl\" i18n>This image will appear stretched as it is not in proper dimension. Do you want to\r\n continue?</h2>\r\n </div>\r\n <div class=\"text-sm pl-4\">\r\n <div i18n class=\"pb-2\">Note:</div>\r\n <div i18n class=\"pb-2\">Required dimensions : 265 * 150</div>\r\n <div class=\"flex flex-wrap items-baseline\">\r\n <div>Current dimensions:</div>\r\n <div class=\"pl-1\">{{ width }} * {{ height }} px</div>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n <mat-dialog-actions class=\"flex flex-end\">\r\n <div class=\"flex flex-end\">\r\n <button mat-raised-button autofocus type=\"button\" (click)=\" close()\">\r\n <span i18n>No</span>\r\n </button>\r\n <button mat-raised-button type=\"button\" class=\"text-white ws-mat-primary-background text-white\"\r\n (click)=\" continueToImageCrop()\">\r\n <span class=\"text-white\" i18n>Yes</span>\r\n </button>\r\n </div>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n<ng-container *ngIf=\"isRoundCrop\">\r\n <!-- For Profile image - start -->\r\n <div class=\"flex flex-between\">\r\n <mat-icon class=\" ws-mat-primary-text margin-bottom-xxs\">crop</mat-icon>\r\n <p mat-dialog-title class=\"text-3xl font-weight-bold ws-mat-primary-text\" i18n>Profile Photo</p>\r\n <mat-icon class=\"float-right flex-end cursor-pointer\" (click)=\"close()\" i18n>close</mat-icon>\r\n\r\n </div>\r\n <mat-dialog-content class=\"p-0 overflow-hidden \" *ngIf=\"isRoundCrop\">\r\n <div class=\"flex flex-between\">\r\n <div class=\"profile-slides\">\r\n <image-cropper #imageCropper class=\"image-cropper-profile\" [imageFile]=\"imageFile\" [maintainAspectRatio]=\"true\"\r\n [aspectRatio]=\"250 / 250\" [resizeToWidth]=\"100\" [roundCropper]=\"isRoundCrop\" [resizeToHeight]=\"120\"\r\n [cropperMinWidth]=\"500\" [format]=\"'jpeg'\" [transform]=\"transform\" [canvasRotation]=\"canvasRotation\"\r\n (imageCropped)=\"imageCropped($event)\">\r\n </image-cropper>\r\n </div>\r\n </div>\r\n <ul class=\"toolbar cf\">\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"rotateLeft()\">\r\n <mat-icon class=\"text-white large-icon ws-mat-primary-text\">rotate_left</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Left</span>\r\n </button>\r\n </li>\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"rotateRight()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">rotate_right</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Right</span>\r\n </button></li>\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"flipHorizontal()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">flip</mat-icon>\r\n <span class=\"button-text\" i18n>Flip Horizontal</span>\r\n </button></li>\r\n <li><a href=\"#\"><i class=\"icon-cloud\"></i></a></li>\r\n </ul>\r\n </mat-dialog-content>\r\n</ng-container> <!-- For Profile image - end -->\r\n<ng-container>\r\n <ng-container *ngIf=\"!isNotOfRequiredSize && !isRoundCrop \">\r\n <div class=\"flex flex-between\">\r\n <mat-icon class=\" ws-mat-primary-text margin-bottom-xxs\">crop</mat-icon>\r\n <p mat-dialog-title class=\"text-3xl title-margin font-weight-bold ws-mat-primary-text\" i18n>Edit Image</p>\r\n <mat-icon class=\"float-right flex-end cursor-pointer\" (click)=\"close()\" i18n>\r\n close</mat-icon>\r\n </div>\r\n <mat-dialog-content *ngIf=\"!isRoundCrop\">\r\n <div class=\"flex flex-between\">\r\n <div class=\"Slides\">\r\n <image-cropper #imageCropper class=\"image-cropper padding-remove\" [imageFile]=\"imageFile\"\r\n [maintainAspectRatio]=\"true\" [aspectRatio]=\"opWidth / opHeight\" [resizeToWidth]=\"opWidth\"\r\n [roundCropper]=\"isRoundCrop\" [resizeToHeight]=\"opHeight\" [cropperMinWidth]=\"opWidth\" [format]=\"'jpeg'\"\r\n [transform]=\"transform\" [canvasRotation]=\"canvasRotation\" (imageCropped)=\"imageCropped($event)\">\r\n </image-cropper>\r\n <div class=\"flex flex-between\">\r\n <span class=\"my-3\" i18n>Zoom</span>\r\n <mat-slider class=\"w-full mx-3\" color=\"primary\" (input)=\"zoom($event)\" min=\"1\" max=\"2.5\" step=\"0.1\">\r\n </mat-slider>\r\n </div>\r\n <div class=\"edit-feature-window \" *ngIf=\"!isXSmall\">\r\n <div class=\"flex flex-between\">\r\n <button mat-raised-button class=\"mat-button\" (click)=\"rotateLeft()\">\r\n <mat-icon class=\"text-white large-icon ws-mat-primary-text\">rotate_left</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Left</span>\r\n </button>\r\n <button mat-raised-button class=\"mat-button\" (click)=\"rotateRight()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">rotate_right</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Right</span>\r\n </button>\r\n <button mat-raised-button class=\"mat-button\" (click)=\"flipHorizontal()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">flip</mat-icon>\r\n <span class=\"button-text\" i18n>Flip Horizontal</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <mat-card class=\"ws-mat-primary-border-top-bolder mat-elevation-z6 margin-bottom-l button-text\"\r\n *ngIf=\"isThumbnail\">\r\n <img [src]=\"imageFileBase64\" height=\"auto\" width=\"100%\" (error)=\"changeToDefaultImg($event)\" />\r\n <div class=\"flex flex-middle justify-center margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">image</mat-icon>\r\n <b class=\"mat-title margin-remove ws-mat-primary-text\" i18n>Preview</b>\r\n </div>\r\n </mat-card>\r\n </div>\r\n <div class=\"edit-feature-window heightwidth\">\r\n <!-- <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_horiz</mat-icon>\r\n <b class=\"mat-body margin-remove \" i18n>Cropped dimensions: {{ opWidth }} * {{ opHeight }} px</b>\r\n </div> -->\r\n <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_horiz</mat-icon>\r\n <b class=\"mat-body margin-remove \">\r\n <span i18n>Cropped Width: </span>\r\n <span>{{ croppedWidth }}</span>\r\n <span i18n>px</span>\r\n </b>\r\n </div>\r\n <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_vert</mat-icon>\r\n <b class=\"mat-body margin-remove \">\r\n <span i18n>Cropped Height: </span>\r\n <span>{{ croppedHeight }}</span>\r\n <span i18n>px</span>\r\n </b>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n </ng-container>\r\n <mat-dialog-actions align=\"end\" *ngIf=\"!isNotOfRequiredSize \">\r\n <div class=\"flex flex-end margin-bottom-s\">\r\n <!-- <button mat-raised-button type=\"button\" (click)=\" reset()\">\r\n <span i18n>Reset</span>\r\n </button> -->\r\n <button mat-raised-button type=\"button\" class=\"text-white ws-mat-primary-background text-white\"\r\n (click)=\" croppingImage()\">\r\n <span class=\"text-white\" i18n>Apply</span>\r\n </button>\r\n </div>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n", styles: [".image-cropper{max-height:55vh}::ng-deep image-cropper .overlay{background-color:transparent!important}.Slides{display:block;height:auto;width:50%;position:relative;margin-left:auto;margin-right:auto;padding:0 1.25em}@media only screen and (max-width: 1030px){.Slides{padding:0;width:100%}}.cursor{cursor:pointer}.edit-feature-window{background:transparent;justify-content:center}mat-toolbar{background-color:#fff!important;z-index:1!important}mat-dialog-content{padding:1.25em!important}@media only screen and (max-width: 1030px){mat-dialog-content{padding:.25em .5em!important}}.heightwidth{display:flex}@media only screen and (max-width: 1030px){.heightwidth{display:block}}@media only screen and (max-width: 1030px){.mat-button{min-width:auto;padding:0 14px}}.largeicon{font-size:2em;padding:.13em .5em}.tooltip{background:#b71c1c}.dimension-icon{position:relative;top:.35em;padding:0 0 0 .3em}@media only screen and (max-width: 1030px){.button-text{display:none}}.image-cropper-profile{max-height:55vh}.profile-slides{box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;display:block;height:auto;width:50%;position:relative;margin-left:auto;margin-right:auto}@media only screen and (max-width: 1030px){.profile-slides{padding:0;width:100%}}.toolbar{left:50%;margin:1em 0 0 -10em;position:absolute;width:auto;border-radius:4px}.cf:before,.cf:after{content:\"\";display:table}.cf:after{clear:both}.toolbar li{float:left;list-style:none}.toolbar a{border-left:0px solid rgba(79,123,170,.4);border-right:1px solid rgba(255,255,255,.3)}.toolbar li:first-child a{border-left:none;border-radius:4px 0 0 4px}.toolbar li:last-child a{border-right:none;border-radius:0 4px 4px 0}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "format", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "autoCrop", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "cropper", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatLegacyDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatLegacyDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatLegacyDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i9.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i10.MatLegacySlider, selector: "mat-slider", inputs: ["disabled", "color", "tabIndex", "invert", "max", "min", "step", "thumbLabel", "tickInterval", "value", "displayWith", "valueText", "vertical"], outputs: ["change", "input", "valueChange"], exportAs: ["matSlider"] }] }); }
162
+ }
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageCropComponent, decorators: [{
164
+ type: Component,
165
+ args: [{ selector: 'ws-utils-image-crop', template: "<ng-container *ngIf=\"isNotOfRequiredSize\">\r\n <mat-dialog-content>\r\n <div class=\"flex pl-4\">\r\n <mat-icon class=\"ws-mat-warn-text largeicon padding-remove-left\">warning</mat-icon>\r\n <h2 class=\"text-xl\" i18n>This image will appear stretched as it is not in proper dimension. Do you want to\r\n continue?</h2>\r\n </div>\r\n <div class=\"text-sm pl-4\">\r\n <div i18n class=\"pb-2\">Note:</div>\r\n <div i18n class=\"pb-2\">Required dimensions : 265 * 150</div>\r\n <div class=\"flex flex-wrap items-baseline\">\r\n <div>Current dimensions:</div>\r\n <div class=\"pl-1\">{{ width }} * {{ height }} px</div>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n <mat-dialog-actions class=\"flex flex-end\">\r\n <div class=\"flex flex-end\">\r\n <button mat-raised-button autofocus type=\"button\" (click)=\" close()\">\r\n <span i18n>No</span>\r\n </button>\r\n <button mat-raised-button type=\"button\" class=\"text-white ws-mat-primary-background text-white\"\r\n (click)=\" continueToImageCrop()\">\r\n <span class=\"text-white\" i18n>Yes</span>\r\n </button>\r\n </div>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n<ng-container *ngIf=\"isRoundCrop\">\r\n <!-- For Profile image - start -->\r\n <div class=\"flex flex-between\">\r\n <mat-icon class=\" ws-mat-primary-text margin-bottom-xxs\">crop</mat-icon>\r\n <p mat-dialog-title class=\"text-3xl font-weight-bold ws-mat-primary-text\" i18n>Profile Photo</p>\r\n <mat-icon class=\"float-right flex-end cursor-pointer\" (click)=\"close()\" i18n>close</mat-icon>\r\n\r\n </div>\r\n <mat-dialog-content class=\"p-0 overflow-hidden \" *ngIf=\"isRoundCrop\">\r\n <div class=\"flex flex-between\">\r\n <div class=\"profile-slides\">\r\n <image-cropper #imageCropper class=\"image-cropper-profile\" [imageFile]=\"imageFile\" [maintainAspectRatio]=\"true\"\r\n [aspectRatio]=\"250 / 250\" [resizeToWidth]=\"100\" [roundCropper]=\"isRoundCrop\" [resizeToHeight]=\"120\"\r\n [cropperMinWidth]=\"500\" [format]=\"'jpeg'\" [transform]=\"transform\" [canvasRotation]=\"canvasRotation\"\r\n (imageCropped)=\"imageCropped($event)\">\r\n </image-cropper>\r\n </div>\r\n </div>\r\n <ul class=\"toolbar cf\">\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"rotateLeft()\">\r\n <mat-icon class=\"text-white large-icon ws-mat-primary-text\">rotate_left</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Left</span>\r\n </button>\r\n </li>\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"rotateRight()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">rotate_right</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Right</span>\r\n </button></li>\r\n <li><button mat-raised-button class=\"mat-button\" (click)=\"flipHorizontal()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">flip</mat-icon>\r\n <span class=\"button-text\" i18n>Flip Horizontal</span>\r\n </button></li>\r\n <li><a href=\"#\"><i class=\"icon-cloud\"></i></a></li>\r\n </ul>\r\n </mat-dialog-content>\r\n</ng-container> <!-- For Profile image - end -->\r\n<ng-container>\r\n <ng-container *ngIf=\"!isNotOfRequiredSize && !isRoundCrop \">\r\n <div class=\"flex flex-between\">\r\n <mat-icon class=\" ws-mat-primary-text margin-bottom-xxs\">crop</mat-icon>\r\n <p mat-dialog-title class=\"text-3xl title-margin font-weight-bold ws-mat-primary-text\" i18n>Edit Image</p>\r\n <mat-icon class=\"float-right flex-end cursor-pointer\" (click)=\"close()\" i18n>\r\n close</mat-icon>\r\n </div>\r\n <mat-dialog-content *ngIf=\"!isRoundCrop\">\r\n <div class=\"flex flex-between\">\r\n <div class=\"Slides\">\r\n <image-cropper #imageCropper class=\"image-cropper padding-remove\" [imageFile]=\"imageFile\"\r\n [maintainAspectRatio]=\"true\" [aspectRatio]=\"opWidth / opHeight\" [resizeToWidth]=\"opWidth\"\r\n [roundCropper]=\"isRoundCrop\" [resizeToHeight]=\"opHeight\" [cropperMinWidth]=\"opWidth\" [format]=\"'jpeg'\"\r\n [transform]=\"transform\" [canvasRotation]=\"canvasRotation\" (imageCropped)=\"imageCropped($event)\">\r\n </image-cropper>\r\n <div class=\"flex flex-between\">\r\n <span class=\"my-3\" i18n>Zoom</span>\r\n <mat-slider class=\"w-full mx-3\" color=\"primary\" (input)=\"zoom($event)\" min=\"1\" max=\"2.5\" step=\"0.1\">\r\n </mat-slider>\r\n </div>\r\n <div class=\"edit-feature-window \" *ngIf=\"!isXSmall\">\r\n <div class=\"flex flex-between\">\r\n <button mat-raised-button class=\"mat-button\" (click)=\"rotateLeft()\">\r\n <mat-icon class=\"text-white large-icon ws-mat-primary-text\">rotate_left</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Left</span>\r\n </button>\r\n <button mat-raised-button class=\"mat-button\" (click)=\"rotateRight()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">rotate_right</mat-icon>\r\n <span class=\"button-text\" i18n>Rotate Right</span>\r\n </button>\r\n <button mat-raised-button class=\"mat-button\" (click)=\"flipHorizontal()\">\r\n <mat-icon class=\"text-white medium-icon ws-mat-primary-text\">flip</mat-icon>\r\n <span class=\"button-text\" i18n>Flip Horizontal</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <mat-card class=\"ws-mat-primary-border-top-bolder mat-elevation-z6 margin-bottom-l button-text\"\r\n *ngIf=\"isThumbnail\">\r\n <img [src]=\"imageFileBase64\" height=\"auto\" width=\"100%\" (error)=\"changeToDefaultImg($event)\" />\r\n <div class=\"flex flex-middle justify-center margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">image</mat-icon>\r\n <b class=\"mat-title margin-remove ws-mat-primary-text\" i18n>Preview</b>\r\n </div>\r\n </mat-card>\r\n </div>\r\n <div class=\"edit-feature-window heightwidth\">\r\n <!-- <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_horiz</mat-icon>\r\n <b class=\"mat-body margin-remove \" i18n>Cropped dimensions: {{ opWidth }} * {{ opHeight }} px</b>\r\n </div> -->\r\n <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_horiz</mat-icon>\r\n <b class=\"mat-body margin-remove \">\r\n <span i18n>Cropped Width: </span>\r\n <span>{{ croppedWidth }}</span>\r\n <span i18n>px</span>\r\n </b>\r\n </div>\r\n <div class=\"flex flex-middle margin-left-l margin-bottom-s padding-top-s\">\r\n <mat-icon class=\"ws-mat-primary-text padding-right-s\">swap_vert</mat-icon>\r\n <b class=\"mat-body margin-remove \">\r\n <span i18n>Cropped Height: </span>\r\n <span>{{ croppedHeight }}</span>\r\n <span i18n>px</span>\r\n </b>\r\n </div>\r\n </div>\r\n </mat-dialog-content>\r\n </ng-container>\r\n <mat-dialog-actions align=\"end\" *ngIf=\"!isNotOfRequiredSize \">\r\n <div class=\"flex flex-end margin-bottom-s\">\r\n <!-- <button mat-raised-button type=\"button\" (click)=\" reset()\">\r\n <span i18n>Reset</span>\r\n </button> -->\r\n <button mat-raised-button type=\"button\" class=\"text-white ws-mat-primary-background text-white\"\r\n (click)=\" croppingImage()\">\r\n <span class=\"text-white\" i18n>Apply</span>\r\n </button>\r\n </div>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n", styles: [".image-cropper{max-height:55vh}::ng-deep image-cropper .overlay{background-color:transparent!important}.Slides{display:block;height:auto;width:50%;position:relative;margin-left:auto;margin-right:auto;padding:0 1.25em}@media only screen and (max-width: 1030px){.Slides{padding:0;width:100%}}.cursor{cursor:pointer}.edit-feature-window{background:transparent;justify-content:center}mat-toolbar{background-color:#fff!important;z-index:1!important}mat-dialog-content{padding:1.25em!important}@media only screen and (max-width: 1030px){mat-dialog-content{padding:.25em .5em!important}}.heightwidth{display:flex}@media only screen and (max-width: 1030px){.heightwidth{display:block}}@media only screen and (max-width: 1030px){.mat-button{min-width:auto;padding:0 14px}}.largeicon{font-size:2em;padding:.13em .5em}.tooltip{background:#b71c1c}.dimension-icon{position:relative;top:.35em;padding:0 0 0 .3em}@media only screen and (max-width: 1030px){.button-text{display:none}}.image-cropper-profile{max-height:55vh}.profile-slides{box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;display:block;height:auto;width:50%;position:relative;margin-left:auto;margin-right:auto}@media only screen and (max-width: 1030px){.profile-slides{padding:0;width:100%}}.toolbar{left:50%;margin:1em 0 0 -10em;position:absolute;width:auto;border-radius:4px}.cf:before,.cf:after{content:\"\";display:table}.cf:after{clear:both}.toolbar li{float:left;list-style:none}.toolbar a{border-left:0px solid rgba(79,123,170,.4);border-right:1px solid rgba(255,255,255,.3)}.toolbar li:first-child a{border-left:none;border-radius:4px 0 0 4px}.toolbar li:last-child a{border-right:none;border-radius:0 4px 4px 0}\n"] }]
166
+ }], ctorParameters: function () { return [{ type: i1.MatLegacyDialogRef }, { type: i2.ConfigurationsService }, { type: i3.MatLegacySnackBar }, { type: i4.ValueService }, { type: undefined, decorators: [{
167
+ type: Inject,
168
+ args: [MAT_DIALOG_DATA]
169
+ }] }]; }, propDecorators: { data: [{
170
+ type: Output
171
+ }] } });
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQy9FLE9BQU8sRUFBc0Msc0JBQXNCLElBQUksZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUE7Ozs7Ozs7Ozs7OztBQWtCL0gsTUFBTSxPQUFPLGtCQUFrQjtJQXdCN0IsWUFDVSxTQUEyQyxFQUMzQyxTQUFnQyxFQUNoQyxRQUFxQixFQUNyQixRQUFzQixFQUNMLElBQWtCO1FBSm5DLGNBQVMsR0FBVCxTQUFTLENBQWtDO1FBQzNDLGNBQVMsR0FBVCxTQUFTLENBQXVCO1FBQ2hDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQTFCdEIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7UUFDekMsZ0JBQVcsR0FBRyxLQUFLLENBQUE7UUFDbkIsd0JBQW1CLEdBQUcsS0FBSyxDQUFBO1FBRzNCLG9CQUFlLEdBQVEsRUFBRSxDQUFBO1FBQ3pCLFVBQUssR0FBUSxFQUFFLENBQUE7UUFDZixXQUFNLEdBQVEsRUFBRSxDQUFBO1FBR2hCLG9CQUFlLEdBQVEsRUFBRSxDQUFBO1FBQ3pCLGtCQUFhLEdBQVEsRUFBRSxDQUFBO1FBQ3ZCLGlCQUFZLEdBQVEsRUFBRSxDQUFBO1FBQ3RCLHdCQUFtQixH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QUc7WUFDZixHQUFHLElBQUksQ0FBQyxTQUFTO1lBQ2pCLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSztTQUM3QixDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFVO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUE7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLEdBQUcsSUFBSSxDQUFDLFNBQVM7WUFDakIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1NBQ25CLENBQUE7SUFDSCxDQUFDO0lBR0QsYUFBYTtRQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUN4QixDQUFDOytHQTFMVSxrQkFBa0Isc0pBNkJuQixlQUFlO21HQTdCZCxrQkFBa0Isc0ZDbkIvQixnOVBBbUpBOzs0RkRoSWEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLHFCQUFxQjs7MEJBaUM1QixNQUFNOzJCQUFDLGVBQWU7NENBM0JmLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nUmVmIGFzIE1hdERpYWxvZ1JlZiwgTUFUX0xFR0FDWV9ESUFMT0dfREFUQSBhcyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktZGlhbG9nJ1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lTbmFja0JhciBhcyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1zbmFjay1iYXInXHJcblxyXG5pbXBvcnQgeyBJbWFnZUNyb3BwZWRFdmVudCwgSW1hZ2VUcmFuc2Zvcm0gfSBmcm9tICduZ3gtaW1hZ2UtY3JvcHBlcidcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlndXJhdGlvbnMuc2VydmljZSdcclxuaW1wb3J0IHsgVmFsdWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmFsdWUuc2VydmljZSdcclxuZXhwb3J0IGludGVyZmFjZSBJRGlhbG9ndWVEdGEge1xyXG4gIGlzUm91bmRDcm9wOiBib29sZWFuLFxyXG4gIGltYWdlRmlsZTogRmlsZSxcclxuICBoZWlnaHQ6IG51bWJlcixcclxuICB3aWR0aDogbnVtYmVyLFxyXG4gIGltYWdlRmlsZU5hbWU6IHN0cmluZ1xyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd3MtdXRpbHMtaW1hZ2UtY3JvcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWNyb3AuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ltYWdlLWNyb3AuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEltYWdlQ3JvcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy8gbmVlZCB0byBzZXQgZm9yIGNyZWF0b3IgTG9nb1xyXG4gIEBPdXRwdXQoKSBkYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlPigpXHJcbiAgaXNSb3VuZENyb3AgPSBmYWxzZVxyXG4gIGlzTm90T2ZSZXF1aXJlZFNpemUgPSBmYWxzZVxyXG4gIGltYWdlRmlsZSE6IEZpbGVcclxuICBjcm9waW1hZ2VGaWxlITogRmlsZVxyXG4gIGltYWdlRmlsZUJhc2U2NDogYW55ID0gJydcclxuICB3aWR0aDogYW55ID0gJydcclxuICBoZWlnaHQ6IGFueSA9ICcnXHJcbiAgb3BIZWlnaHQ6IGFueVxyXG4gIG9wV2lkdGg6IGFueVxyXG4gIGltYWdlRGltZW5zaW9uczogYW55ID0gJydcclxuICBjcm9wcGVkSGVpZ2h0OiBhbnkgPSAnJ1xyXG4gIGNyb3BwZWRXaWR0aDogYW55ID0gJydcclxuICBjcm9wcGVyUmVhZHlUb1N0YXJ0OiBhbnkgPSBmYWxzZVxyXG4gIGZpbGVOYW1lID0gJydcclxuICBjYW52YXNSb3RhdGlvbiA9IDBcclxuICB0cmFuc2Zvcm06IEltYWdlVHJhbnNmb3JtID0ge31cclxuICByZXNldFZhbHVlID0gZmFsc2VcclxuICBlbGVtZW50OiBhbnlcclxuICBpc1hTbWFsbCA9IGZhbHNlXHJcbiAgaXNUaHVtYm5haWwgPSB0cnVlXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxJbWFnZUNyb3BDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSxcclxuICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgcHJpdmF0ZSB2YWx1ZVN2YzogVmFsdWVTZXJ2aWNlLFxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIGRhdGE6IElEaWFsb2d1ZUR0YVxyXG4gICkge1xyXG4gICAgdGhpcy5pc1JvdW5kQ3JvcCA9IGRhdGEuaXNSb3VuZENyb3BcclxuICAgIGlmIChkYXRhLmltYWdlRmlsZSkge1xyXG4gICAgICB0aGlzLmltYWdlRmlsZSA9IGRhdGEuaW1hZ2VGaWxlXHJcbiAgICB9XHJcbiAgICBpZiAoZGF0YS5pbWFnZUZpbGVOYW1lKSB7XHJcbiAgICAgIHRoaXMuZmlsZU5hbWUgPSBkYXRhLmltYWdlRmlsZU5hbWVcclxuICAgIH1cclxuICAgIGlmICghZGF0YS5pc1JvdW5kQ3JvcCkge1xyXG4gICAgICBpZiAoZGF0YS5oZWlnaHQpIHtcclxuICAgICAgICB0aGlzLm9wSGVpZ2h0ID0gZGF0YS5oZWlnaHRcclxuICAgICAgfVxyXG4gICAgICBpZiAoZGF0YS53aWR0aCkge1xyXG4gICAgICAgIHRoaXMub3BXaWR0aCA9IGRhdGEud2lkdGhcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50aHVtYm5haWxTaXplRGV0ZWN0aW9uKClcclxuICAgIHRoaXMudmFsdWVTdmMuaXNYU21hbGwkLnN1YnNjcmliZSgoaXNYU21hbGw6IGJvb2xlYW4pID0+IHtcclxuICAgICAgdGhpcy5pc1hTbWFsbCA9IGlzWFNtYWxsXHJcbiAgICAgIGlmICh0aGlzLmlzWFNtYWxsKSB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYudXBkYXRlU2l6ZSgnOTAlJylcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi51cGRhdGVTaXplKCc3MCUnKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICB9XHJcblxyXG4gIC8vIGRpc3BsYXlzIHRoZSBkZWZhdWx0IGltYWdlXHJcbiAgY2hhbmdlVG9EZWZhdWx0SW1nKCRldmVudDogYW55KSB7XHJcbiAgICAkZXZlbnQudGFyZ2V0LnNyYyA9IHRoaXMuY29uZmlnU3ZjLmluc3RhbmNlQ29uZmlnID9cclxuICAgICAgdGhpcy5jb25maWdTdmMuaW5zdGFuY2VDb25maWcubG9nb3MuZGVmYXVsdENvbnRlbnQgOiAnJ1xyXG4gIH1cclxuXHJcbiAgLy8gaW1hZ2UgY3JvcHBpbmcgZXZlbnRcclxuICBpbWFnZUNyb3BwZWQoZXZlbnQ6IEltYWdlQ3JvcHBlZEV2ZW50KSB7XHJcblxyXG4gICAgdGhpcy5pbWFnZUZpbGVCYXNlNjQgPSBldmVudC5iYXNlNjQgLy8gc3RvcmUgdGhlIGNyb3BwZWQgaW1hZ2UgYXMgYSBiYXNlNjQgdmFsdWVcclxuICAgIHRoaXMuY3JvcGltYWdlRmlsZSA9IHRoaXMuYmFzZTY0SW1hZ2VUb0Jsb2IodGhpcy5pbWFnZUZpbGVCYXNlNjQpIC8vIGNvbnZlcnQgdGhlIGNyb3BwZWQgaW1hZ2UgYXMgYSBmaWxlXHJcbiAgICB0aGlzLmNyb3BwZWRIZWlnaHQgPSBldmVudC5oZWlnaHRcclxuICAgIHRoaXMuY3JvcHBlZFdpZHRoID0gZXZlbnQud2lkdGhcclxuXHJcbiAgfVxyXG5cclxuICBvcGVuU25hY2tCYXIobWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4obWVzc2FnZSwgJ1gnLCB7XHJcbiAgICAgIGR1cmF0aW9uOiAyMDAwLFxyXG4gICAgfSlcclxuICB9XHJcbiAgY29udGludWVUb0ltYWdlQ3JvcCgpIHtcclxuICAgIHRoaXMuaXNOb3RPZlJlcXVpcmVkU2l6ZSA9IGZhbHNlXHJcbiAgfVxyXG5cclxuICAvLyBjaGVja3MgaWYgdGhlIGltYWdlIGlzIG9mIHRoZSBjb3JyZWN0IGRpbWVuc2lvbnNcclxuICB0aHVtYm5haWxTaXplRGV0ZWN0aW9uKCkge1xyXG4gICAgY29uc3QgZnIgPSBuZXcgRmlsZVJlYWRlcigpXHJcbiAgICBmci5yZWFkQXNEYXRhVVJMKHRoaXMuaW1hZ2VGaWxlKVxyXG4gICAgZnIub25sb2FkID0gKCkgPT4geyAvLyB3aGVuIGZpbGUgaGFzIGxvYWRlZFxyXG4gICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKVxyXG4gICAgICBpbWcuc3JjID0gZnIucmVzdWx0IGFzIHN0cmluZ1xyXG4gICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMud2lkdGggPSBpbWcud2lkdGhcclxuICAgICAgICB0aGlzLmhlaWdodCA9IGltZy5oZWlnaHRcclxuICAgICAgICBpZiAoIXRoaXMuaXNSb3VuZENyb3ApIHtcclxuICAgICAgICAgIGlmICgodGhpcy5oZWlnaHQgPT09IHRoaXMub3BIZWlnaHQpICYmICh0aGlzLndpZHRoID09PSB0aGlzLm9wV2lkdGgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlblNuYWNrQmFyKCdJbWFnZSBpcyBvZiB0aGUgcmVxdWlyZWQgZGltZW5zaW9ucyBvZiB0aGUgdGh1bWJuYWlsLCBjcm9waW5nIGlzIG5vdCBhdmFpbGFibGUhJylcclxuICAgICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoKHRoaXMuaGVpZ2h0IDwgdGhpcy5vcEhlaWdodCkgfHwgKHRoaXMud2lkdGggPCB0aGlzLm9wV2lkdGgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNOb3RPZlJlcXVpcmVkU2l6ZSA9IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgYmFzZTY0SW1hZ2VUb0Jsb2Ioc3RyOiBzdHJpbmcpOiBGaWxlIHtcclxuICAgIC8vIGV4dHJhY3QgY29udGVudCB0eXBlIGFuZCBiYXNlNjQgcGF5bG9hZCBmcm9tIG9yaWdpbmFsIHN0cmluZ1xyXG5cclxuICAgIGNvbnN0IHBvcyA9IHN0ci5pbmRleE9mKCc7YmFzZTY0LCcpXHJcbiAgICAvLyB2YXIgdHlwZSA9IHN0ci5zdWJzdHJpbmcoNSwgcG9zKTtcclxuICAgIGNvbnN0IGI2NCA9IHN0ci5zdWJzdHIocG9zICsgOClcclxuICAgIC8vIGRlY29kZSBiYXNlNjRcclxuICAgIGNvbnN0IGltYWdlQ29udGVudCA9IGF0b2IoYjY0KVxyXG4gICAgLy8gY3JlYXRlIGFuIEFycmF5QnVmZmVyIGFuZCBhIHZpZXcgKGFzIHVuc2lnbmVkIDgtYml0KVxyXG4gICAgY29uc3QgYnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKGltYWdlQ29udGVudC5sZW5ndGgpXHJcbiAgICBjb25zdCB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkoYnVmZmVyKVxyXG4gICAgLy8gZmlsbCB0aGUgdmlldywgdXNpbmcgdGhlIGRlY29kZWQgYmFzZTY0XHJcbiAgICBmb3IgKGxldCBuID0gMDsgbiA8IGltYWdlQ29udGVudC5sZW5ndGg7IG4gPSBuICsgMSkge1xyXG4gICAgICB2aWV3W25dID0gaW1hZ2VDb250ZW50LmNoYXJDb2RlQXQobilcclxuICAgIH1cclxuICAgIC8vIGNvbnZlcnQgQXJyYXlCdWZmZXIgdG8gQmxvYlxyXG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFt2aWV3XSwgeyB0eXBlOiAnaW1hZ2UvcG5nJyB9KVxyXG4gICAgY29uc3QgYjogYW55ID0gYmxvYlxyXG4gICAgLy8gQ2FzdCB0byBhIEZpbGUoKSB0eXBlXHJcbiAgICBiLmxhc3RNb2RpZmllZERhdGUgPSBuZXcgRGF0ZSgpXHJcbiAgICBiLm5hbWUgPSB0aGlzLmZpbGVOYW1lXHJcbiAgICBjb25zdCBmaWxlID0gbmV3IEZpbGUoW2Jsb2JdLCB0aGlzLmZpbGVOYW1lLCB7IHR5cGU6ICdpbWFnZS9qcGVnJyB9KVxyXG4gICAgcmV0dXJuIGZpbGVcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZsaXBBZnRlclJvdGF0ZSgpIHtcclxuICAgIGNvbnN0IGZsaXBwZWRIID0gdGhpcy50cmFuc2Zvcm0uZmxpcEhcclxuICAgIGNvbnN0IGZsaXBwZWRWID0gdGhpcy50cmFuc2Zvcm0uZmxpcFZcclxuICAgIHRoaXMudHJhbnNmb3JtID0ge1xyXG4gICAgICAuLi50aGlzLnRyYW5zZm9ybSxcclxuICAgICAgZmxpcEg6IGZsaXBwZWRWLFxyXG4gICAgICBmbGlwVjogZmxpcHBlZEgsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByb3RhdGVMZWZ0KCkge1xyXG4gICAgdGhpcy5jYW52YXNSb3RhdGlvbiA9IHRoaXMuY2FudmFzUm90YXRpb24gLSAxXHJcbiAgICB0aGlzLmZsaXBBZnRlclJvdGF0ZSgpXHJcbiAgfVxyXG5cclxuICByb3RhdGVSaWdodCgpIHtcclxuICAgIHRoaXMuY2FudmFzUm90YXRpb24gPSB0aGlzLmNhbnZhc1JvdGF0aW9uICsgMVxyXG4gICAgdGhpcy5mbGlwQWZ0ZXJSb3RhdGUoKVxyXG4gIH1cclxuXHJcbiAgZmxpcEhvcml6b250YWwoKSB7XHJcbiAgICB0aGlzLnRyYW5zZm9ybSA9IHtcclxuICAgICAgLi4udGhpcy50cmFuc2Zvcm0sXHJcbiAgICAgIGZsaXBIOiAhdGhpcy50cmFuc2Zvcm0uZmxpcEgsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB6b29tKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucmVzZXRWYWx1ZSA9IGZhbHNlXHJcbiAgICB0aGlzLnRyYW5zZm9ybSA9IHtcclxuICAgICAgLi4udGhpcy50cmFuc2Zvcm0sXHJcbiAgICAgIHNjYWxlOiBldmVudC52YWx1ZSxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGNhbGxzIHdoZW4gYXBwbHkgYnV0dG9uIGlzIGNsaWNrZWQsYW5kIHJldHVybnMgdGhlIGNyb3BwZWQgaW1hZ2VcclxuICBjcm9wcGluZ0ltYWdlKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5jcm9waW1hZ2VGaWxlKVxyXG4gIH1cclxuXHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLnJlc2V0VmFsdWUgPSB0cnVlXHJcbiAgICB0aGlzLmNhbnZhc1JvdGF0aW9uID0gMFxyXG4gICAgdGhpcy50cmFuc2Zvcm0gPSB7fVxyXG4gIH1cclxuICAvLyBjbG9zZXMgdGhlIGRpYWxvZyBib3hcclxuICBjbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKClcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpc05vdE9mUmVxdWlyZWRTaXplXCI+XHJcbiAgPG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IHBsLTRcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwid3MtbWF0LXdhcm4tdGV4dCBsYXJnZWljb24gcGFkZGluZy1yZW1vdmUtbGVmdFwiPndhcm5pbmc8L21hdC1pY29uPlxyXG4gICAgICA8aDIgY2xhc3M9XCJ0ZXh0LXhsXCIgaTE4bj5UaGlzIGltYWdlIHdpbGwgYXBwZWFyIHN0cmV0Y2hlZCBhcyBpdCBpcyBub3QgaW4gcHJvcGVyIGRpbWVuc2lvbi4gRG8geW91IHdhbnQgdG9cclxuICAgICAgICBjb250aW51ZT88L2gyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1zbSBwbC00XCI+XHJcbiAgICAgIDxkaXYgaTE4biBjbGFzcz1cInBiLTJcIj5Ob3RlOjwvZGl2PlxyXG4gICAgICA8ZGl2IGkxOG4gY2xhc3M9XCJwYi0yXCI+UmVxdWlyZWQgZGltZW5zaW9ucyA6IDI2NSAqIDE1MDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtYmFzZWxpbmVcIj5cclxuICAgICAgICA8ZGl2PkN1cnJlbnQgZGltZW5zaW9uczo8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGwtMVwiPnt7IHdpZHRoIH19ICoge3sgaGVpZ2h0IH19IHB4PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPG1hdC1kaWFsb2ctYWN0aW9ucyBjbGFzcz1cImZsZXggZmxleC1lbmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtZW5kXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gYXV0b2ZvY3VzIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiIGNsb3NlKClcIj5cclxuICAgICAgICA8c3BhbiBpMThuPk5vPC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ZXh0LXdoaXRlIHdzLW1hdC1wcmltYXJ5LWJhY2tncm91bmQgdGV4dC13aGl0ZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIiBjb250aW51ZVRvSW1hZ2VDcm9wKClcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtd2hpdGVcIiBpMThuPlllczwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1JvdW5kQ3JvcFwiPlxyXG4gIDwhLS0gRm9yIFByb2ZpbGUgaW1hZ2UgLSBzdGFydCAtLT5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWJldHdlZW5cIj5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cIiB3cy1tYXQtcHJpbWFyeS10ZXh0IG1hcmdpbi1ib3R0b20teHhzXCI+Y3JvcDwvbWF0LWljb24+XHJcbiAgICA8cCBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwidGV4dC0zeGwgZm9udC13ZWlnaHQtYm9sZCB3cy1tYXQtcHJpbWFyeS10ZXh0XCIgaTE4bj5Qcm9maWxlIFBob3RvPC9wPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiZmxvYXQtcmlnaHQgZmxleC1lbmQgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiY2xvc2UoKVwiIGkxOG4+Y2xvc2U8L21hdC1pY29uPlxyXG5cclxuICA8L2Rpdj5cclxuICA8bWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwicC0wIG92ZXJmbG93LWhpZGRlbiBcIiAqbmdJZj1cImlzUm91bmRDcm9wXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWJldHdlZW5cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtc2xpZGVzXCI+XHJcbiAgICAgICAgPGltYWdlLWNyb3BwZXIgI2ltYWdlQ3JvcHBlciBjbGFzcz1cImltYWdlLWNyb3BwZXItcHJvZmlsZVwiIFtpbWFnZUZpbGVdPVwiaW1hZ2VGaWxlXCIgW21haW50YWluQXNwZWN0UmF0aW9dPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbYXNwZWN0UmF0aW9dPVwiMjUwIC8gMjUwXCIgW3Jlc2l6ZVRvV2lkdGhdPVwiMTAwXCIgW3JvdW5kQ3JvcHBlcl09XCJpc1JvdW5kQ3JvcFwiIFtyZXNpemVUb0hlaWdodF09XCIxMjBcIlxyXG4gICAgICAgICAgW2Nyb3BwZXJNaW5XaWR0aF09XCI1MDBcIiBbZm9ybWF0XT1cIidqcGVnJ1wiIFt0cmFuc2Zvcm1dPVwidHJhbnNmb3JtXCIgW2NhbnZhc1JvdGF0aW9uXT1cImNhbnZhc1JvdGF0aW9uXCJcclxuICAgICAgICAgIChpbWFnZUNyb3BwZWQpPVwiaW1hZ2VDcm9wcGVkKCRldmVudClcIj5cclxuICAgICAgICA8L2ltYWdlLWNyb3BwZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8dWwgY2xhc3M9XCJ0b29sYmFyIGNmXCI+XHJcbiAgICAgIDxsaT48YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwibWF0LWJ1dHRvblwiIChjbGljayk9XCJyb3RhdGVMZWZ0KClcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRleHQtd2hpdGUgbGFyZ2UtaWNvbiB3cy1tYXQtcHJpbWFyeS10ZXh0XCI+cm90YXRlX2xlZnQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tdGV4dFwiIGkxOG4+Um90YXRlIExlZnQ8L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbGk+XHJcbiAgICAgIDxsaT48YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwibWF0LWJ1dHRvblwiIChjbGljayk9XCJyb3RhdGVSaWdodCgpXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ZXh0LXdoaXRlIG1lZGl1bS1pY29uIHdzLW1hdC1wcmltYXJ5LXRleHRcIj5yb3RhdGVfcmlnaHQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tdGV4dFwiIGkxOG4+Um90YXRlIFJpZ2h0PC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPjwvbGk+XHJcbiAgICAgIDxsaT48YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwibWF0LWJ1dHRvblwiIChjbGljayk9XCJmbGlwSG9yaXpvbnRhbCgpXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ZXh0LXdoaXRlIG1lZGl1bS1pY29uIHdzLW1hdC1wcmltYXJ5LXRleHRcIj5mbGlwPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnV0dG9uLXRleHRcIiBpMThuPkZsaXAgSG9yaXpvbnRhbDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj48L2xpPlxyXG4gICAgICA8bGk+PGEgaHJlZj1cIiNcIj48aSBjbGFzcz1cImljb24tY2xvdWRcIj48L2k+PC9hPjwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG48L25nLWNvbnRhaW5lcj4gPCEtLSBGb3IgUHJvZmlsZSBpbWFnZSAtIGVuZCAtLT5cclxuPG5nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTm90T2ZSZXF1aXJlZFNpemUgJiYgIWlzUm91bmRDcm9wIFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1iZXR3ZWVuXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIiB3cy1tYXQtcHJpbWFyeS10ZXh0IG1hcmdpbi1ib3R0b20teHhzXCI+Y3JvcDwvbWF0LWljb24+XHJcbiAgICAgIDxwIG1hdC1kaWFsb2ctdGl0bGUgY2xhc3M9XCJ0ZXh0LTN4bCB0aXRsZS1tYXJnaW4gZm9udC13ZWlnaHQtYm9sZCB3cy1tYXQtcHJpbWFyeS10ZXh0XCIgaTE4bj5FZGl0IEltYWdlPC9wPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJmbG9hdC1yaWdodCBmbGV4LWVuZCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjbG9zZSgpXCIgaTE4bj5cclxuICAgICAgICBjbG9zZTwvbWF0LWljb24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxtYXQtZGlhbG9nLWNvbnRlbnQgKm5nSWY9XCIhaXNSb3VuZENyb3BcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIlNsaWRlc1wiPlxyXG4gICAgICAgICAgPGltYWdlLWNyb3BwZXIgI2ltYWdlQ3JvcHBlciBjbGFzcz1cImltYWdlLWNyb3BwZXIgcGFkZGluZy1yZW1vdmVcIiBbaW1hZ2VGaWxlXT1cImltYWdlRmlsZVwiXHJcbiAgICAgICAgICAgIFttYWludGFpbkFzcGVjdFJhdGlvXT1cInRydWVcIiBbYXNwZWN0UmF0aW9dPVwib3BXaWR0aCAvIG9wSGVpZ2h0XCIgW3Jlc2l6ZVRvV2lkdGhdPVwib3BXaWR0aFwiXHJcbiAgICAgICAgICAgIFtyb3VuZENyb3BwZXJdPVwiaXNSb3VuZENyb3BcIiBbcmVzaXplVG9IZWlnaHRdPVwib3BIZWlnaHRcIiBbY3JvcHBlck1pbldpZHRoXT1cIm9wV2lkdGhcIiBbZm9ybWF0XT1cIidqcGVnJ1wiXHJcbiAgICAgICAgICAgIFt0cmFuc2Zvcm1dPVwidHJhbnNmb3JtXCIgW2NhbnZhc1JvdGF0aW9uXT1cImNhbnZhc1JvdGF0aW9uXCIgKGltYWdlQ3JvcHBlZCk9XCJpbWFnZUNyb3BwZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPC9pbWFnZS1jcm9wcGVyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXktM1wiIGkxOG4+Wm9vbTwvc3Bhbj5cclxuICAgICAgICAgICAgPG1hdC1zbGlkZXIgY2xhc3M9XCJ3LWZ1bGwgbXgtM1wiIGNvbG9yPVwicHJpbWFyeVwiIChpbnB1dCk9XCJ6b29tKCRldmVudClcIiBtaW49XCIxXCIgbWF4PVwiMi41XCIgc3RlcD1cIjAuMVwiPlxyXG4gICAgICAgICAgICA8L21hdC1zbGlkZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlZGl0LWZlYXR1cmUtd2luZG93IFwiICpuZ0lmPVwiIWlzWFNtYWxsXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJtYXQtYnV0dG9uXCIgKGNsaWNrKT1cInJvdGF0ZUxlZnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGV4dC13aGl0ZSBsYXJnZS1pY29uIHdzLW1hdC1wcmltYXJ5LXRleHRcIj5yb3RhdGVfbGVmdDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ1dHRvbi10ZXh0XCIgaTE4bj5Sb3RhdGUgTGVmdDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwibWF0LWJ1dHRvblwiIChjbGljayk9XCJyb3RhdGVSaWdodCgpXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ0ZXh0LXdoaXRlIG1lZGl1bS1pY29uIHdzLW1hdC1wcmltYXJ5LXRleHRcIj5yb3RhdGVfcmlnaHQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tdGV4dFwiIGkxOG4+Um90YXRlIFJpZ2h0PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJtYXQtYnV0dG9uXCIgKGNsaWNrKT1cImZsaXBIb3Jpem9udGFsKClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRleHQtd2hpdGUgbWVkaXVtLWljb24gd3MtbWF0LXByaW1hcnktdGV4dFwiPmZsaXA8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidXR0b24tdGV4dFwiIGkxOG4+RmxpcCBIb3Jpem9udGFsPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxtYXQtY2FyZCBjbGFzcz1cIndzLW1hdC1wcmltYXJ5LWJvcmRlci10b3AtYm9sZGVyIG1hdC1lbGV2YXRpb24tejYgbWFyZ2luLWJvdHRvbS1sIGJ1dHRvbi10ZXh0XCJcclxuICAgICAgICAgICpuZ0lmPVwiaXNUaHVtYm5haWxcIj5cclxuICAgICAgICAgIDxpbWcgW3NyY109XCJpbWFnZUZpbGVCYXNlNjRcIiBoZWlnaHQ9XCJhdXRvXCIgd2lkdGg9XCIxMDAlXCIgKGVycm9yKT1cImNoYW5nZVRvRGVmYXVsdEltZygkZXZlbnQpXCIgLz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtbWlkZGxlIGp1c3RpZnktY2VudGVyIG1hcmdpbi1ib3R0b20tcyBwYWRkaW5nLXRvcC1zXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIndzLW1hdC1wcmltYXJ5LXRleHQgcGFkZGluZy1yaWdodC1zXCI+aW1hZ2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8YiBjbGFzcz1cIm1hdC10aXRsZSBtYXJnaW4tcmVtb3ZlIHdzLW1hdC1wcmltYXJ5LXRleHRcIiBpMThuPlByZXZpZXc8L2I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L21hdC1jYXJkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImVkaXQtZmVhdHVyZS13aW5kb3cgaGVpZ2h0d2lkdGhcIj5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtbWlkZGxlIG1hcmdpbi1sZWZ0LWwgbWFyZ2luLWJvdHRvbS1zIHBhZGRpbmctdG9wLXNcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIndzLW1hdC1wcmltYXJ5LXRleHQgcGFkZGluZy1yaWdodC1zXCI+c3dhcF9ob3JpejwvbWF0LWljb24+XHJcbiAgICAgICAgICA8YiBjbGFzcz1cIm1hdC1ib2R5IG1hcmdpbi1yZW1vdmUgXCIgaTE4bj5Dcm9wcGVkIGRpbWVuc2lvbnM6IHt7IG9wV2lkdGggfX0gKiB7eyBvcEhlaWdodCB9fSBweDwvYj5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1taWRkbGUgbWFyZ2luLWxlZnQtbCBtYXJnaW4tYm90dG9tLXMgcGFkZGluZy10b3Atc1wiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwid3MtbWF0LXByaW1hcnktdGV4dCBwYWRkaW5nLXJpZ2h0LXNcIj5zd2FwX2hvcml6PC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxiIGNsYXNzPVwibWF0LWJvZHkgbWFyZ2luLXJlbW92ZSBcIj5cclxuICAgICAgICAgICAgPHNwYW4gaTE4bj5Dcm9wcGVkIFdpZHRoOiA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IGNyb3BwZWRXaWR0aCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gaTE4bj5weDwvc3Bhbj5cclxuICAgICAgICAgIDwvYj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LW1pZGRsZSBtYXJnaW4tbGVmdC1sIG1hcmdpbi1ib3R0b20tcyBwYWRkaW5nLXRvcC1zXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ3cy1tYXQtcHJpbWFyeS10ZXh0IHBhZGRpbmctcmlnaHQtc1wiPnN3YXBfdmVydDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8YiBjbGFzcz1cIm1hdC1ib2R5IG1hcmdpbi1yZW1vdmUgXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGkxOG4+Q3JvcHBlZCBIZWlnaHQ6IDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e3sgY3JvcHBlZEhlaWdodCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gaTE4bj5weDwvc3Bhbj5cclxuICAgICAgICAgIDwvYj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bWF0LWRpYWxvZy1hY3Rpb25zIGFsaWduPVwiZW5kXCIgKm5nSWY9XCIhaXNOb3RPZlJlcXVpcmVkU2l6ZSBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtZW5kIG1hcmdpbi1ib3R0b20tc1wiPlxyXG4gICAgICA8IS0tICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiIHJlc2V0KClcIj5cclxuICAgICAgICA8c3BhbiBpMThuPlJlc2V0PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj4gLS0+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidGV4dC13aGl0ZSB3cy1tYXQtcHJpbWFyeS1iYWNrZ3JvdW5kIHRleHQtd2hpdGVcIlxyXG4gICAgICAgIChjbGljayk9XCIgY3JvcHBpbmdJbWFnZSgpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXdoaXRlXCIgaTE4bj5BcHBseTwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -0,0 +1,55 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';
4
+ import { MatLegacyCardModule as MatCardModule } from '@angular/material/legacy-card';
5
+ import { MatLegacyDialogModule as MatDialogModule } from '@angular/material/legacy-dialog';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatLegacySliderModule as MatSliderModule } from '@angular/material/legacy-slider';
8
+ import { MatToolbarModule } from '@angular/material/toolbar';
9
+ import { MatLegacyTooltipModule as MatTooltipModule } from '@angular/material/legacy-tooltip';
10
+ import { ImageCropperModule } from 'ngx-image-cropper';
11
+ import { ImageCropComponent } from './image-crop.component';
12
+ import * as i0 from "@angular/core";
13
+ export class ImageCropModule {
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageCropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ImageCropModule, declarations: [ImageCropComponent], imports: [CommonModule,
16
+ ImageCropperModule,
17
+ MatIconModule,
18
+ MatButtonModule,
19
+ MatDialogModule,
20
+ MatToolbarModule,
21
+ MatDialogModule,
22
+ MatCardModule,
23
+ MatTooltipModule,
24
+ MatSliderModule], exports: [ImageCropComponent] }); }
25
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageCropModule, imports: [CommonModule,
26
+ ImageCropperModule,
27
+ MatIconModule,
28
+ MatButtonModule,
29
+ MatDialogModule,
30
+ MatToolbarModule,
31
+ MatDialogModule,
32
+ MatCardModule,
33
+ MatTooltipModule,
34
+ MatSliderModule] }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageCropModule, decorators: [{
37
+ type: NgModule,
38
+ args: [{
39
+ declarations: [ImageCropComponent],
40
+ imports: [
41
+ CommonModule,
42
+ ImageCropperModule,
43
+ MatIconModule,
44
+ MatButtonModule,
45
+ MatDialogModule,
46
+ MatToolbarModule,
47
+ MatDialogModule,
48
+ MatCardModule,
49
+ MatTooltipModule,
50
+ MatSliderModule,
51
+ ],
52
+ exports: [ImageCropComponent]
53
+ }]
54
+ }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9jb21wb25lbnRzL2ltYWdlLWNyb3AvaW1hZ2UtY3JvcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNwRixPQUFPLEVBQUUscUJBQXFCLElBQUksZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDMUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsSUFBSSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLElBQUksZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUM3RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7QUFrQjNELE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxpQkFmVCxrQkFBa0IsYUFFN0IsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsZUFBZSxhQUVULGtCQUFrQjtnSEFFbkIsZUFBZSxZQWJwQixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixlQUFlOzs0RkFJVixlQUFlO2tCQWhCM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGVBQWU7cUJBQ2xCO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lCdXR0b25Nb2R1bGUgYXMgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWJ1dHRvbidcbmltcG9ydCB7IE1hdExlZ2FjeUNhcmRNb2R1bGUgYXMgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1jYXJkJ1xuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nTW9kdWxlIGFzIE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbidcbmltcG9ydCB7IE1hdExlZ2FjeVNsaWRlck1vZHVsZSBhcyBNYXRTbGlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktc2xpZGVyJ1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInXG5pbXBvcnQgeyBNYXRMZWdhY3lUb29sdGlwTW9kdWxlIGFzIE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktdG9vbHRpcCdcclxuaW1wb3J0IHsgSW1hZ2VDcm9wcGVyTW9kdWxlIH0gZnJvbSAnbmd4LWltYWdlLWNyb3BwZXInXHJcbmltcG9ydCB7IEltYWdlQ3JvcENvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UtY3JvcC5jb21wb25lbnQnXHJcbi8vIEBkeW5hbWljXHJcbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbSW1hZ2VDcm9wQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgSW1hZ2VDcm9wcGVyTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNYXRDYXJkTW9kdWxlLFxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgICAgICBNYXRTbGlkZXJNb2R1bGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbSW1hZ2VDcm9wQ29tcG9uZW50XVxufSlcclxuZXhwb3J0IGNsYXNzIEltYWdlQ3JvcE1vZHVsZSB7IH1cclxuIl19
@@ -0,0 +1,87 @@
1
+ import { Directive, Input, HostBinding } from '@angular/core';
2
+ import { fromEvent } from 'rxjs';
3
+ import { debounceTime } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ var ScrollingStateEnum;
6
+ (function (ScrollingStateEnum) {
7
+ ScrollingStateEnum[ScrollingStateEnum["ScrollingUp"] = 0] = "ScrollingUp";
8
+ ScrollingStateEnum[ScrollingStateEnum["ScrollingDown"] = 1] = "ScrollingDown";
9
+ ScrollingStateEnum[ScrollingStateEnum["NoScrolling"] = 2] = "NoScrolling";
10
+ })(ScrollingStateEnum || (ScrollingStateEnum = {}));
11
+ export class ClassChangeOnScrollDirective {
12
+ get isScrollingDown() {
13
+ return this.currState === ScrollingStateEnum.ScrollingDown;
14
+ }
15
+ get isScrollingUp() {
16
+ return this.currState === ScrollingStateEnum.ScrollingUp;
17
+ }
18
+ get isNotScrolling() {
19
+ return this.currState === ScrollingStateEnum.NoScrolling;
20
+ }
21
+ constructor() {
22
+ this.wsClassOnScrollDirChange = 5000;
23
+ this.hasScrolledDown = false;
24
+ this.windowScrollSubscription = null;
25
+ this.lastScreenTop = 0;
26
+ this.currState = ScrollingStateEnum.NoScrolling;
27
+ }
28
+ ngOnInit() {
29
+ this.windowScrollSubscription = fromEvent(window, 'scroll')
30
+ .pipe(debounceTime(50))
31
+ .subscribe(() => {
32
+ clearTimeout(this.timeoutTimer);
33
+ const curr = window.scrollY;
34
+ this.hasScrolledDown = curr > 56;
35
+ this.setScrollState(this.lastScreenTop, curr);
36
+ this.lastScreenTop = curr;
37
+ });
38
+ }
39
+ ngAfterViewInit() { }
40
+ ngOnDestroy() {
41
+ if (this.windowScrollSubscription) {
42
+ this.windowScrollSubscription.unsubscribe();
43
+ }
44
+ }
45
+ setScrollState(prev = 0, curr = 0) {
46
+ if (prev > curr) {
47
+ this.currState = ScrollingStateEnum.ScrollingUp;
48
+ }
49
+ else if (prev < curr) {
50
+ this.currState = ScrollingStateEnum.ScrollingDown;
51
+ }
52
+ else {
53
+ this.currState = ScrollingStateEnum.NoScrolling;
54
+ }
55
+ if (this.currState !== ScrollingStateEnum.NoScrolling) {
56
+ this.resetScrollingState();
57
+ }
58
+ }
59
+ resetScrollingState() {
60
+ this.timeoutTimer = setTimeout(() => {
61
+ this.setScrollState();
62
+ }, this.wsClassOnScrollDirChange || 5000);
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
65
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ClassChangeOnScrollDirective, selector: "[wsUtilsClassChangeOnScroll]", inputs: { wsClassOnScrollDirChange: "wsClassOnScrollDirChange" }, host: { properties: { "class.scrolling-down": "this.isScrollingDown", "class.scrolling-up": "this.isScrollingUp", "class.scrolling-no": "this.isNotScrolling", "class.scrolled-down": "this.hasScrolledDown" } }, ngImport: i0 }); }
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollDirective, decorators: [{
68
+ type: Directive,
69
+ args: [{
70
+ selector: '[wsUtilsClassChangeOnScroll]',
71
+ }]
72
+ }], ctorParameters: function () { return []; }, propDecorators: { wsClassOnScrollDirChange: [{
73
+ type: Input
74
+ }], isScrollingDown: [{
75
+ type: HostBinding,
76
+ args: ['class.scrolling-down']
77
+ }], isScrollingUp: [{
78
+ type: HostBinding,
79
+ args: ['class.scrolling-up']
80
+ }], isNotScrolling: [{
81
+ type: HostBinding,
82
+ args: ['class.scrolling-no']
83
+ }], hasScrolledDown: [{
84
+ type: HostBinding,
85
+ args: ['class.scrolled-down']
86
+ }] } });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL2NsYXNzLWNoYW5nZS1vbi1zY3JvbGwvY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUE0QixNQUFNLGVBQWUsQ0FBQTtBQUMvRixPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7O0FBRTdDLElBQUssa0JBSUo7QUFKRCxXQUFLLGtCQUFrQjtJQUNyQix5RUFBVyxDQUFBO0lBQ1gsNkVBQWEsQ0FBQTtJQUNiLHlFQUFXLENBQUE7QUFDYixDQUFDLEVBSkksa0JBQWtCLEtBQWxCLGtCQUFrQixRQUl0QjtBQUtELE1BQU0sT0FBTyw0QkFBNEI7SUFJdkMsSUFBeUMsZUFBZTtRQUN0RCxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssa0JBQWtCLENBQUMsYUFBYSxDQUFBO0lBQzVELENBQUM7SUFDRCxJQUF1QyxhQUFhO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQyxXQUFXLENBQUE7SUFDMUQsQ0FBQztJQUNELElBQXVDLGNBQWM7UUFDbkQsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLGtCQUFrQixDQUFDLFdBQVcsQ0FBQTtJQUMxRCxDQUFDO0lBUUQ7UUFsQlMsNkJBQXdCLEdBQUcsSUFBSSxDQUFBO1FBV0osb0JBQWUsR0FBRyxLQUFLLENBQUE7UUFFbkQsNkJBQXdCLEdBQXdCLElBQUksQ0FBQTtRQUdwRCxrQkFBYSxHQUFHLENBQUMsQ0FBQTtRQUNqQixjQUFTLEdBQXVCLGtCQUFrQixDQUFDLFdBQVcsQ0FBQTtJQUN0RCxDQUFDO0lBQ2pCLFFBQVE7UUFDTixJQUFJLENBQUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFRLE1BQU0sRUFBRSxRQUFRLENBQUM7YUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN0QixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUMvQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFBO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQTtZQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUE7UUFDM0IsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQsZUFBZSxLQUFLLENBQUM7SUFDckIsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ2pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtTQUM1QztJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsT0FBZSxDQUFDLEVBQUUsT0FBZSxDQUFDO1FBQ3ZELElBQUksSUFBSSxHQUFHLElBQUksRUFBRTtZQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFBO1NBQ2hEO2FBQU0sSUFBSSxJQUFJLEdBQUcsSUFBSSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxDQUFBO1NBQ2xEO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQTtTQUNoRDtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUU7WUFDckQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUE7U0FDM0I7SUFDSCxDQUFDO0lBQ08sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUM1QixHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7UUFDdkIsQ0FBQyxFQUNELElBQUksQ0FBQyx3QkFBd0IsSUFBSSxJQUFJLENBQ3RDLENBQUE7SUFDSCxDQUFDOytHQTNEVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO2lCQUN6QzswRUFHVSx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBRW1DLGVBQWU7c0JBQXZELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUdJLGFBQWE7c0JBQW5ELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUdNLGNBQWM7c0JBQXBELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUdHLGVBQWU7c0JBQWxELFdBQVc7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0LCBIb3N0QmluZGluZywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuXHJcbmVudW0gU2Nyb2xsaW5nU3RhdGVFbnVtIHtcclxuICBTY3JvbGxpbmdVcCxcclxuICBTY3JvbGxpbmdEb3duLFxyXG4gIE5vU2Nyb2xsaW5nLFxyXG59XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t3c1V0aWxzQ2xhc3NDaGFuZ2VPblNjcm9sbF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xhc3NDaGFuZ2VPblNjcm9sbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KCkgd3NDbGFzc09uU2Nyb2xsRGlyQ2hhbmdlID0gNTAwMFxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjcm9sbGluZy1kb3duJykgZ2V0IGlzU2Nyb2xsaW5nRG93bigpIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJTdGF0ZSA9PT0gU2Nyb2xsaW5nU3RhdGVFbnVtLlNjcm9sbGluZ0Rvd25cclxuICB9XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY3JvbGxpbmctdXAnKSBnZXQgaXNTY3JvbGxpbmdVcCgpIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJTdGF0ZSA9PT0gU2Nyb2xsaW5nU3RhdGVFbnVtLlNjcm9sbGluZ1VwXHJcbiAgfVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2Nyb2xsaW5nLW5vJykgZ2V0IGlzTm90U2Nyb2xsaW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY3VyclN0YXRlID09PSBTY3JvbGxpbmdTdGF0ZUVudW0uTm9TY3JvbGxpbmdcclxuICB9XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zY3JvbGxlZC1kb3duJykgaGFzU2Nyb2xsZWREb3duID0gZmFsc2VcclxuXHJcbiAgcHJpdmF0ZSB3aW5kb3dTY3JvbGxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsXHJcbiAgcHJpdmF0ZSB0aW1lb3V0VGltZXI6IGFueVxyXG5cclxuICBwcml2YXRlIGxhc3RTY3JlZW5Ub3AgPSAwXHJcbiAgcHJpdmF0ZSBjdXJyU3RhdGU6IFNjcm9sbGluZ1N0YXRlRW51bSA9IFNjcm9sbGluZ1N0YXRlRW51bS5Ob1Njcm9sbGluZ1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLndpbmRvd1Njcm9sbFN1YnNjcmlwdGlvbiA9IGZyb21FdmVudDxFdmVudD4od2luZG93LCAnc2Nyb2xsJylcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFRpbWVyKVxyXG4gICAgICAgIGNvbnN0IGN1cnIgPSB3aW5kb3cuc2Nyb2xsWVxyXG4gICAgICAgIHRoaXMuaGFzU2Nyb2xsZWREb3duID0gY3VyciA+IDU2XHJcbiAgICAgICAgdGhpcy5zZXRTY3JvbGxTdGF0ZSh0aGlzLmxhc3RTY3JlZW5Ub3AsIGN1cnIpXHJcbiAgICAgICAgdGhpcy5sYXN0U2NyZWVuVG9wID0gY3VyclxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkgeyB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy53aW5kb3dTY3JvbGxTdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy53aW5kb3dTY3JvbGxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTY3JvbGxTdGF0ZShwcmV2OiBudW1iZXIgPSAwLCBjdXJyOiBudW1iZXIgPSAwKSB7XHJcbiAgICBpZiAocHJldiA+IGN1cnIpIHtcclxuICAgICAgdGhpcy5jdXJyU3RhdGUgPSBTY3JvbGxpbmdTdGF0ZUVudW0uU2Nyb2xsaW5nVXBcclxuICAgIH0gZWxzZSBpZiAocHJldiA8IGN1cnIpIHtcclxuICAgICAgdGhpcy5jdXJyU3RhdGUgPSBTY3JvbGxpbmdTdGF0ZUVudW0uU2Nyb2xsaW5nRG93blxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyU3RhdGUgPSBTY3JvbGxpbmdTdGF0ZUVudW0uTm9TY3JvbGxpbmdcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1cnJTdGF0ZSAhPT0gU2Nyb2xsaW5nU3RhdGVFbnVtLk5vU2Nyb2xsaW5nKSB7XHJcbiAgICAgIHRoaXMucmVzZXRTY3JvbGxpbmdTdGF0ZSgpXHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVzZXRTY3JvbGxpbmdTdGF0ZSgpIHtcclxuICAgIHRoaXMudGltZW91dFRpbWVyID0gc2V0VGltZW91dChcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U2Nyb2xsU3RhdGUoKVxyXG4gICAgICB9LFxyXG4gICAgICB0aGlzLndzQ2xhc3NPblNjcm9sbERpckNoYW5nZSB8fCA1MDAwLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ClassChangeOnScrollDirective } from './class-change-on-scroll.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class ClassChangeOnScrollModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollModule, declarations: [ClassChangeOnScrollDirective], imports: [CommonModule], exports: [ClassChangeOnScrollDirective] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClassChangeOnScrollModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [ClassChangeOnScrollDirective],
14
+ imports: [
15
+ CommonModule,
16
+ ],
17
+ exports: [ClassChangeOnScrollDirective],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL2NsYXNzLWNoYW5nZS1vbi1zY3JvbGwvY2xhc3MtY2hhbmdlLW9uLXNjcm9sbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUE7O0FBU2pGLE1BQU0sT0FBTyx5QkFBeUI7K0dBQXpCLHlCQUF5QjtnSEFBekIseUJBQXlCLGlCQU5yQiw0QkFBNEIsYUFFekMsWUFBWSxhQUVKLDRCQUE0QjtnSEFFM0IseUJBQXlCLFlBSmxDLFlBQVk7OzRGQUlILHlCQUF5QjtrQkFQckMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7IENsYXNzQ2hhbmdlT25TY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2NsYXNzLWNoYW5nZS1vbi1zY3JvbGwuZGlyZWN0aXZlJ1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtDbGFzc0NoYW5nZU9uU2Nyb2xsRGlyZWN0aXZlXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbQ2xhc3NDaGFuZ2VPblNjcm9sbERpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGFzc0NoYW5nZU9uU2Nyb2xsTW9kdWxlIHsgfVxyXG4iXX0=
@@ -18,10 +18,10 @@ export class DefaultThumbnailDirective {
18
18
  this.srcUrl = this.src;
19
19
  }
20
20
  }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DefaultThumbnailDirective, selector: "[wsUtilsDefaultThumbnail]", inputs: { wsUtilsDefaultThumbnail: "wsUtilsDefaultThumbnail", src: "src" }, host: { listeners: { "error": "updateSrc()" }, properties: { "src": "this.srcUrl" } }, usesOnChanges: true, ngImport: i0 }); }
21
23
  }
22
- DefaultThumbnailDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DefaultThumbnailDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
23
- DefaultThumbnailDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: DefaultThumbnailDirective, selector: "[wsUtilsDefaultThumbnail]", inputs: { wsUtilsDefaultThumbnail: "wsUtilsDefaultThumbnail", src: "src" }, host: { listeners: { "error": "updateSrc()" }, properties: { "src": "this.srcUrl" } }, usesOnChanges: true, ngImport: i0 });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DefaultThumbnailDirective, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailDirective, decorators: [{
25
25
  type: Directive,
26
26
  args: [{
27
27
  selector: '[wsUtilsDefaultThumbnail]',
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
37
37
  type: HostListener,
38
38
  args: ['error']
39
39
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10aHVtYm5haWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3V0aWxzL3NyYy9saWIvZGlyZWN0aXZlcy9kZWZhdWx0LXRodW1ibmFpbC9kZWZhdWx0LXRodW1ibmFpbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBYSxNQUFNLGVBQWUsQ0FBQTs7QUFLdEYsTUFBTSxPQUFPLHlCQUF5QjtJQUh0QztRQUtXLDRCQUF1QixHQUFHLEVBQUUsQ0FBQTtRQUM1QixRQUFHLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLG1DQUE4QixHQUFHLEtBQUssQ0FBQTtRQUVsQixXQUFNLEdBQUcsRUFBRSxDQUFBO0tBY2hDO0lBYndCLFNBQVM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRTtZQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQTtZQUMxQyxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFBO1NBQzNDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUE7U0FDdkI7SUFDSCxDQUFDOzt1SEFsQlUseUJBQXlCOzJHQUF6Qix5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs4QkFHVSx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUdjLE1BQU07c0JBQXpCLFdBQVc7dUJBQUMsS0FBSztnQkFDSyxTQUFTO3NCQUEvQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBIb3N0TGlzdGVuZXIsIEhvc3RCaW5kaW5nLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRUaHVtYm5haWxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSB3c1V0aWxzRGVmYXVsdFRodW1ibmFpbCA9ICcnXHJcbiAgQElucHV0KCkgc3JjID0gJydcclxuICBpc1NyY1VwZGF0ZUF0dGVtcHRlZEZvckRlZmF1bHQgPSBmYWxzZVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3NyYycpIHNyY1VybCA9ICcnXHJcbiAgQEhvc3RMaXN0ZW5lcignZXJyb3InKSB1cGRhdGVTcmMoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNTcmNVcGRhdGVBdHRlbXB0ZWRGb3JEZWZhdWx0KSB7XHJcbiAgICAgIHRoaXMuc3JjVXJsID0gdGhpcy53c1V0aWxzRGVmYXVsdFRodW1ibmFpbFxyXG4gICAgICB0aGlzLmlzU3JjVXBkYXRlQXR0ZW1wdGVkRm9yRGVmYXVsdCA9IHRydWVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMuc3JjKSB7XHJcbiAgICAgIHRoaXMuc3JjVXJsID0gdGhpcy5zcmNcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10aHVtYm5haWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3V0aWxzL3NyYy9saWIvZGlyZWN0aXZlcy9kZWZhdWx0LXRodW1ibmFpbC9kZWZhdWx0LXRodW1ibmFpbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBYSxNQUFNLGVBQWUsQ0FBQTs7QUFLdEYsTUFBTSxPQUFPLHlCQUF5QjtJQUh0QztRQUtXLDRCQUF1QixHQUFHLEVBQUUsQ0FBQTtRQUM1QixRQUFHLEdBQUcsRUFBRSxDQUFBO1FBQ2pCLG1DQUE4QixHQUFHLEtBQUssQ0FBQTtRQUVsQixXQUFNLEdBQUcsRUFBRSxDQUFBO0tBY2hDO0lBYndCLFNBQVM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRTtZQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQTtZQUMxQyxJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFBO1NBQzNDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUE7U0FDdkI7SUFDSCxDQUFDOytHQWxCVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs4QkFHVSx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUdjLE1BQU07c0JBQXpCLFdBQVc7dUJBQUMsS0FBSztnQkFDSyxTQUFTO3NCQUEvQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBIb3N0TGlzdGVuZXIsIEhvc3RCaW5kaW5nLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbd3NVdGlsc0RlZmF1bHRUaHVtYm5haWxdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRUaHVtYm5haWxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSB3c1V0aWxzRGVmYXVsdFRodW1ibmFpbCA9ICcnXHJcbiAgQElucHV0KCkgc3JjID0gJydcclxuICBpc1NyY1VwZGF0ZUF0dGVtcHRlZEZvckRlZmF1bHQgPSBmYWxzZVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ3NyYycpIHNyY1VybCA9ICcnXHJcbiAgQEhvc3RMaXN0ZW5lcignZXJyb3InKSB1cGRhdGVTcmMoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNTcmNVcGRhdGVBdHRlbXB0ZWRGb3JEZWZhdWx0KSB7XHJcbiAgICAgIHRoaXMuc3JjVXJsID0gdGhpcy53c1V0aWxzRGVmYXVsdFRodW1ibmFpbFxyXG4gICAgICB0aGlzLmlzU3JjVXBkYXRlQXR0ZW1wdGVkRm9yRGVmYXVsdCA9IHRydWVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMuc3JjKSB7XHJcbiAgICAgIHRoaXMuc3JjVXJsID0gdGhpcy5zcmNcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DefaultThumbnailDirective } from './default-thumbnail.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class DefaultThumbnailModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailModule, declarations: [DefaultThumbnailDirective], imports: [CommonModule], exports: [DefaultThumbnailDirective] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DefaultThumbnailModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [DefaultThumbnailDirective],
14
+ imports: [
15
+ CommonModule,
16
+ ],
17
+ exports: [DefaultThumbnailDirective],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10aHVtYm5haWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3V0aWxzL3NyYy9saWIvZGlyZWN0aXZlcy9kZWZhdWx0LXRodW1ibmFpbC9kZWZhdWx0LXRodW1ibmFpbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUE7O0FBU3pFLE1BQU0sT0FBTyxzQkFBc0I7K0dBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCLGlCQU5sQix5QkFBeUIsYUFFdEMsWUFBWSxhQUVKLHlCQUF5QjtnSEFFeEIsc0JBQXNCLFlBSi9CLFlBQVk7OzRGQUlILHNCQUFzQjtrQkFQbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7IERlZmF1bHRUaHVtYm5haWxEaXJlY3RpdmUgfSBmcm9tICcuL2RlZmF1bHQtdGh1bWJuYWlsLmRpcmVjdGl2ZSdcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRGVmYXVsdFRodW1ibmFpbERpcmVjdGl2ZV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0RlZmF1bHRUaHVtYm5haWxEaXJlY3RpdmVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVmYXVsdFRodW1ibmFpbE1vZHVsZSB7IH1cclxuIl19
@@ -69,10 +69,10 @@ export class ImageResponsiveDirective {
69
69
  this.srcBindUrl = this.src[this.currentSize];
70
70
  }
71
71
  }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveDirective, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Directive }); }
73
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ImageResponsiveDirective, selector: "[wsUtilsImageResponsive]", inputs: { src: "src" }, host: { properties: { "src": "this.srcBindUrl" } }, usesOnChanges: true, ngImport: i0 }); }
72
74
  }
73
- ImageResponsiveDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ImageResponsiveDirective, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Directive });
74
- ImageResponsiveDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ImageResponsiveDirective, selector: "[wsUtilsImageResponsive]", inputs: { src: "src" }, host: { properties: { "src": "this.srcBindUrl" } }, usesOnChanges: true, ngImport: i0 });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ImageResponsiveDirective, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveDirective, decorators: [{
76
76
  type: Directive,
77
77
  args: [{
78
78
  selector: '[wsUtilsImageResponsive]',
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
83
83
  type: HostBinding,
84
84
  args: ['src']
85
85
  }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcmVzcG9uc2l2ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL2ltYWdlLXJlc3BvbnNpdmUvaW1hZ2UtcmVzcG9uc2l2ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUF3QixNQUFNLGVBQWUsQ0FBQTtBQUVuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7O0FBTXJELE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsRUFBRSxFQUFFLG9CQUFvQjtJQUN4QixDQUFDLEVBQUUsK0NBQStDO0lBQ2xELENBQUMsRUFBRSxnREFBZ0Q7SUFDbkQsQ0FBQyxFQUFFLGlEQUFpRDtJQUNwRCxFQUFFLEVBQUUsaURBQWlEO0lBQ3JELEdBQUcsRUFBRSx5QkFBeUI7Q0FDL0IsQ0FBQTtBQUtELE1BQU0sT0FBTyx3QkFBd0I7SUFPbkMsWUFDVSxrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQU52QyxRQUFHLEdBQWdDLElBQUksQ0FBQTtRQUM1QixlQUFVLEdBQUcsRUFBRSxDQUFBO1FBRW5DLGdCQUFXLEdBQUcsRUFBRSxDQUFBO1FBQ2hCLDJCQUFzQixHQUF3QixJQUFJLENBQUE7UUFJaEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxrQkFBa0I7YUFDbEQsT0FBTyxDQUFDO1lBQ1AsaUJBQWlCLENBQUMsRUFBRTtZQUNwQixpQkFBaUIsQ0FBQyxDQUFDO1lBQ25CLGlCQUFpQixDQUFDLENBQUM7WUFDbkIsaUJBQWlCLENBQUMsQ0FBQztZQUNuQixpQkFBaUIsQ0FBQyxFQUFFO1lBQ3BCLGlCQUFpQixDQUFDLEdBQUc7U0FDdEIsQ0FBQzthQUNELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUVoQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFBO2FBQ3pCO2lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7YUFDeEI7aUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQTthQUN2QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFBO2FBQ3ZCO2lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUE7YUFDdkI7aUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTthQUN4QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTthQUN4QjtZQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNmLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7U0FDZDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFBO1NBQzFDO0lBQ0gsQ0FBQztJQUVPLE1BQU07UUFDWixJQUNFLElBQUksQ0FBQyxXQUFXO1lBQ2hCLElBQUksQ0FBQyxHQUFHO1lBQ1IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQzFCO1lBQ0EsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtTQUM3QztJQUNILENBQUM7O3NIQTdEVSx3QkFBd0I7MEdBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQUhwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3JDO3lHQUdVLEdBQUc7c0JBQVgsS0FBSztnQkFDYyxVQUFVO3NCQUE3QixXQUFXO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0J1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW1hZ2VSZXNwb25zaXZlVW5pdCB7XHJcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nXHJcbn1cclxuXHJcbmNvbnN0IGN1c3RvbUJyZWFrUG9pbnRzID0ge1xyXG4gIHhzOiAnKG1heC13aWR0aDogNDUwcHgpJyxcclxuICBzOiAnKG1pbi13aWR0aDogNDUwLjAwMXB4KSBhbmQgKG1heC13aWR0aDogNzY4cHgpJyxcclxuICBtOiAnKG1pbi13aWR0aDogNzY4LjAwMXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KScsXHJcbiAgbDogJyhtaW4td2lkdGg6IDEwMjQuMDAxcHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpJyxcclxuICB4bDogJyhtaW4td2lkdGg6IDE0MDAuMDAxcHgpIGFuZCAobWF4LXdpZHRoOiAxOTIwcHgpJyxcclxuICB4eGw6ICcobWluLXdpZHRoOiAxOTIwLjAwMXB4KScsXHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3dzVXRpbHNJbWFnZVJlc3BvbnNpdmVdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEltYWdlUmVzcG9uc2l2ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgc3JjOiBJSW1hZ2VSZXNwb25zaXZlVW5pdCB8IG51bGwgPSBudWxsXHJcbiAgQEhvc3RCaW5kaW5nKCdzcmMnKSBzcmNCaW5kVXJsID0gJydcclxuXHJcbiAgY3VycmVudFNpemUgPSAnJ1xyXG4gIGJyZWFrcG9pbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxyXG4gICkge1xyXG4gICAgdGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJcclxuICAgICAgLm9ic2VydmUoW1xyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLnhzLFxyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLnMsXHJcbiAgICAgICAgY3VzdG9tQnJlYWtQb2ludHMubSxcclxuICAgICAgICBjdXN0b21CcmVha1BvaW50cy5sLFxyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLnhsLFxyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLnh4bCxcclxuICAgICAgXSlcclxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAvLyAvL2NvbnNvbGUubG9nKCdkYXRhID4nLCAgZGF0YSlcclxuICAgICAgICBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy54eGxdKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRTaXplID0gJ3h4bCdcclxuICAgICAgICB9IGVsc2UgaWYgKGRhdGEuYnJlYWtwb2ludHNbY3VzdG9tQnJlYWtQb2ludHMueGxdKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRTaXplID0gJ3hsJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy5sXSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U2l6ZSA9ICdsJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy5tXSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U2l6ZSA9ICdtJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy5zXSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U2l6ZSA9ICdzJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy54c10pIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFNpemUgPSAneHMnXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFNpemUgPSAneGwnXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0U3JjKClcclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMuc3JjKSB7XHJcbiAgICAgIHRoaXMuc2V0U3JjKClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTcmMoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY3VycmVudFNpemUgJiZcclxuICAgICAgdGhpcy5zcmMgJiZcclxuICAgICAgdGhpcy5zcmNbdGhpcy5jdXJyZW50U2l6ZV1cclxuICAgICkge1xyXG4gICAgICB0aGlzLnNyY0JpbmRVcmwgPSB0aGlzLnNyY1t0aGlzLmN1cnJlbnRTaXplXVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcmVzcG9uc2l2ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL2ltYWdlLXJlc3BvbnNpdmUvaW1hZ2UtcmVzcG9uc2l2ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUF3QixNQUFNLGVBQWUsQ0FBQTtBQUVuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7O0FBTXJELE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsRUFBRSxFQUFFLG9CQUFvQjtJQUN4QixDQUFDLEVBQUUsK0NBQStDO0lBQ2xELENBQUMsRUFBRSxnREFBZ0Q7SUFDbkQsQ0FBQyxFQUFFLGlEQUFpRDtJQUNwRCxFQUFFLEVBQUUsaURBQWlEO0lBQ3JELEdBQUcsRUFBRSx5QkFBeUI7Q0FDL0IsQ0FBQTtBQUtELE1BQU0sT0FBTyx3QkFBd0I7SUFPbkMsWUFDVSxrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQU52QyxRQUFHLEdBQWdDLElBQUksQ0FBQTtRQUM1QixlQUFVLEdBQUcsRUFBRSxDQUFBO1FBRW5DLGdCQUFXLEdBQUcsRUFBRSxDQUFBO1FBQ2hCLDJCQUFzQixHQUF3QixJQUFJLENBQUE7UUFJaEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxrQkFBa0I7YUFDbEQsT0FBTyxDQUFDO1lBQ1AsaUJBQWlCLENBQUMsRUFBRTtZQUNwQixpQkFBaUIsQ0FBQyxDQUFDO1lBQ25CLGlCQUFpQixDQUFDLENBQUM7WUFDbkIsaUJBQWlCLENBQUMsQ0FBQztZQUNuQixpQkFBaUIsQ0FBQyxFQUFFO1lBQ3BCLGlCQUFpQixDQUFDLEdBQUc7U0FDdEIsQ0FBQzthQUNELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUVoQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFBO2FBQ3pCO2lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUE7YUFDeEI7aUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQTthQUN2QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFBO2FBQ3ZCO2lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUE7YUFDdkI7aUJBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTthQUN4QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTthQUN4QjtZQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNmLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7U0FDZDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxDQUFBO1NBQzFDO0lBQ0gsQ0FBQztJQUVPLE1BQU07UUFDWixJQUNFLElBQUksQ0FBQyxXQUFXO1lBQ2hCLElBQUksQ0FBQyxHQUFHO1lBQ1IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQzFCO1lBQ0EsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtTQUM3QztJQUNILENBQUM7K0dBN0RVLHdCQUF3QjttR0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQUhwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3JDO3lHQUdVLEdBQUc7c0JBQVgsS0FBSztnQkFDYyxVQUFVO3NCQUE3QixXQUFXO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0J1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSW1hZ2VSZXNwb25zaXZlVW5pdCB7XHJcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nXHJcbn1cclxuXHJcbmNvbnN0IGN1c3RvbUJyZWFrUG9pbnRzID0ge1xyXG4gIHhzOiAnKG1heC13aWR0aDogNDUwcHgpJyxcclxuICBzOiAnKG1pbi13aWR0aDogNDUwLjAwMXB4KSBhbmQgKG1heC13aWR0aDogNzY4cHgpJyxcclxuICBtOiAnKG1pbi13aWR0aDogNzY4LjAwMXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KScsXHJcbiAgbDogJyhtaW4td2lkdGg6IDEwMjQuMDAxcHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpJyxcclxuICB4bDogJyhtaW4td2lkdGg6IDE0MDAuMDAxcHgpIGFuZCAobWF4LXdpZHRoOiAxOTIwcHgpJyxcclxuICB4eGw6ICcobWluLXdpZHRoOiAxOTIwLjAwMXB4KScsXHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3dzVXRpbHNJbWFnZVJlc3BvbnNpdmVdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEltYWdlUmVzcG9uc2l2ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuXHJcbiAgQElucHV0KCkgc3JjOiBJSW1hZ2VSZXNwb25zaXZlVW5pdCB8IG51bGwgPSBudWxsXHJcbiAgQEhvc3RCaW5kaW5nKCdzcmMnKSBzcmNCaW5kVXJsID0gJydcclxuXHJcbiAgY3VycmVudFNpemUgPSAnJ1xyXG4gIGJyZWFrcG9pbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyLFxyXG4gICkge1xyXG4gICAgdGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJcclxuICAgICAgLm9ic2VydmUoW1xyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLnhzLFxyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLnMsXHJcbiAgICAgICAgY3VzdG9tQnJlYWtQb2ludHMubSxcclxuICAgICAgICBjdXN0b21CcmVha1BvaW50cy5sLFxyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLnhsLFxyXG4gICAgICAgIGN1c3RvbUJyZWFrUG9pbnRzLnh4bCxcclxuICAgICAgXSlcclxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAvLyAvL2NvbnNvbGUubG9nKCdkYXRhID4nLCAgZGF0YSlcclxuICAgICAgICBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy54eGxdKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRTaXplID0gJ3h4bCdcclxuICAgICAgICB9IGVsc2UgaWYgKGRhdGEuYnJlYWtwb2ludHNbY3VzdG9tQnJlYWtQb2ludHMueGxdKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRTaXplID0gJ3hsJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy5sXSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U2l6ZSA9ICdsJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy5tXSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U2l6ZSA9ICdtJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy5zXSkge1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50U2l6ZSA9ICdzJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS5icmVha3BvaW50c1tjdXN0b21CcmVha1BvaW50cy54c10pIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFNpemUgPSAneHMnXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudFNpemUgPSAneGwnXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0U3JjKClcclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMuc3JjKSB7XHJcbiAgICAgIHRoaXMuc2V0U3JjKClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLmJyZWFrcG9pbnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTcmMoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY3VycmVudFNpemUgJiZcclxuICAgICAgdGhpcy5zcmMgJiZcclxuICAgICAgdGhpcy5zcmNbdGhpcy5jdXJyZW50U2l6ZV1cclxuICAgICkge1xyXG4gICAgICB0aGlzLnNyY0JpbmRVcmwgPSB0aGlzLnNyY1t0aGlzLmN1cnJlbnRTaXplXVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ImageResponsiveDirective } from './image-responsive.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class ImageResponsiveModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveModule, declarations: [ImageResponsiveDirective], imports: [CommonModule], exports: [ImageResponsiveDirective] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ImageResponsiveModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [ImageResponsiveDirective],
14
+ imports: [
15
+ CommonModule,
16
+ ],
17
+ exports: [ImageResponsiveDirective],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcmVzcG9uc2l2ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdXRpbHMvc3JjL2xpYi9kaXJlY3RpdmVzL2ltYWdlLXJlc3BvbnNpdmUvaW1hZ2UtcmVzcG9uc2l2ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUE7O0FBU3ZFLE1BQU0sT0FBTyxxQkFBcUI7K0dBQXJCLHFCQUFxQjtnSEFBckIscUJBQXFCLGlCQU5qQix3QkFBd0IsYUFFckMsWUFBWSxhQUVKLHdCQUF3QjtnSEFFdkIscUJBQXFCLFlBSjlCLFlBQVk7OzRGQUlILHFCQUFxQjtrQkFQakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDeEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXHJcbmltcG9ydCB7IEltYWdlUmVzcG9uc2l2ZURpcmVjdGl2ZSB9IGZyb20gJy4vaW1hZ2UtcmVzcG9uc2l2ZS5kaXJlY3RpdmUnXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0ltYWdlUmVzcG9uc2l2ZURpcmVjdGl2ZV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0ltYWdlUmVzcG9uc2l2ZURpcmVjdGl2ZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZVJlc3BvbnNpdmVNb2R1bGUgeyB9XHJcbiJdfQ==