@dereekb/dbx-firebase 9.20.20 → 9.22.0

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.
@@ -53,7 +53,7 @@ DbxFirebaseLoginButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
53
53
  </div>
54
54
  </dbx-button>
55
55
  </ng-container>
56
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i3.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i3.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i3.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i3.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i4.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
56
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i3.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i3.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i3.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i3.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i4.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "iconOnly", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
57
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseLoginButtonComponent, decorators: [{
58
58
  type: Component,
59
59
  args: [{
@@ -94,7 +94,7 @@ export class DbxFirebaseLoginEmailContentComponent {
94
94
  }
95
95
  }
96
96
  DbxFirebaseLoginEmailContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseLoginEmailContentComponent, deps: [{ token: i1.DbxFirebaseAuthService }, { token: DBX_INJECTION_COMPONENT_DATA }], target: i0.ɵɵFactoryTarget.Component });
97
- DbxFirebaseLoginEmailContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseLoginEmailContentComponent, selector: "ng-component", ngImport: i0, template: "<div class=\"dbx-firebase-login-email-content\">\n <ng-container [ngSwitch]=\"emailMode$ | async\">\n <ng-container *ngSwitchCase=\"'login'\">\n <ng-container *ngTemplateOutlet=\"loginView\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recover'\">\n <ng-container *ngTemplateOutlet=\"resetPassword\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recoversent'\">\n <ng-container *ngTemplateOutlet=\"resetPasswordSent\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<!-- Login View -->\n<ng-template #loginView>\n <ng-container dbxAction [dbxActionHandler]=\"handleLoginAction\">\n <dbx-firebase-email-form [config]=\"formConfig\" dbxActionForm [dbxFormSource]=\"emailFormValue\"></dbx-firebase-email-form>\n <div class=\"dbx-firebase-login-email-forgot-prompt\" *ngIf=\"isLoginMode\">\n <dbx-link [anchor]=\"forgotAnchor\">Forgot Password?</dbx-link>\n </div>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" [text]=\"buttonText\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancel()\">Cancel</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </ng-container>\n</ng-template>\n\n<!-- Reset Password View -->\n<ng-template #resetPassword>\n <div class=\"dbx-firebase-login-email-content-recovery\" dbxAction [dbxActionHandler]=\"handleRecoveryAction\" [dbxActionSuccessHandler]=\"handleRecoverySuccess\">\n <dbx-firebase-email-recovery-form dbxActionForm [dbxFormSource]=\"recoveryFormValue\"></dbx-firebase-email-recovery-form>\n <p class=\"dbx-hint\">An email will be sent to the above address to help you reset your password.</p>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" text=\"Send Recovery Email\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancelReset()\">Cancel Recovery</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </div>\n</ng-template>\n\n<!-- Reset Password Sent -->\n<ng-template #resetPasswordSent>\n <div class=\"dbx-firebase-login-email-content-recovery-sent\">\n <p class=\"dbx-hint\">A recovery email was sent to the specified address. Please check your email for next steps.</p>\n <button mat-raised-button (click)=\"clickedRecoveryAcknowledged()\">Ok</button>\n </div>\n</ng-template>\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: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.DbxAnchorLinkComponent, selector: "dbx-link", inputs: ["anchor", "ref", "href"] }, { kind: "directive", type: i5.DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: i5.DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormValidator", "dbxActionFormModified", "formDisabledOnWorking"] }, { kind: "component", type: i4.DbxReadableErrorComponent, selector: "dbx-error", inputs: ["error"] }, { kind: "directive", type: i4.DbxActionErrorDirective, selector: "[dbxActionError]" }, { kind: "directive", type: i6.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i6.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i6.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i6.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i4.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }, { kind: "directive", type: i4.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: i7.DbxFirebaseEmailFormComponent, selector: "dbx-firebase-email-form", inputs: ["config"] }, { kind: "component", type: i8.DbxFirebaseEmailRecoveryFormComponent, selector: "dbx-firebase-email-recovery-form" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
97
+ DbxFirebaseLoginEmailContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseLoginEmailContentComponent, selector: "ng-component", ngImport: i0, template: "<div class=\"dbx-firebase-login-email-content\">\n <ng-container [ngSwitch]=\"emailMode$ | async\">\n <ng-container *ngSwitchCase=\"'login'\">\n <ng-container *ngTemplateOutlet=\"loginView\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recover'\">\n <ng-container *ngTemplateOutlet=\"resetPassword\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recoversent'\">\n <ng-container *ngTemplateOutlet=\"resetPasswordSent\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<!-- Login View -->\n<ng-template #loginView>\n <ng-container dbxAction [dbxActionHandler]=\"handleLoginAction\">\n <dbx-firebase-email-form [config]=\"formConfig\" dbxActionForm [dbxFormSource]=\"emailFormValue\"></dbx-firebase-email-form>\n <div class=\"dbx-firebase-login-email-forgot-prompt\" *ngIf=\"isLoginMode\">\n <dbx-link [anchor]=\"forgotAnchor\">Forgot Password?</dbx-link>\n </div>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" [text]=\"buttonText\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancel()\">Cancel</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </ng-container>\n</ng-template>\n\n<!-- Reset Password View -->\n<ng-template #resetPassword>\n <div class=\"dbx-firebase-login-email-content-recovery\" dbxAction [dbxActionHandler]=\"handleRecoveryAction\" [dbxActionSuccessHandler]=\"handleRecoverySuccess\">\n <dbx-firebase-email-recovery-form dbxActionForm [dbxFormSource]=\"recoveryFormValue\"></dbx-firebase-email-recovery-form>\n <p class=\"dbx-hint\">An email will be sent to the above address to help you reset your password.</p>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" text=\"Send Recovery Email\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancelReset()\">Cancel Recovery</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </div>\n</ng-template>\n\n<!-- Reset Password Sent -->\n<ng-template #resetPasswordSent>\n <div class=\"dbx-firebase-login-email-content-recovery-sent\">\n <p class=\"dbx-hint\">A recovery email was sent to the specified address. Please check your email for next steps.</p>\n <button mat-raised-button (click)=\"clickedRecoveryAcknowledged()\">Ok</button>\n </div>\n</ng-template>\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: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.DbxAnchorLinkComponent, selector: "dbx-link", inputs: ["anchor", "ref", "href"] }, { kind: "directive", type: i5.DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: i5.DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormValidator", "dbxActionFormModified", "formDisabledOnWorking"] }, { kind: "component", type: i4.DbxReadableErrorComponent, selector: "dbx-error", inputs: ["error"] }, { kind: "directive", type: i4.DbxActionErrorDirective, selector: "[dbxActionError]" }, { kind: "directive", type: i6.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i6.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i6.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i6.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i4.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "iconOnly", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }, { kind: "directive", type: i4.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: i7.DbxFirebaseEmailFormComponent, selector: "dbx-firebase-email-form", inputs: ["config"] }, { kind: "component", type: i8.DbxFirebaseEmailRecoveryFormComponent, selector: "dbx-firebase-email-recovery-form" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
98
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseLoginEmailContentComponent, decorators: [{
99
99
  type: Component,
100
100
  args: [{ template: "<div class=\"dbx-firebase-login-email-content\">\n <ng-container [ngSwitch]=\"emailMode$ | async\">\n <ng-container *ngSwitchCase=\"'login'\">\n <ng-container *ngTemplateOutlet=\"loginView\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recover'\">\n <ng-container *ngTemplateOutlet=\"resetPassword\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recoversent'\">\n <ng-container *ngTemplateOutlet=\"resetPasswordSent\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<!-- Login View -->\n<ng-template #loginView>\n <ng-container dbxAction [dbxActionHandler]=\"handleLoginAction\">\n <dbx-firebase-email-form [config]=\"formConfig\" dbxActionForm [dbxFormSource]=\"emailFormValue\"></dbx-firebase-email-form>\n <div class=\"dbx-firebase-login-email-forgot-prompt\" *ngIf=\"isLoginMode\">\n <dbx-link [anchor]=\"forgotAnchor\">Forgot Password?</dbx-link>\n </div>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" [text]=\"buttonText\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancel()\">Cancel</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </ng-container>\n</ng-template>\n\n<!-- Reset Password View -->\n<ng-template #resetPassword>\n <div class=\"dbx-firebase-login-email-content-recovery\" dbxAction [dbxActionHandler]=\"handleRecoveryAction\" [dbxActionSuccessHandler]=\"handleRecoverySuccess\">\n <dbx-firebase-email-recovery-form dbxActionForm [dbxFormSource]=\"recoveryFormValue\"></dbx-firebase-email-recovery-form>\n <p class=\"dbx-hint\">An email will be sent to the above address to help you reset your password.</p>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" text=\"Send Recovery Email\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancelReset()\">Cancel Recovery</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </div>\n</ng-template>\n\n<!-- Reset Password Sent -->\n<ng-template #resetPasswordSent>\n <div class=\"dbx-firebase-login-email-content-recovery-sent\">\n <p class=\"dbx-hint\">A recovery email was sent to the specified address. Please check your email for next steps.</p>\n <button mat-raised-button (click)=\"clickedRecoveryAcknowledged()\">Ok</button>\n </div>\n</ng-template>\n" }]
@@ -61,7 +61,7 @@ DbxFirebaseDevelopmentSchedulerListViewItemComponent.ɵcmp = i0.ɵɵngDeclareCom
61
61
  <dbx-button dbxActionButton [text]="'Run ' + name"></dbx-button>
62
62
  <dbx-success *dbxActionHasSuccess="3000" dbxActionSuccess>Success</dbx-success>
63
63
  </div>
64
- `, isInline: true, dependencies: [{ kind: "component", type: i1.DbxSuccessComponent, selector: "dbx-success" }, { kind: "directive", type: i4.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i4.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i4.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i4.DbxActionHasSuccessDirective, selector: "[dbxActionHasSuccess]", inputs: ["dbxActionHasSuccess"] }, { kind: "directive", type: i4.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i1.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
64
+ `, isInline: true, dependencies: [{ kind: "component", type: i1.DbxSuccessComponent, selector: "dbx-success" }, { kind: "directive", type: i4.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i4.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i4.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i4.DbxActionHasSuccessDirective, selector: "[dbxActionHasSuccess]", inputs: ["dbxActionHasSuccess"] }, { kind: "directive", type: i4.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i1.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "iconOnly", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
65
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, decorators: [{
66
66
  type: Component,
67
67
  args: [{
@@ -35,12 +35,12 @@ DbxFirebaseDefaultFirestoreProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ min
35
35
  if (emulators?.useEmulators && emulators?.firestore) {
36
36
  connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
37
37
  }
38
- if (firebaseOptions.enableIndexedDbPersistence !== false) {
39
- enableIndexedDbPersistence(firestore);
40
- }
41
38
  if (firebaseOptions.enableMultiTabIndexedDbPersistence !== false) {
42
39
  enableMultiTabIndexedDbPersistence(firestore);
43
40
  }
41
+ else if (firebaseOptions.enableIndexedDbPersistence !== false) {
42
+ enableIndexedDbPersistence(firestore);
43
+ }
44
44
  return firestore;
45
45
  }))] });
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, decorators: [{
@@ -55,12 +55,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
55
55
  if (emulators?.useEmulators && emulators?.firestore) {
56
56
  connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
57
57
  }
58
- if (firebaseOptions.enableIndexedDbPersistence !== false) {
59
- enableIndexedDbPersistence(firestore);
60
- }
61
58
  if (firebaseOptions.enableMultiTabIndexedDbPersistence !== false) {
62
59
  enableMultiTabIndexedDbPersistence(firestore);
63
60
  }
61
+ else if (firebaseOptions.enableIndexedDbPersistence !== false) {
62
+ enableIndexedDbPersistence(firestore);
63
+ }
64
64
  return firestore;
65
65
  }))
66
66
  ]
@@ -290,4 +290,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
290
290
  ]
291
291
  }]
292
292
  }] });
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBbUIsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFFLDBCQUEwQixFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkssT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRSxPQUFPLEVBQVksZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9ELE9BQU8sRUFBc0IsMEJBQTBCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7O0FBRTNGLGdHQUFnRztBQUVoRzs7R0FFRztBQXlCSCxNQUFNLE9BQU8seUNBQXlDOzt1SUFBekMseUNBQXlDO3dJQUF6Qyx5Q0FBeUM7d0lBQXpDLHlDQUF5QyxZQXRCbEQsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUN2QyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQXFCLDBCQUEwQixDQUFDLENBQUM7WUFDckYsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQW1DLGdDQUFnQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRTlHLElBQUksU0FBUyxFQUFFLFlBQVksSUFBSSxTQUFTLEVBQUUsU0FBUyxFQUFFO2dCQUNuRCx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDN0Y7WUFFRCxJQUFJLGVBQWUsQ0FBQywwQkFBMEIsS0FBSyxLQUFLLEVBQUU7Z0JBQ3hELDBCQUEwQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3ZDO1lBRUQsSUFBSSxlQUFlLENBQUMsa0NBQWtDLEtBQUssS0FBSyxFQUFFO2dCQUNoRSxrQ0FBa0MsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMvQztZQUVELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBUSxDQUFDOzRGQUdELHlDQUF5QztrQkF4QnJELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7NEJBQ3ZDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7NEJBQzlDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQXFCLDBCQUEwQixDQUFDLENBQUM7NEJBQ3JGLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQzs0QkFDNUMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBbUMsZ0NBQWdDLEVBQUUsU0FBUyxDQUFDLENBQUM7NEJBRTlHLElBQUksU0FBUyxFQUFFLFlBQVksSUFBSSxTQUFTLEVBQUUsU0FBUyxFQUFFO2dDQUNuRCx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7NkJBQzdGOzRCQUVELElBQUksZUFBZSxDQUFDLDBCQUEwQixLQUFLLEtBQUssRUFBRTtnQ0FDeEQsMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUM7NkJBQ3ZDOzRCQUVELElBQUksZUFBZSxDQUFDLGtDQUFrQyxLQUFLLEtBQUssRUFBRTtnQ0FDaEUsa0NBQWtDLENBQUMsU0FBUyxDQUFDLENBQUM7NkJBQy9DOzRCQUVELE9BQU8sU0FBUyxDQUFDO3dCQUNuQixDQUFDLENBQVEsQ0FBQztxQkFDWDtpQkFDRjs7QUFHRDs7OztHQUlHO0FBMENILE1BQU0sT0FBTyx3Q0FBd0M7O3NJQUF4Qyx3Q0FBd0M7dUlBQXhDLHdDQUF3Qzt1SUFBeEMsd0NBQXdDLGFBUnhDO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFFBQVEsRUFBRSxrQ0FBa0M7WUFDNUMsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLFlBckNDLGVBQWUsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQXFCLDBCQUEwQixDQUFDLENBQUM7WUFDckYsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztZQUNqRCxNQUFNLHlCQUF5QixHQUFHLGVBQWUsRUFBRSxRQUFRLEtBQUssSUFBSSxJQUFJLGVBQWUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxLQUFLLElBQUksQ0FBQztZQUN6SCxJQUFJLFFBQWtCLENBQUM7WUFFdkIsSUFBSSxlQUFlLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtnQkFDakQsa0ZBQWtGO2dCQUNsRixJQUFJLGVBQWUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxLQUFLLElBQUksSUFBSSxlQUFlLENBQUMsZ0JBQWdCLEVBQUU7b0JBQ3hGLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUMxQztnQkFFRCx1RkFBdUY7Z0JBQ3ZGLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUU7b0JBQ3pDLFFBQVEsRUFBRSxJQUFJLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUM7b0JBQzlELHlCQUF5QixFQUFFLGVBQWUsQ0FBQyx5QkFBeUIsSUFBSSxJQUFJO2lCQUM3RSxDQUFDLENBQUM7Z0JBRUgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLFFBQVEsR0FBRyxTQUFnQyxDQUFDO2dCQUU1QyxJQUFJLENBQUMseUJBQXlCLEVBQUU7b0JBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0dBQXNHLENBQUMsQ0FBQztpQkFDdkg7YUFDRjtZQUVELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsQ0FBQzs0RkFVTyx3Q0FBd0M7a0JBekNwRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxlQUFlLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7NEJBQ3JDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7NEJBQzlDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQXFCLDBCQUEwQixDQUFDLENBQUM7NEJBQ3JGLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUM7NEJBQ2pELE1BQU0seUJBQXlCLEdBQUcsZUFBZSxFQUFFLFFBQVEsS0FBSyxJQUFJLElBQUksZUFBZSxDQUFDLFNBQVMsRUFBRSxZQUFZLEtBQUssSUFBSSxDQUFDOzRCQUN6SCxJQUFJLFFBQWtCLENBQUM7NEJBRXZCLElBQUksZUFBZSxJQUFJLENBQUMseUJBQXlCLEVBQUU7Z0NBQ2pELGtGQUFrRjtnQ0FDbEYsSUFBSSxlQUFlLENBQUMsU0FBUyxFQUFFLFlBQVksS0FBSyxJQUFJLElBQUksZUFBZSxDQUFDLGdCQUFnQixFQUFFO29DQUN4RixrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQ0FDMUM7Z0NBRUQsdUZBQXVGO2dDQUN2RixRQUFRLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxFQUFFO29DQUN6QyxRQUFRLEVBQUUsSUFBSSxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDO29DQUM5RCx5QkFBeUIsRUFBRSxlQUFlLENBQUMseUJBQXlCLElBQUksSUFBSTtpQ0FDN0UsQ0FBQyxDQUFDO2dDQUVILE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQzs2QkFDbEM7aUNBQU07Z0NBQ0wsUUFBUSxHQUFHLFNBQWdDLENBQUM7Z0NBRTVDLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtvQ0FDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxzR0FBc0csQ0FBQyxDQUFDO2lDQUN2SDs2QkFDRjs0QkFFRCxPQUFPLFFBQVEsQ0FBQzt3QkFDbEIsQ0FBQyxDQUFDO3FCQUNIO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsa0NBQWtDOzRCQUM1QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs7QUFHRDs7R0FFRztBQWdCSCxNQUFNLE9BQU8sb0NBQW9DOztrSUFBcEMsb0NBQW9DO21JQUFwQyxvQ0FBb0M7bUlBQXBDLG9DQUFvQyxZQWI3QyxXQUFXLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7WUFDakMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBbUMsZ0NBQWdDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFOUcsSUFBSSxTQUFTLEVBQUUsWUFBWSxJQUFJLFNBQVMsRUFBRSxJQUFJLEVBQUU7Z0JBQzlDLG1CQUFtQixDQUFDLElBQUksRUFBRSxVQUFVLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUNuRjtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDOzRGQUdPLG9DQUFvQztrQkFmaEQsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFOzRCQUNqQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDOzRCQUM5QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7NEJBQ2xDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQW1DLGdDQUFnQyxFQUFFLFNBQVMsQ0FBQyxDQUFDOzRCQUU5RyxJQUFJLFNBQVMsRUFBRSxZQUFZLElBQUksU0FBUyxFQUFFLElBQUksRUFBRTtnQ0FDOUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFVBQVUsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDOzZCQUNuRjs0QkFFRCxPQUFPLElBQUksQ0FBQzt3QkFDZCxDQUFDLENBQUM7cUJBQ0g7aUJBQ0Y7O0FBR0Q7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLHVDQUF1Qzs7cUlBQXZDLHVDQUF1QztzSUFBdkMsdUNBQXVDO3NJQUF2Qyx1Q0FBdUMsWUFiaEQsY0FBYyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQW1DLGdDQUFnQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRTlHLElBQUksU0FBUyxFQUFFLFlBQVksSUFBSSxTQUFTLEVBQUUsT0FBTyxFQUFFO2dCQUNqRCxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDckY7WUFFRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUM7NEZBR08sdUNBQXVDO2tCQWZuRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxjQUFjLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7NEJBQ3BDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7NEJBQzlDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQzs0QkFDeEMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBbUMsZ0NBQWdDLEVBQUUsU0FBUyxDQUFDLENBQUM7NEJBRTlHLElBQUksU0FBUyxFQUFFLFlBQVksSUFBSSxTQUFTLEVBQUUsT0FBTyxFQUFFO2dDQUNqRCxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7NkJBQ3JGOzRCQUVELE9BQU8sT0FBTyxDQUFDO3dCQUNqQixDQUFDLENBQUM7cUJBQ0g7aUJBQ0Y7O0FBR0Q7O0dBRUc7QUFtQkgsTUFBTSxPQUFPLHlDQUF5Qzs7dUlBQXpDLHlDQUF5Qzt3SUFBekMseUNBQXlDO3dJQUF6Qyx5Q0FBeUMsWUFoQmxELGdCQUFnQixDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFO1lBQ3RDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBcUIsMEJBQTBCLENBQUMsQ0FBQztZQUNyRixNQUFNLEVBQUUsNkJBQTZCLEVBQUUsR0FBRyxlQUFlLENBQUM7WUFFMUQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1lBQzNFLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQW1DLGdDQUFnQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRTlHLElBQUksU0FBUyxFQUFFLFlBQVksSUFBSSxTQUFTLEVBQUUsU0FBUyxFQUFFO2dCQUNuRCx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN6RjtZQUVELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBQzs0RkFHTyx5Q0FBeUM7a0JBbEJyRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0IsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTs0QkFDdEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQzs0QkFDOUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBcUIsMEJBQTBCLENBQUMsQ0FBQzs0QkFDckYsTUFBTSxFQUFFLDZCQUE2QixFQUFFLEdBQUcsZUFBZSxDQUFDOzRCQUUxRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLDZCQUE2QixDQUFDLENBQUM7NEJBQzNFLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQW1DLGdDQUFnQyxFQUFFLFNBQVMsQ0FBQyxDQUFDOzRCQUU5RyxJQUFJLFNBQVMsRUFBRSxZQUFZLElBQUksU0FBUyxFQUFFLFNBQVMsRUFBRTtnQ0FDbkQsd0JBQXdCLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7NkJBQ3pGOzRCQUVELE9BQU8sU0FBUyxDQUFDO3dCQUNuQixDQUFDLENBQUM7cUJBQ0g7aUJBQ0Y7O0FBR0Q7O0dBRUc7QUFjSCxNQUFNLE9BQU8seUNBQXlDO0lBQ3BELE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZ0M7UUFDN0MsT0FBTztZQUNMLFFBQVEsRUFBRSx5Q0FBeUM7WUFDbkQsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSwwQkFBMEI7b0JBQ25DLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O3VJQVhVLHlDQUF5Qzt3SUFBekMseUNBQXlDLGtDQWpGekMsd0NBQXdDLEVBaER4Qyx5Q0FBeUMsRUFvRXpDLG9DQUFvQyxFQW9CcEMsdUNBQXVDLEVBdUJ2Qyx5Q0FBeUM7d0lBa0J6Qyx5Q0FBeUMsWUFYbEQsa0JBQWtCLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7WUFDeEMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBcUIsMEJBQTBCLENBQUMsQ0FBQztZQUNyRixPQUFPLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUM7UUFDRix3Q0FBd0M7UUFDeEMseUNBQXlDO1FBQ3pDLG9DQUFvQztRQUNwQyx1Q0FBdUM7UUFDdkMseUNBQXlDOzRGQUdoQyx5Q0FBeUM7a0JBYnJELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQixDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFOzRCQUN4QyxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFxQiwwQkFBMEIsQ0FBQyxDQUFDOzRCQUNyRixPQUFPLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQzt3QkFDeEMsQ0FBQyxDQUFDO3dCQUNGLHdDQUF3Qzt3QkFDeEMseUNBQXlDO3dCQUN6QyxvQ0FBb0M7d0JBQ3BDLHVDQUF1Qzt3QkFDdkMseUNBQXlDO3FCQUMxQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlyZWJhc2VPcHRpb25zLCBpbml0aWFsaXplQXBwIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IGluaXRpYWxpemVBcHBDaGVjaywgUmVDYXB0Y2hhVjNQcm92aWRlciB9IGZyb20gJ2ZpcmViYXNlL2FwcC1jaGVjayc7XG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgcHJvdmlkZUZpcmViYXNlQXBwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnO1xuaW1wb3J0IHsgcHJvdmlkZVN0b3JhZ2UsIGdldFN0b3JhZ2UsIGNvbm5lY3RTdG9yYWdlRW11bGF0b3IgfSBmcm9tICdAYW5ndWxhci9maXJlL3N0b3JhZ2UnO1xuaW1wb3J0IHsgcHJvdmlkZUZ1bmN0aW9ucywgZ2V0RnVuY3Rpb25zLCBjb25uZWN0RnVuY3Rpb25zRW11bGF0b3IgfSBmcm9tICdAYW5ndWxhci9maXJlL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBwcm92aWRlRmlyZXN0b3JlLCBnZXRGaXJlc3RvcmUsIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvciwgZW5hYmxlSW5kZXhlZERiUGVyc2lzdGVuY2UsIGVuYWJsZU11bHRpVGFiSW5kZXhlZERiUGVyc2lzdGVuY2UgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSc7XG5pbXBvcnQgeyBwcm92aWRlQXV0aCwgZ2V0QXV0aCwgY29ubmVjdEF1dGhFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXV0aCc7XG5pbXBvcnQgeyBBcHBDaGVjaywgcHJvdmlkZUFwcENoZWNrIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAtY2hlY2snO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcgfSBmcm9tICcuL2VtdWxhdG9ycyc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZU9wdGlvbnMsIERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOIH0gZnJvbSAnLi9vcHRpb25zJztcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgZW5hYmxlQXBwQ2hlY2tEZWJ1Z1Rva2VuR2VuZXJhdGlvbiB9IGZyb20gJy4uL2F1dGgvYXBwY2hlY2snO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VBcHBDaGVja0h0dHBJbnRlcmNlcHRvciB9IGZyb20gJy4uL2F1dGgvYXBwY2hlY2svYXBwY2hlY2suaW50ZXJjZXB0b3InO1xuXG4vLyBUT0RPOiByZW1vdmUgXCJhcyBhbnlcIiB0eXBlc2NyaXB0IGNhc3RpbmcgLSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyZmlyZS9pc3N1ZXMvMzA4NlxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgZmlyZXN0b3JlIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGaXJlc3RvcmUoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGZpcmViYXNlT3B0aW9ucyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZU9wdGlvbnM+KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKTtcbiAgICAgIGNvbnN0IGZpcmVzdG9yZSA9IGdldEZpcmVzdG9yZShmaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5maXJlc3RvcmUpIHtcbiAgICAgICAgY29ubmVjdEZpcmVzdG9yZUVtdWxhdG9yKGZpcmVzdG9yZSwgZW11bGF0b3JzLmZpcmVzdG9yZS5ob3N0LCBlbXVsYXRvcnMuZmlyZXN0b3JlLnBvcnQsIHt9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpcmViYXNlT3B0aW9ucy5lbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgZW5hYmxlSW5kZXhlZERiUGVyc2lzdGVuY2UoZmlyZXN0b3JlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpcmViYXNlT3B0aW9ucy5lbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlICE9PSBmYWxzZSkge1xuICAgICAgICBlbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlKGZpcmVzdG9yZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaXJlc3RvcmU7XG4gICAgfSkgYXMgYW55KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEZpcmVzdG9yZVByb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBhcHAgY2hlY2sgcHJvdmlkZXIgbW9kdWxlLlxuICpcbiAqIEFsc28gY29uZmlndXJlcyB0aGUgRGJ4RmlyZWJhc2VBcHBDaGVja0h0dHBJbnRlcmNlcHRvciB3aXRoIEhUVFBfSU5URVJDRVBUT1JTIGluIG9yZGVyIGZvciBhcHBDaGVjayB0byBiZSBhcHBlbmRlZCB0byByZXF1ZXN0cyB0byB0aGUgYXBpLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUFwcENoZWNrKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGZpcmViYXNlT3B0aW9ucyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZU9wdGlvbnM+KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKTtcbiAgICAgIGNvbnN0IGFwcENoZWNrT3B0aW9ucyA9IGZpcmViYXNlT3B0aW9ucy5hcHBDaGVjaztcbiAgICAgIGNvbnN0IGFwcENoZWNrS25vd2luZ2x5RGlzYWJsZWQgPSBhcHBDaGVja09wdGlvbnM/LmRpc2FibGVkID09PSB0cnVlIHx8IGZpcmViYXNlT3B0aW9ucy5lbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyA9PT0gdHJ1ZTtcbiAgICAgIGxldCBhcHBDaGVjazogQXBwQ2hlY2s7XG5cbiAgICAgIGlmIChhcHBDaGVja09wdGlvbnMgJiYgIWFwcENoZWNrS25vd2luZ2x5RGlzYWJsZWQpIHtcbiAgICAgICAgLy8gZW5hYmxlIHRoZSBkZWJ1ZyB0b2tlbnMgaWYgbm90IHVzaW5nIGVtdWxhdG9ycyBhbmQgYWxsb3dEZWJ1Z1Rva2VucyBpcyBzZXQgdHJ1ZVxuICAgICAgICBpZiAoZmlyZWJhc2VPcHRpb25zLmVtdWxhdG9ycz8udXNlRW11bGF0b3JzICE9PSB0cnVlICYmIGFwcENoZWNrT3B0aW9ucy5hbGxvd0RlYnVnVG9rZW5zKSB7XG4gICAgICAgICAgZW5hYmxlQXBwQ2hlY2tEZWJ1Z1Rva2VuR2VuZXJhdGlvbih0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgZW5hYmxlZCBvdXRzaWRlIG9mIGFwcC1jaGVjayBlbnZpcm9ubWVudHMuIFRoZSBlbXVsYXRvcnMgd2lsbCBub3QgdXNlIGFwcGNoZWNrLlxuICAgICAgICBhcHBDaGVjayA9IGluaXRpYWxpemVBcHBDaGVjayhmaXJlYmFzZUFwcCwge1xuICAgICAgICAgIHByb3ZpZGVyOiBuZXcgUmVDYXB0Y2hhVjNQcm92aWRlcihhcHBDaGVja09wdGlvbnMucmVDYXB0Y2hhVjMpLFxuICAgICAgICAgIGlzVG9rZW5BdXRvUmVmcmVzaEVuYWJsZWQ6IGFwcENoZWNrT3B0aW9ucy5pc1Rva2VuQXV0b1JlZnJlc2hFbmFibGVkID8/IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc29sZS5sb2coJ0VuYWJsZWQgQXBwQ2hlY2suJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhcHBDaGVjayA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEFwcENoZWNrO1xuXG4gICAgICAgIGlmICghYXBwQ2hlY2tLbm93aW5nbHlEaXNhYmxlZCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2RieC1maXJlYmFzZTogTm8gYXBwY2hlY2sgY29uZmlndXJhdGlvbiBmb3IgdGhlIGFwcCwgYW5kIG5vdCBzcGVjaWZpY2FsbHkgZGlzYWJsZWQgaW4gY29uZmlnIGVpdGhlci4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXBwQ2hlY2s7XG4gICAgfSlcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICB1c2VDbGFzczogRGJ4RmlyZWJhc2VBcHBDaGVja0h0dHBJbnRlcmNlcHRvcixcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEFwcENoZWNrUHJvdmlkZXJNb2R1bGUge31cblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIGF1dGggcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUF1dGgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgYXV0aCA9IGdldEF1dGgoZmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uYXV0aCkge1xuICAgICAgICBjb25uZWN0QXV0aEVtdWxhdG9yKGF1dGgsIGBodHRwOi8vJHtlbXVsYXRvcnMuYXV0aC5ob3N0fToke2VtdWxhdG9ycy5hdXRoLnBvcnR9YCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhdXRoO1xuICAgIH0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0QXV0aFByb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBzdG9yYWdlIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVTdG9yYWdlKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IHN0b3JhZ2UgPSBnZXRTdG9yYWdlKGZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LnN0b3JhZ2UpIHtcbiAgICAgICAgY29ubmVjdFN0b3JhZ2VFbXVsYXRvcihzdG9yYWdlLCBlbXVsYXRvcnMuc3RvcmFnZS5ob3N0LCBlbXVsYXRvcnMuc3RvcmFnZS5wb3J0LCB7fSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdG9yYWdlO1xuICAgIH0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0U3RvcmFnZVByb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBmdW5jdGlvbnMgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZ1bmN0aW9ucygoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG4gICAgICBjb25zdCB7IGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluIH0gPSBmaXJlYmFzZU9wdGlvbnM7XG5cbiAgICAgIGNvbnN0IGZ1bmN0aW9ucyA9IGdldEZ1bmN0aW9ucyhmaXJlYmFzZUFwcCwgZnVuY3Rpb25zUmVnaW9uT3JDdXN0b21Eb21haW4pO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uZnVuY3Rpb25zKSB7XG4gICAgICAgIGNvbm5lY3RGdW5jdGlvbnNFbXVsYXRvcihmdW5jdGlvbnMsIGVtdWxhdG9ycy5mdW5jdGlvbnMuaG9zdCwgZW11bGF0b3JzLmZ1bmN0aW9ucy5wb3J0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZ1bmN0aW9ucztcbiAgICB9KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEZ1bmN0aW9uc1Byb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlRmlyZWJhc2VBcHAoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgcmV0dXJuIGluaXRpYWxpemVBcHAoZmlyZWJhc2VPcHRpb25zKTtcbiAgICB9KSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRBcHBDaGVja1Byb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEZpcmVzdG9yZVByb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEF1dGhQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRTdG9yYWdlUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0RnVuY3Rpb25zUHJvdmlkZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGZpcmViYXNlT3B0aW9uczogRmlyZWJhc2VPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOLFxuICAgICAgICAgIHVzZVZhbHVlOiBmaXJlYmFzZU9wdGlvbnNcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
293
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBbUIsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFFLDBCQUEwQixFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkssT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRSxPQUFPLEVBQVksZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9ELE9BQU8sRUFBc0IsMEJBQTBCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFF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TUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBcUIsMEJBQTBCLENBQUMsQ0FBQzs0QkFDckYsT0FBTyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQ3hDLENBQUMsQ0FBQzt3QkFDRix3Q0FBd0M7d0JBQ3hDLHlDQUF5Qzt3QkFDekMsb0NBQW9DO3dCQUNwQyx1Q0FBdUM7d0JBQ3ZDLHlDQUF5QztxQkFDMUM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpcmViYXNlT3B0aW9ucywgaW5pdGlhbGl6ZUFwcCB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBpbml0aWFsaXplQXBwQ2hlY2ssIFJlQ2FwdGNoYVYzUHJvdmlkZXIgfSBmcm9tICdmaXJlYmFzZS9hcHAtY2hlY2snO1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIHByb3ZpZGVGaXJlYmFzZUFwcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJztcbmltcG9ydCB7IHByb3ZpZGVTdG9yYWdlLCBnZXRTdG9yYWdlLCBjb25uZWN0U3RvcmFnZUVtdWxhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9zdG9yYWdlJztcbmltcG9ydCB7IHByb3ZpZGVGdW5jdGlvbnMsIGdldEZ1bmN0aW9ucywgY29ubmVjdEZ1bmN0aW9uc0VtdWxhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgcHJvdmlkZUZpcmVzdG9yZSwgZ2V0RmlyZXN0b3JlLCBjb25uZWN0RmlyZXN0b3JlRW11bGF0b3IsIGVuYWJsZUluZGV4ZWREYlBlcnNpc3RlbmNlLCBlbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUF1dGgsIGdldEF1dGgsIGNvbm5lY3RBdXRoRW11bGF0b3IgfSBmcm9tICdAYW5ndWxhci9maXJlL2F1dGgnO1xuaW1wb3J0IHsgQXBwQ2hlY2ssIHByb3ZpZGVBcHBDaGVjayB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwLWNoZWNrJztcbmltcG9ydCB7IERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnIH0gZnJvbSAnLi9lbXVsYXRvcnMnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VPcHRpb25zLCBEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTiB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGVuYWJsZUFwcENoZWNrRGVidWdUb2tlbkdlbmVyYXRpb24gfSBmcm9tICcuLi9hdXRoL2FwcGNoZWNrJztcbmltcG9ydCB7IERieEZpcmViYXNlQXBwQ2hlY2tIdHRwSW50ZXJjZXB0b3IgfSBmcm9tICcuLi9hdXRoL2FwcGNoZWNrL2FwcGNoZWNrLmludGVyY2VwdG9yJztcblxuLy8gVE9ETzogcmVtb3ZlIFwiYXMgYW55XCIgdHlwZXNjcmlwdCBjYXN0aW5nIC0gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhcmZpcmUvaXNzdWVzLzMwODZcblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIGZpcmVzdG9yZSBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlRmlyZXN0b3JlKCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG4gICAgICBjb25zdCBmaXJlc3RvcmUgPSBnZXRGaXJlc3RvcmUoZmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uZmlyZXN0b3JlKSB7XG4gICAgICAgIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvcihmaXJlc3RvcmUsIGVtdWxhdG9ycy5maXJlc3RvcmUuaG9zdCwgZW11bGF0b3JzLmZpcmVzdG9yZS5wb3J0LCB7fSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChmaXJlYmFzZU9wdGlvbnMuZW5hYmxlTXVsdGlUYWJJbmRleGVkRGJQZXJzaXN0ZW5jZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgZW5hYmxlTXVsdGlUYWJJbmRleGVkRGJQZXJzaXN0ZW5jZShmaXJlc3RvcmUpO1xuICAgICAgfSBlbHNlIGlmIChmaXJlYmFzZU9wdGlvbnMuZW5hYmxlSW5kZXhlZERiUGVyc2lzdGVuY2UgIT09IGZhbHNlKSB7XG4gICAgICAgIGVuYWJsZUluZGV4ZWREYlBlcnNpc3RlbmNlKGZpcmVzdG9yZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaXJlc3RvcmU7XG4gICAgfSkgYXMgYW55KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEZpcmVzdG9yZVByb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBhcHAgY2hlY2sgcHJvdmlkZXIgbW9kdWxlLlxuICpcbiAqIEFsc28gY29uZmlndXJlcyB0aGUgRGJ4RmlyZWJhc2VBcHBDaGVja0h0dHBJbnRlcmNlcHRvciB3aXRoIEhUVFBfSU5URVJDRVBUT1JTIGluIG9yZGVyIGZvciBhcHBDaGVjayB0byBiZSBhcHBlbmRlZCB0byByZXF1ZXN0cyB0byB0aGUgYXBpLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUFwcENoZWNrKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGZpcmViYXNlT3B0aW9ucyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZU9wdGlvbnM+KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKTtcbiAgICAgIGNvbnN0IGFwcENoZWNrT3B0aW9ucyA9IGZpcmViYXNlT3B0aW9ucy5hcHBDaGVjaztcbiAgICAgIGNvbnN0IGFwcENoZWNrS25vd2luZ2x5RGlzYWJsZWQgPSBhcHBDaGVja09wdGlvbnM/LmRpc2FibGVkID09PSB0cnVlIHx8IGZpcmViYXNlT3B0aW9ucy5lbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyA9PT0gdHJ1ZTtcbiAgICAgIGxldCBhcHBDaGVjazogQXBwQ2hlY2s7XG5cbiAgICAgIGlmIChhcHBDaGVja09wdGlvbnMgJiYgIWFwcENoZWNrS25vd2luZ2x5RGlzYWJsZWQpIHtcbiAgICAgICAgLy8gZW5hYmxlIHRoZSBkZWJ1ZyB0b2tlbnMgaWYgbm90IHVzaW5nIGVtdWxhdG9ycyBhbmQgYWxsb3dEZWJ1Z1Rva2VucyBpcyBzZXQgdHJ1ZVxuICAgICAgICBpZiAoZmlyZWJhc2VPcHRpb25zLmVtdWxhdG9ycz8udXNlRW11bGF0b3JzICE9PSB0cnVlICYmIGFwcENoZWNrT3B0aW9ucy5hbGxvd0RlYnVnVG9rZW5zKSB7XG4gICAgICAgICAgZW5hYmxlQXBwQ2hlY2tEZWJ1Z1Rva2VuR2VuZXJhdGlvbih0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgZW5hYmxlZCBvdXRzaWRlIG9mIGFwcC1jaGVjayBlbnZpcm9ubWVudHMuIFRoZSBlbXVsYXRvcnMgd2lsbCBub3QgdXNlIGFwcGNoZWNrLlxuICAgICAgICBhcHBDaGVjayA9IGluaXRpYWxpemVBcHBDaGVjayhmaXJlYmFzZUFwcCwge1xuICAgICAgICAgIHByb3ZpZGVyOiBuZXcgUmVDYXB0Y2hhVjNQcm92aWRlcihhcHBDaGVja09wdGlvbnMucmVDYXB0Y2hhVjMpLFxuICAgICAgICAgIGlzVG9rZW5BdXRvUmVmcmVzaEVuYWJsZWQ6IGFwcENoZWNrT3B0aW9ucy5pc1Rva2VuQXV0b1JlZnJlc2hFbmFibGVkID8/IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc29sZS5sb2coJ0VuYWJsZWQgQXBwQ2hlY2suJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhcHBDaGVjayA9IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIEFwcENoZWNrO1xuXG4gICAgICAgIGlmICghYXBwQ2hlY2tLbm93aW5nbHlEaXNhYmxlZCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2RieC1maXJlYmFzZTogTm8gYXBwY2hlY2sgY29uZmlndXJhdGlvbiBmb3IgdGhlIGFwcCwgYW5kIG5vdCBzcGVjaWZpY2FsbHkgZGlzYWJsZWQgaW4gY29uZmlnIGVpdGhlci4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXBwQ2hlY2s7XG4gICAgfSlcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICB1c2VDbGFzczogRGJ4RmlyZWJhc2VBcHBDaGVja0h0dHBJbnRlcmNlcHRvcixcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEFwcENoZWNrUHJvdmlkZXJNb2R1bGUge31cblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIGF1dGggcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUF1dGgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgYXV0aCA9IGdldEF1dGgoZmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uYXV0aCkge1xuICAgICAgICBjb25uZWN0QXV0aEVtdWxhdG9yKGF1dGgsIGBodHRwOi8vJHtlbXVsYXRvcnMuYXV0aC5ob3N0fToke2VtdWxhdG9ycy5hdXRoLnBvcnR9YCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhdXRoO1xuICAgIH0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0QXV0aFByb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBzdG9yYWdlIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVTdG9yYWdlKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IHN0b3JhZ2UgPSBnZXRTdG9yYWdlKGZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LnN0b3JhZ2UpIHtcbiAgICAgICAgY29ubmVjdFN0b3JhZ2VFbXVsYXRvcihzdG9yYWdlLCBlbXVsYXRvcnMuc3RvcmFnZS5ob3N0LCBlbXVsYXRvcnMuc3RvcmFnZS5wb3J0LCB7fSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdG9yYWdlO1xuICAgIH0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0U3RvcmFnZVByb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBmdW5jdGlvbnMgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZ1bmN0aW9ucygoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG4gICAgICBjb25zdCB7IGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluIH0gPSBmaXJlYmFzZU9wdGlvbnM7XG5cbiAgICAgIGNvbnN0IGZ1bmN0aW9ucyA9IGdldEZ1bmN0aW9ucyhmaXJlYmFzZUFwcCwgZnVuY3Rpb25zUmVnaW9uT3JDdXN0b21Eb21haW4pO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uZnVuY3Rpb25zKSB7XG4gICAgICAgIGNvbm5lY3RGdW5jdGlvbnNFbXVsYXRvcihmdW5jdGlvbnMsIGVtdWxhdG9ycy5mdW5jdGlvbnMuaG9zdCwgZW11bGF0b3JzLmZ1bmN0aW9ucy5wb3J0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZ1bmN0aW9ucztcbiAgICB9KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEZ1bmN0aW9uc1Byb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlRmlyZWJhc2VBcHAoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgcmV0dXJuIGluaXRpYWxpemVBcHAoZmlyZWJhc2VPcHRpb25zKTtcbiAgICB9KSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRBcHBDaGVja1Byb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEZpcmVzdG9yZVByb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEF1dGhQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRTdG9yYWdlUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0RnVuY3Rpb25zUHJvdmlkZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGZpcmViYXNlT3B0aW9uczogRmlyZWJhc2VPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOLFxuICAgICAgICAgIHVzZVZhbHVlOiBmaXJlYmFzZU9wdGlvbnNcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const DBX_FIREBASE_OPTIONS_TOKEN = new InjectionToken('DbxFirebaseOptions');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmViYXNlL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0vQyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUxvZ2luTW9kdWxlUm9vdENvbmZpZyB9IGZyb20gJy4uL2F1dGgvbG9naW4vZmlyZWJhc2UubG9naW4ubW9kdWxlJztcbmltcG9ydCB7IERieEZpcmViYXNlQXBwQ2hlY2tDb25maWcgfSBmcm9tICcuL2FwcGNoZWNrJztcbmltcG9ydCB7IERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnIH0gZnJvbSAnLi9lbXVsYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0RieEZpcmViYXNlT3B0aW9ucycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlT3B0aW9ucyBleHRlbmRzIEZpcmViYXNlT3B0aW9ucywgUGljazxEYnhGaXJlYmFzZUxvZ2luTW9kdWxlUm9vdENvbmZpZywgJ2VuYWJsZWRMb2dpbk1ldGhvZHMnPiB7XG4gIGVtdWxhdG9yczogRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWc7XG4gIC8qKlxuICAgKiBGaXJlYmFzZSBBcHBDaGVjayBoYW5kbGluZ1xuICAgKi9cbiAgYXBwQ2hlY2s/OiBEYnhGaXJlYmFzZUFwcENoZWNrQ29uZmlnO1xuICAvKipcbiAgICogUGFzc2VkIHRvIHRoZSBGdW5jdGlvbnMgaW5pdGlhbGl6YXRpb24gdG8gc2V0IHRoZSBkb21haW4gdG8gdXNlIHdoZW4gc2VuZGluZyByZXF1ZXN0cy5cbiAgICovXG4gIGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gY2FsbCBlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZSgpIGZvciBmaXJlc3RvcmUgYXQgc2V0dXAgdGltZS5cbiAgICpcbiAgICogVHJ1ZSBieSBkZWZhdWx0LlxuICAgKi9cbiAgZW5hYmxlSW5kZXhlZERiUGVyc2lzdGVuY2U/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gY2FsbCBlbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlKCkgZm9yIGZpcmVzdG9yZSBhdCBzZXR1cCB0aW1lLlxuICAgKlxuICAgKiBUcnVlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBlbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlPzogYm9vbGVhbjtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmViYXNlL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0vQyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUxvZ2luTW9kdWxlUm9vdENvbmZpZyB9IGZyb20gJy4uL2F1dGgvbG9naW4vZmlyZWJhc2UubG9naW4ubW9kdWxlJztcbmltcG9ydCB7IERieEZpcmViYXNlQXBwQ2hlY2tDb25maWcgfSBmcm9tICcuL2FwcGNoZWNrJztcbmltcG9ydCB7IERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnIH0gZnJvbSAnLi9lbXVsYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0RieEZpcmViYXNlT3B0aW9ucycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlT3B0aW9ucyBleHRlbmRzIEZpcmViYXNlT3B0aW9ucywgUGljazxEYnhGaXJlYmFzZUxvZ2luTW9kdWxlUm9vdENvbmZpZywgJ2VuYWJsZWRMb2dpbk1ldGhvZHMnPiB7XG4gIGVtdWxhdG9yczogRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWc7XG4gIC8qKlxuICAgKiBGaXJlYmFzZSBBcHBDaGVjayBoYW5kbGluZ1xuICAgKi9cbiAgYXBwQ2hlY2s/OiBEYnhGaXJlYmFzZUFwcENoZWNrQ29uZmlnO1xuICAvKipcbiAgICogUGFzc2VkIHRvIHRoZSBGdW5jdGlvbnMgaW5pdGlhbGl6YXRpb24gdG8gc2V0IHRoZSBkb21haW4gdG8gdXNlIHdoZW4gc2VuZGluZyByZXF1ZXN0cy5cbiAgICovXG4gIGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gY2FsbCBlbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlKCkgZm9yIGZpcmVzdG9yZSBhdCBzZXR1cCB0aW1lLlxuICAgKlxuICAgKiBUcnVlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBlbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGNhbGwgZW5hYmxlSW5kZXhlZERiUGVyc2lzdGVuY2UoKSBmb3IgZmlyZXN0b3JlIGF0IHNldHVwIHRpbWUuXG4gICAqXG4gICAqIFRydWUgYnkgZGVmYXVsdCBpZiBlbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlIGlzIGZhbHNlLlxuICAgKi9cbiAgZW5hYmxlSW5kZXhlZERiUGVyc2lzdGVuY2U/OiBib29sZWFuO1xufVxuIl19
@@ -1,21 +1,29 @@
1
+ import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
1
2
  import { DbxListViewWrapper } from '@dereekb/dbx-web';
2
3
  import { Directive, Host } from '@angular/core';
3
4
  import { DbxFirebaseCollectionStoreDirective } from './store.collection.directive';
5
+ import { tapLog } from '@dereekb/rxjs';
4
6
  import * as i0 from "@angular/core";
5
7
  import * as i1 from "./store.collection.directive";
6
8
  import * as i2 from "@dereekb/dbx-web";
7
9
  /**
8
10
  * Directive that connects a host DbxListView to a DbxFirebaseCollectionStoreDirective to pass data for rendering items from a collection and query parameters.
9
11
  */
10
- export class DbxFirebaseCollectionListDirective {
12
+ export class DbxFirebaseCollectionListDirective extends AbstractSubscriptionDirective {
11
13
  constructor(dbxFirebaseCollectionStoreDirective, dbxListViewWrapper) {
14
+ super();
12
15
  this.dbxFirebaseCollectionStoreDirective = dbxFirebaseCollectionStoreDirective;
13
16
  this.dbxListViewWrapper = dbxListViewWrapper;
14
- this.dbxListViewWrapper.state$ = this.dbxFirebaseCollectionStoreDirective.pageLoadingState$;
17
+ this.dbxListViewWrapper.state$ = this.dbxFirebaseCollectionStoreDirective.pageLoadingState$.pipe(tapLog('xxx'));
18
+ }
19
+ ngOnInit() {
20
+ this.sub = this.dbxListViewWrapper.loadMore?.subscribe(() => {
21
+ this.dbxFirebaseCollectionStoreDirective.next();
22
+ });
15
23
  }
16
24
  }
17
25
  DbxFirebaseCollectionListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseCollectionListDirective, deps: [{ token: i1.DbxFirebaseCollectionStoreDirective }, { token: i2.DbxListViewWrapper, host: true }], target: i0.ɵɵFactoryTarget.Directive });
18
- DbxFirebaseCollectionListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseCollectionListDirective, selector: "[dbxFirebaseCollectionList]", ngImport: i0 });
26
+ DbxFirebaseCollectionListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseCollectionListDirective, selector: "[dbxFirebaseCollectionList]", usesInheritance: true, ngImport: i0 });
19
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseCollectionListDirective, decorators: [{
20
28
  type: Directive,
21
29
  args: [{
@@ -24,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
24
32
  }], ctorParameters: function () { return [{ type: i1.DbxFirebaseCollectionStoreDirective }, { type: i2.DbxListViewWrapper, decorators: [{
25
33
  type: Host
26
34
  }] }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuY29sbGVjdGlvbi5saXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvc3RvcmUvc3RvcmUuY29sbGVjdGlvbi5saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUVuRjs7R0FFRztBQUlILE1BQU0sT0FBTyxrQ0FBa0M7SUFDN0MsWUFBcUIsbUNBQTJFLEVBQW1CLGtCQUF5QztRQUF2SSx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQXdDO1FBQW1CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7UUFDMUosSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsbUNBQW1DLENBQUMsaUJBQWlCLENBQUM7SUFDOUYsQ0FBQzs7Z0lBSFUsa0NBQWtDO29IQUFsQyxrQ0FBa0M7NEZBQWxDLGtDQUFrQztrQkFIOUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2lCQUN4Qzs7MEJBRW9HLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYnhMaXN0Vmlld1dyYXBwZXIgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmUgfSBmcm9tICcuL3N0b3JlLmNvbGxlY3Rpb24uZGlyZWN0aXZlJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdGhhdCBjb25uZWN0cyBhIGhvc3QgRGJ4TGlzdFZpZXcgdG8gYSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZSB0byBwYXNzIGRhdGEgZm9yIHJlbmRlcmluZyBpdGVtcyBmcm9tIGEgY29sbGVjdGlvbiBhbmQgcXVlcnkgcGFyYW1ldGVycy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZpcmViYXNlQ29sbGVjdGlvbkxpc3RdJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25MaXN0RGlyZWN0aXZlPFQ+IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmU6IERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlRGlyZWN0aXZlPFQ+LCBASG9zdCgpIHJlYWRvbmx5IGRieExpc3RWaWV3V3JhcHBlcjogRGJ4TGlzdFZpZXdXcmFwcGVyPFQ+KSB7XG4gICAgdGhpcy5kYnhMaXN0Vmlld1dyYXBwZXIuc3RhdGUkID0gdGhpcy5kYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZS5wYWdlTG9hZGluZ1N0YXRlJDtcbiAgfVxufVxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuY29sbGVjdGlvbi5saXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvc3RvcmUvc3RvcmUuY29sbGVjdGlvbi5saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRXZDOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtDQUFzQyxTQUFRLDZCQUE2QjtJQUN0RixZQUFxQixtQ0FBMkUsRUFBbUIsa0JBQXlDO1FBQzFKLEtBQUssRUFBRSxDQUFDO1FBRFcsd0NBQW1DLEdBQW5DLG1DQUFtQyxDQUF3QztRQUFtQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXVCO1FBRTFKLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzFELElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2dJQVZVLGtDQUFrQztvSEFBbEMsa0NBQWtDOzRGQUFsQyxrQ0FBa0M7a0JBSDlDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtpQkFDeEM7OzBCQUVvRyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBEYnhMaXN0Vmlld1dyYXBwZXIgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZSB9IGZyb20gJy4vc3RvcmUuY29sbGVjdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdGFwTG9nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbi8qKlxuICogRGlyZWN0aXZlIHRoYXQgY29ubmVjdHMgYSBob3N0IERieExpc3RWaWV3IHRvIGEgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmUgdG8gcGFzcyBkYXRhIGZvciByZW5kZXJpbmcgaXRlbXMgZnJvbSBhIGNvbGxlY3Rpb24gYW5kIHF1ZXJ5IHBhcmFtZXRlcnMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhGaXJlYmFzZUNvbGxlY3Rpb25MaXN0XSdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTGlzdERpcmVjdGl2ZTxUPiBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmU6IERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlRGlyZWN0aXZlPFQ+LCBASG9zdCgpIHJlYWRvbmx5IGRieExpc3RWaWV3V3JhcHBlcjogRGJ4TGlzdFZpZXdXcmFwcGVyPFQ+KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmRieExpc3RWaWV3V3JhcHBlci5zdGF0ZSQgPSB0aGlzLmRieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlRGlyZWN0aXZlLnBhZ2VMb2FkaW5nU3RhdGUkLnBpcGUodGFwTG9nKCd4eHgnKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YiA9IHRoaXMuZGJ4TGlzdFZpZXdXcmFwcGVyLmxvYWRNb3JlPy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5kYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZS5uZXh0KCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Optional, InjectionToken, Inject, Component, Input, Directive, EventEmitter, Output, NgModule, Injector, ViewChild, HostListener, forwardRef, Host } from '@angular/core';
3
- import { asObservable, timeoutStartWith, filterMaybe, isNot, SubscriptionObject, lazyFrom, switchMapWhileTrue, loadingStateFromObs, cleanupDestroyable, accumulatorFlattenPageListLoadingState, useFirst, pageLoadingStateFromObs, useAsObservable, distinctUntilModelKeyChange, successResult, beginLoading, errorResult, cleanup, mapLoadingState } from '@dereekb/rxjs';
3
+ import { asObservable, timeoutStartWith, filterMaybe, isNot, SubscriptionObject, lazyFrom, switchMapWhileTrue, loadingStateFromObs, cleanupDestroyable, accumulatorFlattenPageListLoadingState, useFirst, pageLoadingStateFromObs, useAsObservable, distinctUntilModelKeyChange, tapLog, successResult, beginLoading, errorResult, cleanup, mapLoadingState } from '@dereekb/rxjs';
4
4
  import { switchMap, of, shareReplay, map, distinctUntilChanged, catchError, firstValueFrom, BehaviorSubject, combineLatest, first, from, tap, interval, exhaustMap, filter, take, startWith, EMPTY, Subject, throttleTime, NEVER, combineLatestWith } from 'rxjs';
5
5
  import { __awaiter, __decorate, __param, __metadata } from 'tslib';
6
6
  import * as i2$2 from '@dereekb/dbx-core';
@@ -34,7 +34,7 @@ import { provideStorage, getStorage, connectStorageEmulator, Storage } from '@an
34
34
  import * as i5 from '@angular/fire/functions';
35
35
  import { provideFunctions, getFunctions, connectFunctionsEmulator, Functions } from '@angular/fire/functions';
36
36
  import * as i1$5 from '@angular/fire/firestore';
37
- import { provideFirestore, getFirestore, connectFirestoreEmulator, enableIndexedDbPersistence, enableMultiTabIndexedDbPersistence, Firestore } from '@angular/fire/firestore';
37
+ import { provideFirestore, getFirestore, connectFirestoreEmulator, enableMultiTabIndexedDbPersistence, enableIndexedDbPersistence, Firestore } from '@angular/fire/firestore';
38
38
  import { HTTP_INTERCEPTORS } from '@angular/common/http';
39
39
  import * as i2$3 from '@angular/material/snack-bar';
40
40
 
@@ -675,7 +675,7 @@ DbxFirebaseLoginButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
675
675
  </div>
676
676
  </dbx-button>
677
677
  </ng-container>
678
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$2.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2$2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2$2.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i2$2.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i2$2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i1$2.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
678
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$2.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2$2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2$2.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i2$2.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i2$2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i1$2.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "iconOnly", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
679
679
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseLoginButtonComponent, decorators: [{
680
680
  type: Component,
681
681
  args: [{
@@ -1075,7 +1075,7 @@ class DbxFirebaseLoginEmailContentComponent {
1075
1075
  }
1076
1076
  }
1077
1077
  DbxFirebaseLoginEmailContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseLoginEmailContentComponent, deps: [{ token: DbxFirebaseAuthService }, { token: DBX_INJECTION_COMPONENT_DATA }], target: i0.ɵɵFactoryTarget.Component });
1078
- DbxFirebaseLoginEmailContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseLoginEmailContentComponent, selector: "ng-component", ngImport: i0, template: "<div class=\"dbx-firebase-login-email-content\">\n <ng-container [ngSwitch]=\"emailMode$ | async\">\n <ng-container *ngSwitchCase=\"'login'\">\n <ng-container *ngTemplateOutlet=\"loginView\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recover'\">\n <ng-container *ngTemplateOutlet=\"resetPassword\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recoversent'\">\n <ng-container *ngTemplateOutlet=\"resetPasswordSent\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<!-- Login View -->\n<ng-template #loginView>\n <ng-container dbxAction [dbxActionHandler]=\"handleLoginAction\">\n <dbx-firebase-email-form [config]=\"formConfig\" dbxActionForm [dbxFormSource]=\"emailFormValue\"></dbx-firebase-email-form>\n <div class=\"dbx-firebase-login-email-forgot-prompt\" *ngIf=\"isLoginMode\">\n <dbx-link [anchor]=\"forgotAnchor\">Forgot Password?</dbx-link>\n </div>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" [text]=\"buttonText\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancel()\">Cancel</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </ng-container>\n</ng-template>\n\n<!-- Reset Password View -->\n<ng-template #resetPassword>\n <div class=\"dbx-firebase-login-email-content-recovery\" dbxAction [dbxActionHandler]=\"handleRecoveryAction\" [dbxActionSuccessHandler]=\"handleRecoverySuccess\">\n <dbx-firebase-email-recovery-form dbxActionForm [dbxFormSource]=\"recoveryFormValue\"></dbx-firebase-email-recovery-form>\n <p class=\"dbx-hint\">An email will be sent to the above address to help you reset your password.</p>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" text=\"Send Recovery Email\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancelReset()\">Cancel Recovery</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </div>\n</ng-template>\n\n<!-- Reset Password Sent -->\n<ng-template #resetPasswordSent>\n <div class=\"dbx-firebase-login-email-content-recovery-sent\">\n <p class=\"dbx-hint\">A recovery email was sent to the specified address. Please check your email for next steps.</p>\n <button mat-raised-button (click)=\"clickedRecoveryAcknowledged()\">Ok</button>\n </div>\n</ng-template>\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: "component", type: i3$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i1$2.DbxAnchorLinkComponent, selector: "dbx-link", inputs: ["anchor", "ref", "href"] }, { kind: "directive", type: i1$3.DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: i1$3.DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormValidator", "dbxActionFormModified", "formDisabledOnWorking"] }, { kind: "component", type: i1$2.DbxReadableErrorComponent, selector: "dbx-error", inputs: ["error"] }, { kind: "directive", type: i1$2.DbxActionErrorDirective, selector: "[dbxActionError]" }, { kind: "directive", type: i2$2.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2$2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2$2.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i2$2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i1$2.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }, { kind: "directive", type: i1$2.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: DbxFirebaseEmailFormComponent, selector: "dbx-firebase-email-form", inputs: ["config"] }, { kind: "component", type: DbxFirebaseEmailRecoveryFormComponent, selector: "dbx-firebase-email-recovery-form" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
1078
+ DbxFirebaseLoginEmailContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseLoginEmailContentComponent, selector: "ng-component", ngImport: i0, template: "<div class=\"dbx-firebase-login-email-content\">\n <ng-container [ngSwitch]=\"emailMode$ | async\">\n <ng-container *ngSwitchCase=\"'login'\">\n <ng-container *ngTemplateOutlet=\"loginView\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recover'\">\n <ng-container *ngTemplateOutlet=\"resetPassword\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recoversent'\">\n <ng-container *ngTemplateOutlet=\"resetPasswordSent\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<!-- Login View -->\n<ng-template #loginView>\n <ng-container dbxAction [dbxActionHandler]=\"handleLoginAction\">\n <dbx-firebase-email-form [config]=\"formConfig\" dbxActionForm [dbxFormSource]=\"emailFormValue\"></dbx-firebase-email-form>\n <div class=\"dbx-firebase-login-email-forgot-prompt\" *ngIf=\"isLoginMode\">\n <dbx-link [anchor]=\"forgotAnchor\">Forgot Password?</dbx-link>\n </div>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" [text]=\"buttonText\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancel()\">Cancel</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </ng-container>\n</ng-template>\n\n<!-- Reset Password View -->\n<ng-template #resetPassword>\n <div class=\"dbx-firebase-login-email-content-recovery\" dbxAction [dbxActionHandler]=\"handleRecoveryAction\" [dbxActionSuccessHandler]=\"handleRecoverySuccess\">\n <dbx-firebase-email-recovery-form dbxActionForm [dbxFormSource]=\"recoveryFormValue\"></dbx-firebase-email-recovery-form>\n <p class=\"dbx-hint\">An email will be sent to the above address to help you reset your password.</p>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" text=\"Send Recovery Email\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancelReset()\">Cancel Recovery</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </div>\n</ng-template>\n\n<!-- Reset Password Sent -->\n<ng-template #resetPasswordSent>\n <div class=\"dbx-firebase-login-email-content-recovery-sent\">\n <p class=\"dbx-hint\">A recovery email was sent to the specified address. Please check your email for next steps.</p>\n <button mat-raised-button (click)=\"clickedRecoveryAcknowledged()\">Ok</button>\n </div>\n</ng-template>\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: "component", type: i3$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i1$2.DbxAnchorLinkComponent, selector: "dbx-link", inputs: ["anchor", "ref", "href"] }, { kind: "directive", type: i1$3.DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: i1$3.DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormValidator", "dbxActionFormModified", "formDisabledOnWorking"] }, { kind: "component", type: i1$2.DbxReadableErrorComponent, selector: "dbx-error", inputs: ["error"] }, { kind: "directive", type: i1$2.DbxActionErrorDirective, selector: "[dbxActionError]" }, { kind: "directive", type: i2$2.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2$2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2$2.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i2$2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i1$2.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "iconOnly", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }, { kind: "directive", type: i1$2.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: DbxFirebaseEmailFormComponent, selector: "dbx-firebase-email-form", inputs: ["config"] }, { kind: "component", type: DbxFirebaseEmailRecoveryFormComponent, selector: "dbx-firebase-email-recovery-form" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
1079
1079
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseLoginEmailContentComponent, decorators: [{
1080
1080
  type: Component,
1081
1081
  args: [{ template: "<div class=\"dbx-firebase-login-email-content\">\n <ng-container [ngSwitch]=\"emailMode$ | async\">\n <ng-container *ngSwitchCase=\"'login'\">\n <ng-container *ngTemplateOutlet=\"loginView\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recover'\">\n <ng-container *ngTemplateOutlet=\"resetPassword\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recoversent'\">\n <ng-container *ngTemplateOutlet=\"resetPasswordSent\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<!-- Login View -->\n<ng-template #loginView>\n <ng-container dbxAction [dbxActionHandler]=\"handleLoginAction\">\n <dbx-firebase-email-form [config]=\"formConfig\" dbxActionForm [dbxFormSource]=\"emailFormValue\"></dbx-firebase-email-form>\n <div class=\"dbx-firebase-login-email-forgot-prompt\" *ngIf=\"isLoginMode\">\n <dbx-link [anchor]=\"forgotAnchor\">Forgot Password?</dbx-link>\n </div>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" [text]=\"buttonText\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancel()\">Cancel</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </ng-container>\n</ng-template>\n\n<!-- Reset Password View -->\n<ng-template #resetPassword>\n <div class=\"dbx-firebase-login-email-content-recovery\" dbxAction [dbxActionHandler]=\"handleRecoveryAction\" [dbxActionSuccessHandler]=\"handleRecoverySuccess\">\n <dbx-firebase-email-recovery-form dbxActionForm [dbxFormSource]=\"recoveryFormValue\"></dbx-firebase-email-recovery-form>\n <p class=\"dbx-hint\">An email will be sent to the above address to help you reset your password.</p>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" text=\"Send Recovery Email\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancelReset()\">Cancel Recovery</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </div>\n</ng-template>\n\n<!-- Reset Password Sent -->\n<ng-template #resetPasswordSent>\n <div class=\"dbx-firebase-login-email-content-recovery-sent\">\n <p class=\"dbx-hint\">A recovery email was sent to the specified address. Please check your email for next steps.</p>\n <button mat-raised-button (click)=\"clickedRecoveryAcknowledged()\">Ok</button>\n </div>\n</ng-template>\n" }]
@@ -1768,7 +1768,7 @@ DbxFirebaseDevelopmentSchedulerListViewItemComponent.ɵcmp = i0.ɵɵngDeclareCom
1768
1768
  <dbx-button dbxActionButton [text]="'Run ' + name"></dbx-button>
1769
1769
  <dbx-success *dbxActionHasSuccess="3000" dbxActionSuccess>Success</dbx-success>
1770
1770
  </div>
1771
- `, isInline: true, dependencies: [{ kind: "component", type: i1$2.DbxSuccessComponent, selector: "dbx-success" }, { kind: "directive", type: i2$2.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2$2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2$2.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i2$2.DbxActionHasSuccessDirective, selector: "[dbxActionHasSuccess]", inputs: ["dbxActionHasSuccess"] }, { kind: "directive", type: i2$2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i1$2.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
1771
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$2.DbxSuccessComponent, selector: "dbx-success" }, { kind: "directive", type: i2$2.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2$2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2$2.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i2$2.DbxActionHasSuccessDirective, selector: "[dbxActionHasSuccess]", inputs: ["dbxActionHasSuccess"] }, { kind: "directive", type: i2$2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i1$2.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "iconOnly", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
1772
1772
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, decorators: [{
1773
1773
  type: Component,
1774
1774
  args: [{
@@ -1839,12 +1839,12 @@ DbxFirebaseDefaultFirestoreProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ min
1839
1839
  if ((emulators === null || emulators === void 0 ? void 0 : emulators.useEmulators) && (emulators === null || emulators === void 0 ? void 0 : emulators.firestore)) {
1840
1840
  connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
1841
1841
  }
1842
- if (firebaseOptions.enableIndexedDbPersistence !== false) {
1843
- enableIndexedDbPersistence(firestore);
1844
- }
1845
1842
  if (firebaseOptions.enableMultiTabIndexedDbPersistence !== false) {
1846
1843
  enableMultiTabIndexedDbPersistence(firestore);
1847
1844
  }
1845
+ else if (firebaseOptions.enableIndexedDbPersistence !== false) {
1846
+ enableIndexedDbPersistence(firestore);
1847
+ }
1848
1848
  return firestore;
1849
1849
  }))] });
1850
1850
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, decorators: [{
@@ -1859,12 +1859,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1859
1859
  if ((emulators === null || emulators === void 0 ? void 0 : emulators.useEmulators) && (emulators === null || emulators === void 0 ? void 0 : emulators.firestore)) {
1860
1860
  connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
1861
1861
  }
1862
- if (firebaseOptions.enableIndexedDbPersistence !== false) {
1863
- enableIndexedDbPersistence(firestore);
1864
- }
1865
1862
  if (firebaseOptions.enableMultiTabIndexedDbPersistence !== false) {
1866
1863
  enableMultiTabIndexedDbPersistence(firestore);
1867
1864
  }
1865
+ else if (firebaseOptions.enableIndexedDbPersistence !== false) {
1866
+ enableIndexedDbPersistence(firestore);
1867
+ }
1868
1868
  return firestore;
1869
1869
  }))
1870
1870
  ]
@@ -3436,15 +3436,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3436
3436
  /**
3437
3437
  * Directive that connects a host DbxListView to a DbxFirebaseCollectionStoreDirective to pass data for rendering items from a collection and query parameters.
3438
3438
  */
3439
- class DbxFirebaseCollectionListDirective {
3439
+ class DbxFirebaseCollectionListDirective extends AbstractSubscriptionDirective {
3440
3440
  constructor(dbxFirebaseCollectionStoreDirective, dbxListViewWrapper) {
3441
+ super();
3441
3442
  this.dbxFirebaseCollectionStoreDirective = dbxFirebaseCollectionStoreDirective;
3442
3443
  this.dbxListViewWrapper = dbxListViewWrapper;
3443
- this.dbxListViewWrapper.state$ = this.dbxFirebaseCollectionStoreDirective.pageLoadingState$;
3444
+ this.dbxListViewWrapper.state$ = this.dbxFirebaseCollectionStoreDirective.pageLoadingState$.pipe(tapLog('xxx'));
3445
+ }
3446
+ ngOnInit() {
3447
+ var _a;
3448
+ this.sub = (_a = this.dbxListViewWrapper.loadMore) === null || _a === void 0 ? void 0 : _a.subscribe(() => {
3449
+ this.dbxFirebaseCollectionStoreDirective.next();
3450
+ });
3444
3451
  }
3445
3452
  }
3446
3453
  DbxFirebaseCollectionListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseCollectionListDirective, deps: [{ token: DbxFirebaseCollectionStoreDirective }, { token: i1$2.DbxListViewWrapper, host: true }], target: i0.ɵɵFactoryTarget.Directive });
3447
- DbxFirebaseCollectionListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseCollectionListDirective, selector: "[dbxFirebaseCollectionList]", ngImport: i0 });
3454
+ DbxFirebaseCollectionListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseCollectionListDirective, selector: "[dbxFirebaseCollectionList]", usesInheritance: true, ngImport: i0 });
3448
3455
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseCollectionListDirective, decorators: [{
3449
3456
  type: Directive,
3450
3457
  args: [{