@datarailsshared/datarailsshared 1.5.297 → 1.5.299
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/styles/vars.scss +1 -1
- package/datarailsshared-datarailsshared-1.5.299.tgz +0 -0
- package/esm2022/lib/dr-chat/chat.component.mjs +2 -2
- package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +2 -2
- package/esm2022/lib/dr-inputs/dr-slider/dr-slider.component.mjs +53 -0
- package/esm2022/lib/image-cropper/dr-image-cropper-canvas.service.mjs +78 -0
- package/esm2022/lib/image-cropper/dr-image-cropper.component.mjs +94 -0
- package/esm2022/lib/image-cropper/dr-image-cropper.types.mjs +6 -0
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/datarailsshared-datarailsshared.mjs +220 -5
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/dr-inputs/dr-slider/dr-slider.component.d.ts +18 -0
- package/lib/image-cropper/dr-image-cropper-canvas.service.d.ts +20 -0
- package/lib/image-cropper/dr-image-cropper.component.d.ts +28 -0
- package/lib/image-cropper/dr-image-cropper.types.d.ts +9 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/datarailsshared-datarailsshared-1.5.297.tgz +0 -0
package/assets/styles/vars.scss
CHANGED
|
@@ -3,7 +3,7 @@ $dr-chat-horizontal-padding: 24px;
|
|
|
3
3
|
$dr-chat-main-color: #25258C;
|
|
4
4
|
$dr-chat-avatar-width: 28px;
|
|
5
5
|
$dr-chat-avatar-left-indent: 0;
|
|
6
|
-
$dr-chat-avatar-right-indent:
|
|
6
|
+
$dr-chat-avatar-right-indent: 16px;
|
|
7
7
|
$dr-chat-header-text-indent: 20px;
|
|
8
8
|
|
|
9
9
|
// DR spacing variables (margin, paddings, etc.)
|
|
Binary file
|
|
@@ -83,11 +83,11 @@ export class DrChatComponent {
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrChatComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrChatComponent, selector: "dr-chat", inputs: { fullScreen: "fullScreen", noMessagesPlaceholder: "noMessagesPlaceholder", contentUpdateSubject: "contentUpdateSubject", scrollBottom: "scrollBottom", suggestions: "suggestions", reopen: "reopen", waitForReply: "waitForReply" }, outputs: { suggestionSelect: "suggestionSelect" }, providers: [DrChatCustomMessageService], queries: [{ propertyName: "chatForm", first: true, predicate: DrChatFormComponent, descendants: true }, { propertyName: "chatHeader", first: true, predicate: ["drChatHeader"], descendants: true }, { propertyName: "messages", predicate: DrChatMessageComponent }], viewQueries: [{ propertyName: "messagesContainer", first: true, predicate: ["messagesContainer"], descendants: true }, { propertyName: "_chatSuggestions", first: true, predicate: DrChatSuggestionsComponent, descendants: true }], ngImport: i0, template: "<div class=\"chat\" [class.chat--in-full-screen]=\"fullScreen\">\n <div class=\"chat__sticky-top\">\n <ng-container *ngIf=\"chatHeader\" [ngTemplateOutlet]=\"chatHeader\"></ng-container>\n\n <div class=\"chat__alert\">\n <ng-content select=\"dr-chat-alert\"></ng-content>\n </div>\n </div>\n\n <div *ngIf=\"!messages?.length\" class=\"chat__empty-state\">\n <span class=\"chat__empty-state__text\">{{ noMessagesPlaceholder }}</span>\n </div>\n\n <div *ngIf=\"messages?.length\" class=\"chat__messages\">\n <div #messagesContainer class=\"chat__messages__container\"\n [class.chat__messages__container--scroll]=\"messagesContainerWithScroll\">\n <ng-content select=\"dr-chat-message\"></ng-content>\n </div>\n </div>\n\n <dr-chat-suggestions *ngIf=\"suggestions?.length\"\n [values]=\"suggestions\"\n [fullScreen]=\"fullScreen\"\n [waitForReply]=\"waitForReply\"\n class=\"chat__suggestions\"\n [class.chat__suggestions--full-height]=\"fullScreen && !messages?.length\"\n [buttonMode]=\"!!messages?.length\"\n (suggestionSelect)=\"suggestionSelect.emit($event)\">\n </dr-chat-suggestions>\n\n <div class=\"form\">\n <ng-content select=\"dr-chat-form\"></ng-content>\n </div>\n</div>\n", styles: [":host{height:100%;width:100%;display:flex;flex-direction:column}.chat{position:relative;display:flex;flex-grow:1;flex-direction:column;height:100%;background-color:#fff;color:#4e566c;font-family:Poppins,sans-serif;font-size:14px;font-weight:400;line-height:22px}.chat__sticky-top{display:flex;flex-direction:column;box-shadow:0 1px 3px #0003;z-index:1}.chat__empty-state{display:flex;justify-content:center}.chat__empty-state__text{padding:44px 0;font-family:Poppins,sans-serif;font-size:18px;font-weight:400;line-height:28px;text-align:center;max-width:440px;color:#4646ce}.chat__messages{display:flex;flex-grow:1;overflow-x:hidden;overflow-y:auto;height:100%;width:100%}.chat__messages__container{overflow-y:auto;overflow-x:hidden;display:flex;flex-shrink:0;flex-direction:column;width:100%;padding-bottom:1px}.chat__messages__container--scroll::ng-deep dr-chat-message{padding-right:16px}.chat__suggestions{flex:1}.chat__suggestions ::ng-deep .chat-suggestions__container{padding:0}.chat__suggestions--full-height{flex-grow:1;height:1px;overflow:auto}.chat--in-full-screen .chat__header{padding-left:48px;padding-right:48px}.chat--in-full-screen .chat__empty-state__text{padding:77px 0;font-size:28px;line-height:46px;max-width:570px}.chat--in-full-screen .chat__messages::ng-deep dr-chat-message{justify-content:center}.chat--in-full-screen .chat__messages::ng-deep .message{max-width:
|
|
86
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrChatComponent, selector: "dr-chat", inputs: { fullScreen: "fullScreen", noMessagesPlaceholder: "noMessagesPlaceholder", contentUpdateSubject: "contentUpdateSubject", scrollBottom: "scrollBottom", suggestions: "suggestions", reopen: "reopen", waitForReply: "waitForReply" }, outputs: { suggestionSelect: "suggestionSelect" }, providers: [DrChatCustomMessageService], queries: [{ propertyName: "chatForm", first: true, predicate: DrChatFormComponent, descendants: true }, { propertyName: "chatHeader", first: true, predicate: ["drChatHeader"], descendants: true }, { propertyName: "messages", predicate: DrChatMessageComponent }], viewQueries: [{ propertyName: "messagesContainer", first: true, predicate: ["messagesContainer"], descendants: true }, { propertyName: "_chatSuggestions", first: true, predicate: DrChatSuggestionsComponent, descendants: true }], ngImport: i0, template: "<div class=\"chat\" [class.chat--in-full-screen]=\"fullScreen\">\n <div class=\"chat__sticky-top\">\n <ng-container *ngIf=\"chatHeader\" [ngTemplateOutlet]=\"chatHeader\"></ng-container>\n\n <div class=\"chat__alert\">\n <ng-content select=\"dr-chat-alert\"></ng-content>\n </div>\n </div>\n\n <div *ngIf=\"!messages?.length\" class=\"chat__empty-state\">\n <span class=\"chat__empty-state__text\">{{ noMessagesPlaceholder }}</span>\n </div>\n\n <div *ngIf=\"messages?.length\" class=\"chat__messages\">\n <div #messagesContainer class=\"chat__messages__container\"\n [class.chat__messages__container--scroll]=\"messagesContainerWithScroll\">\n <ng-content select=\"dr-chat-message\"></ng-content>\n </div>\n </div>\n\n <dr-chat-suggestions *ngIf=\"suggestions?.length\"\n [values]=\"suggestions\"\n [fullScreen]=\"fullScreen\"\n [waitForReply]=\"waitForReply\"\n class=\"chat__suggestions\"\n [class.chat__suggestions--full-height]=\"fullScreen && !messages?.length\"\n [buttonMode]=\"!!messages?.length\"\n (suggestionSelect)=\"suggestionSelect.emit($event)\">\n </dr-chat-suggestions>\n\n <div class=\"form\">\n <ng-content select=\"dr-chat-form\"></ng-content>\n </div>\n</div>\n", styles: [":host{height:100%;width:100%;display:flex;flex-direction:column}.chat{position:relative;display:flex;flex-grow:1;flex-direction:column;height:100%;background-color:#fff;color:#4e566c;font-family:Poppins,sans-serif;font-size:14px;font-weight:400;line-height:22px}.chat__sticky-top{display:flex;flex-direction:column;box-shadow:0 1px 3px #0003;z-index:1}.chat__empty-state{display:flex;justify-content:center}.chat__empty-state__text{padding:44px 0;font-family:Poppins,sans-serif;font-size:18px;font-weight:400;line-height:28px;text-align:center;max-width:440px;color:#4646ce}.chat__messages{display:flex;flex-grow:1;overflow-x:hidden;overflow-y:auto;height:100%;width:100%}.chat__messages__container{overflow-y:auto;overflow-x:hidden;display:flex;flex-shrink:0;flex-direction:column;width:100%;padding-bottom:1px}.chat__messages__container--scroll::ng-deep dr-chat-message{padding-right:16px}.chat__suggestions{flex:1}.chat__suggestions ::ng-deep .chat-suggestions__container{padding:0}.chat__suggestions--full-height{flex-grow:1;height:1px;overflow:auto}.chat--in-full-screen .chat__header{padding-left:48px;padding-right:48px}.chat--in-full-screen .chat__empty-state__text{padding:77px 0;font-size:28px;line-height:46px;max-width:570px}.chat--in-full-screen .chat__messages::ng-deep dr-chat-message{justify-content:center}.chat--in-full-screen .chat__messages::ng-deep .message{max-width:912px}.chat--in-full-screen .chat__suggestions::ng-deep .chat-suggestions__items{padding-left:0;padding-right:0}.chat--in-full-screen .chat__suggestions::ng-deep .chat-suggestions__items__item{font-size:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DrChatSuggestionsComponent, selector: "dr-chat-suggestions", inputs: ["values", "fullScreen", "buttonMode", "waitForReply"], outputs: ["suggestionSelect"] }] }); }
|
|
87
87
|
}
|
|
88
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrChatComponent, decorators: [{
|
|
89
89
|
type: Component,
|
|
90
|
-
args: [{ selector: 'dr-chat', providers: [DrChatCustomMessageService], template: "<div class=\"chat\" [class.chat--in-full-screen]=\"fullScreen\">\n <div class=\"chat__sticky-top\">\n <ng-container *ngIf=\"chatHeader\" [ngTemplateOutlet]=\"chatHeader\"></ng-container>\n\n <div class=\"chat__alert\">\n <ng-content select=\"dr-chat-alert\"></ng-content>\n </div>\n </div>\n\n <div *ngIf=\"!messages?.length\" class=\"chat__empty-state\">\n <span class=\"chat__empty-state__text\">{{ noMessagesPlaceholder }}</span>\n </div>\n\n <div *ngIf=\"messages?.length\" class=\"chat__messages\">\n <div #messagesContainer class=\"chat__messages__container\"\n [class.chat__messages__container--scroll]=\"messagesContainerWithScroll\">\n <ng-content select=\"dr-chat-message\"></ng-content>\n </div>\n </div>\n\n <dr-chat-suggestions *ngIf=\"suggestions?.length\"\n [values]=\"suggestions\"\n [fullScreen]=\"fullScreen\"\n [waitForReply]=\"waitForReply\"\n class=\"chat__suggestions\"\n [class.chat__suggestions--full-height]=\"fullScreen && !messages?.length\"\n [buttonMode]=\"!!messages?.length\"\n (suggestionSelect)=\"suggestionSelect.emit($event)\">\n </dr-chat-suggestions>\n\n <div class=\"form\">\n <ng-content select=\"dr-chat-form\"></ng-content>\n </div>\n</div>\n", styles: [":host{height:100%;width:100%;display:flex;flex-direction:column}.chat{position:relative;display:flex;flex-grow:1;flex-direction:column;height:100%;background-color:#fff;color:#4e566c;font-family:Poppins,sans-serif;font-size:14px;font-weight:400;line-height:22px}.chat__sticky-top{display:flex;flex-direction:column;box-shadow:0 1px 3px #0003;z-index:1}.chat__empty-state{display:flex;justify-content:center}.chat__empty-state__text{padding:44px 0;font-family:Poppins,sans-serif;font-size:18px;font-weight:400;line-height:28px;text-align:center;max-width:440px;color:#4646ce}.chat__messages{display:flex;flex-grow:1;overflow-x:hidden;overflow-y:auto;height:100%;width:100%}.chat__messages__container{overflow-y:auto;overflow-x:hidden;display:flex;flex-shrink:0;flex-direction:column;width:100%;padding-bottom:1px}.chat__messages__container--scroll::ng-deep dr-chat-message{padding-right:16px}.chat__suggestions{flex:1}.chat__suggestions ::ng-deep .chat-suggestions__container{padding:0}.chat__suggestions--full-height{flex-grow:1;height:1px;overflow:auto}.chat--in-full-screen .chat__header{padding-left:48px;padding-right:48px}.chat--in-full-screen .chat__empty-state__text{padding:77px 0;font-size:28px;line-height:46px;max-width:570px}.chat--in-full-screen .chat__messages::ng-deep dr-chat-message{justify-content:center}.chat--in-full-screen .chat__messages::ng-deep .message{max-width:
|
|
90
|
+
args: [{ selector: 'dr-chat', providers: [DrChatCustomMessageService], template: "<div class=\"chat\" [class.chat--in-full-screen]=\"fullScreen\">\n <div class=\"chat__sticky-top\">\n <ng-container *ngIf=\"chatHeader\" [ngTemplateOutlet]=\"chatHeader\"></ng-container>\n\n <div class=\"chat__alert\">\n <ng-content select=\"dr-chat-alert\"></ng-content>\n </div>\n </div>\n\n <div *ngIf=\"!messages?.length\" class=\"chat__empty-state\">\n <span class=\"chat__empty-state__text\">{{ noMessagesPlaceholder }}</span>\n </div>\n\n <div *ngIf=\"messages?.length\" class=\"chat__messages\">\n <div #messagesContainer class=\"chat__messages__container\"\n [class.chat__messages__container--scroll]=\"messagesContainerWithScroll\">\n <ng-content select=\"dr-chat-message\"></ng-content>\n </div>\n </div>\n\n <dr-chat-suggestions *ngIf=\"suggestions?.length\"\n [values]=\"suggestions\"\n [fullScreen]=\"fullScreen\"\n [waitForReply]=\"waitForReply\"\n class=\"chat__suggestions\"\n [class.chat__suggestions--full-height]=\"fullScreen && !messages?.length\"\n [buttonMode]=\"!!messages?.length\"\n (suggestionSelect)=\"suggestionSelect.emit($event)\">\n </dr-chat-suggestions>\n\n <div class=\"form\">\n <ng-content select=\"dr-chat-form\"></ng-content>\n </div>\n</div>\n", styles: [":host{height:100%;width:100%;display:flex;flex-direction:column}.chat{position:relative;display:flex;flex-grow:1;flex-direction:column;height:100%;background-color:#fff;color:#4e566c;font-family:Poppins,sans-serif;font-size:14px;font-weight:400;line-height:22px}.chat__sticky-top{display:flex;flex-direction:column;box-shadow:0 1px 3px #0003;z-index:1}.chat__empty-state{display:flex;justify-content:center}.chat__empty-state__text{padding:44px 0;font-family:Poppins,sans-serif;font-size:18px;font-weight:400;line-height:28px;text-align:center;max-width:440px;color:#4646ce}.chat__messages{display:flex;flex-grow:1;overflow-x:hidden;overflow-y:auto;height:100%;width:100%}.chat__messages__container{overflow-y:auto;overflow-x:hidden;display:flex;flex-shrink:0;flex-direction:column;width:100%;padding-bottom:1px}.chat__messages__container--scroll::ng-deep dr-chat-message{padding-right:16px}.chat__suggestions{flex:1}.chat__suggestions ::ng-deep .chat-suggestions__container{padding:0}.chat__suggestions--full-height{flex-grow:1;height:1px;overflow:auto}.chat--in-full-screen .chat__header{padding-left:48px;padding-right:48px}.chat--in-full-screen .chat__empty-state__text{padding:77px 0;font-size:28px;line-height:46px;max-width:570px}.chat--in-full-screen .chat__messages::ng-deep dr-chat-message{justify-content:center}.chat--in-full-screen .chat__messages::ng-deep .message{max-width:912px}.chat--in-full-screen .chat__suggestions::ng-deep .chat-suggestions__items{padding-left:0;padding-right:0}.chat--in-full-screen .chat__suggestions::ng-deep .chat-suggestions__items__item{font-size:16px}\n"] }]
|
|
91
91
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { fullScreen: [{
|
|
92
92
|
type: Input
|
|
93
93
|
}], noMessagesPlaceholder: [{
|
|
@@ -46,7 +46,7 @@ export class DrChatMessageComponent {
|
|
|
46
46
|
return customMessageDirective;
|
|
47
47
|
}
|
|
48
48
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrChatMessageComponent, deps: [{ token: i1.DrChatCustomMessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrChatMessageComponent, selector: "dr-chat-message", inputs: { reply: "reply", type: "type", message: "message", customMessageData: "customMessageData", user: "user" }, host: { properties: { "@flyInOut": "this.flyInOut", "class.not-reply": "this.notReply", "class.reply": "this.reply" } }, queries: [{ propertyName: "drChatMessageActions", first: true, predicate: ["drChatMessageActions"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"message.avatarUrl; else userAvatar\">\n <div class=\"avatar\" [style.background-image]=\"'url(' + message.avatarUrl + ')'\"></div>\n</ng-container>\n<ng-template #userAvatar>\n <dr-avatar *ngIf=\"message.user\" [users]=\"message.user\"></dr-avatar>\n</ng-template>\n<div class=\"message\" [class.message--custom]=\"customMessage\">\n <ng-container [ngSwitch]=\"message.kind\">\n <dr-chat-message-text *ngSwitchCase=\"MESSAGE_TYPE.TEXT\" [message]=\"message\"></dr-chat-message-text>\n <dr-chat-message-file *ngSwitchCase=\"MESSAGE_TYPE.DOWNLOAD_FILE\" [message]=\"message\"></dr-chat-message-file>\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"getTemplate()\" [ngTemplateOutletContext]=\"getTemplateContext()\"></ng-container>\n </ng-container>\n </ng-container>\n <div class=\"message__actions\" *ngIf=\"drChatMessageActions;\">\n <ng-container [ngTemplateOutlet]=\"drChatMessageActions\"></ng-container>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:row;width:100%;background:#f9faffb3;border-top:1px solid #E5E5E5;padding:16px 24px}:host:first-child{border:none}:host:last-child{border-bottom:1px solid #E5E5E5}.reply+:host.reply,.not-reply+:host.not-reply{border-top:none;padding-top:0;padding-left:
|
|
49
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrChatMessageComponent, selector: "dr-chat-message", inputs: { reply: "reply", type: "type", message: "message", customMessageData: "customMessageData", user: "user" }, host: { properties: { "@flyInOut": "this.flyInOut", "class.not-reply": "this.notReply", "class.reply": "this.reply" } }, queries: [{ propertyName: "drChatMessageActions", first: true, predicate: ["drChatMessageActions"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"message.avatarUrl; else userAvatar\">\n <div class=\"avatar\" [style.background-image]=\"'url(' + message.avatarUrl + ')'\"></div>\n</ng-container>\n<ng-template #userAvatar>\n <dr-avatar *ngIf=\"message.user\" [users]=\"message.user\"></dr-avatar>\n</ng-template>\n<div class=\"message\" [class.message--custom]=\"customMessage\">\n <ng-container [ngSwitch]=\"message.kind\">\n <dr-chat-message-text *ngSwitchCase=\"MESSAGE_TYPE.TEXT\" [message]=\"message\"></dr-chat-message-text>\n <dr-chat-message-file *ngSwitchCase=\"MESSAGE_TYPE.DOWNLOAD_FILE\" [message]=\"message\"></dr-chat-message-file>\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"getTemplate()\" [ngTemplateOutletContext]=\"getTemplateContext()\"></ng-container>\n </ng-container>\n </ng-container>\n <div class=\"message__actions\" *ngIf=\"drChatMessageActions;\">\n <ng-container [ngTemplateOutlet]=\"drChatMessageActions\"></ng-container>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:row;width:100%;background:#f9faffb3;border-top:1px solid #E5E5E5;padding:16px 24px}:host:first-child{border:none}:host:last-child{border-bottom:1px solid #E5E5E5}.reply+:host.reply,.not-reply+:host.not-reply{border-top:none;padding-top:0;padding-left:68px}.reply+:host.reply .avatar,.reply+:host.reply dr-avatar,.not-reply+:host.not-reply .avatar,.not-reply+:host.not-reply dr-avatar{display:none}:host.not-reply{background-color:#fff}:host .avatar{display:flex;width:28px;height:28px;background-color:#fff;border-radius:16px;flex-shrink:0;border:1px solid #DFE0E3;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22Layer_1%22 data-name%3D%22Layer 1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220 0 74 65%22%3E %3Cdefs%3E %3Cstyle%3E .cls-1%2C .cls-2%2C .cls-3 %7B fill%3A none%3B %7D .cls-4 %7B fill%3A url(%23linear-gradient)%3B %7D .cls-5 %7B fill%3A %234eb7df%3B %7D .cls-2 %7B stroke%3A %23a6a8aa%3B stroke-miterlimit%3A 10%3B stroke-width%3A .37px%3B %7D .cls-6 %7B fill%3A url(%23linear-gradient-3)%3B %7D .cls-7 %7B fill%3A url(%23linear-gradient-2)%3B %7D .cls-3 %7B clip-path%3A url(%23clippath)%3B %7D %3C%2Fstyle%3E %3CclipPath id%3D%22clippath%22%3E %3Crect class%3D%22cls-1%22 width%3D%2274%22 height%3D%2265%22%2F%3E %3C%2FclipPath%3E %3ClinearGradient id%3D%22linear-gradient%22 x1%3D%2224.26%22 y1%3D%22-3.79%22 x2%3D%2295.63%22 y2%3D%2288.82%22 gradientTransform%3D%22translate(0 65.89) scale(1 -1)%22 gradientUnits%3D%22userSpaceOnUse%22%3E %3Cstop offset%3D%220%22 stop-color%3D%22%237676ff%22%2F%3E %3Cstop offset%3D%22.18%22 stop-color%3D%22%235959ff%22%2F%3E %3Cstop offset%3D%22.35%22 stop-color%3D%22%235757e0%22%2F%3E %3Cstop offset%3D%22.61%22 stop-color%3D%22%234646ce%22%2F%3E %3Cstop offset%3D%22.84%22 stop-color%3D%22%234b4be4%22%2F%3E %3Cstop offset%3D%221%22 stop-color%3D%22%234444eb%22%2F%3E %3C%2FlinearGradient%3E %3ClinearGradient id%3D%22linear-gradient-2%22 x1%3D%2212.05%22 y1%3D%2277.06%22 x2%3D%2210.77%22 y2%3D%2213.85%22 gradientTransform%3D%22translate(0 65.89) scale(1 -1)%22 gradientUnits%3D%22userSpaceOnUse%22%3E %3Cstop offset%3D%22.45%22 stop-color%3D%22%232f92b8%22%2F%3E %3Cstop offset%3D%22.84%22 stop-color%3D%22%234eb7df%22%2F%3E %3Cstop offset%3D%221%22 stop-color%3D%22%234eb7df%22%2F%3E %3C%2FlinearGradient%3E %3ClinearGradient id%3D%22linear-gradient-3%22 x1%3D%2262.26%22 y1%3D%22-2.54%22 x2%3D%2261.76%22 y2%3D%2285.91%22 gradientTransform%3D%22translate(0 65.89) scale(1 -1)%22 gradientUnits%3D%22userSpaceOnUse%22%3E %3Cstop offset%3D%220%22 stop-color%3D%22%2336369b%22%2F%3E %3Cstop offset%3D%22.52%22 stop-color%3D%22%234848d0%22%2F%3E %3C%2FlinearGradient%3E %3C%2Fdefs%3E %3Cg class%3D%22cls-3%22%3E %3Cg%3E %3Cpath class%3D%22cls-4%22 d%3D%22m73.32%2C24.79v15.73c0%2C13.12-9.87%2C23.79-22%2C23.79h-21.32c-3.46-.06-6.25-3.11-6.25-6.87s2.79-6.81%2C6.25-6.87h21.32c5.13%2C0%2C9.29-4.51%2C9.29-10.05v-15.73c0-5.54-4.17-10.05-9.29-10.05h-7.46c3.51%2C0%2C6.35-3.08%2C6.35-6.88s-2.79-6.8-6.25-6.87h7.35c12.12%2C0%2C22%2C10.67%2C22%2C23.79h0Z%22%2F%3E %3Cpath class%3D%22cls-5%22 d%3D%22m50.26%2C7.82c0%2C3.8-2.9%2C6.93-6.41%2C6.93h-21.86c-5.13%2C0-9.29%2C4.51-9.29%2C10.05v15.73c0%2C5.54%2C4.17%2C10.05%2C9.29%2C10.05h8.01c-3.46.06-6.25%2C3.11-6.25%2C6.87s2.79%2C6.81%2C6.25%2C6.87h-8.01c-12.12%2C0-22-10.67-22-23.79v-15.73C0%2C11.68%2C9.87%2C1%2C21.99%2C1h21.97c3.46.06%2C6.3%2C3.06%2C6.3%2C6.82Z%22%2F%3E %3Cpath class%3D%22cls-2%22 d%3D%22m66.45%2C1h-.22.22%2C0Z%22%2F%3E %3Cpath class%3D%22cls-2%22 d%3D%22m36.05%2C50.58h-.22.22%2C0Z%22%2F%3E %3Cpath class%3D%22cls-7%22 d%3D%22m0%2C33.78v-2.76C0%2C12.9%2C13.62%2C14.48%2C13.62%2C14.48h8.38c-5.5.46-9.5%2C4.71-9.5%2C9.96l.02%2C15.8c0%2C5.54%2C4.44%2C10.59%2C9.48%2C10.59l-8-.5S0%2C51.88%2C0%2C33.77h0Z%22%2F%3E %3Cpath class%3D%22cls-6%22 d%3D%22m73%2C31.51v2.76c0%2C18.12-13.62%2C16.53-13.62%2C16.53h-7.99c5.61-.85%2C9.09-4.76%2C9.09-10.02l.02-16.33c0-5.54-4.46-10-9.5-10h8s13.99-1.05%2C13.99%2C17.07h0Z%22%2F%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-size:20px;background-repeat:no-repeat;background-position-x:3px;background-position-y:4px}:host .avatar,:host dr-avatar{margin:0 16px 0 0}:host .avatar::ng-deep .users-section__user,:host dr-avatar::ng-deep .users-section__user{border:1px solid #DFE0E3}:host .message{display:flex;align-items:center;flex-grow:1}:host .message__actions{display:flex;align-items:center;margin-left:24px;flex-grow:1;justify-content:flex-end}:host .message__actions::ng-deep button:not(:hover) i[class*=dr-icon]{color:#b9b9ec!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.DrAvatarComponent, selector: "dr-avatar", inputs: ["users", "warning", "showUnassigned", "drAvatarTooltipPosition", "drAvatarTooltipClass", "drAvatarSize", "drAvatarIsClickable"], outputs: ["userClicked"] }, { kind: "component", type: i4.DrChatMessageTextComponent, selector: "dr-chat-message-text", inputs: ["message"] }, { kind: "component", type: i5.DrChatMessageFileComponent, selector: "dr-chat-message-file", inputs: ["message", "files"] }], animations: [
|
|
50
50
|
trigger('flyInOut', [
|
|
51
51
|
state('in', style({ transform: 'translateX(0)' })),
|
|
52
52
|
transition('void => *', [style({ transform: 'translateX(-100%)' }), animate(80)]),
|
|
@@ -62,7 +62,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
62
62
|
transition('void => *', [style({ transform: 'translateX(-100%)' }), animate(80)]),
|
|
63
63
|
transition('* => void', [animate(80, style({ transform: 'translateX(100%)' }))]),
|
|
64
64
|
]),
|
|
65
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"message.avatarUrl; else userAvatar\">\n <div class=\"avatar\" [style.background-image]=\"'url(' + message.avatarUrl + ')'\"></div>\n</ng-container>\n<ng-template #userAvatar>\n <dr-avatar *ngIf=\"message.user\" [users]=\"message.user\"></dr-avatar>\n</ng-template>\n<div class=\"message\" [class.message--custom]=\"customMessage\">\n <ng-container [ngSwitch]=\"message.kind\">\n <dr-chat-message-text *ngSwitchCase=\"MESSAGE_TYPE.TEXT\" [message]=\"message\"></dr-chat-message-text>\n <dr-chat-message-file *ngSwitchCase=\"MESSAGE_TYPE.DOWNLOAD_FILE\" [message]=\"message\"></dr-chat-message-file>\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"getTemplate()\" [ngTemplateOutletContext]=\"getTemplateContext()\"></ng-container>\n </ng-container>\n </ng-container>\n <div class=\"message__actions\" *ngIf=\"drChatMessageActions;\">\n <ng-container [ngTemplateOutlet]=\"drChatMessageActions\"></ng-container>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:row;width:100%;background:#f9faffb3;border-top:1px solid #E5E5E5;padding:16px 24px}:host:first-child{border:none}:host:last-child{border-bottom:1px solid #E5E5E5}.reply+:host.reply,.not-reply+:host.not-reply{border-top:none;padding-top:0;padding-left:
|
|
65
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"message.avatarUrl; else userAvatar\">\n <div class=\"avatar\" [style.background-image]=\"'url(' + message.avatarUrl + ')'\"></div>\n</ng-container>\n<ng-template #userAvatar>\n <dr-avatar *ngIf=\"message.user\" [users]=\"message.user\"></dr-avatar>\n</ng-template>\n<div class=\"message\" [class.message--custom]=\"customMessage\">\n <ng-container [ngSwitch]=\"message.kind\">\n <dr-chat-message-text *ngSwitchCase=\"MESSAGE_TYPE.TEXT\" [message]=\"message\"></dr-chat-message-text>\n <dr-chat-message-file *ngSwitchCase=\"MESSAGE_TYPE.DOWNLOAD_FILE\" [message]=\"message\"></dr-chat-message-file>\n <ng-container *ngSwitchDefault>\n <ng-container [ngTemplateOutlet]=\"getTemplate()\" [ngTemplateOutletContext]=\"getTemplateContext()\"></ng-container>\n </ng-container>\n </ng-container>\n <div class=\"message__actions\" *ngIf=\"drChatMessageActions;\">\n <ng-container [ngTemplateOutlet]=\"drChatMessageActions\"></ng-container>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:row;width:100%;background:#f9faffb3;border-top:1px solid #E5E5E5;padding:16px 24px}:host:first-child{border:none}:host:last-child{border-bottom:1px solid #E5E5E5}.reply+:host.reply,.not-reply+:host.not-reply{border-top:none;padding-top:0;padding-left:68px}.reply+:host.reply .avatar,.reply+:host.reply dr-avatar,.not-reply+:host.not-reply .avatar,.not-reply+:host.not-reply dr-avatar{display:none}:host.not-reply{background-color:#fff}:host .avatar{display:flex;width:28px;height:28px;background-color:#fff;border-radius:16px;flex-shrink:0;border:1px solid #DFE0E3;background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22Layer_1%22 data-name%3D%22Layer 1%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22 viewBox%3D%220 0 74 65%22%3E %3Cdefs%3E %3Cstyle%3E .cls-1%2C .cls-2%2C .cls-3 %7B fill%3A none%3B %7D .cls-4 %7B fill%3A url(%23linear-gradient)%3B %7D .cls-5 %7B fill%3A %234eb7df%3B %7D .cls-2 %7B stroke%3A %23a6a8aa%3B stroke-miterlimit%3A 10%3B stroke-width%3A .37px%3B %7D .cls-6 %7B fill%3A url(%23linear-gradient-3)%3B %7D .cls-7 %7B fill%3A url(%23linear-gradient-2)%3B %7D .cls-3 %7B clip-path%3A url(%23clippath)%3B %7D %3C%2Fstyle%3E %3CclipPath id%3D%22clippath%22%3E %3Crect class%3D%22cls-1%22 width%3D%2274%22 height%3D%2265%22%2F%3E %3C%2FclipPath%3E %3ClinearGradient id%3D%22linear-gradient%22 x1%3D%2224.26%22 y1%3D%22-3.79%22 x2%3D%2295.63%22 y2%3D%2288.82%22 gradientTransform%3D%22translate(0 65.89) scale(1 -1)%22 gradientUnits%3D%22userSpaceOnUse%22%3E %3Cstop offset%3D%220%22 stop-color%3D%22%237676ff%22%2F%3E %3Cstop offset%3D%22.18%22 stop-color%3D%22%235959ff%22%2F%3E %3Cstop offset%3D%22.35%22 stop-color%3D%22%235757e0%22%2F%3E %3Cstop offset%3D%22.61%22 stop-color%3D%22%234646ce%22%2F%3E %3Cstop offset%3D%22.84%22 stop-color%3D%22%234b4be4%22%2F%3E %3Cstop offset%3D%221%22 stop-color%3D%22%234444eb%22%2F%3E %3C%2FlinearGradient%3E %3ClinearGradient id%3D%22linear-gradient-2%22 x1%3D%2212.05%22 y1%3D%2277.06%22 x2%3D%2210.77%22 y2%3D%2213.85%22 gradientTransform%3D%22translate(0 65.89) scale(1 -1)%22 gradientUnits%3D%22userSpaceOnUse%22%3E %3Cstop offset%3D%22.45%22 stop-color%3D%22%232f92b8%22%2F%3E %3Cstop offset%3D%22.84%22 stop-color%3D%22%234eb7df%22%2F%3E %3Cstop offset%3D%221%22 stop-color%3D%22%234eb7df%22%2F%3E %3C%2FlinearGradient%3E %3ClinearGradient id%3D%22linear-gradient-3%22 x1%3D%2262.26%22 y1%3D%22-2.54%22 x2%3D%2261.76%22 y2%3D%2285.91%22 gradientTransform%3D%22translate(0 65.89) scale(1 -1)%22 gradientUnits%3D%22userSpaceOnUse%22%3E %3Cstop offset%3D%220%22 stop-color%3D%22%2336369b%22%2F%3E %3Cstop offset%3D%22.52%22 stop-color%3D%22%234848d0%22%2F%3E %3C%2FlinearGradient%3E %3C%2Fdefs%3E %3Cg class%3D%22cls-3%22%3E %3Cg%3E %3Cpath class%3D%22cls-4%22 d%3D%22m73.32%2C24.79v15.73c0%2C13.12-9.87%2C23.79-22%2C23.79h-21.32c-3.46-.06-6.25-3.11-6.25-6.87s2.79-6.81%2C6.25-6.87h21.32c5.13%2C0%2C9.29-4.51%2C9.29-10.05v-15.73c0-5.54-4.17-10.05-9.29-10.05h-7.46c3.51%2C0%2C6.35-3.08%2C6.35-6.88s-2.79-6.8-6.25-6.87h7.35c12.12%2C0%2C22%2C10.67%2C22%2C23.79h0Z%22%2F%3E %3Cpath class%3D%22cls-5%22 d%3D%22m50.26%2C7.82c0%2C3.8-2.9%2C6.93-6.41%2C6.93h-21.86c-5.13%2C0-9.29%2C4.51-9.29%2C10.05v15.73c0%2C5.54%2C4.17%2C10.05%2C9.29%2C10.05h8.01c-3.46.06-6.25%2C3.11-6.25%2C6.87s2.79%2C6.81%2C6.25%2C6.87h-8.01c-12.12%2C0-22-10.67-22-23.79v-15.73C0%2C11.68%2C9.87%2C1%2C21.99%2C1h21.97c3.46.06%2C6.3%2C3.06%2C6.3%2C6.82Z%22%2F%3E %3Cpath class%3D%22cls-2%22 d%3D%22m66.45%2C1h-.22.22%2C0Z%22%2F%3E %3Cpath class%3D%22cls-2%22 d%3D%22m36.05%2C50.58h-.22.22%2C0Z%22%2F%3E %3Cpath class%3D%22cls-7%22 d%3D%22m0%2C33.78v-2.76C0%2C12.9%2C13.62%2C14.48%2C13.62%2C14.48h8.38c-5.5.46-9.5%2C4.71-9.5%2C9.96l.02%2C15.8c0%2C5.54%2C4.44%2C10.59%2C9.48%2C10.59l-8-.5S0%2C51.88%2C0%2C33.77h0Z%22%2F%3E %3Cpath class%3D%22cls-6%22 d%3D%22m73%2C31.51v2.76c0%2C18.12-13.62%2C16.53-13.62%2C16.53h-7.99c5.61-.85%2C9.09-4.76%2C9.09-10.02l.02-16.33c0-5.54-4.46-10-9.5-10h8s13.99-1.05%2C13.99%2C17.07h0Z%22%2F%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-size:20px;background-repeat:no-repeat;background-position-x:3px;background-position-y:4px}:host .avatar,:host dr-avatar{margin:0 16px 0 0}:host .avatar::ng-deep .users-section__user,:host dr-avatar::ng-deep .users-section__user{border:1px solid #DFE0E3}:host .message{display:flex;align-items:center;flex-grow:1}:host .message__actions{display:flex;align-items:center;margin-left:24px;flex-grow:1;justify-content:flex-end}:host .message__actions::ng-deep button:not(:hover) i[class*=dr-icon]{color:#b9b9ec!important}\n"] }]
|
|
66
66
|
}], ctorParameters: function () { return [{ type: i1.DrChatCustomMessageService }]; }, propDecorators: { flyInOut: [{
|
|
67
67
|
type: HostBinding,
|
|
68
68
|
args: ['@flyInOut']
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class DrSliderComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.max = 100;
|
|
7
|
+
this.min = 1;
|
|
8
|
+
this.step = 1;
|
|
9
|
+
this.rangeValue = 1;
|
|
10
|
+
this.onChange = () => {
|
|
11
|
+
};
|
|
12
|
+
this.onTouched = () => {
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
registerOnChange(fn) {
|
|
16
|
+
this.onChange = fn;
|
|
17
|
+
}
|
|
18
|
+
registerOnTouched(fn) {
|
|
19
|
+
this.onTouched = fn;
|
|
20
|
+
}
|
|
21
|
+
setDisabledState(isDisabled) {
|
|
22
|
+
this.disabled = isDisabled;
|
|
23
|
+
}
|
|
24
|
+
writeValue(value) {
|
|
25
|
+
this.rangeValue = value;
|
|
26
|
+
}
|
|
27
|
+
setValue(event) {
|
|
28
|
+
this.writeValue(event.target.value);
|
|
29
|
+
this.onChange(this.rangeValue);
|
|
30
|
+
this.onTouched();
|
|
31
|
+
}
|
|
32
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrSliderComponent, isStandalone: true, selector: "dr-slider", inputs: { disabled: "disabled", max: "max", min: "min", step: "step", rangeValue: "rangeValue" }, providers: [
|
|
34
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: DrSliderComponent, multi: true }
|
|
35
|
+
], ngImport: i0, template: "<input type=\"range\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [value]=\"rangeValue\"\n (change)=\"setValue($event)\"\n/>\n", styles: ["input[type=range]{appearance:none;background:transparent;cursor:pointer}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background-color:#dfe0e3}input[type=range]::-webkit-slider-thumb{appearance:none;margin-top:-5px;height:14px;width:14px;border-radius:14px;background-color:#4646ce}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrSliderComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: 'dr-slider', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
40
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: DrSliderComponent, multi: true }
|
|
41
|
+
], standalone: true, template: "<input type=\"range\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [disabled]=\"disabled\"\n [value]=\"rangeValue\"\n (change)=\"setValue($event)\"\n/>\n", styles: ["input[type=range]{appearance:none;background:transparent;cursor:pointer}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background-color:#dfe0e3}input[type=range]::-webkit-slider-thumb{appearance:none;margin-top:-5px;height:14px;width:14px;border-radius:14px;background-color:#4646ce}\n"] }]
|
|
42
|
+
}], propDecorators: { disabled: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], max: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], min: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], step: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], rangeValue: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zbGlkZXIvZHItc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zbGlkZXIvZHItc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFZekUsTUFBTSxPQUFPLGlCQUFpQjtJQVY5QjtRQVlhLFFBQUcsR0FBVyxHQUFHLENBQUM7UUFDbEIsUUFBRyxHQUFXLENBQUMsQ0FBQztRQUNoQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ2pCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFFeEIsYUFBUSxHQUE0QixHQUFHLEVBQUU7UUFDakQsQ0FBQyxDQUFDO1FBQ00sY0FBUyxHQUFlLEdBQUcsRUFBRTtRQUNyQyxDQUFDLENBQUM7S0F1Qkw7SUFyQkcsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztrSUFoQ1EsaUJBQWlCO3NIQUFqQixpQkFBaUIsMEpBTGY7WUFDUCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtTQUM5RSwwQkNWTCxzTUFRQTs7NEZES2EsaUJBQWlCO2tCQVY3QixTQUFTOytCQUNJLFdBQVcsbUJBR0osdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7cUJBQzlFLGNBQ1csSUFBSTs4QkFHUCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLXNsaWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBEclNsaWRlckNvbXBvbmVudCwgbXVsdGk6IHRydWUgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbWF4OiBudW1iZXIgPSAxMDA7XG4gICAgQElucHV0KCkgbWluOiBudW1iZXIgPSAxO1xuICAgIEBJbnB1dCgpIHN0ZXA6IG51bWJlciA9IDE7XG4gICAgQElucHV0KCkgcmFuZ2VWYWx1ZTogbnVtYmVyID0gMTtcblxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgIH07XG4gICAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgfTtcblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yYW5nZVZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgc2V0VmFsdWUoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5yYW5nZVZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG59XG4iLCI8aW5wdXQgdHlwZT1cInJhbmdlXCJcbiAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgW21heF09XCJtYXhcIlxuICAgICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgW3ZhbHVlXT1cInJhbmdlVmFsdWVcIlxuICAgICAgIChjaGFuZ2UpPVwic2V0VmFsdWUoJGV2ZW50KVwiXG4vPlxuIl19
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { CROP_IMAGE_MODES } from './dr-image-cropper.types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class DrImageCropperCanvasService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.ALPHA_FOR_SHADOW = 0.2;
|
|
7
|
+
// this param means that a side of a white square is half of a side of a canvas
|
|
8
|
+
this.CROP_AREA_PROPORTION = 2;
|
|
9
|
+
this.RECTANGULAR_SHADOW_WIDTH = 30;
|
|
10
|
+
this.RECTANGULAR_SHADOW_HEIGHT = 70;
|
|
11
|
+
}
|
|
12
|
+
drawShape(canvasSize, cropMode, zoomLevel, htmlImageElement) {
|
|
13
|
+
this.clearCanvas(canvasSize);
|
|
14
|
+
this.drawImageByZoom(canvasSize, zoomLevel, htmlImageElement);
|
|
15
|
+
this.drawShadow(cropMode, canvasSize);
|
|
16
|
+
}
|
|
17
|
+
getCoordinates(cropMode, canvasSize) {
|
|
18
|
+
return cropMode === CROP_IMAGE_MODES.SQUARE
|
|
19
|
+
? this.getCoordinatesForSquare(canvasSize)
|
|
20
|
+
: this.getCoordinatesForRectangle(canvasSize);
|
|
21
|
+
}
|
|
22
|
+
getCoordinatesForSquare(canvasSize) {
|
|
23
|
+
const shadowLength = canvasSize / (this.CROP_AREA_PROPORTION * 2);
|
|
24
|
+
const bottomPosition = canvasSize - shadowLength;
|
|
25
|
+
return [shadowLength, shadowLength, bottomPosition, bottomPosition].join(',');
|
|
26
|
+
}
|
|
27
|
+
getCoordinatesForRectangle(canvasSize) {
|
|
28
|
+
return [
|
|
29
|
+
this.RECTANGULAR_SHADOW_WIDTH,
|
|
30
|
+
this.RECTANGULAR_SHADOW_HEIGHT,
|
|
31
|
+
canvasSize - this.RECTANGULAR_SHADOW_WIDTH,
|
|
32
|
+
canvasSize - this.RECTANGULAR_SHADOW_HEIGHT
|
|
33
|
+
].join(',');
|
|
34
|
+
}
|
|
35
|
+
drawShadow(cropMode, canvasSize) {
|
|
36
|
+
this.ctx.globalAlpha = this.ALPHA_FOR_SHADOW;
|
|
37
|
+
this.ctx.fillStyle = 'black';
|
|
38
|
+
if (cropMode === CROP_IMAGE_MODES.SQUARE) {
|
|
39
|
+
this.drawSquareShadow(canvasSize);
|
|
40
|
+
}
|
|
41
|
+
else if (cropMode === CROP_IMAGE_MODES.RECTANGLE) {
|
|
42
|
+
this.drawRectangularShadow(canvasSize);
|
|
43
|
+
}
|
|
44
|
+
this.ctx.globalAlpha = 1;
|
|
45
|
+
}
|
|
46
|
+
drawSquareShadow(canvasSize) {
|
|
47
|
+
const shadowLength = canvasSize / (this.CROP_AREA_PROPORTION * 2);
|
|
48
|
+
this.ctx.fillRect(0, 0, shadowLength, canvasSize);
|
|
49
|
+
this.ctx.fillRect(canvasSize - shadowLength, 0, shadowLength, canvasSize);
|
|
50
|
+
this.ctx.fillRect(shadowLength, 0, 2 * shadowLength, shadowLength);
|
|
51
|
+
this.ctx.fillRect(shadowLength, canvasSize - shadowLength, 2 * shadowLength, shadowLength);
|
|
52
|
+
}
|
|
53
|
+
drawRectangularShadow(canvasSize) {
|
|
54
|
+
this.ctx.fillRect(0, 0, this.RECTANGULAR_SHADOW_WIDTH, canvasSize);
|
|
55
|
+
this.ctx.fillRect(canvasSize - this.RECTANGULAR_SHADOW_WIDTH, 0, this.RECTANGULAR_SHADOW_WIDTH, canvasSize);
|
|
56
|
+
this.ctx.fillRect(this.RECTANGULAR_SHADOW_WIDTH, 0, canvasSize - 2 * this.RECTANGULAR_SHADOW_WIDTH, this.RECTANGULAR_SHADOW_HEIGHT);
|
|
57
|
+
this.ctx.fillRect(this.RECTANGULAR_SHADOW_WIDTH, canvasSize - this.RECTANGULAR_SHADOW_HEIGHT, canvasSize - 2 * this.RECTANGULAR_SHADOW_WIDTH, this.RECTANGULAR_SHADOW_HEIGHT);
|
|
58
|
+
}
|
|
59
|
+
drawImageByZoom(canvasSize, zoomLevel, htmlImageElement) {
|
|
60
|
+
const maxImageDimension = Math.max(htmlImageElement.width, htmlImageElement.height);
|
|
61
|
+
const proportion = canvasSize / (this.CROP_AREA_PROPORTION * maxImageDimension);
|
|
62
|
+
const suitableWidth = htmlImageElement.width * proportion * zoomLevel;
|
|
63
|
+
const suitableHeight = htmlImageElement.height * proportion * zoomLevel;
|
|
64
|
+
const rectX = (canvasSize - suitableWidth) / 2;
|
|
65
|
+
const rectY = (canvasSize - suitableHeight) / 2;
|
|
66
|
+
this.ctx.drawImage(htmlImageElement, rectX, rectY, suitableWidth, suitableHeight);
|
|
67
|
+
}
|
|
68
|
+
clearCanvas(canvasSize) {
|
|
69
|
+
this.ctx.fillStyle = 'white';
|
|
70
|
+
this.ctx.fillRect(0, 0, canvasSize, canvasSize);
|
|
71
|
+
}
|
|
72
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrImageCropperCanvasService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
73
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrImageCropperCanvasService }); }
|
|
74
|
+
}
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrImageCropperCanvasService, decorators: [{
|
|
76
|
+
type: Injectable
|
|
77
|
+
}] });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItaW1hZ2UtY3JvcHBlci1jYW52YXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2ltYWdlLWNyb3BwZXIvZHItaW1hZ2UtY3JvcHBlci1jYW52YXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUc1RCxNQUFNLE9BQU8sMkJBQTJCO0lBRHhDO1FBSXFCLHFCQUFnQixHQUFHLEdBQUcsQ0FBQztRQUN4QywrRUFBK0U7UUFDOUQseUJBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLDZCQUF3QixHQUFHLEVBQUUsQ0FBQztRQUM5Qiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7S0FpRm5EO0lBL0VHLFNBQVMsQ0FBQyxVQUFrQixFQUFFLFFBQTBCLEVBQUUsU0FBaUIsRUFBRSxnQkFBa0M7UUFDM0csSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQTBCLEVBQUUsVUFBa0I7UUFDekQsT0FBTyxRQUFRLEtBQUssZ0JBQWdCLENBQUMsTUFBTTtZQUN2QyxDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQztZQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxVQUFrQjtRQUM5QyxNQUFNLFlBQVksR0FB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QUFpQixFQUFFLGdCQUFrQztRQUM3RixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLEtBQUssR0FBRyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQ3RFLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBRXhFLE1BQU0sS0FBSyxHQUFHLENBQUMsVUFBVSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVPLFdBQVcsQ0FBQyxVQUFrQjtRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDcEQsQ0FBQztrSUF2RlEsMkJBQTJCO3NJQUEzQiwyQkFBMkI7OzRGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDUk9QX0lNQUdFX01PREVTIH0gZnJvbSAnLi9kci1pbWFnZS1jcm9wcGVyLnR5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERySW1hZ2VDcm9wcGVyQ2FudmFzU2VydmljZSB7XG4gICAgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IEFMUEhBX0ZPUl9TSEFET1cgPSAwLjI7XG4gICAgLy8gdGhpcyBwYXJhbSBtZWFucyB0aGF0IGEgc2lkZSBvZiBhIHdoaXRlIHNxdWFyZSBpcyBoYWxmIG9mIGEgc2lkZSBvZiBhIGNhbnZhc1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQ1JPUF9BUkVBX1BST1BPUlRJT04gPSAyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgUkVDVEFOR1VMQVJfU0hBRE9XX1dJRFRIID0gMzA7XG4gICAgcHJpdmF0ZSByZWFkb25seSBSRUNUQU5HVUxBUl9TSEFET1dfSEVJR0hUID0gNzA7XG5cbiAgICBkcmF3U2hhcGUoY2FudmFzU2l6ZTogbnVtYmVyLCBjcm9wTW9kZTogQ1JPUF9JTUFHRV9NT0RFUywgem9vbUxldmVsOiBudW1iZXIsIGh0bWxJbWFnZUVsZW1lbnQ6IEhUTUxJbWFnZUVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhckNhbnZhcyhjYW52YXNTaXplKTtcbiAgICAgICAgdGhpcy5kcmF3SW1hZ2VCeVpvb20oY2FudmFzU2l6ZSwgem9vbUxldmVsLCBodG1sSW1hZ2VFbGVtZW50KTtcbiAgICAgICAgdGhpcy5kcmF3U2hhZG93KGNyb3BNb2RlLCBjYW52YXNTaXplKTtcbiAgICB9XG5cbiAgICBnZXRDb29yZGluYXRlcyhjcm9wTW9kZTogQ1JPUF9JTUFHRV9NT0RFUywgY2FudmFzU2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGNyb3BNb2RlID09PSBDUk9QX0lNQUdFX01PREVTLlNRVUFSRVxuICAgICAgICAgICAgPyB0aGlzLmdldENvb3JkaW5hdGVzRm9yU3F1YXJlKGNhbnZhc1NpemUpXG4gICAgICAgICAgICA6IHRoaXMuZ2V0Q29vcmRpbmF0ZXNGb3JSZWN0YW5nbGUoY2FudmFzU2l6ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDb29yZGluYXRlc0ZvclNxdWFyZShjYW52YXNTaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBzaGFkb3dMZW5ndGggPSBjYW52YXNTaXplIC8gKHRoaXMuQ1JPUF9BUkVBX1BST1BPUlRJT04gKiAyKTtcbiAgICAgICAgY29uc3QgYm90dG9tUG9zaXRpb24gPSBjYW52YXNTaXplIC0gc2hhZG93TGVuZ3RoO1xuICAgICAgICByZXR1cm4gW3NoYWRvd0xlbmd0aCwgc2hhZG93TGVuZ3RoLCBib3R0b21Qb3NpdGlvbiwgYm90dG9tUG9zaXRpb25dLmpvaW4oJywnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvb3JkaW5hdGVzRm9yUmVjdGFuZ2xlKGNhbnZhc1NpemU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19XSURUSCxcbiAgICAgICAgICAgIHRoaXMuUkVDVEFOR1VMQVJfU0hBRE9XX0hFSUdIVCxcbiAgICAgICAgICAgIGNhbnZhc1NpemUgLSB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19XSURUSCxcbiAgICAgICAgICAgIGNhbnZhc1NpemUgLSB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19IRUlHSFRcbiAgICAgICAgXS5qb2luKCcsJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkcmF3U2hhZG93KGNyb3BNb2RlOiBDUk9QX0lNQUdFX01PREVTLCBjYW52YXNTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdHguZ2xvYmFsQWxwaGEgPSB0aGlzLkFMUEhBX0ZPUl9TSEFET1c7XG4gICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9ICdibGFjayc7XG4gICAgICAgIGlmIChjcm9wTW9kZSA9PT0gQ1JPUF9JTUFHRV9NT0RFUy5TUVVBUkUpIHtcbiAgICAgICAgICAgIHRoaXMuZHJhd1NxdWFyZVNoYWRvdyhjYW52YXNTaXplKVxuICAgICAgICB9IGVsc2UgaWYgKGNyb3BNb2RlID09PSBDUk9QX0lNQUdFX01PREVTLlJFQ1RBTkdMRSkge1xuICAgICAgICAgICAgdGhpcy5kcmF3UmVjdGFuZ3VsYXJTaGFkb3coY2FudmFzU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdHguZ2xvYmFsQWxwaGEgPSAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgZHJhd1NxdWFyZVNoYWRvdyhjYW52YXNTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2hhZG93TGVuZ3RoID0gY2FudmFzU2l6ZSAvICh0aGlzLkNST1BfQVJFQV9QUk9QT1JUSU9OICogMik7XG4gICAgICAgIHRoaXMuY3R4LmZpbGxSZWN0KDAsIDAsIHNoYWRvd0xlbmd0aCwgY2FudmFzU2l6ZSk7XG4gICAgICAgIHRoaXMuY3R4LmZpbGxSZWN0KGNhbnZhc1NpemUgLSBzaGFkb3dMZW5ndGgsIDAsIHNoYWRvd0xlbmd0aCwgY2FudmFzU2l6ZSk7XG4gICAgICAgIHRoaXMuY3R4LmZpbGxSZWN0KHNoYWRvd0xlbmd0aCwgMCwgMiAqIHNoYWRvd0xlbmd0aCwgc2hhZG93TGVuZ3RoKTtcbiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3Qoc2hhZG93TGVuZ3RoLCBjYW52YXNTaXplIC0gc2hhZG93TGVuZ3RoLCAyICogc2hhZG93TGVuZ3RoLCBzaGFkb3dMZW5ndGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZHJhd1JlY3Rhbmd1bGFyU2hhZG93KGNhbnZhc1NpemU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmN0eC5maWxsUmVjdCgwLCAwLCB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19XSURUSCwgY2FudmFzU2l6ZSk7XG4gICAgICAgIHRoaXMuY3R4LmZpbGxSZWN0KGNhbnZhc1NpemUgLSB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19XSURUSCwgMCwgdGhpcy5SRUNUQU5HVUxBUl9TSEFET1dfV0lEVEgsIGNhbnZhc1NpemUpO1xuICAgICAgICB0aGlzLmN0eC5maWxsUmVjdChcbiAgICAgICAgICAgIHRoaXMuUkVDVEFOR1VMQVJfU0hBRE9XX1dJRFRILFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIGNhbnZhc1NpemUgLSAyICogdGhpcy5SRUNUQU5HVUxBUl9TSEFET1dfV0lEVEgsXG4gICAgICAgICAgICB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19IRUlHSFRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QoXG4gICAgICAgICAgICB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19XSURUSCxcbiAgICAgICAgICAgIGNhbnZhc1NpemUgLSB0aGlzLlJFQ1RBTkdVTEFSX1NIQURPV19IRUlHSFQsXG4gICAgICAgICAgICBjYW52YXNTaXplIC0gMiAqIHRoaXMuUkVDVEFOR1VMQVJfU0hBRE9XX1dJRFRILFxuICAgICAgICAgICAgdGhpcy5SRUNUQU5HVUxBUl9TSEFET1dfSEVJR0hUXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkcmF3SW1hZ2VCeVpvb20oY2FudmFzU2l6ZTogbnVtYmVyLCB6b29tTGV2ZWw6IG51bWJlciwgaHRtbEltYWdlRWxlbWVudDogSFRNTEltYWdlRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtYXhJbWFnZURpbWVuc2lvbiA9IE1hdGgubWF4KGh0bWxJbWFnZUVsZW1lbnQud2lkdGgsIGh0bWxJbWFnZUVsZW1lbnQuaGVpZ2h0KTtcbiAgICAgICAgY29uc3QgcHJvcG9ydGlvbiA9IGNhbnZhc1NpemUgLyAodGhpcy5DUk9QX0FSRUFfUFJPUE9SVElPTiAqIG1heEltYWdlRGltZW5zaW9uKTtcbiAgICAgICAgY29uc3Qgc3VpdGFibGVXaWR0aCA9IGh0bWxJbWFnZUVsZW1lbnQud2lkdGggKiBwcm9wb3J0aW9uICogem9vbUxldmVsO1xuICAgICAgICBjb25zdCBzdWl0YWJsZUhlaWdodCA9IGh0bWxJbWFnZUVsZW1lbnQuaGVpZ2h0ICogcHJvcG9ydGlvbiAqIHpvb21MZXZlbDtcblxuICAgICAgICBjb25zdCByZWN0WCA9IChjYW52YXNTaXplIC0gc3VpdGFibGVXaWR0aCkgLyAyO1xuICAgICAgICBjb25zdCByZWN0WSA9IChjYW52YXNTaXplIC0gc3VpdGFibGVIZWlnaHQpIC8gMjtcblxuICAgICAgICB0aGlzLmN0eC5kcmF3SW1hZ2UoaHRtbEltYWdlRWxlbWVudCwgcmVjdFgsIHJlY3RZLCBzdWl0YWJsZVdpZHRoLCBzdWl0YWJsZUhlaWdodCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckNhbnZhcyhjYW52YXNTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdHguZmlsbFN0eWxlID0gJ3doaXRlJztcbiAgICAgICAgdGhpcy5jdHguZmlsbFJlY3QoMCwgMCwgY2FudmFzU2l6ZSwgY2FudmFzU2l6ZSk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { FormsModule } from '@angular/forms';
|
|
3
|
+
import { DrSliderComponent } from '../dr-inputs/dr-slider/dr-slider.component';
|
|
4
|
+
import { CROP_IMAGE_MODES } from './dr-image-cropper.types';
|
|
5
|
+
import { DrInputsModule } from '../dr-inputs/dr-inputs.module';
|
|
6
|
+
import { DrImageCropperCanvasService } from './dr-image-cropper-canvas.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./dr-image-cropper-canvas.service";
|
|
9
|
+
import * as i2 from "@angular/forms";
|
|
10
|
+
import * as i3 from "../dr-inputs/button/button.component";
|
|
11
|
+
export class DrImageCropperComponent {
|
|
12
|
+
constructor(canvasService) {
|
|
13
|
+
this.canvasService = canvasService;
|
|
14
|
+
this.maxZoom = 10;
|
|
15
|
+
this.minZoom = 0.5;
|
|
16
|
+
this.zoomStep = 0.1;
|
|
17
|
+
this.zoomLevel = 1;
|
|
18
|
+
this.cropChanged = new EventEmitter();
|
|
19
|
+
this.clearClicked = new EventEmitter();
|
|
20
|
+
this.cropMode = CROP_IMAGE_MODES.SQUARE;
|
|
21
|
+
this.CROP_IMAGE_MODES = CROP_IMAGE_MODES;
|
|
22
|
+
}
|
|
23
|
+
ngOnChanges(changes) {
|
|
24
|
+
if (changes.imageFile && this.imageFile) {
|
|
25
|
+
this.readImageFile();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
ngAfterViewInit() {
|
|
29
|
+
this.canvasService.ctx = this.canvasElement.nativeElement.getContext('2d');
|
|
30
|
+
}
|
|
31
|
+
drawImage(newZoomEvent) {
|
|
32
|
+
if (newZoomEvent !== undefined) {
|
|
33
|
+
this.zoomLevel = newZoomEvent.target.value;
|
|
34
|
+
}
|
|
35
|
+
this.onCropModeUpdated();
|
|
36
|
+
}
|
|
37
|
+
onCropModeUpdated(cropMode) {
|
|
38
|
+
if (cropMode) {
|
|
39
|
+
this.cropMode = cropMode;
|
|
40
|
+
}
|
|
41
|
+
this.canvasService.drawShape(this.cropperSize, this.cropMode, this.zoomLevel, this.htmlImageElement);
|
|
42
|
+
const coordinates = this.canvasService.getCoordinates(this.cropMode, this.cropperSize);
|
|
43
|
+
this.canvasElement.nativeElement.toBlob((blob) => {
|
|
44
|
+
const file = new File([blob], this.imageFile.name, { type: this.imageFile.type, lastModified: Date.now() });
|
|
45
|
+
this.cropChanged.emit({ file, coordinates, cropMode: this.cropMode });
|
|
46
|
+
}, this.imageFile.type);
|
|
47
|
+
}
|
|
48
|
+
readImageFile() {
|
|
49
|
+
const reader = new FileReader();
|
|
50
|
+
reader.onload = () => {
|
|
51
|
+
this.htmlImageElement = new Image();
|
|
52
|
+
this.htmlImageElement.src = this.getImagesStringSrc(reader);
|
|
53
|
+
this.htmlImageElement.onload = () => {
|
|
54
|
+
this.canvasElement.nativeElement.width = this.canvasElement.nativeElement.height = this.cropperSize;
|
|
55
|
+
this.drawImage();
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
reader.readAsDataURL(this.imageFile);
|
|
59
|
+
}
|
|
60
|
+
getImagesStringSrc(reader) {
|
|
61
|
+
if (typeof reader.result === 'string')
|
|
62
|
+
return reader.result;
|
|
63
|
+
const decoder = new TextDecoder();
|
|
64
|
+
return decoder.decode(reader.result);
|
|
65
|
+
}
|
|
66
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrImageCropperComponent, deps: [{ token: i1.DrImageCropperCanvasService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
67
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrImageCropperComponent, isStandalone: true, selector: "dr-image-cropper", inputs: { cropperSize: "cropperSize", imageFile: "imageFile", maxZoom: "maxZoom", minZoom: "minZoom", zoomStep: "zoomStep", zoomLevel: "zoomLevel" }, outputs: { cropChanged: "cropChanged", clearClicked: "clearClicked" }, providers: [DrImageCropperCanvasService], viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["imageCanvas"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"crop-mode-btns-container\">\n <dr-button theme=\"ghost\"\n [class.active-mode]=\"cropMode === CROP_IMAGE_MODES.SQUARE\"\n (click)=\"onCropModeUpdated(CROP_IMAGE_MODES.SQUARE)\">\n <div class=\"mode-btn\">\n <div class=\"mode-btn__square-icon\"></div>\n Square\n </div>\n </dr-button>\n <dr-button theme=\"ghost\"\n [class.active-mode]=\"cropMode === CROP_IMAGE_MODES.RECTANGLE\"\n (click)=\"onCropModeUpdated(CROP_IMAGE_MODES.RECTANGLE)\">\n <div class=\"mode-btn\">\n <div class=\"mode-btn__rectangle-icon\"></div>\n Rectangle\n </div>\n </dr-button>\n</div>\n\n<div class=\"image-cropper\">\n <canvas #imageCanvas></canvas>\n</div>\n<dr-slider\n [(ngModel)]=\"zoomLevel\"\n [max]=\"maxZoom\"\n [min]=\"minZoom\"\n [step]=\"zoomStep\"\n [style.width]=\"cropperSize + 'px'\"\n class=\"image-crop-slider\"\n (input)=\"drawImage($event)\">\n</dr-slider>\n<dr-button [theme]=\"'ghost'\" (click)=\"clearClicked.emit()\" class=\"try-another-btn\">\n Try another image\n</dr-button>\n", styles: [":host{display:flex;flex-direction:column}:host .crop-mode-btns-container{display:flex;justify-content:center;margin-bottom:16px}:host .crop-mode-btns-container ::ng-deep dr-button.active-mode>button{background:#eaeaff}:host .crop-mode-btns-container ::ng-deep dr-button>button{height:56px;width:80px}:host .crop-mode-btns-container dr-button:not(:first-child){margin-left:8px}:host .crop-mode-btns-container .mode-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#333;height:56px;width:80px}:host .crop-mode-btns-container .mode-btn__rectangle-icon{height:8px;width:24px;margin-top:4px;margin-bottom:4px}:host .crop-mode-btns-container .mode-btn__square-icon{width:16px;height:16px}:host .crop-mode-btns-container .mode-btn__rectangle-icon,:host .crop-mode-btns-container .mode-btn__square-icon{border:1px solid #333333}:host .image-cropper{overflow:hidden;position:relative}:host .image-cropper__shadow{position:absolute}:host .image-crop-slider{margin-top:8px}:host .try-another-btn{display:flex;justify-content:center;margin-top:8px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: DrSliderComponent, selector: "dr-slider", inputs: ["disabled", "max", "min", "step", "rangeValue"] }, { kind: "ngmodule", type: DrInputsModule }, { kind: "component", type: i3.DrButtonComponent, selector: "dr-button", inputs: ["theme", "icon", "iconColor", "iconSize", "iconAfter", "iconAfterColor", "iconAfterSize", "disabled", "isLoading", "isActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
68
|
+
}
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrImageCropperComponent, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{ selector: 'dr-image-cropper', changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, DrSliderComponent, DrInputsModule], standalone: true, providers: [DrImageCropperCanvasService], template: "<div class=\"crop-mode-btns-container\">\n <dr-button theme=\"ghost\"\n [class.active-mode]=\"cropMode === CROP_IMAGE_MODES.SQUARE\"\n (click)=\"onCropModeUpdated(CROP_IMAGE_MODES.SQUARE)\">\n <div class=\"mode-btn\">\n <div class=\"mode-btn__square-icon\"></div>\n Square\n </div>\n </dr-button>\n <dr-button theme=\"ghost\"\n [class.active-mode]=\"cropMode === CROP_IMAGE_MODES.RECTANGLE\"\n (click)=\"onCropModeUpdated(CROP_IMAGE_MODES.RECTANGLE)\">\n <div class=\"mode-btn\">\n <div class=\"mode-btn__rectangle-icon\"></div>\n Rectangle\n </div>\n </dr-button>\n</div>\n\n<div class=\"image-cropper\">\n <canvas #imageCanvas></canvas>\n</div>\n<dr-slider\n [(ngModel)]=\"zoomLevel\"\n [max]=\"maxZoom\"\n [min]=\"minZoom\"\n [step]=\"zoomStep\"\n [style.width]=\"cropperSize + 'px'\"\n class=\"image-crop-slider\"\n (input)=\"drawImage($event)\">\n</dr-slider>\n<dr-button [theme]=\"'ghost'\" (click)=\"clearClicked.emit()\" class=\"try-another-btn\">\n Try another image\n</dr-button>\n", styles: [":host{display:flex;flex-direction:column}:host .crop-mode-btns-container{display:flex;justify-content:center;margin-bottom:16px}:host .crop-mode-btns-container ::ng-deep dr-button.active-mode>button{background:#eaeaff}:host .crop-mode-btns-container ::ng-deep dr-button>button{height:56px;width:80px}:host .crop-mode-btns-container dr-button:not(:first-child){margin-left:8px}:host .crop-mode-btns-container .mode-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#333;height:56px;width:80px}:host .crop-mode-btns-container .mode-btn__rectangle-icon{height:8px;width:24px;margin-top:4px;margin-bottom:4px}:host .crop-mode-btns-container .mode-btn__square-icon{width:16px;height:16px}:host .crop-mode-btns-container .mode-btn__rectangle-icon,:host .crop-mode-btns-container .mode-btn__square-icon{border:1px solid #333333}:host .image-cropper{overflow:hidden;position:relative}:host .image-cropper__shadow{position:absolute}:host .image-crop-slider{margin-top:8px}:host .try-another-btn{display:flex;justify-content:center;margin-top:8px}\n"] }]
|
|
72
|
+
}], ctorParameters: function () { return [{ type: i1.DrImageCropperCanvasService }]; }, propDecorators: { cropperSize: [{
|
|
73
|
+
type: Input,
|
|
74
|
+
args: [{ required: true }]
|
|
75
|
+
}], imageFile: [{
|
|
76
|
+
type: Input,
|
|
77
|
+
args: [{ required: true }]
|
|
78
|
+
}], maxZoom: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], minZoom: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], zoomStep: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], zoomLevel: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], cropChanged: [{
|
|
87
|
+
type: Output
|
|
88
|
+
}], clearClicked: [{
|
|
89
|
+
type: Output
|
|
90
|
+
}], canvasElement: [{
|
|
91
|
+
type: ViewChild,
|
|
92
|
+
args: ['imageCanvas', { static: true }]
|
|
93
|
+
}] } });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9pbWFnZS1jcm9wcGVyL2RyLWltYWdlLWNyb3BwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvaW1hZ2UtY3JvcHBlci9kci1pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBV2hGLE1BQU0sT0FBTyx1QkFBdUI7SUFpQmhDLFlBQTZCLGFBQTBDO1FBQTFDLGtCQUFhLEdBQWIsYUFBYSxDQUE2QjtRQWQ5RCxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBVyxHQUFHLENBQUM7UUFDdEIsYUFBUSxHQUFXLEdBQUcsQ0FBQztRQUN2QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBRXJCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFDakQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBS2xELGFBQVEsR0FBcUIsZ0JBQWdCLENBQUMs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TUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7a0lBcEVRLHVCQUF1QjtzSEFBdkIsdUJBQXVCLDRSQUZyQixDQUFDLDJCQUEyQixDQUFDLDJLQ3pCNUMsb3FDQWtDQSw2bUNEWGMsV0FBVywrVkFBRSxpQkFBaUIsK0dBQUUsY0FBYzs7NEZBSS9DLHVCQUF1QjtrQkFUbkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLENBQUMsY0FDN0MsSUFBSSxhQUNMLENBQUMsMkJBQTJCLENBQUM7a0hBR2IsV0FBVztzQkFBckMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsU0FBUztzQkFBbkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2hCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFFcUMsYUFBYTtzQkFBeEQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuLi9kci1pbnB1dHMvZHItc2xpZGVyL2RyLXNsaWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ1JPUF9JTUFHRV9NT0RFUywgSUNyb3BJbWFnZURhdGEgfSBmcm9tICcuL2RyLWltYWdlLWNyb3BwZXIudHlwZXMnO1xuaW1wb3J0IHsgRHJJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi9kci1pbnB1dHMvZHItaW5wdXRzLm1vZHVsZSc7XG5pbXBvcnQgeyBEckltYWdlQ3JvcHBlckNhbnZhc1NlcnZpY2UgfSBmcm9tICcuL2RyLWltYWdlLWNyb3BwZXItY2FudmFzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWltYWdlLWNyb3BwZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBEclNsaWRlckNvbXBvbmVudCwgRHJJbnB1dHNNb2R1bGVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbRHJJbWFnZUNyb3BwZXJDYW52YXNTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBEckltYWdlQ3JvcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgY3JvcHBlclNpemU6IG51bWJlcjtcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBpbWFnZUZpbGU6IEZpbGU7XG4gICAgQElucHV0KCkgbWF4Wm9vbTogbnVtYmVyID0gMTA7XG4gICAgQElucHV0KCkgbWluWm9vbTogbnVtYmVyID0gMC41O1xuICAgIEBJbnB1dCgpIHpvb21TdGVwOiBudW1iZXIgPSAwLjE7XG4gICAgQElucHV0KCkgem9vbUxldmVsOiBudW1iZXIgPSAxO1xuXG4gICAgQE91dHB1dCgpIGNyb3BDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxJQ3JvcEltYWdlRGF0YT4oKTtcbiAgICBAT3V0cHV0KCkgY2xlYXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW1hZ2VDYW52YXMnLCB7IHN0YXRpYzogdHJ1ZSB9KSBjYW52YXNFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxDYW52YXNFbGVtZW50PjtcblxuICAgIGh0bWxJbWFnZUVsZW1lbnQ6IEhUTUxJbWFnZUVsZW1lbnQ7XG4gICAgY3JvcE1vZGU6IENST1BfSU1BR0VfTU9ERVMgPSBDUk9QX0lNQUdFX01PREVTLlNRVUFSRTtcbiAgICByZWFkb25seSBDUk9QX0lNQUdFX01PREVTID0gQ1JPUF9JTUFHRV9NT0RFUztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2FudmFzU2VydmljZTogRHJJbWFnZUNyb3BwZXJDYW52YXNTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5pbWFnZUZpbGUgJiYgdGhpcy5pbWFnZUZpbGUpIHtcbiAgICAgICAgICAgIHRoaXMucmVhZEltYWdlRmlsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhbnZhc1NlcnZpY2UuY3R4ID0gdGhpcy5jYW52YXNFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICB9XG5cbiAgICBkcmF3SW1hZ2UobmV3Wm9vbUV2ZW50Pyk6IHZvaWQge1xuICAgICAgICBpZiAobmV3Wm9vbUV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuem9vbUxldmVsID0gbmV3Wm9vbUV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uQ3JvcE1vZGVVcGRhdGVkKCk7XG4gICAgfVxuXG4gICAgb25Dcm9wTW9kZVVwZGF0ZWQoY3JvcE1vZGU/OiBDUk9QX0lNQUdFX01PREVTKTogdm9pZCB7XG4gICAgICAgIGlmIChjcm9wTW9kZSkge1xuICAgICAgICAgICAgdGhpcy5jcm9wTW9kZSA9IGNyb3BNb2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jYW52YXNTZXJ2aWNlLmRyYXdTaGFwZSh0aGlzLmNyb3BwZXJTaXplLCB0aGlzLmNyb3BNb2RlLCB0aGlzLnpvb21MZXZlbCwgdGhpcy5odG1sSW1hZ2VFbGVtZW50KTtcbiAgICAgICAgY29uc3QgY29vcmRpbmF0ZXMgPSB0aGlzLmNhbnZhc1NlcnZpY2UuZ2V0Q29vcmRpbmF0ZXModGhpcy5jcm9wTW9kZSwgdGhpcy5jcm9wcGVyU2l6ZSk7XG4gICAgICAgIHRoaXMuY2FudmFzRWxlbWVudC5uYXRpdmVFbGVtZW50LnRvQmxvYigoYmxvYikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtibG9iXSwgdGhpcy5pbWFnZUZpbGUubmFtZSwgeyB0eXBlOiB0aGlzLmltYWdlRmlsZS50eXBlLCBsYXN0TW9kaWZpZWQ6IERhdGUubm93KCkgfSk7XG4gICAgICAgICAgICB0aGlzLmNyb3BDaGFuZ2VkLmVtaXQoeyBmaWxlLCBjb29yZGluYXRlcywgY3JvcE1vZGU6IHRoaXMuY3JvcE1vZGUgfSk7XG4gICAgICAgIH0sIHRoaXMuaW1hZ2VGaWxlLnR5cGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZEltYWdlRmlsZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaHRtbEltYWdlRWxlbWVudCA9IG5ldyBJbWFnZSgpO1xuICAgICAgICAgICAgdGhpcy5odG1sSW1hZ2VFbGVtZW50LnNyYyA9IHRoaXMuZ2V0SW1hZ2VzU3RyaW5nU3JjKHJlYWRlcik7XG4gICAgICAgICAgICB0aGlzLmh0bWxJbWFnZUVsZW1lbnQub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FudmFzRWxlbWVudC5uYXRpdmVFbGVtZW50LndpZHRoID0gdGhpcy5jYW52YXNFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaGVpZ2h0ID0gdGhpcy5jcm9wcGVyU2l6ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmRyYXdJbWFnZSgpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwodGhpcy5pbWFnZUZpbGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SW1hZ2VzU3RyaW5nU3JjKHJlYWRlcjogRmlsZVJlYWRlcik6IHN0cmluZyB7XG4gICAgICAgIGlmICh0eXBlb2YgcmVhZGVyLnJlc3VsdCA9PT0gJ3N0cmluZycpIHJldHVybiByZWFkZXIucmVzdWx0O1xuXG4gICAgICAgIGNvbnN0IGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKTtcbiAgICAgICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlKHJlYWRlci5yZXN1bHQpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjcm9wLW1vZGUtYnRucy1jb250YWluZXJcIj5cbiAgICA8ZHItYnV0dG9uIHRoZW1lPVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZS1tb2RlXT1cImNyb3BNb2RlID09PSBDUk9QX0lNQUdFX01PREVTLlNRVUFSRVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwib25Dcm9wTW9kZVVwZGF0ZWQoQ1JPUF9JTUFHRV9NT0RFUy5TUVVBUkUpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RlLWJ0blwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGUtYnRuX19zcXVhcmUtaWNvblwiPjwvZGl2PlxuICAgICAgICAgICAgU3F1YXJlXG4gICAgICAgIDwvZGl2PlxuICAgIDwvZHItYnV0dG9uPlxuICAgIDxkci1idXR0b24gdGhlbWU9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlLW1vZGVdPVwiY3JvcE1vZGUgPT09IENST1BfSU1BR0VfTU9ERVMuUkVDVEFOR0xFXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNyb3BNb2RlVXBkYXRlZChDUk9QX0lNQUdFX01PREVTLlJFQ1RBTkdMRSlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGUtYnRuXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kZS1idG5fX3JlY3RhbmdsZS1pY29uXCI+PC9kaXY+XG4gICAgICAgICAgICBSZWN0YW5nbGVcbiAgICAgICAgPC9kaXY+XG4gICAgPC9kci1idXR0b24+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImltYWdlLWNyb3BwZXJcIj5cbiAgICA8Y2FudmFzICNpbWFnZUNhbnZhcz48L2NhbnZhcz5cbjwvZGl2PlxuPGRyLXNsaWRlclxuICAgICAgICBbKG5nTW9kZWwpXT1cInpvb21MZXZlbFwiXG4gICAgICAgIFttYXhdPVwibWF4Wm9vbVwiXG4gICAgICAgIFttaW5dPVwibWluWm9vbVwiXG4gICAgICAgIFtzdGVwXT1cInpvb21TdGVwXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cImNyb3BwZXJTaXplICsgJ3B4J1wiXG4gICAgICAgIGNsYXNzPVwiaW1hZ2UtY3JvcC1zbGlkZXJcIlxuICAgICAgICAoaW5wdXQpPVwiZHJhd0ltYWdlKCRldmVudClcIj5cbjwvZHItc2xpZGVyPlxuPGRyLWJ1dHRvbiBbdGhlbWVdPVwiJ2dob3N0J1wiIChjbGljayk9XCJjbGVhckNsaWNrZWQuZW1pdCgpXCIgY2xhc3M9XCJ0cnktYW5vdGhlci1idG5cIj5cbiAgICBUcnkgYW5vdGhlciBpbWFnZVxuPC9kci1idXR0b24+XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var CROP_IMAGE_MODES;
|
|
2
|
+
(function (CROP_IMAGE_MODES) {
|
|
3
|
+
CROP_IMAGE_MODES["SQUARE"] = "square";
|
|
4
|
+
CROP_IMAGE_MODES["RECTANGLE"] = "rectangle";
|
|
5
|
+
})(CROP_IMAGE_MODES || (CROP_IMAGE_MODES = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItaW1hZ2UtY3JvcHBlci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2ltYWdlLWNyb3BwZXIvZHItaW1hZ2UtY3JvcHBlci50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQ3hCLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0FBQzNCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ1JPUF9JTUFHRV9NT0RFUyB7XG4gICAgU1FVQVJFID0gJ3NxdWFyZScsXG4gICAgUkVDVEFOR0xFID0gJ3JlY3RhbmdsZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNyb3BJbWFnZURhdGEge1xuICAgIGZpbGU6IEZpbGU7XG4gICAgY29vcmRpbmF0ZXM6IHN0cmluZztcbiAgICBjcm9wTW9kZTogQ1JPUF9JTUFHRV9NT0RFUztcbn1cbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -121,6 +121,9 @@ export { DrTooltipModule } from './lib/dr-tooltip/dr-tooltip.module';
|
|
|
121
121
|
export { DrAvatarModule } from './lib/dr-avatar/dr-avatar.module';
|
|
122
122
|
export { DrSpinnerModule } from './lib/dr-spinner/dr-spinner.module';
|
|
123
123
|
export { DrPopoverModule } from './lib/dr-popover/dr-popover.module';
|
|
124
|
+
export { DrSliderComponent } from './lib/dr-inputs/dr-slider/dr-slider.component';
|
|
125
|
+
export { DrImageCropperComponent } from './lib/image-cropper/dr-image-cropper.component';
|
|
126
|
+
export * from './lib/image-cropper/dr-image-cropper.types';
|
|
124
127
|
export { DrDropdownModule } from './lib/dr-dropdown/dr-dropdown.module';
|
|
125
128
|
export { DrTabsModule } from './lib/dr-tabs/dr-tabs.module';
|
|
126
129
|
export { DrAccordionModule } from './lib/dr-accordion/accordion.module';
|
|
@@ -139,4 +142,4 @@ export { DrAlertModule } from './lib/dr-alert/dr-alert.module';
|
|
|
139
142
|
export { DrTagsConstructorModule } from './lib/dr-tags-constructor/dr-tags-constructor.module';
|
|
140
143
|
export { DrToastrModule } from './lib/dr-toastr/dr-toastr.module';
|
|
141
144
|
export { DrCodeEditorModule } from './lib/dr-code-editor/dr-code-editor.module';
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEIsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtDQUErQyxDQUFDO0FBQUEsY0FBYyxrR0FBa0csQ0FBQztBQUMvSyxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsb0dBQW9HLENBQUM7QUFDbkgsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsdUZBQXVGLENBQUM7QUFDdEcsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4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LDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBjb21wb25lbnRzICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvYW55LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZm9yZWNhc3QtdGFnL2ZvcmVjYXN0LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL21vbnRoLXRhZy9tb250aC10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9xdWFydGVyLXRhZy9xdWFydGVyLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL3dlZWstdGFnL3dlZWstdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MveWVhci10YWcveWVhci10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhZ3MvZHItdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saXN0LXRhZ3MvbGlzdC10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9kYXktdGFnL2RheS10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9kYXRlLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9yYWRpby1idXR0b24vcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLWlucHV0L2RyLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItbGluay9kci1saW5rLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItc2VsZWN0L2RyLXNlbGVjdC5jb21wb25lbnQnO2V4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyLXJhbmdlL2RyLWRhdGUtcGlja2VyLXJhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RpcmVjdGl2ZXMvZHItZGF0ZS1waWNrZXItZm9ybWF0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLXNob3ctdGltZWZyYW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXNlbGVjdC1hZGQtaXRlbS9kci1zZWxlY3QtYWRkLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLWRlZmF1bHQvdG9vbHRpcC1kZWZhdWx0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1pbmZvL3Rvb2x0aXAtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtaW5mby1zaW1wbGUvdG9vbHRpcC1pbmZvLXNpbXBsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtbm8tYm9keS90b29sdGlwLW5vLWJvZHkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLXByb2Nlc3MtZGVmYXVsdC90b29sdGlwLXByb2Nlc3MtZGVmYXVsdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LXN1Z2dlc3Rpb25zL2NoYXQtc3VnZ2VzdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2NoYXQtbWVzc2FnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLXRleHQvY2hhdC1tZXNzYWdlLXRleHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1jdXN0b20vY2hhdC1jdXN0b20tbWVzc2FnZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWZpbGUvY2hhdC1tZXNzYWdlLWZpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItZG90LWZsYXNoaW5nL2RyLWRvdC1mbGFzaGluZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LWFsZXJ0L2RyLWNoYXQtYWxlcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWF2YXRhci9kci1hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWF2YXRhci9kci1hdmF0YXIucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZHItdG9vbHRpcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXRvZ2dsZS9kci10b2dnbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci10b2dnbGUtYnV0dG9uL2RyLXRvZ2dsZS1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXNwaW5uZXIvZHItc3Bpbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc3Bpbm5lci9kci1zcGlubmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYmFkZ2Utc3RhdHVzL2RyLWJhZGdlLXN0YXR1cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWxlcnQvZHItYWxlcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL2RyLWNvZGUtZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jb2RlLWVkaXRvci9jb21wb25lbnRzL2RyLWNvZGVtaXJyb3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL2NvbXBvbmVudHMvY29kZS1lZGl0b3ItaGludC13cmFwcGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2NvbXBvbmVudHMvZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24vZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2NvbXBvbmVudHMvZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10YWdzLWNvbnN0cnVjdG9yL2RyLXRhZ3MtY29uc3RydWN0b3IuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLXBvc2l0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi1pdGVtLXNob3cucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10YWJzL2RyLXRhYnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhYnMvZHItdGFiLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWFjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWFjY29yZGlvbi9hY2NvcmRpb24taXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtLWJvZHkuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWxheW91dC9kci1sYXlvdXQtYm9keS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1lcnJvci9kci1lcnJvci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kaWFsb2cvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLXdyYXBwZXIvZGlhbG9nLXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRpYWxvZy9jb21wb25lbnRzL2RpYWxvZy1tb2RhbC13cmFwcGVyL2RpYWxvZy1tb2RhbC13cmFwcGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9jaGF0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2NvbXBvbmVudHMvdHJlZXZpZXcvdHJlZXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L3BpcGVzL3RyZWV2aWV3LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvbW9kZWxzL3RyZWV2aWV3LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvbW9kZWxzL3RyZWV2aWV3LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaTE4bic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaXRlbS10ZW1wbGF0ZS1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2hlbHBlcnMvdHJlZXZpZXctZXZlbnQtcGFyc2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2hlbHBlcnMvdHJlZXZpZXctaGVscGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9hc3RyL2RlZmF1bHQtdG9hc3RyL2RlZmF1bHQtdG9hc3RyLmNvbXBvbmVudCc7XG5cbi8qIGVudW1zICovXG5leHBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuL2xpYi9kci10b29sdGlwL2VudW1zL3Rvb2x0aXAtcG9zaXRpb24uZW51bSc7XG5leHBvcnQgeyBUb29sdGlwVGhlbWUgfSBmcm9tICcuL2xpYi9kci10b29sdGlwL2VudW1zL3Rvb2x0aXAtdGhlbWUuZW51bSc7XG5leHBvcnQgeyBTY2VuYXJpbywgVFNjZW5hcmlvRGF0YUNoYW5nZWQgfSBmcm9tICcuL2xpYi9kci1zY2VuYXJpby9pbnRlcmZhY2VzL3NjZW5hcmlvJztcbmV4cG9ydCB7IFRvZ2dsZUJ1dHRvbk1vZGUgfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItdG9nZ2xlLWJ1dHRvbi90b2dnbGUtYnV0dG9uLW1vZGUnO1xuZXhwb3J0IHsgRHJBbGVydFRoZW1lIH0gZnJvbSAnLi9saWIvZHItYWxlcnQvZW51bXMvZHItYWxlcnQtdGhlbWUuZW51bSc7XG5cbi8qIGludGVyZmFjZXMgJiB0eXBlcyAqL1xuZXhwb3J0IHsgVG9vbHRpcEluZm9Db250ZXh0IH0gZnJvbSAnLi9saWIvZHItdG9vbHRpcC9pbnRlcmZhY2VzL3Rvb2x0aXAtY29tcG9uZW50LWNvbnRleHQnO1xuZXhwb3J0IHsgU3RlcCB9IGZyb20gJy4vbGliL3N0ZXBwZXIvaW50ZXJmYWNlcy9zdGVwcGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRpYWxvZy9pbnRlcmZhY2VzL2RpYWxvZy1kYXRhJztcblxuLyogZGlyZWN0aXZlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLW1vZGVsLWRlYm91bmNlLWNoYW5nZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlJztcblxuLyogbW9kZWxzICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5leHBvcnQgeyBUQUdfVFlQRVMsIElUYWcsIElEYXRlVGFnLCBJTGlzdFRhZywgSVRhZ0ZvclNlcnZlciwgSUR5bmFtaWNUYWcsIFREeW5hbWljVGFnVmFsdWUsIFREeW5hbWljVGFnLCBUYWdUeXBlcywgVGFnc0NvbmZpZ1N1YlR5cGUsIFRDb25uZWN0ZWRUYWdzIH0gZnJvbSAnLi9saWIvbW9kZWxzL3NlcnZlclRhZ3MnO1xuZXhwb3J0IHsgSVNwaW5uZXJPcHRpb25zLCBTcGlubmVyVHlwZSwgU3Bpbm5lclNpemUgfSBmcm9tICcuL2xpYi9tb2RlbHMvc3Bpbm5lck9wdGlvbnMnO1xuZXhwb3J0IHtcbiAgICBFbFBvc2l0aW9uLFxuICAgIElEcm9wZG93bixcbiAgICBJRHJvcGRvd25JdGVtLFxuICAgIElEcm9wZG93bkFjdGlvbkljb24sXG4gICAgSURyb3Bkb3duQ29vcmRpbmF0ZSxcbiAgICBJRHJvcGRvd25DYWxsRXZlbnQsXG4gICAgSURyb3Bkb3duQWN0aW9uXG59IGZyb20gJy4vbGliL21vZGVscy9kcm9wZG93bic7XG5leHBvcnQge1xuICAgIERyUG9wb3ZlclJlZixcbiAgICBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsXG4gICAgUG9pbnQsXG4gICAgRHJQb3BvdmVyQ29uZmlnLFxuICAgIElQb3BvdmVyTWFudWFsQ2xvc2luZyxcbiAgICBEclBvcG92ZXJBbGlnbm1lbnQsXG4gICAgRHJQb3BvdmVyQWxpZ25tZW50RGltZW5zaW9uLFxufSBmcm9tICcuL2xpYi9tb2RlbHMvcG9wb3Zlcic7XG5leHBvcnQgeyBJVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi9saWIvbW9kZWxzL3ZhbGlkYXRpb25FcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFkZ2VTdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZlZWRiYWNrJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90b2FzdHInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGVQaWNrZXJSYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jb2RlLWVkaXRvci9tb2RlbHMvY29kZS1lZGl0b3ItaGludCc7XG5cbi8qIHNlcnZpY2VzICovXG5leHBvcnQgeyBTY2VuYXJpb1NlcnZpY2UgfSBmcm9tICcuL2xpYi9kci1zY2VuYXJpby9zZXJ2aWNlcy9zY2VuYXJpby5zZXJ2aWNlJztcbmV4cG9ydCB7IFRhZ3NDb25zdHJ1Y3RvclNlcnZpY2UgfSBmcm9tICcuL2xpYi9kci10YWdzLWNvbnN0cnVjdG9yL3RhZ3MtY29uc3RydWN0b3Iuc2VydmljZSc7XG5leHBvcnQgeyBEckF2YXRhclNlcnZpY2UgfSBmcm9tICcuL2xpYi9kci1hdmF0YXIvc2VydmljZXMvZHItYXZhdGFyLnNlcnZpY2UnO1xuZXhwb3J0IHsgRHJUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi9saWIvZHItdG9hc3RyL2RyLXRvYXN0ci5zZXJ2aWNlJztcblxuLyogbW9kdWxlcyAqL1xuZXhwb3J0IHsgRGF0ZVRhZ01vZHVsZSB9IGZyb20gJy4vbGliL2RhdGUtdGFncy9kYXRlLXRhZy5tb2R1bGUnO1xuZXhwb3J0IHsgTGlzdFRhZ01vZHVsZSB9IGZyb20gJy4vbGliL2xpc3QtdGFncy9saXN0LXRhZy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJUYWdNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10YWdzL2RyLXRhZy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJJbnB1dHNNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItaW5wdXRzLm1vZHVsZSc7XG5leHBvcnQgeyBEclRvb2x0aXBNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAubW9kdWxlJztcbmV4cG9ydCB7IERyQXZhdGFyTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYXZhdGFyL2RyLWF2YXRhci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTcGlubmVyTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItc3Bpbm5lci9kci1zcGlubmVyLm1vZHVsZSc7XG5leHBvcnQgeyBEclBvcG92ZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIubW9kdWxlJztcbmV4cG9ydCB7IERyRHJvcGRvd25Nb2R1bGUgfSBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5tb2R1bGUnO1xuZXhwb3J0IHsgRHJUYWJzTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItdGFicy9kci10YWJzLm1vZHVsZSc7XG5leHBvcnQgeyBEckFjY29yZGlvbk1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWFjY29yZGlvbi9hY2NvcmRpb24ubW9kdWxlJztcbmV4cG9ydCB7IERyU2hhcmVkVXRpbHMgfSBmcm9tICcuL2xpYi91dGlscy9kci1zaGFyZWQtdXRpbHMnO1xuZXhwb3J0IHsgRHJMYXlvdXRNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0Lm1vZHVsZSc7XG5leHBvcnQgeyBEckVycm9yTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZXJyb3IvZHItZXJyb3IubW9kdWxlJztcbmV4cG9ydCB7IERyU3RlcHBlck1vZHVsZSB9IGZyb20gJy4vbGliL3N0ZXBwZXIvc3RlcHBlci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJEaWFsb2dNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1kaWFsb2cvZGlhbG9nLm1vZHVsZSc7XG5leHBvcnQgeyBEckNoYXRNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1jaGF0L2NoYXQubW9kdWxlJztcbmV4cG9ydCB7IERyRGV0YWlsc0xpc3RNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1kZXRhaWxzLWxpc3QvZHItZGV0YWlscy1saXN0Lm1vZHVsZSc7XG5leHBvcnQgeyBEclNjZW5hcmlvTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vZHItc2NlbmFyaW8ubW9kdWxlJztcbmV4cG9ydCB7IERyQmFkZ2VTdGF0dXNNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1iYWRnZS1zdGF0dXMvZHItYmFkZ2Utc3RhdHVzLm1vZHVsZSc7XG5leHBvcnQgeyBUcmVldmlld01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2RyLXRyZWUtdmlldy5tb2R1bGUnO1xuZXhwb3J0IHsgQ2xpY2tPdXRzaWRlTW9kdWxlIH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUubW9kdWxlJztcbmV4cG9ydCB7IERyQWxlcnRNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1hbGVydC9kci1hbGVydC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJUYWdzQ29uc3RydWN0b3JNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10YWdzLWNvbnN0cnVjdG9yL2RyLXRhZ3MtY29uc3RydWN0b3IubW9kdWxlJztcbmV4cG9ydCB7IERyVG9hc3RyTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItdG9hc3RyL2RyLXRvYXN0ci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJDb2RlRWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IubW9kdWxlJztcbiJdfQ==
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEIsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtDQUErQyxDQUFDO0FBQUEsY0FBYyxrR0FBa0csQ0FBQztBQUMvSyxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsb0dBQW9HLENBQUM7QUFDbkgsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYywrRUFBK0UsQ0FBQztBQUM5RixjQUFjLHVFQUF1RSxDQUFDO0FBQ3RGLGNBQWMsdUZBQXVGLENBQUM7QUFDdEcsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsZ0ZBQWdGLENBQUM7QUFDL0YsY0FBYyxvRkFBb0YsQ0FBQztBQUNuRyxjQUFjLGdGQUFnRixDQUFDO0FBQy9GLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsb0VBQW9FLENBQUM7QUFFbkYsY0FBYyxvR0FBb0csQ0FBQztBQUNuSCxjQUFjLDRGQUE0RixDQUFDO0FBQzNHLGNBQWMseURBQXlELENBQUM7QUFFeEUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGtEQUFrRCxDQUFDO0FBRWpFLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsZ0ZBQWdGLENBQUM7QUFFL0YsY0FBYyxpREFBaUQsQ0FBQztBQUVoRSxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLHlEQUF5RCxDQUFDO0FBRXhFLFdBQVc7QUFDWCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQXdCLE1BQU0sdUNBQXVDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBS3hFLGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsZ0JBQWdCO0FBQ2hCLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx3REFBd0QsQ0FBQztBQUV2RSxZQUFZO0FBQ1osY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxPQUFPLEVBQWtHLFFBQVEsRUFBRSxpQkFBaUIsRUFBa0IsTUFBTSx5QkFBeUIsQ0FBQztBQVd0TCxPQUFPLEVBQ0gsWUFBWSxFQU1aLDJCQUEyQixHQUM5QixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhDQUE4QyxDQUFDO0FBRTdELGNBQWM7QUFDZCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVwRSxhQUFhO0FBQ2IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixjQUFjLDRDQUE0QyxDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGNvbXBvbmVudHMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9hbnktdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZGF0ZS10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9mb3JlY2FzdC10YWcvZm9yZWNhc3QtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvbW9udGgtdGFnL21vbnRoLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL3F1YXJ0ZXItdGFnL3F1YXJ0ZXItdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3Mvd2Vlay10YWcvd2Vlay10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy95ZWFyLXRhZy95ZWFyLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdGFncy9kci10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpc3QtdGFncy9saXN0LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RheS10YWcvZGF5LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL3JhZGlvLWJ1dHRvbi9yYWRpby1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItaW5wdXQvZHItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1saW5rL2RyLWxpbmsuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudCc7ZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXIvZHItZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUvZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXItcmFuZ2UvZHItZGF0ZS1waWNrZXItcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZGlyZWN0aXZlcy9kci1kYXRlLXBpY2tlci1mb3JtYXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItc2hvdy10aW1lZnJhbWUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItc2VsZWN0LWFkZC1pdGVtL2RyLXNlbGVjdC1hZGQtaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtZGVmYXVsdC90b29sdGlwLWRlZmF1bHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLWluZm8vdG9vbHRpcC1pbmZvLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1pbmZvLXNpbXBsZS90b29sdGlwLWluZm8tc2ltcGxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1uby1ib2R5L3Rvb2x0aXAtbm8tYm9keS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtcHJvY2Vzcy1kZWZhdWx0L3Rvb2x0aXAtcHJvY2Vzcy1kZWZhdWx0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvY2hhdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LWZvcm0vY2hhdC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtdGV4dC9jaGF0LW1lc3NhZ2UtdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWN1c3RvbS9jaGF0LWN1c3RvbS1tZXNzYWdlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtZmlsZS9jaGF0LW1lc3NhZ2UtZmlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1kb3QtZmxhc2hpbmcvZHItZG90LWZsYXNoaW5nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtYWxlcnQvZHItY2hhdC1hbGVydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYXZhdGFyL2RyLWF2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYXZhdGFyL2RyLWF2YXRhci5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZHItdG9vbHRpcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9kci10b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItdG9nZ2xlL2RyLXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXRvZ2dsZS1idXR0b24vZHItdG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc3Bpbm5lci9kci1zcGlubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1iYWRnZS1zdGF0dXMvZHItYmFkZ2Utc3RhdHVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hbGVydC9kci1hbGVydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL2NvbXBvbmVudHMvZHItY29kZW1pcnJvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY29kZS1lZGl0b3IvY29tcG9uZW50cy9jb2RlLWVkaXRvci1oaW50LXdyYXBwZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby1jb25maWd1cmF0aW9uL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhZ3MtY29uc3RydWN0b3IvZHItdGFncy1jb25zdHJ1Y3Rvci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLWl0ZW0tc2hvdy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhYnMvZHItdGFicy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdGFicy9kci10YWIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0taGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0tYm9keS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0LWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC1ib2R5LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWVycm9yL2RyLWVycm9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRpYWxvZy9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kaWFsb2cvY29tcG9uZW50cy9kaWFsb2ctd3JhcHBlci9kaWFsb2ctd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGV0YWlscy1saXN0L2RyLWRldGFpbHMtbGlzdC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvY29tcG9uZW50cy90cmVldmlldy90cmVldmlldy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvcGlwZXMvdHJlZXZpZXcucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L21vZGVscy90cmVldmlldy1pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L21vZGVscy90cmVldmlldy1pdGVtLXRlbXBsYXRlLWNvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvaGVscGVycy90cmVldmlldy1ldmVudC1wYXJzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvaGVscGVycy90cmVldmlldy1oZWxwZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b2FzdHIvZGVmYXVsdC10b2FzdHIvZGVmYXVsdC10b2FzdHIuY29tcG9uZW50JztcblxuLyogZW51bXMgKi9cbmV4cG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZW51bXMvdG9vbHRpcC1wb3NpdGlvbi5lbnVtJztcbmV4cG9ydCB7IFRvb2x0aXBUaGVtZSB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZW51bXMvdG9vbHRpcC10aGVtZS5lbnVtJztcbmV4cG9ydCB7IFNjZW5hcmlvLCBUU2NlbmFyaW9EYXRhQ2hhbmdlZCB9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2ludGVyZmFjZXMvc2NlbmFyaW8nO1xuZXhwb3J0IHsgVG9nZ2xlQnV0dG9uTW9kZSB9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kci10b2dnbGUtYnV0dG9uL3RvZ2dsZS1idXR0b24tbW9kZSc7XG5leHBvcnQgeyBEckFsZXJ0VGhlbWUgfSBmcm9tICcuL2xpYi9kci1hbGVydC9lbnVtcy9kci1hbGVydC10aGVtZS5lbnVtJztcblxuLyogaW50ZXJmYWNlcyAmIHR5cGVzICovXG5leHBvcnQgeyBUb29sdGlwSW5mb0NvbnRleHQgfSBmcm9tICcuL2xpYi9kci10b29sdGlwL2ludGVyZmFjZXMvdG9vbHRpcC1jb21wb25lbnQtY29udGV4dCc7XG5leHBvcnQgeyBTdGVwIH0gZnJvbSAnLi9saWIvc3RlcHBlci9pbnRlcmZhY2VzL3N0ZXBwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGlhbG9nL2ludGVyZmFjZXMvZGlhbG9nLWRhdGEnO1xuXG4vKiBkaXJlY3RpdmVzICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItbW9kZWwtZGVib3VuY2UtY2hhbmdlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUnO1xuXG4vKiBtb2RlbHMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRlUGlja2VyJztcbmV4cG9ydCB7IFRBR19UWVBFUywgSVRhZywgSURhdGVUYWcsIElMaXN0VGFnLCBJVGFnRm9yU2VydmVyLCBJRHluYW1pY1RhZywgVER5bmFtaWNUYWdWYWx1ZSwgVER5bmFtaWNUYWcsIFRhZ1R5cGVzLCBUYWdzQ29uZmlnU3ViVHlwZSwgVENvbm5lY3RlZFRhZ3MgfSBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmVyVGFncyc7XG5leHBvcnQgeyBJU3Bpbm5lck9wdGlvbnMsIFNwaW5uZXJUeXBlLCBTcGlubmVyU2l6ZSB9IGZyb20gJy4vbGliL21vZGVscy9zcGlubmVyT3B0aW9ucyc7XG5leHBvcnQge1xuICAgIEVsUG9zaXRpb24sXG4gICAgSURyb3Bkb3duLFxuICAgIElEcm9wZG93bkl0ZW0sXG4gICAgSURyb3Bkb3duQWN0aW9uSWNvbixcbiAgICBJRHJvcGRvd25Db29yZGluYXRlLFxuICAgIElEcm9wZG93bkNhbGxFdmVudCxcbiAgICBJRHJvcGRvd25BY3Rpb25cbn0gZnJvbSAnLi9saWIvbW9kZWxzL2Ryb3Bkb3duJztcbmV4cG9ydCB7XG4gICAgRHJQb3BvdmVyUmVmLFxuICAgIElEclBvcG92ZXJDb21wb25lbnRNb2RlbCxcbiAgICBQb2ludCxcbiAgICBEclBvcG92ZXJDb25maWcsXG4gICAgSVBvcG92ZXJNYW51YWxDbG9zaW5nLFxuICAgIERyUG9wb3ZlckFsaWdubWVudCxcbiAgICBEclBvcG92ZXJBbGlnbm1lbnREaW1lbnNpb24sXG59IGZyb20gJy4vbGliL21vZGVscy9wb3BvdmVyJztcbmV4cG9ydCB7IElWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuL2xpYi9tb2RlbHMvdmFsaWRhdGlvbkVycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGF0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYWRnZVN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmVlZGJhY2snO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RvYXN0cic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0ZVBpY2tlclJhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL21vZGVscy9jb2RlLWVkaXRvci1oaW50JztcblxuLyogc2VydmljZXMgKi9cbmV4cG9ydCB7IFNjZW5hcmlvU2VydmljZSB9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL3NlcnZpY2VzL3NjZW5hcmlvLnNlcnZpY2UnO1xuZXhwb3J0IHsgVGFnc0NvbnN0cnVjdG9yU2VydmljZSB9IGZyb20gJy4vbGliL2RyLXRhZ3MtY29uc3RydWN0b3IvdGFncy1jb25zdHJ1Y3Rvci5zZXJ2aWNlJztcbmV4cG9ydCB7IERyQXZhdGFyU2VydmljZSB9IGZyb20gJy4vbGliL2RyLWF2YXRhci9zZXJ2aWNlcy9kci1hdmF0YXIuc2VydmljZSc7XG5leHBvcnQgeyBEclRvYXN0clNlcnZpY2UgfSBmcm9tICcuL2xpYi9kci10b2FzdHIvZHItdG9hc3RyLnNlcnZpY2UnO1xuXG4vKiBtb2R1bGVzICovXG5leHBvcnQgeyBEYXRlVGFnTW9kdWxlIH0gZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLm1vZHVsZSc7XG5leHBvcnQgeyBMaXN0VGFnTW9kdWxlIH0gZnJvbSAnLi9saWIvbGlzdC10YWdzL2xpc3QtdGFnLm1vZHVsZSc7XG5leHBvcnQgeyBEclRhZ01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRhZ3MvZHItdGFnLm1vZHVsZSc7XG5leHBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcbmV4cG9ydCB7IERyVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZHItdG9vbHRpcC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJBdmF0YXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1hdmF0YXIvZHItYXZhdGFyLm1vZHVsZSc7XG5leHBvcnQgeyBEclNwaW5uZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIubW9kdWxlJztcbmV4cG9ydCB7IERyUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItc2xpZGVyL2RyLXNsaWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJJbWFnZUNyb3BwZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9pbWFnZS1jcm9wcGVyL2RyLWltYWdlLWNyb3BwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltYWdlLWNyb3BwZXIvZHItaW1hZ2UtY3JvcHBlci50eXBlcyc7XG5leHBvcnQgeyBEckRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24ubW9kdWxlJztcbmV4cG9ydCB7IERyVGFic01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRhYnMvZHItdGFicy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICcuL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLm1vZHVsZSc7XG5leHBvcnQgeyBEclNoYXJlZFV0aWxzIH0gZnJvbSAnLi9saWIvdXRpbHMvZHItc2hhcmVkLXV0aWxzJztcbmV4cG9ydCB7IERyTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJFcnJvck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWVycm9yL2RyLWVycm9yLm1vZHVsZSc7XG5leHBvcnQgeyBEclN0ZXBwZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9zdGVwcGVyL3N0ZXBwZXIubW9kdWxlJztcbmV4cG9ydCB7IERyRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZGlhbG9nL2RpYWxvZy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJDaGF0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItY2hhdC9jaGF0Lm1vZHVsZSc7XG5leHBvcnQgeyBEckRldGFpbHNMaXN0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZGV0YWlscy1saXN0L2RyLWRldGFpbHMtbGlzdC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTY2VuYXJpb01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2RyLXNjZW5hcmlvLm1vZHVsZSc7XG5leHBvcnQgeyBEckJhZGdlU3RhdHVzTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYmFkZ2Utc3RhdHVzL2RyLWJhZGdlLXN0YXR1cy5tb2R1bGUnO1xuZXhwb3J0IHsgVHJlZXZpZXdNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10cmVldmlldy9kci10cmVlLXZpZXcubW9kdWxlJztcbmV4cG9ydCB7IENsaWNrT3V0c2lkZU1vZHVsZSB9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLm1vZHVsZSc7XG5leHBvcnQgeyBEckFsZXJ0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYWxlcnQvZHItYWxlcnQubW9kdWxlJztcbmV4cG9ydCB7IERyVGFnc0NvbnN0cnVjdG9yTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItdGFncy1jb25zdHJ1Y3Rvci9kci10YWdzLWNvbnN0cnVjdG9yLm1vZHVsZSc7XG5leHBvcnQgeyBEclRvYXN0ck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRvYXN0ci9kci10b2FzdHIubW9kdWxlJztcbmV4cG9ydCB7IERyQ29kZUVkaXRvck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL2RyLWNvZGUtZWRpdG9yLm1vZHVsZSc7XG4iXX0=
|