Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@ngneat/reactive-forms

Package Overview
Dependencies
Maintainers
3
Versions
53
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ngneat/reactive-forms - npm Package Compare versions

Comparing version 1.0.0-beta.35 to 1.0.0-beta.40

51

bundles/ngneat-reactive-forms.umd.js

@@ -315,6 +315,6 @@ (function (global, factory) {

_this.value$ = controlValueChanges$(_this);
_this.disabledChanges$ = controlDisabled$(_this);
_this.enabledChanges$ = controlEnabled$(_this);
_this.statusChanges$ = controlStatusChanges$(_this);
_this.errorChanges$ = controlErrorChanges$(_this);
_this.disabled$ = controlDisabled$(_this);
_this.enabled$ = controlEnabled$(_this);
_this.status$ = controlStatusChanges$(_this);
_this.errors$ = controlErrorChanges$(_this);
return _this;

@@ -336,5 +336,3 @@ }

}
else {
_super.prototype.setValue.call(this, valueOrObservable, options);
}
_super.prototype.setValue.call(this, valueOrObservable, options);
};

@@ -346,9 +344,3 @@ FormArray.prototype.patchValue = function (valueOrObservable, options) {

}
else {
var value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
_super.prototype.patchValue.call(this, value, options);
}
_super.prototype.patchValue.call(this, valueOrObservable, options);
};

@@ -443,2 +435,3 @@ FormArray.prototype.push = function (control) {

function FormControl(formState, validatorOrOpts, asyncValidator) {
if (formState === void 0) { formState = null; }
var _this = _super.call(this, formState, validatorOrOpts, asyncValidator) || this;

@@ -456,5 +449,2 @@ _this.touchChanges = new rxjs.Subject();

}
FormControl.prototype.select = function (mapFn) {
return selectControlValue$(this, mapFn);
};
FormControl.prototype.setValue = function (valueOrObservable, options) {

@@ -465,5 +455,3 @@ var _this = this;

}
else {
_super.prototype.setValue.call(this, valueOrObservable, options);
}
_super.prototype.setValue.call(this, valueOrObservable, options);
};

@@ -475,9 +463,3 @@ FormControl.prototype.patchValue = function (valueOrObservable, options) {

}
else {
var value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
_super.prototype.patchValue.call(this, value, options);
}
_super.prototype.patchValue.call(this, valueOrObservable, options);
};

@@ -517,2 +499,3 @@ FormControl.prototype.disabledWhile = function (observable, options) {

FormControl.prototype.reset = function (formState, options) {
if (formState === void 0) { formState = null; }
_super.prototype.reset.call(this, formState, options);

@@ -607,5 +590,3 @@ };

}
else {
_super.prototype.setValue.call(this, valueOrObservable, options);
}
_super.prototype.setValue.call(this, valueOrObservable, options);
};

@@ -617,9 +598,3 @@ FormGroup.prototype.patchValue = function (valueOrObservable, options) {

}
else {
var value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
_super.prototype.patchValue.call(this, value, options);
}
_super.prototype.patchValue.call(this, valueOrObservable, options);
};

@@ -718,2 +693,3 @@ FormGroup.prototype.disabledWhile = function (observable, options) {

FormBuilder.prototype.group = function (controlsConfig, options) {
if (options === void 0) { options = null; }
var controls = this._reduceControls(controlsConfig);

@@ -739,2 +715,3 @@ var validators = null;

FormBuilder.prototype.control = function (formState, validatorOrOpts, asyncValidator) {
if (formState === void 0) { formState = null; }
return new FormControl(formState, validatorOrOpts, asyncValidator);

@@ -741,0 +718,0 @@ };

@@ -15,3 +15,3 @@ !function(t,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/core")):"function"==typeof define&&define.amd?define("@ngneat/reactive-forms",["exports","@angular/forms","rxjs","rxjs/operators","@angular/core"],r):r(((t=t||self).ngneat=t.ngneat||{},t.ngneat["reactive-forms"]={}),t.ng.forms,t.rxjs,t.rxjs.operators,t.ng.core)}(this,(function(t,r,e,o,n){"use strict";

PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var i=function(t,r){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)r.hasOwnProperty(e)&&(t[e]=r[e])})(t,r)};function a(t,r){function e(){this.constructor=t}i(t,r),t.prototype=null===r?Object.create(r):(e.prototype=r.prototype,new e)}function s(t,r){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!e)return t;var o,n,i=e.call(t),a=[];try{for(;(void 0===r||r-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(t){n={error:t}}finally{try{o&&!o.done&&(e=i.return)&&e.call(i)}finally{if(n)throw n.error}}return a}function u(){for(var t=[],r=0;r<arguments.length;r++)t=t.concat(s(arguments[r]));return t}function p(t){return Array.isArray(t)?t:[t]}function l(t){return"function"==typeof t}function c(t){return null==t}function h(t){return t.getRawValue?t.getRawValue():t.value}function y(t){return e.merge(e.defer((function(){return e.of(h(t))})),t.valueChanges.pipe(o.map((function(){return h(t)}))))}function f(t){return e.merge(e.defer((function(){return e.of(t.disabled)})),t.statusChanges.pipe(o.map((function(){return t.disabled})),o.distinctUntilChanged()))}function d(t){return e.merge(e.defer((function(){return e.of(t.enabled)})),t.statusChanges.pipe(o.map((function(){return t.enabled})),o.distinctUntilChanged()))}function g(t){return e.merge(e.defer((function(){return e.of(t.status)})),t.statusChanges.pipe(o.map((function(){return t.status})),o.distinctUntilChanged()))}function v(t){return e.merge(e.defer((function(){return e.of(t.errors)})),t.valueChanges.pipe(o.map((function(){return t.errors})),o.distinctUntilChanged((function(t,r){return function(t,r){return c(t)||c(r)?t===r:JSON.stringify(t)===JSON.stringify(r)}(t,r)}))))}function b(t,r,e){r?t.enable(e):t.disable(e)}function V(t,r,e){b(t,!r,e)}function m(t,r,e){return r.subscribe((function(r){return V(t,r,e)}))}function A(t,r,e){return r.subscribe((function(r){return b(t,r,e)}))}function C(t,r){t.setValidators(u([t.validator],p(r))),t.updateValueAndValidity()}function E(t,r){return r.subscribe((function(r){t.setErrors(r)}))}function k(t,r,e){return t.hasError(r,e&&0!==e.length?e:void 0)&&t.touched}function O(t,r,e){return t.hasError(r,e&&0!==e.length?e:void 0)&&t.dirty}function $(t){t.markAsDirty({onlySelf:!0}),t._forEachChild((function(t){return t.markAllAsDirty()}))}function j(t,r){return t.value$.pipe(o.map(r),o.distinctUntilChanged())}var x=function(t){function r(r,n,i){var a=t.call(this,r,n,i)||this;return a.controls=r,a.touchChanges=new e.Subject,a.dirtyChanges=new e.Subject,a.touch$=a.touchChanges.asObservable().pipe(o.distinctUntilChanged()),a.dirty$=a.dirtyChanges.asObservable().pipe(o.distinctUntilChanged()),a.value$=y(a),a.disabledChanges$=f(a),a.enabledChanges$=d(a),a.statusChanges$=g(a),a.errorChanges$=v(a),a}return a(r,t),r.prototype.select=function(t){return this.value$.pipe(o.map(t),o.distinctUntilChanged())},r.prototype.getRawValue=function(){return t.prototype.getRawValue.call(this)},r.prototype.at=function(r){return t.prototype.at.call(this,r)},r.prototype.setValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.setValue.call(n,r,o)}));t.prototype.setValue.call(this,r,o)},r.prototype.patchValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.patchValue.call(n,r,o)}));var i=r;l(r)&&(i=r(this.value)),t.prototype.patchValue.call(this,i,o)},r.prototype.push=function(r){return t.prototype.push.call(this,r)},r.prototype.insert=function(r,e){return t.prototype.insert.call(this,r,e)},r.prototype.setControl=function(r,e){return t.prototype.setControl.call(this,r,e)},r.prototype.disabledWhile=function(t,r){return m(this,t,r)},r.prototype.enabledWhile=function(t,r){return A(this,t,r)},r.prototype.mergeValidators=function(t){C(this,t)},r.prototype.mergeAsyncValidators=function(t){this.setAsyncValidators(u([this.asyncValidator],p(t))),this.updateValueAndValidity()},r.prototype.markAsTouched=function(r){t.prototype.markAsTouched.call(this,r),this.touchChanges.next(!0)},r.prototype.markAsUntouched=function(r){t.prototype.markAsUntouched.call(this,r),this.touchChanges.next(!1)},r.prototype.markAsPristine=function(r){t.prototype.markAsPristine.call(this,r),this.dirtyChanges.next(!1)},r.prototype.markAsDirty=function(r){t.prototype.markAsDirty.call(this,r),this.dirtyChanges.next(!0)},r.prototype.markAllAsDirty=function(){$(this)},r.prototype.reset=function(r,e){t.prototype.reset.call(this,r,e)},r.prototype.setValidators=function(r){t.prototype.setValidators.call(this,r),t.prototype.updateValueAndValidity.call(this)},r.prototype.setAsyncValidators=function(r){t.prototype.setAsyncValidators.call(this,r),t.prototype.updateValueAndValidity.call(this)},r.prototype.validateOn=function(t){var r=this;return t.subscribe((function(t){r.setErrors(t)}))},r.prototype.hasError=function(r,e){return t.prototype.hasError.call(this,r,e)},r.prototype.setErrors=function(r,e){return void 0===e&&(e={}),t.prototype.setErrors.call(this,r,e)},r.prototype.getError=function(r,e){return t.prototype.getError.call(this,r,e)},r.prototype.hasErrorAndTouched=function(t,r){return k(this,t,r)},r.prototype.hasErrorAndDirty=function(t,r){return O(this,t,r)},r.prototype.setEnable=function(t,r){void 0===t&&(t=!0),b(this,t,r)},r.prototype.setDisable=function(t,r){void 0===t&&(t=!0),V(this,t,r)},r}(r.FormArray),w=function(t){function r(r,n,i){var a=t.call(this,r,n,i)||this;return a.touchChanges=new e.Subject,a.dirtyChanges=new e.Subject,a.touch$=a.touchChanges.asObservable().pipe(o.distinctUntilChanged()),a.dirty$=a.dirtyChanges.asObservable().pipe(o.distinctUntilChanged()),a.value$=y(a),a.disabled$=f(a),a.enabled$=d(a),a.status$=g(a),a.errors$=v(a),a}return a(r,t),r.prototype.select=function(t){return j(this,t)},r.prototype.setValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.setValue.call(n,r,o)}));t.prototype.setValue.call(this,r,o)},r.prototype.patchValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.patchValue.call(n,r,o)}));var i=r;l(r)&&(i=r(this.value)),t.prototype.patchValue.call(this,i,o)},r.prototype.disabledWhile=function(t,r){return m(this,t,r)},r.prototype.enabledWhile=function(t,r){return A(this,t,r)},r.prototype.mergeValidators=function(t){C(this,t)},r.prototype.mergeAsyncValidators=function(t){this.setAsyncValidators(u([this.asyncValidator],p(t))),this.updateValueAndValidity()},r.prototype.markAsTouched=function(r){t.prototype.markAsTouched.call(this,r),this.touchChanges.next(!0)},r.prototype.markAsUntouched=function(r){t.prototype.markAsUntouched.call(this,r),this.touchChanges.next(!1)},r.prototype.markAsPristine=function(r){t.prototype.markAsPristine.call(this,r),this.dirtyChanges.next(!1)},r.prototype.markAsDirty=function(r){t.prototype.markAsDirty.call(this,r),this.dirtyChanges.next(!0)},r.prototype.markAllAsDirty=function(){this.markAsDirty({onlySelf:!0})},r.prototype.reset=function(r,e){t.prototype.reset.call(this,r,e)},r.prototype.setValidators=function(r){t.prototype.setValidators.call(this,r),t.prototype.updateValueAndValidity.call(this)},r.prototype.setAsyncValidators=function(r){t.prototype.setAsyncValidators.call(this,r),t.prototype.updateValueAndValidity.call(this)},r.prototype.validateOn=function(t){return E(this,t)},r.prototype.getError=function(r){return t.prototype.getError.call(this,r)},r.prototype.hasError=function(r){return t.prototype.hasError.call(this,r)},r.prototype.setErrors=function(r,e){return void 0===e&&(e={}),t.prototype.setErrors.call(this,r,e)},r.prototype.hasErrorAndTouched=function(t){return k(this,t)},r.prototype.hasErrorAndDirty=function(t){return O(this,t)},r.prototype.setEnable=function(t,r){void 0===t&&(t=!0),b(this,t,r)},r.prototype.setDisable=function(t,r){void 0===t&&(t=!0),V(this,t,r)},r}(r.FormControl),D=function(t){function r(r,n,i){var a=t.call(this,r,n,i)||this;return a.controls=r,a.touchChanges=new e.Subject,a.dirtyChanges=new e.Subject,a.touch$=a.touchChanges.asObservable().pipe(o.distinctUntilChanged()),a.dirty$=a.dirtyChanges.asObservable().pipe(o.distinctUntilChanged()),a.value$=y(a),a.disabled$=f(a),a.enabled$=d(a),a.status$=g(a),a.errors$=v(a),a}return a(r,t),r.prototype.select=function(t){return j(this,t)},r.prototype.getRawValue=function(){return t.prototype.getRawValue.call(this)},r.prototype.get=function(r){return t.prototype.get.call(this,r)},r.prototype.getControl=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return this.get(t.join("."))},r.prototype.addControl=function(r,e){t.prototype.addControl.call(this,r,e)},r.prototype.removeControl=function(r){t.prototype.removeControl.call(this,r)},r.prototype.contains=function(r){return t.prototype.contains.call(this,r)},r.prototype.setControl=function(r,e){t.prototype.setControl.call(this,r,e)},r.prototype.setValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.setValue.call(n,r,o)}));t.prototype.setValue.call(this,r,o)},r.prototype.patchValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.patchValue.call(n,r,o)}));var i=r;l(r)&&(i=r(this.value)),t.prototype.patchValue.call(this,i,o)},r.prototype.disabledWhile=function(t,r){return m(this,t,r)},r.prototype.enabledWhile=function(t,r){return A(this,t,r)},r.prototype.mergeValidators=function(t){C(this,t)},r.prototype.mergeAsyncValidators=function(t){this.setAsyncValidators(u([this.asyncValidator],p(t))),this.updateValueAndValidity()},r.prototype.markAsTouched=function(r){t.prototype.markAsTouched.call(this,r),this.touchChanges.next(!0)},r.prototype.markAsUntouched=function(r){t.prototype.markAsUntouched.call(this,r),this.touchChanges.next(!1)},r.prototype.markAsPristine=function(r){t.prototype.markAsPristine.call(this,r),this.dirtyChanges.next(!1)},r.prototype.markAsDirty=function(r){t.prototype.markAsDirty.call(this,r),this.dirtyChanges.next(!0)},r.prototype.markAllAsDirty=function(){$(this)},r.prototype.reset=function(r,e){t.prototype.reset.call(this,r,e)},r.prototype.setValidators=function(r){t.prototype.setValidators.call(this,r),t.prototype.updateValueAndValidity.call(this)},r.prototype.setAsyncValidators=function(r){t.prototype.setAsyncValidators.call(this,r),t.prototype.updateValueAndValidity.call(this)},r.prototype.validateOn=function(t){return E(this,t)},r.prototype.hasError=function(r,e){return t.prototype.hasError.call(this,r,e)},r.prototype.setErrors=function(r,e){return void 0===e&&(e={}),t.prototype.setErrors.call(this,r,e)},r.prototype.getError=function(r,e){return t.prototype.getError.call(this,r,e)},r.prototype.hasErrorAndTouched=function(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return k.apply(void 0,u([this,t],r))},r.prototype.hasErrorAndDirty=function(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return O.apply(void 0,u([this,t],r))},r.prototype.setEnable=function(t,r){void 0===t&&(t=!0),b(this,t,r)},r.prototype.setDisable=function(t,r){void 0===t&&(t=!0),V(this,t,r)},r}(r.FormGroup);var U=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return a(r,t),r.prototype.group=function(t,r){var e,o=this._reduceControls(t),n=null,i=null;return null!=r&&(!function(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(r)?(n=null!=r.validator?r.validator:null,i=null!=r.asyncValidator?r.asyncValidator:null):(n=null!=r.validators?r.validators:null,i=null!=r.asyncValidators?r.asyncValidators:null,e=null!=r.updateOn?r.updateOn:void 0)),new D(o,{asyncValidators:i,updateOn:e,validators:n})},r.prototype.control=function(t,r,e){return new w(t,r,e)},r.prototype.array=function(t,r,e){var o=this,n=t.map((function(t){return o._createControl(t)}));return new x(n,r,e)},r.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new r},token:r,providedIn:"root"}),r=function(t,r,e,o){var n,i=arguments.length,a=i<3?r:null===o?o=Object.getOwnPropertyDescriptor(r,e):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,r,e,o);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(i<3?n(a):i>3?n(r,e,a):n(r,e))||a);return i>3&&a&&Object.defineProperty(r,e,a),a}([n.Injectable({providedIn:"root"})],r)}(r.FormBuilder),_=function(){function t(){this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t}();t.ControlValueAccessor=_,t.FormArray=x,t.FormBuilder=U,t.FormControl=w,t.FormGroup=D,Object.defineProperty(t,"__esModule",{value:!0})}));
***************************************************************************** */var i=function(t,r){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)r.hasOwnProperty(e)&&(t[e]=r[e])})(t,r)};function a(t,r){function e(){this.constructor=t}i(t,r),t.prototype=null===r?Object.create(r):(e.prototype=r.prototype,new e)}function s(t,r){var e="function"==typeof Symbol&&t[Symbol.iterator];if(!e)return t;var o,n,i=e.call(t),a=[];try{for(;(void 0===r||r-- >0)&&!(o=i.next()).done;)a.push(o.value)}catch(t){n={error:t}}finally{try{o&&!o.done&&(e=i.return)&&e.call(i)}finally{if(n)throw n.error}}return a}function u(){for(var t=[],r=0;r<arguments.length;r++)t=t.concat(s(arguments[r]));return t}function p(t){return Array.isArray(t)?t:[t]}function l(t){return null==t}function c(t){return t.getRawValue?t.getRawValue():t.value}function h(t){return e.merge(e.defer((function(){return e.of(c(t))})),t.valueChanges.pipe(o.map((function(){return c(t)}))))}function y(t){return e.merge(e.defer((function(){return e.of(t.disabled)})),t.statusChanges.pipe(o.map((function(){return t.disabled})),o.distinctUntilChanged()))}function d(t){return e.merge(e.defer((function(){return e.of(t.enabled)})),t.statusChanges.pipe(o.map((function(){return t.enabled})),o.distinctUntilChanged()))}function f(t){return e.merge(e.defer((function(){return e.of(t.status)})),t.statusChanges.pipe(o.map((function(){return t.status})),o.distinctUntilChanged()))}function g(t){return e.merge(e.defer((function(){return e.of(t.errors)})),t.valueChanges.pipe(o.map((function(){return t.errors})),o.distinctUntilChanged((function(t,r){return function(t,r){return l(t)||l(r)?t===r:JSON.stringify(t)===JSON.stringify(r)}(t,r)}))))}function b(t,r,e){r?t.enable(e):t.disable(e)}function v(t,r,e){b(t,!r,e)}function V(t,r,e){return r.subscribe((function(r){return v(t,r,e)}))}function m(t,r,e){return r.subscribe((function(r){return b(t,r,e)}))}function A(t,r){t.setValidators(u([t.validator],p(r))),t.updateValueAndValidity()}function C(t,r){return r.subscribe((function(r){t.setErrors(r)}))}function E(t,r,e){return t.hasError(r,e&&0!==e.length?e:void 0)&&t.touched}function k(t,r,e){return t.hasError(r,e&&0!==e.length?e:void 0)&&t.dirty}function O(t){t.markAsDirty({onlySelf:!0}),t._forEachChild((function(t){return t.markAllAsDirty()}))}var $=function(t){function r(r,n,i){var a=t.call(this,r,n,i)||this;return a.controls=r,a.touchChanges=new e.Subject,a.dirtyChanges=new e.Subject,a.touch$=a.touchChanges.asObservable().pipe(o.distinctUntilChanged()),a.dirty$=a.dirtyChanges.asObservable().pipe(o.distinctUntilChanged()),a.value$=h(a),a.disabled$=y(a),a.enabled$=d(a),a.status$=f(a),a.errors$=g(a),a}return a(r,t),r.prototype.select=function(t){return this.value$.pipe(o.map(t),o.distinctUntilChanged())},r.prototype.getRawValue=function(){return t.prototype.getRawValue.call(this)},r.prototype.at=function(r){return t.prototype.at.call(this,r)},r.prototype.setValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.setValue.call(n,r,o)}));t.prototype.setValue.call(this,r,o)},r.prototype.patchValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.patchValue.call(n,r,o)}));t.prototype.patchValue.call(this,r,o)},r.prototype.push=function(r){return t.prototype.push.call(this,r)},r.prototype.insert=function(r,e){return t.prototype.insert.call(this,r,e)},r.prototype.setControl=function(r,e){return t.prototype.setControl.call(this,r,e)},r.prototype.disabledWhile=function(t,r){return V(this,t,r)},r.prototype.enabledWhile=function(t,r){return m(this,t,r)},r.prototype.mergeValidators=function(t){A(this,t)},r.prototype.mergeAsyncValidators=function(t){this.setAsyncValidators(u([this.asyncValidator],p(t))),this.updateValueAndValidity()},r.prototype.markAsTouched=function(r){t.prototype.markAsTouched.call(this,r),this.touchChanges.next(!0)},r.prototype.markAsUntouched=function(r){t.prototype.markAsUntouched.call(this,r),this.touchChanges.next(!1)},r.prototype.markAsPristine=function(r){t.prototype.markAsPristine.call(this,r),this.dirtyChanges.next(!1)},r.prototype.markAsDirty=function(r){t.prototype.markAsDirty.call(this,r),this.dirtyChanges.next(!0)},r.prototype.markAllAsDirty=function(){O(this)},r.prototype.reset=function(r,e){t.prototype.reset.call(this,r,e)},r.prototype.setValidators=function(r){t.prototype.setValidators.call(this,r),t.prototype.updateValueAndValidity.call(this)},r.prototype.setAsyncValidators=function(r){t.prototype.setAsyncValidators.call(this,r),t.prototype.updateValueAndValidity.call(this)},r.prototype.validateOn=function(t){var r=this;return t.subscribe((function(t){r.setErrors(t)}))},r.prototype.hasError=function(r,e){return t.prototype.hasError.call(this,r,e)},r.prototype.setErrors=function(r,e){return void 0===e&&(e={}),t.prototype.setErrors.call(this,r,e)},r.prototype.getError=function(r,e){return t.prototype.getError.call(this,r,e)},r.prototype.hasErrorAndTouched=function(t,r){return E(this,t,r)},r.prototype.hasErrorAndDirty=function(t,r){return k(this,t,r)},r.prototype.setEnable=function(t,r){void 0===t&&(t=!0),b(this,t,r)},r.prototype.setDisable=function(t,r){void 0===t&&(t=!0),v(this,t,r)},r}(r.FormArray),j=function(t){function r(r,n,i){void 0===r&&(r=null);var a=t.call(this,r,n,i)||this;return a.touchChanges=new e.Subject,a.dirtyChanges=new e.Subject,a.touch$=a.touchChanges.asObservable().pipe(o.distinctUntilChanged()),a.dirty$=a.dirtyChanges.asObservable().pipe(o.distinctUntilChanged()),a.value$=h(a),a.disabled$=y(a),a.enabled$=d(a),a.status$=f(a),a.errors$=g(a),a}return a(r,t),r.prototype.setValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.setValue.call(n,r,o)}));t.prototype.setValue.call(this,r,o)},r.prototype.patchValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.patchValue.call(n,r,o)}));t.prototype.patchValue.call(this,r,o)},r.prototype.disabledWhile=function(t,r){return V(this,t,r)},r.prototype.enabledWhile=function(t,r){return m(this,t,r)},r.prototype.mergeValidators=function(t){A(this,t)},r.prototype.mergeAsyncValidators=function(t){this.setAsyncValidators(u([this.asyncValidator],p(t))),this.updateValueAndValidity()},r.prototype.markAsTouched=function(r){t.prototype.markAsTouched.call(this,r),this.touchChanges.next(!0)},r.prototype.markAsUntouched=function(r){t.prototype.markAsUntouched.call(this,r),this.touchChanges.next(!1)},r.prototype.markAsPristine=function(r){t.prototype.markAsPristine.call(this,r),this.dirtyChanges.next(!1)},r.prototype.markAsDirty=function(r){t.prototype.markAsDirty.call(this,r),this.dirtyChanges.next(!0)},r.prototype.markAllAsDirty=function(){this.markAsDirty({onlySelf:!0})},r.prototype.reset=function(r,e){void 0===r&&(r=null),t.prototype.reset.call(this,r,e)},r.prototype.setValidators=function(r){t.prototype.setValidators.call(this,r),t.prototype.updateValueAndValidity.call(this)},r.prototype.setAsyncValidators=function(r){t.prototype.setAsyncValidators.call(this,r),t.prototype.updateValueAndValidity.call(this)},r.prototype.validateOn=function(t){return C(this,t)},r.prototype.getError=function(r){return t.prototype.getError.call(this,r)},r.prototype.hasError=function(r){return t.prototype.hasError.call(this,r)},r.prototype.setErrors=function(r,e){return void 0===e&&(e={}),t.prototype.setErrors.call(this,r,e)},r.prototype.hasErrorAndTouched=function(t){return E(this,t)},r.prototype.hasErrorAndDirty=function(t){return k(this,t)},r.prototype.setEnable=function(t,r){void 0===t&&(t=!0),b(this,t,r)},r.prototype.setDisable=function(t,r){void 0===t&&(t=!0),v(this,t,r)},r}(r.FormControl),x=function(t){function r(r,n,i){var a=t.call(this,r,n,i)||this;return a.controls=r,a.touchChanges=new e.Subject,a.dirtyChanges=new e.Subject,a.touch$=a.touchChanges.asObservable().pipe(o.distinctUntilChanged()),a.dirty$=a.dirtyChanges.asObservable().pipe(o.distinctUntilChanged()),a.value$=h(a),a.disabled$=y(a),a.enabled$=d(a),a.status$=f(a),a.errors$=g(a),a}return a(r,t),r.prototype.select=function(t){return function(t,r){return t.value$.pipe(o.map(r),o.distinctUntilChanged())}(this,t)},r.prototype.getRawValue=function(){return t.prototype.getRawValue.call(this)},r.prototype.get=function(r){return t.prototype.get.call(this,r)},r.prototype.getControl=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return this.get(t.join("."))},r.prototype.addControl=function(r,e){t.prototype.addControl.call(this,r,e)},r.prototype.removeControl=function(r){t.prototype.removeControl.call(this,r)},r.prototype.contains=function(r){return t.prototype.contains.call(this,r)},r.prototype.setControl=function(r,e){t.prototype.setControl.call(this,r,e)},r.prototype.setValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.setValue.call(n,r,o)}));t.prototype.setValue.call(this,r,o)},r.prototype.patchValue=function(r,o){var n=this;if(e.isObservable(r))return r.subscribe((function(r){return t.prototype.patchValue.call(n,r,o)}));t.prototype.patchValue.call(this,r,o)},r.prototype.disabledWhile=function(t,r){return V(this,t,r)},r.prototype.enabledWhile=function(t,r){return m(this,t,r)},r.prototype.mergeValidators=function(t){A(this,t)},r.prototype.mergeAsyncValidators=function(t){this.setAsyncValidators(u([this.asyncValidator],p(t))),this.updateValueAndValidity()},r.prototype.markAsTouched=function(r){t.prototype.markAsTouched.call(this,r),this.touchChanges.next(!0)},r.prototype.markAsUntouched=function(r){t.prototype.markAsUntouched.call(this,r),this.touchChanges.next(!1)},r.prototype.markAsPristine=function(r){t.prototype.markAsPristine.call(this,r),this.dirtyChanges.next(!1)},r.prototype.markAsDirty=function(r){t.prototype.markAsDirty.call(this,r),this.dirtyChanges.next(!0)},r.prototype.markAllAsDirty=function(){O(this)},r.prototype.reset=function(r,e){t.prototype.reset.call(this,r,e)},r.prototype.setValidators=function(r){t.prototype.setValidators.call(this,r),t.prototype.updateValueAndValidity.call(this)},r.prototype.setAsyncValidators=function(r){t.prototype.setAsyncValidators.call(this,r),t.prototype.updateValueAndValidity.call(this)},r.prototype.validateOn=function(t){return C(this,t)},r.prototype.hasError=function(r,e){return t.prototype.hasError.call(this,r,e)},r.prototype.setErrors=function(r,e){return void 0===e&&(e={}),t.prototype.setErrors.call(this,r,e)},r.prototype.getError=function(r,e){return t.prototype.getError.call(this,r,e)},r.prototype.hasErrorAndTouched=function(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return E.apply(void 0,u([this,t],r))},r.prototype.hasErrorAndDirty=function(t){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return k.apply(void 0,u([this,t],r))},r.prototype.setEnable=function(t,r){void 0===t&&(t=!0),b(this,t,r)},r.prototype.setDisable=function(t,r){void 0===t&&(t=!0),v(this,t,r)},r}(r.FormGroup);var w=function(t){function r(){return null!==t&&t.apply(this,arguments)||this}return a(r,t),r.prototype.group=function(t,r){void 0===r&&(r=null);var e,o=this._reduceControls(t),n=null,i=null;return null!=r&&(!function(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(r)?(n=null!=r.validator?r.validator:null,i=null!=r.asyncValidator?r.asyncValidator:null):(n=null!=r.validators?r.validators:null,i=null!=r.asyncValidators?r.asyncValidators:null,e=null!=r.updateOn?r.updateOn:void 0)),new x(o,{asyncValidators:i,updateOn:e,validators:n})},r.prototype.control=function(t,r,e){return void 0===t&&(t=null),new j(t,r,e)},r.prototype.array=function(t,r,e){var o=this,n=t.map((function(t){return o._createControl(t)}));return new $(n,r,e)},r.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new r},token:r,providedIn:"root"}),r=function(t,r,e,o){var n,i=arguments.length,a=i<3?r:null===o?o=Object.getOwnPropertyDescriptor(r,e):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,r,e,o);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(i<3?n(a):i>3?n(r,e,a):n(r,e))||a);return i>3&&a&&Object.defineProperty(r,e,a),a}([n.Injectable({providedIn:"root"})],r)}(r.FormBuilder),D=function(){function t(){this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.registerOnChange=function(t){this.onChange=t},t.prototype.registerOnTouched=function(t){this.onTouched=t},t}();t.ControlValueAccessor=D,t.FormArray=$,t.FormBuilder=w,t.FormControl=j,t.FormGroup=x,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=ngneat-reactive-forms.umd.min.js.map

@@ -72,2 +72,2 @@ import { defer, merge, of } from 'rxjs';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9sLWFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFN0MsU0FBUyxlQUFlLENBQUksT0FBMkI7SUFDckQsSUFBSyxPQUFlLENBQUMsV0FBVyxFQUFFO1FBQ2hDLE9BQVEsT0FBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQ3ZDO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxDQUEwQixFQUFFLENBQTBCO0lBQzNFLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDaEI7SUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLE9BQTJCO0lBQ2pFLE9BQU8sS0FBSyxDQUNWLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFDekMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQy9ELENBQUM7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RCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLE9BQXFELEVBQ3JELEtBQTRCO0lBRTVCLE9BQVEsT0FBTyxDQUFDLE1BQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7QUFDdEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWZlciwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb3JtQXJyYXkgfSBmcm9tICcuL2Zvcm1BcnJheSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJy4vZm9ybUNvbnRyb2wnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnLi9mb3JtR3JvdXAnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sT3B0aW9ucywgQ29udHJvbFN0YXRlLCBWYWxpZGF0b3JGbiwgQ29udHJvbFBhdGggfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBpc05pbCB9IGZyb20gJy4vdXRpbHMnO1xuXG5mdW5jdGlvbiBnZXRDb250cm9sVmFsdWU8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+KTogVCB7XG4gIGlmICgoY29udHJvbCBhcyBhbnkpLmdldFJhd1ZhbHVlKSB7XG4gICAgcmV0dXJuIChjb250cm9sIGFzIGFueSkuZ2V0UmF3VmFsdWUoKTtcbiAgfVxuICByZXR1cm4gY29udHJvbC52YWx1ZTtcbn1cblxuZnVuY3Rpb24gY29tcGFyZUVycm9ycyhhOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCwgYjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwpIHtcbiAgaWYgKGlzTmlsKGEpIHx8IGlzTmlsKGIpKSB7XG4gICAgcmV0dXJuIGEgPT09IGI7XG4gIH1cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGEpID09PSBKU09OLnN0cmluZ2lmeShiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xWYWx1ZUNoYW5nZXMkPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPik6IE9ic2VydmFibGU8VD4ge1xuICByZXR1cm4gbWVyZ2UoXG4gICAgZGVmZXIoKCkgPT4gb2YoZ2V0Q29udHJvbFZhbHVlKGNvbnRyb2wpKSksXG4gICAgY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShtYXAoKCkgPT4gZ2V0Q29udHJvbFZhbHVlKGNvbnRyb2wpKSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xEaXNhYmxlZCQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gIHJldHVybiBtZXJnZShcbiAgICBkZWZlcigoKSA9PiBvZihjb250cm9sLmRpc2FibGVkKSksXG4gICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gY29udHJvbC5kaXNhYmxlZCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbEVuYWJsZWQkPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICByZXR1cm4gbWVyZ2UoXG4gICAgZGVmZXIoKCkgPT4gb2YoY29udHJvbC5lbmFibGVkKSksXG4gICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gY29udHJvbC5lbmFibGVkKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sU3RhdHVzQ2hhbmdlcyQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+KTogT2JzZXJ2YWJsZTxDb250cm9sU3RhdGU+IHtcbiAgcmV0dXJuIG1lcmdlKFxuICAgIGRlZmVyKCgpID0+IG9mKGNvbnRyb2wuc3RhdHVzIGFzIENvbnRyb2xTdGF0ZSkpLFxuICAgIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKFxuICAgICAgbWFwKCgpID0+IGNvbnRyb2wuc3RhdHVzIGFzIENvbnRyb2xTdGF0ZSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbEVycm9yQ2hhbmdlcyQ8RT4oY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogT2JzZXJ2YWJsZTxFIHwgbnVsbD4ge1xuICByZXR1cm4gbWVyZ2UoXG4gICAgZGVmZXIoKCkgPT4gb2YoY29udHJvbC5lcnJvcnMgYXMgRSkpLFxuICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gY29udHJvbC5lcnJvcnMgYXMgRSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gY29tcGFyZUVycm9ycyhhLCBiKSlcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVDb250cm9sPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPiwgZW5hYmxlZDogYm9vbGVhbiwgb3B0cz86IENvbnRyb2xPcHRpb25zKTogdm9pZCB7XG4gIGlmIChlbmFibGVkKSB7XG4gICAgY29udHJvbC5lbmFibGUob3B0cyk7XG4gIH0gZWxzZSB7XG4gICAgY29udHJvbC5kaXNhYmxlKG9wdHMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkaXNhYmxlQ29udHJvbDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4sIGRpc2FibGVkOiBib29sZWFuLCBvcHRzPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkIHtcbiAgZW5hYmxlQ29udHJvbChjb250cm9sLCAhZGlzYWJsZWQsIG9wdHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbERpc2FibGVkV2hpbGU8VD4oXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPixcbiAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgb3B0cz86IENvbnRyb2xPcHRpb25zXG4pOiBTdWJzY3JpcHRpb24ge1xuICByZXR1cm4gb2JzZXJ2YWJsZS5zdWJzY3JpYmUoaXNEaXNhYmxlZCA9PiBkaXNhYmxlQ29udHJvbChjb250cm9sLCBpc0Rpc2FibGVkLCBvcHRzKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRW5hYmxlZFdoaWxlPFQ+KFxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4sXG4gIG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gIG9wdHM/OiBDb250cm9sT3B0aW9uc1xuKTogU3Vic2NyaXB0aW9uIHtcbiAgcmV0dXJuIG9ic2VydmFibGUuc3Vic2NyaWJlKGlzRW5hYmxlZCA9PiBlbmFibGVDb250cm9sKGNvbnRyb2wsIGlzRW5hYmxlZCwgb3B0cykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VDb250cm9sVmFsaWRhdG9yczxULCBFLCBDb250cm9sIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sPFQ+PihcbiAgY29udHJvbDogQ29udHJvbCxcbiAgdmFsaWRhdG9yczogVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD4gfCBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPltdXG4pOiB2b2lkIHtcbiAgY29udHJvbC5zZXRWYWxpZGF0b3JzKFtjb250cm9sLnZhbGlkYXRvciwgLi4uY29lcmNlQXJyYXkodmFsaWRhdG9ycyldKTtcbiAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNvbnRyb2xPbjxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4sIHZhbGlkYXRpb246IE9ic2VydmFibGU8bnVsbCB8IG9iamVjdD4pOiBTdWJzY3JpcHRpb24ge1xuICByZXR1cm4gdmFsaWRhdGlvbi5zdWJzY3JpYmUobWF5YmVFcnJvciA9PiB7XG4gICAgY29udHJvbC5zZXRFcnJvcnMobWF5YmVFcnJvcik7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzRXJyb3JBbmRUb3VjaGVkPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPiwgZXJyb3I6IHN0cmluZywgcGF0aD86IENvbnRyb2xQYXRoKTogYm9vbGVhbiB7XG4gIGNvbnN0IGhhc0Vycm9yID0gY29udHJvbC5oYXNFcnJvcihlcnJvciwgIXBhdGggfHwgcGF0aC5sZW5ndGggPT09IDAgPyB1bmRlZmluZWQgOiBwYXRoKTtcbiAgcmV0dXJuIGhhc0Vycm9yICYmIGNvbnRyb2wudG91Y2hlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0Vycm9yQW5kRGlydHk8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+LCBlcnJvcjogc3RyaW5nLCBwYXRoPzogQ29udHJvbFBhdGgpOiBib29sZWFuIHtcbiAgY29uc3QgaGFzRXJyb3IgPSBjb250cm9sLmhhc0Vycm9yKGVycm9yLCAhcGF0aCB8fCBwYXRoLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IHBhdGgpO1xuICByZXR1cm4gaGFzRXJyb3IgJiYgY29udHJvbC5kaXJ0eTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcmtBbGxEaXJ0eTxUPihjb250cm9sOiBGb3JtQXJyYXk8VD4gfCBGb3JtR3JvdXA8VD4pOiB2b2lkIHtcbiAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAoY29udHJvbCBhcyBhbnkpLl9mb3JFYWNoQ2hpbGQoY29udHJvbCA9PiBjb250cm9sLm1hcmtBbGxBc0RpcnR5KCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0Q29udHJvbFZhbHVlJDxULCBSPihcbiAgY29udHJvbDogRm9ybUdyb3VwPFQ+IHwgRm9ybUFycmF5PFQ+IHwgRm9ybUNvbnRyb2w8VD4sXG4gIG1hcEZuOiAoc3RhdGU6IFQgfCBUW10pID0+IFJcbik6IE9ic2VydmFibGU8Uj4ge1xuICByZXR1cm4gKGNvbnRyb2wudmFsdWUkIGFzIE9ic2VydmFibGU8YW55PikucGlwZShtYXAobWFwRm4pLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9sLWFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFN0MsU0FBUyxlQUFlLENBQUksT0FBd0I7SUFDbEQsSUFBSyxPQUFlLENBQUMsV0FBVyxFQUFFO1FBQ2hDLE9BQVEsT0FBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQ3ZDO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxDQUEwQixFQUFFLENBQTBCO0lBQzNFLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDaEI7SUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLE9BQXdCO0lBQzlELE9BQU8sS0FBSyxDQUNWLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFDekMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQzlDLENBQUM7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RUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxPQUE0QyxFQUM1QyxLQUE0QjtJQUU1QixPQUFRLE9BQU8sQ0FBQyxNQUEwQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0FBQ3RGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWZlciwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb3JtQXJyYXkgfSBmcm9tICcuL2Zvcm1BcnJheSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJy4vZm9ybUNvbnRyb2wnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnLi9mb3JtR3JvdXAnO1xuaW1wb3J0IHsgQ29udHJvbE9wdGlvbnMsIENvbnRyb2xQYXRoLCBDb250cm9sU3RhdGUsIFZhbGlkYXRvckZuIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSwgaXNOaWwgfSBmcm9tICcuL3V0aWxzJztcblxuZnVuY3Rpb24gZ2V0Q29udHJvbFZhbHVlPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFQge1xuICBpZiAoKGNvbnRyb2wgYXMgYW55KS5nZXRSYXdWYWx1ZSkge1xuICAgIHJldHVybiAoY29udHJvbCBhcyBhbnkpLmdldFJhd1ZhbHVlKCk7XG4gIH1cbiAgcmV0dXJuIGNvbnRyb2wudmFsdWU7XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVFcnJvcnMoYTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwsIGI6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsKSB7XG4gIGlmIChpc05pbChhKSB8fCBpc05pbChiKSkge1xuICAgIHJldHVybiBhID09PSBiO1xuICB9XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShhKSA9PT0gSlNPTi5zdHJpbmdpZnkoYik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sVmFsdWVDaGFuZ2VzJDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIG1lcmdlKFxuICAgIGRlZmVyKCgpID0+IG9mKGdldENvbnRyb2xWYWx1ZShjb250cm9sKSkpLFxuICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUobWFwKCgpID0+IGdldENvbnRyb2xWYWx1ZShjb250cm9sKSkpXG4gICkgYXMgT2JzZXJ2YWJsZTxUPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xEaXNhYmxlZCQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gIHJldHVybiBtZXJnZShcbiAgICBkZWZlcigoKSA9PiBvZihjb250cm9sLmRpc2FibGVkKSksXG4gICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gY29udHJvbC5kaXNhYmxlZCksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbEVuYWJsZWQkPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICByZXR1cm4gbWVyZ2UoXG4gICAgZGVmZXIoKCkgPT4gb2YoY29udHJvbC5lbmFibGVkKSksXG4gICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gY29udHJvbC5lbmFibGVkKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sU3RhdHVzQ2hhbmdlcyQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogT2JzZXJ2YWJsZTxDb250cm9sU3RhdGU+IHtcbiAgcmV0dXJuIG1lcmdlKFxuICAgIGRlZmVyKCgpID0+IG9mKGNvbnRyb2wuc3RhdHVzIGFzIENvbnRyb2xTdGF0ZSkpLFxuICAgIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKFxuICAgICAgbWFwKCgpID0+IGNvbnRyb2wuc3RhdHVzIGFzIENvbnRyb2xTdGF0ZSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbEVycm9yQ2hhbmdlcyQ8RT4oY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogT2JzZXJ2YWJsZTxFIHwgbnVsbD4ge1xuICByZXR1cm4gbWVyZ2UoXG4gICAgZGVmZXIoKCkgPT4gb2YoY29udHJvbC5lcnJvcnMgYXMgRSkpLFxuICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gY29udHJvbC5lcnJvcnMgYXMgRSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gY29tcGFyZUVycm9ycyhhLCBiKSlcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVDb250cm9sPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZW5hYmxlZDogYm9vbGVhbiwgb3B0cz86IENvbnRyb2xPcHRpb25zKTogdm9pZCB7XG4gIGlmIChlbmFibGVkKSB7XG4gICAgY29udHJvbC5lbmFibGUob3B0cyk7XG4gIH0gZWxzZSB7XG4gICAgY29udHJvbC5kaXNhYmxlKG9wdHMpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkaXNhYmxlQ29udHJvbDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGRpc2FibGVkOiBib29sZWFuLCBvcHRzPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkIHtcbiAgZW5hYmxlQ29udHJvbChjb250cm9sLCAhZGlzYWJsZWQsIG9wdHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbERpc2FibGVkV2hpbGU8VD4oXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcbiAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgb3B0cz86IENvbnRyb2xPcHRpb25zXG4pOiBTdWJzY3JpcHRpb24ge1xuICByZXR1cm4gb2JzZXJ2YWJsZS5zdWJzY3JpYmUoaXNEaXNhYmxlZCA9PiBkaXNhYmxlQ29udHJvbChjb250cm9sLCBpc0Rpc2FibGVkLCBvcHRzKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRW5hYmxlZFdoaWxlPFQ+KFxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gIG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gIG9wdHM/OiBDb250cm9sT3B0aW9uc1xuKTogU3Vic2NyaXB0aW9uIHtcbiAgcmV0dXJuIG9ic2VydmFibGUuc3Vic2NyaWJlKGlzRW5hYmxlZCA9PiBlbmFibGVDb250cm9sKGNvbnRyb2wsIGlzRW5hYmxlZCwgb3B0cykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VDb250cm9sVmFsaWRhdG9yczxULCBDb250cm9sIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sPihcbiAgY29udHJvbDogQ29udHJvbCxcbiAgdmFsaWRhdG9yczogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdXG4pOiB2b2lkIHtcbiAgY29udHJvbC5zZXRWYWxpZGF0b3JzKFtjb250cm9sLnZhbGlkYXRvciwgLi4uY29lcmNlQXJyYXkodmFsaWRhdG9ycyldKTtcbiAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNvbnRyb2xPbjxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIHZhbGlkYXRpb246IE9ic2VydmFibGU8bnVsbCB8IG9iamVjdD4pOiBTdWJzY3JpcHRpb24ge1xuICByZXR1cm4gdmFsaWRhdGlvbi5zdWJzY3JpYmUobWF5YmVFcnJvciA9PiB7XG4gICAgY29udHJvbC5zZXRFcnJvcnMobWF5YmVFcnJvcik7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzRXJyb3JBbmRUb3VjaGVkPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZXJyb3I6IHN0cmluZywgcGF0aD86IENvbnRyb2xQYXRoKTogYm9vbGVhbiB7XG4gIGNvbnN0IGhhc0Vycm9yID0gY29udHJvbC5oYXNFcnJvcihlcnJvciwgIXBhdGggfHwgcGF0aC5sZW5ndGggPT09IDAgPyB1bmRlZmluZWQgOiBwYXRoKTtcbiAgcmV0dXJuIGhhc0Vycm9yICYmIGNvbnRyb2wudG91Y2hlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0Vycm9yQW5kRGlydHkoY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBlcnJvcjogc3RyaW5nLCBwYXRoPzogQ29udHJvbFBhdGgpOiBib29sZWFuIHtcbiAgY29uc3QgaGFzRXJyb3IgPSBjb250cm9sLmhhc0Vycm9yKGVycm9yLCAhcGF0aCB8fCBwYXRoLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IHBhdGgpO1xuICByZXR1cm4gaGFzRXJyb3IgJiYgY29udHJvbC5kaXJ0eTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcmtBbGxEaXJ0eTxUPihjb250cm9sOiBGb3JtQXJyYXk8VD4gfCBGb3JtR3JvdXApOiB2b2lkIHtcbiAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAoY29udHJvbCBhcyBhbnkpLl9mb3JFYWNoQ2hpbGQoY29udHJvbCA9PiBjb250cm9sLm1hcmtBbGxBc0RpcnR5KCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0Q29udHJvbFZhbHVlJDxULCBSPihcbiAgY29udHJvbDogRm9ybUdyb3VwIHwgRm9ybUFycmF5IHwgRm9ybUNvbnRyb2wsXG4gIG1hcEZuOiAoc3RhdGU6IFQgfCBUW10pID0+IFJcbik6IE9ic2VydmFibGU8Uj4ge1xuICByZXR1cm4gKGNvbnRyb2wudmFsdWUkIGFzIE9ic2VydmFibGU8YW55PikucGlwZShtYXAobWFwRm4pLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbn1cbiJdfQ==

@@ -5,3 +5,3 @@ import { FormArray as NgFormArray } from '@angular/forms';

import { controlDisabled$, controlDisabledWhile, controlEnabled$, controlEnabledWhile, controlErrorChanges$, controlStatusChanges$, controlValueChanges$, disableControl, enableControl, hasErrorAndDirty, hasErrorAndTouched, markAllDirty, mergeControlValidators } from './control-actions';
import { coerceArray, isFunction } from './utils';
import { coerceArray } from './utils';
export class FormArray extends NgFormArray {

@@ -16,6 +16,6 @@ constructor(controls, validatorOrOpts, asyncValidator) {

this.value$ = controlValueChanges$(this);
this.disabledChanges$ = controlDisabled$(this);
this.enabledChanges$ = controlEnabled$(this);
this.statusChanges$ = controlStatusChanges$(this);
this.errorChanges$ = controlErrorChanges$(this);
this.disabled$ = controlDisabled$(this);
this.enabled$ = controlEnabled$(this);
this.status$ = controlStatusChanges$(this);
this.errors$ = controlErrorChanges$(this);
}

@@ -33,19 +33,11 @@ select(mapFn) {

if (isObservable(valueOrObservable)) {
return valueOrObservable.subscribe(value => super.setValue(value, options));
return valueOrObservable.subscribe((value) => super.setValue(value, options));
}
else {
super.setValue(valueOrObservable, options);
}
super.setValue(valueOrObservable, options);
}
patchValue(valueOrObservable, options) {
if (isObservable(valueOrObservable)) {
return valueOrObservable.subscribe(value => super.patchValue(value, options));
return valueOrObservable.subscribe((value) => super.patchValue(value, options));
}
else {
let value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
super.patchValue(value, options);
}
super.patchValue(valueOrObservable, options);
}

@@ -131,2 +123,2 @@ push(control) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUFycmF5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9mb3JtQXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsSUFBSSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixzQkFBc0IsRUFDdkIsTUFBTSxtQkFBbUIsQ0FBQztBQWMzQixPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVsRCxNQUFNLE9BQU8sU0FBMkMsU0FBUSxXQUFXO0lBbUJ6RSxZQUNTLFFBQW1DLEVBQzFDLGVBSVEsRUFDUixjQUErRjtRQUUvRixLQUFLLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQVIxQyxhQUFRLEdBQVIsUUFBUSxDQUEyQjtRQWJwQyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDdEMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRTlDLFdBQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDdkUsV0FBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFD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cnJheSBhcyBOZ0Zvcm1BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgY29udHJvbERpc2FibGVkJCxcbiAgY29udHJvbERpc2FibGVkV2hpbGUsXG4gIGNvbnRyb2xFbmFibGVkJCxcbiAgY29udHJvbEVuYWJsZWRXaGlsZSxcbiAgY29udHJvbEVycm9yQ2hhbmdlcyQsXG4gIGNvbnRyb2xTdGF0dXNDaGFuZ2VzJCxcbiAgY29udHJvbFZhbHVlQ2hhbmdlcyQsXG4gIGRpc2FibGVDb250cm9sLFxuICBlbmFibGVDb250cm9sLFxuICBoYXNFcnJvckFuZERpcnR5LFxuICBoYXNFcnJvckFuZFRvdWNoZWQsXG4gIG1hcmtBbGxEaXJ0eSxcbiAgbWVyZ2VDb250cm9sVmFsaWRhdG9yc1xufSBmcm9tICcuL2NvbnRyb2wtYWN0aW9ucyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEFic3RyYWN0Q29udHJvbE9wdGlvbnMsXG4gIEFzeW5jVmFsaWRhdG9yRm4sXG4gIENvbnRyb2xFdmVudE9wdGlvbnMsXG4gIENvbnRyb2xPcHRpb25zLFxuICBDb250cm9sUGF0aCxcbiAgQ29udHJvbFN0YXRlLFxuICBFbWl0RXZlbnQsXG4gIEV4dHJhY3RTdHJpbmdzLFxuICBPbmx5U2VsZixcbiAgVmFsaWRhdG9yRm5cbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSwgaXNGdW5jdGlvbiB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgRm9ybUFycmF5PFQgPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IGV4dGVuZHMgTmdGb3JtQXJyYXkge1xuICB2YWx1ZTogVFtdO1xuICB2YWx1ZUNoYW5nZXM6IE9ic2VydmFibGU8VFtdPjtcbiAgc3RhdHVzOiBDb250cm9sU3RhdGU7XG4gIHN0YXR1c0NoYW5nZXM6IE9ic2VydmFibGU8Q29udHJvbFN0YXRlPjtcbiAgZXJyb3JzOiBFIHwgbnVsbDtcblxuICBwcml2YXRlIHRvdWNoQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgZGlydHlDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICB0b3VjaCQgPSB0aGlzLnRvdWNoQ2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICBkaXJ0eSQgPSB0aGlzLmRpcnR5Q2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIHZhbHVlJCA9IGNvbnRyb2xWYWx1ZUNoYW5nZXMkPFRbXT4odGhpcyk7XG4gIGRpc2FibGVkQ2hhbmdlcyQgPSBjb250cm9sRGlzYWJsZWQkKHRoaXMpO1xuICBlbmFibGVkQ2hhbmdlcyQgPSBjb250cm9sRW5hYmxlZCQodGhpcyk7XG4gIHN0YXR1c0NoYW5nZXMkID0gY29udHJvbFN0YXR1c0NoYW5nZXMkKHRoaXMpO1xuICBlcnJvckNoYW5nZXMkID0gY29udHJvbEVycm9yQ2hhbmdlcyQ8RT4odGhpcyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbnRyb2xzOiBBcnJheTxBYnN0cmFjdENvbnRyb2w8VD4+LFxuICAgIHZhbGlkYXRvck9yT3B0cz86XG4gICAgICB8IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFRbXT5cbiAgICAgIHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVFtdPltdXG4gICAgICB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VFtdLCBFPlxuICAgICAgfCBudWxsLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUW10+IHwgQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUW10+W10gfCBudWxsXG4gICkge1xuICAgIHN1cGVyKGNvbnRyb2xzLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgfVxuXG4gIHNlbGVjdDxSPihtYXBGbjogKHN0YXRlOiBUW10pID0+IFIpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSQucGlwZShtYXAobWFwRm4pLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgfVxuXG4gIGdldFJhd1ZhbHVlKCk6IFRbXSB7XG4gICAgcmV0dXJuIHN1cGVyLmdldFJhd1ZhbHVlKCk7XG4gIH1cblxuICBhdChpbmRleDogbnVtYmVyKTogQWJzdHJhY3RDb250cm9sPFQ+IHtcbiAgICByZXR1cm4gc3VwZXIuYXQoaW5kZXgpIGFzIEFic3RyYWN0Q29udHJvbDxUPjtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFRbXT4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogU3Vic2NyaXB0aW9uO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogVFtdLCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQ7XG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBUW10gfCBPYnNlcnZhYmxlPFRbXT4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogU3Vic2NyaXB0aW9uIHwgdm9pZCB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsdWUgPT4gc3VwZXIuc2V0VmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIuc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGUsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8VFtdPiwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb247XG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IFRbXSwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiB2b2lkO1xuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiAoc3RhdGU6IFRbXSkgPT4gVFtdLCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkO1xuICBwYXRjaFZhbHVlKFxuICAgIHZhbHVlT3JPYnNlcnZhYmxlOiBUW10gfCBPYnNlcnZhYmxlPFRbXT4gfCAoKHN0YXRlOiBUW10pID0+IFRbXSksXG4gICAgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnNcbiAgKTogU3Vic2NyaXB0aW9uIHwgdm9pZCB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsdWUgPT4gc3VwZXIucGF0Y2hWYWx1ZSh2YWx1ZSwgb3B0aW9ucykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgdmFsdWUgPSB2YWx1ZU9yT2JzZXJ2YWJsZTtcbiAgICAgIGlmIChpc0Z1bmN0aW9uKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlT3JPYnNlcnZhYmxlKHRoaXMudmFsdWUpO1xuICAgICAgfVxuICAgICAgc3VwZXIucGF0Y2hWYWx1ZSh2YWx1ZSBhcyBUW10sIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHB1c2goY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+KTogdm9pZCB7XG4gICAgcmV0dXJuIHN1cGVyLnB1c2goY29udHJvbCk7XG4gIH1cblxuICBpbnNlcnQoaW5kZXg6IG51bWJlciwgY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+KTogdm9pZCB7XG4gICAgcmV0dXJuIHN1cGVyLmluc2VydChpbmRleCwgY29udHJvbCk7XG4gIH1cblxuICBzZXRDb250cm9sKGluZGV4OiBudW1iZXIsIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPik6IHZvaWQge1xuICAgIHJldHVybiBzdXBlci5zZXRDb250cm9sKGluZGV4LCBjb250cm9sKTtcbiAgfVxuXG4gIGRpc2FibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xEaXNhYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRW5hYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgbWVyZ2VWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFRbXT4gfCBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUW10+W10pIHtcbiAgICBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzKHRoaXMsIHZhbGlkYXRvcnMpO1xuICB9XG5cbiAgbWVyZ2VBc3luY1ZhbGlkYXRvcnModmFsaWRhdG9yczogQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUW10+IHwgQXN5bmNWYWxpZGF0b3JGbjxhbnksIFRbXT5bXSkge1xuICAgIHRoaXMuc2V0QXN5bmNWYWxpZGF0b3JzKFt0aGlzLmFzeW5jVmFsaWRhdG9yLCAuLi5jb2VyY2VBcnJheSh2YWxpZGF0b3JzKV0pO1xuICAgIHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgbWFya0FzVG91Y2hlZChvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNUb3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtYXJrQXNVbnRvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVW50b3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzUHJpc3RpbmUob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzUHJpc3RpbmUob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dChmYWxzZSk7XG4gIH1cblxuICBtYXJrQXNEaXJ0eShvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNEaXJ0eShvcHRzKTtcbiAgICB0aGlzLmRpcnR5Q2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FsbEFzRGlydHkoKTogdm9pZCB7XG4gICAgbWFya0FsbERpcnR5KHRoaXMpO1xuICB9XG5cbiAgcmVzZXQodmFsdWU/OiBUW10sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogdm9pZCB7XG4gICAgc3VwZXIucmVzZXQodmFsdWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3I6IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFRbXT4gfCBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUW10+W10gfCBudWxsKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIHN1cGVyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHNldEFzeW5jVmFsaWRhdG9ycyhcbiAgICBuZXdWYWxpZGF0b3I6IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVFtdPiB8IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVFtdPltdIHwgbnVsbFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5zZXRBc3luY1ZhbGlkYXRvcnMobmV3VmFsaWRhdG9yKTtcbiAgICBzdXBlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICB2YWxpZGF0ZU9uKG9ic2VydmFibGVWYWxpZGF0aW9uOiBPYnNlcnZhYmxlPG51bGwgfCBvYmplY3Q+KSB7XG4gICAgcmV0dXJuIG9ic2VydmFibGVWYWxpZGF0aW9uLnN1YnNjcmliZShtYXliZUVycm9yID0+IHtcbiAgICAgIHRoaXMuc2V0RXJyb3JzKG1heWJlRXJyb3IpO1xuICAgIH0pO1xuICB9XG5cbiAgaGFzRXJyb3IoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IENvbnRyb2xQYXRoKSB7XG4gICAgcmV0dXJuIHN1cGVyLmhhc0Vycm9yKGVycm9yQ29kZSwgcGF0aCk7XG4gIH1cblxuICBzZXRFcnJvcnMoZXJyb3JzOiBQYXJ0aWFsPEU+IHwgbnVsbCwgb3B0czogRW1pdEV2ZW50ID0ge30pIHtcbiAgICByZXR1cm4gc3VwZXIuc2V0RXJyb3JzKGVycm9ycywgb3B0cyk7XG4gIH1cblxuICBnZXRFcnJvcjxLIGV4dGVuZHMgRXh0cmFjdFN0cmluZ3M8RT4+KGVycm9yQ29kZTogSywgcGF0aD86IENvbnRyb2xQYXRoKSB7XG4gICAgcmV0dXJuIHN1cGVyLmdldEVycm9yKGVycm9yQ29kZSwgcGF0aCkgYXMgRVtLXSB8IG51bGw7XG4gIH1cblxuICBoYXNFcnJvckFuZFRvdWNoZWQoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IENvbnRyb2xQYXRoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc0Vycm9yQW5kVG91Y2hlZCh0aGlzLCBlcnJvckNvZGUsIHBhdGgpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmREaXJ0eShlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LCBwYXRoPzogQ29udHJvbFBhdGgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzRXJyb3JBbmREaXJ0eSh0aGlzLCBlcnJvckNvZGUsIHBhdGgpO1xuICB9XG5cbiAgc2V0RW5hYmxlKGVuYWJsZSA9IHRydWUsIG9wdHM/OiBDb250cm9sRXZlbnRPcHRpb25zKSB7XG4gICAgZW5hYmxlQ29udHJvbCh0aGlzLCBlbmFibGUsIG9wdHMpO1xuICB9XG5cbiAgc2V0RGlzYWJsZShkaXNhYmxlID0gdHJ1ZSwgb3B0cz86IENvbnRyb2xFdmVudE9wdGlvbnMpIHtcbiAgICBkaXNhYmxlQ29udHJvbCh0aGlzLCBkaXNhYmxlLCBvcHRzKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUFycmF5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9mb3JtQXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsSUFBSSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvUixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXRDLE1BQU0sT0FBTyxTQUEyQyxTQUFRLFdBQVc7SUFtQnpFLFlBQ1MsUUFBNkIsRUFDcEMsZUFBaUMsRUFDakMsY0FBaUM7UUFFakMsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFKMUMsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFiOUIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUVyQyxXQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLFdBQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFD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LFNBQTRCLEVBQUUsSUFBa0I7UUFDdkQsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQXlCLEVBQUUsT0FBa0IsRUFBRTtRQUN2RCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRLENBQThCLFNBQVksRUFBRSxJQUFrQjtRQUNwRSxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBZ0IsQ0FBQztJQUN4RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBNEIsRUFBRSxJQUFrQjtRQUNqRSxPQUFPLGtCQUFrQixDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQTRCLEVBQUUsSUFBa0I7UUFDL0QsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxJQUEwQjtRQUNqRCxhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQU8sR0FBRyxJQUFJLEVBQUUsSUFBMEI7UUFDbkQsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUFycmF5IGFzIE5nRm9ybUFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb250cm9sRGlzYWJsZWQkLCBjb250cm9sRGlzYWJsZWRXaGlsZSwgY29udHJvbEVuYWJsZWQkLCBjb250cm9sRW5hYmxlZFdoaWxlLCBjb250cm9sRXJyb3JDaGFuZ2VzJCwgY29udHJvbFN0YXR1c0NoYW5nZXMkLCBjb250cm9sVmFsdWVDaGFuZ2VzJCwgZGlzYWJsZUNvbnRyb2wsIGVuYWJsZUNvbnRyb2wsIGhhc0Vycm9yQW5kRGlydHksIGhhc0Vycm9yQW5kVG91Y2hlZCwgbWFya0FsbERpcnR5LCBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzIH0gZnJvbSAnLi9jb250cm9sLWFjdGlvbnMnO1xuaW1wb3J0IHsgQXN5bmNWYWxpZGF0b3IsIEFzeW5jVmFsaWRhdG9yRm4sIENvbnRyb2xFdmVudE9wdGlvbnMsIENvbnRyb2xPcHRpb25zLCBDb250cm9sUGF0aCwgQ29udHJvbFN0YXRlLCBDb250cm9sVHlwZSwgRW1pdEV2ZW50LCBFeHRyYWN0TW9kZWxWYWx1ZSwgRXh0cmFjdFN0cmluZ3MsIE9ubHlTZWxmLCBWYWxpZGF0b3IsIFZhbGlkYXRvck9yT3B0cyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEZvcm1BcnJheTxUID0gYW55LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55PiBleHRlbmRzIE5nRm9ybUFycmF5IHtcbiAgcmVhZG9ubHkgdmFsdWU6IEV4dHJhY3RNb2RlbFZhbHVlPFQ+W107XG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxFeHRyYWN0TW9kZWxWYWx1ZTxUPltdPjtcbiAgcmVhZG9ubHkgc3RhdHVzOiBDb250cm9sU3RhdGU7XG4gIHJlYWRvbmx5IHN0YXR1c0NoYW5nZXM6IE9ic2VydmFibGU8Q29udHJvbFN0YXRlPjtcbiAgcmVhZG9ubHkgZXJyb3JzOiBFIHwgbnVsbDtcblxuICBwcml2YXRlIHRvdWNoQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgZGlydHlDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICByZWFkb25seSB0b3VjaCQgPSB0aGlzLnRvdWNoQ2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICByZWFkb25seSBkaXJ0eSQgPSB0aGlzLmRpcnR5Q2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIHJlYWRvbmx5IHZhbHVlJCA9IGNvbnRyb2xWYWx1ZUNoYW5nZXMkPEV4dHJhY3RNb2RlbFZhbHVlPFQ+W10+KHRoaXMpO1xuICByZWFkb25seSBkaXNhYmxlZCQgPSBjb250cm9sRGlzYWJsZWQkKHRoaXMpO1xuICByZWFkb25seSBlbmFibGVkJCA9IGNvbnRyb2xFbmFibGVkJCh0aGlzKTtcbiAgcmVhZG9ubHkgc3RhdHVzJCA9IGNvbnRyb2xTdGF0dXNDaGFuZ2VzJCh0aGlzKTtcbiAgcmVhZG9ubHkgZXJyb3JzJCA9IGNvbnRyb2xFcnJvckNoYW5nZXMkPEU+KHRoaXMpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb250cm9sczogQ29udHJvbFR5cGU8VCwgRT5bXSxcbiAgICB2YWxpZGF0b3JPck9wdHM/OiBWYWxpZGF0b3JPck9wdHMsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuXG4gICkge1xuICAgIHN1cGVyKGNvbnRyb2xzLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgfVxuXG4gIHNlbGVjdDxSPihtYXBGbjogKHN0YXRlOiBFeHRyYWN0TW9kZWxWYWx1ZTxUPltdKSA9PiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUkLnBpcGUobWFwKG1hcEZuKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cblxuICBnZXRSYXdWYWx1ZSgpOiBFeHRyYWN0TW9kZWxWYWx1ZTxUPltdIHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0UmF3VmFsdWUoKTtcbiAgfVxuXG4gIGF0KGluZGV4OiBudW1iZXIpOiBDb250cm9sVHlwZTxULCBFPiB7XG4gICAgcmV0dXJuIHN1cGVyLmF0KGluZGV4KSBhcyBDb250cm9sVHlwZTxULCBFPjtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPEV4dHJhY3RNb2RlbFZhbHVlPFQ+W10+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IEV4dHJhY3RNb2RlbFZhbHVlPFQ+W10sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogdm9pZDtcbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IGFueSwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSgodmFsdWU6IFRbXSkgPT4gc3VwZXIuc2V0VmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdXBlci5zZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPEV4dHJhY3RNb2RlbFZhbHVlPFQ+W10+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogRXh0cmFjdE1vZGVsVmFsdWU8VD5bXSwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiB2b2lkO1xuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBhbnksIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogU3Vic2NyaXB0aW9uIHwgdm9pZCB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKHZhbHVlOiBUW10pID0+IHN1cGVyLnBhdGNoVmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdXBlci5wYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1c2goY29udHJvbDogQ29udHJvbFR5cGU8VCwgRT4pOiB2b2lkIHtcbiAgICByZXR1cm4gc3VwZXIucHVzaChjb250cm9sKTtcbiAgfVxuXG4gIGluc2VydChpbmRleDogbnVtYmVyLCBjb250cm9sOiBDb250cm9sVHlwZTxULCBFPik6IHZvaWQge1xuICAgIHJldHVybiBzdXBlci5pbnNlcnQoaW5kZXgsIGNvbnRyb2wpO1xuICB9XG5cbiAgc2V0Q29udHJvbChpbmRleDogbnVtYmVyLCBjb250cm9sOiBDb250cm9sVHlwZTxULCBFPik6IHZvaWQge1xuICAgIHJldHVybiBzdXBlci5zZXRDb250cm9sKGluZGV4LCBjb250cm9sKTtcbiAgfVxuXG4gIGRpc2FibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xEaXNhYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRW5hYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgbWVyZ2VWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvcikge1xuICAgIG1lcmdlQ29udHJvbFZhbGlkYXRvcnModGhpcywgdmFsaWRhdG9ycyk7XG4gIH1cblxuICBtZXJnZUFzeW5jVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvcikge1xuICAgIHRoaXMuc2V0QXN5bmNWYWxpZGF0b3JzKFt0aGlzLmFzeW5jVmFsaWRhdG9yLCAuLi5jb2VyY2VBcnJheSh2YWxpZGF0b3JzKV0pO1xuICAgIHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgbWFya0FzVG91Y2hlZChvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNUb3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtYXJrQXNVbnRvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVW50b3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzUHJpc3RpbmUob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzUHJpc3RpbmUob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dChmYWxzZSk7XG4gIH1cblxuICBtYXJrQXNEaXJ0eShvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNEaXJ0eShvcHRzKTtcbiAgICB0aGlzLmRpcnR5Q2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FsbEFzRGlydHkoKTogdm9pZCB7XG4gICAgbWFya0FsbERpcnR5KHRoaXMpO1xuICB9XG5cbiAgcmVzZXQodmFsdWU/OiBFeHRyYWN0TW9kZWxWYWx1ZTxUPltdLCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnJlc2V0KHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yOiBWYWxpZGF0b3IpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3IpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRBc3luY1ZhbGlkYXRvcnMobmV3VmFsaWRhdG9yKTtcbiAgICBzdXBlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICB2YWxpZGF0ZU9uKG9ic2VydmFibGVWYWxpZGF0aW9uOiBPYnNlcnZhYmxlPG51bGwgfCBvYmplY3Q+KSB7XG4gICAgcmV0dXJuIG9ic2VydmFibGVWYWxpZGF0aW9uLnN1YnNjcmliZShtYXliZUVycm9yID0+IHtcbiAgICAgIHRoaXMuc2V0RXJyb3JzKG1heWJlRXJyb3IpO1xuICAgIH0pO1xuICB9XG5cbiAgaGFzRXJyb3IoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IENvbnRyb2xQYXRoKSB7XG4gICAgcmV0dXJuIHN1cGVyLmhhc0Vycm9yKGVycm9yQ29kZSwgcGF0aCk7XG4gIH1cblxuICBzZXRFcnJvcnMoZXJyb3JzOiBQYXJ0aWFsPEU+IHwgbnVsbCwgb3B0czogRW1pdEV2ZW50ID0ge30pIHtcbiAgICByZXR1cm4gc3VwZXIuc2V0RXJyb3JzKGVycm9ycywgb3B0cyk7XG4gIH1cblxuICBnZXRFcnJvcjxLIGV4dGVuZHMgRXh0cmFjdFN0cmluZ3M8RT4+KGVycm9yQ29kZTogSywgcGF0aD86IENvbnRyb2xQYXRoKSB7XG4gICAgcmV0dXJuIHN1cGVyLmdldEVycm9yKGVycm9yQ29kZSwgcGF0aCkgYXMgRVtLXSB8IG51bGw7XG4gIH1cblxuICBoYXNFcnJvckFuZFRvdWNoZWQoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IENvbnRyb2xQYXRoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc0Vycm9yQW5kVG91Y2hlZCh0aGlzLCBlcnJvckNvZGUsIHBhdGgpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmREaXJ0eShlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LCBwYXRoPzogQ29udHJvbFBhdGgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzRXJyb3JBbmREaXJ0eSh0aGlzLCBlcnJvckNvZGUsIHBhdGgpO1xuICB9XG5cbiAgc2V0RW5hYmxlKGVuYWJsZSA9IHRydWUsIG9wdHM/OiBDb250cm9sRXZlbnRPcHRpb25zKSB7XG4gICAgZW5hYmxlQ29udHJvbCh0aGlzLCBlbmFibGUsIG9wdHMpO1xuICB9XG5cbiAgc2V0RGlzYWJsZShkaXNhYmxlID0gdHJ1ZSwgb3B0cz86IENvbnRyb2xFdmVudE9wdGlvbnMpIHtcbiAgICBkaXNhYmxlQ29udHJvbCh0aGlzLCBkaXNhYmxlLCBvcHRzKTtcbiAgfVxufVxuIl19

@@ -14,3 +14,3 @@ import { __decorate } from "tslib";

let FormBuilder = class FormBuilder extends NgFormBuilder {
group(controlsConfig, options) {
group(controlsConfig, options = null) {
const controls = this._reduceControls(controlsConfig);

@@ -35,3 +35,3 @@ let validators = null;

}
control(formState, validatorOrOpts, asyncValidator) {
control(formState = null, validatorOrOpts, asyncValidator) {
return new FormControl(formState, validatorOrOpts, asyncValidator);

@@ -49,2 +49,2 @@ }

export { FormBuilder };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUJ1aWxkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmduZWF0L3JlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL2Zvcm1CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLElBQUksYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3hDLFNBQVMsd0JBQXdCLENBQy9CLE9BQTJEO0lBRTNELE9BQU8sQ0FDdUIsT0FBUSxDQUFDLGVBQWUsS0FBSyxTQUFTO1FBQ3RDLE9BQVEsQ0FBQyxVQUFVLEtBQUssU0FBUztRQUNqQyxPQUFRLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FDNUQsQ0FBQztBQUNKLENBQUM7QUFlRCxJQUFhLFdBQVcsR0FBeEIsTUFBYSxXQUFZLFNBQVEsYUFBYTtJQUM1QyxLQUFLLENBQ0gsY0FBeUQsRUFDekQsT0FNUTtRQUVSLE1BQU0sUUFBUSxHQUFJLElBQVksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFL0QsSUFBSSxVQUFVLEdBQXFFLElBQUksQ0FBQztRQUN4RixJQUFJLGVBQWUsR0FBK0UsSUFBSSxDQUFDO1FBQ3ZHLElBQUksUUFBMkQsQ0FBQztRQUVoRSxJQUFJLE9BQU8sSUFBSSxJQUFJLEVBQUU7WUFDbkIsSUFBSSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDckMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BFLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNuRixRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQzthQUNwRTtpQkFBTTtnQkFDTCwwQ0FBMEM7Z0JBQzFDLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDeEUsZUFBZSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUN4RjtTQUNGO1FBRUQsMkJBQTJCO1FBQzNCLE9BQU8sSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxPQUFPLENBQ0wsU0FBMEIsRUFDMUIsZUFBOEcsRUFDOUcsY0FBMkY7UUFFM0YsT0FBTyxJQUFJLFdBQVcsQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxLQUFLLENBQ0gsY0FBb0MsRUFDcEMsZUFJUSxFQUNSLGNBQStGO1FBRS9GLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxJQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUUsT0FBTyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDRixDQUFBOztBQXJEWSxXQUFXO0lBRHZCLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztHQUN0QixXQUFXLENBcUR2QjtTQXJEWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgYXMgTmdGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vZm9ybUFycmF5JztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnLi9mb3JtQ29udHJvbCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICcuL2Zvcm1Hcm91cCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2xPcHRpb25zLCBBc3luY1ZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wsIE9yQm94ZWRWYWx1ZSwgVmFsaWRhdG9yRm4gfSBmcm9tICcuL3R5cGVzJztcblxuZnVuY3Rpb24gaXNBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQ+KFxuICBvcHRpb25zOiBBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQ+IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfVxuKTogb3B0aW9ucyBpcyBBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQ+IHtcbiAgcmV0dXJuIChcbiAgICAoPEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VD4+b3B0aW9ucykuYXN5bmNWYWxpZGF0b3JzICE9PSB1bmRlZmluZWQgfHxcbiAgICAoPEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VD4+b3B0aW9ucykudmFsaWRhdG9ycyAhPT0gdW5kZWZpbmVkIHx8XG4gICAgKDxBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQ+Pm9wdGlvbnMpLnVwZGF0ZU9uICE9PSB1bmRlZmluZWRcbiAgKTtcbn1cblxuZXhwb3J0IHR5cGUgRmJDb250cm9sQ29uZmlnPFQgPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+ID1cbiAgfCBBYnN0cmFjdENvbnRyb2w8VD5cbiAgfCBbXG4gICAgICBPckJveGVkVmFsdWU8VD4sXG4gICAgICBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+W10gfCBudWxsLFxuICAgICAgQXN5bmNWYWxpZGF0b3JGbjxUPiB8IEFzeW5jVmFsaWRhdG9yRm48VD5bXSB8IG51bGxcbiAgICBdXG4gIHwgW09yQm94ZWRWYWx1ZTxUPiwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD4gfCBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9uczxUPiB8IG51bGxdXG4gIHwgW1QgfCBPckJveGVkVmFsdWU8VD5dXG4gIHwgT3JCb3hlZFZhbHVlPFQ+XG4gIHwgVDtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGb3JtQnVpbGRlciBleHRlbmRzIE5nRm9ybUJ1aWxkZXIge1xuICBncm91cDxUIGV4dGVuZHMgb2JqZWN0LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55PihcbiAgICBjb250cm9sc0NvbmZpZzogeyBbSyBpbiBrZXlvZiBUXTogRmJDb250cm9sQ29uZmlnPFRbS10+IH0sXG4gICAgb3B0aW9ucz86XG4gICAgICB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VD5cbiAgICAgIHwge1xuICAgICAgICAgIHZhbGlkYXRvcj86IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXTtcbiAgICAgICAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD4gfCBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+W107XG4gICAgICAgIH1cbiAgICAgIHwgbnVsbFxuICApOiBGb3JtR3JvdXA8VCwgRT4ge1xuICAgIGNvbnN0IGNvbnRyb2xzID0gKHRoaXMgYXMgYW55KS5fcmVkdWNlQ29udHJvbHMoY29udHJvbHNDb25maWcpO1xuXG4gICAgbGV0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBhc3luY1ZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD4gfCBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+W10gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgdXBkYXRlT246IEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VD5bJ3VwZGF0ZU9uJ10gfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAob3B0aW9ucyAhPSBudWxsKSB7XG4gICAgICBpZiAoaXNBYnN0cmFjdENvbnRyb2xPcHRpb25zKG9wdGlvbnMpKSB7XG4gICAgICAgIHZhbGlkYXRvcnMgPSBvcHRpb25zLnZhbGlkYXRvcnMgIT0gbnVsbCA/IG9wdGlvbnMudmFsaWRhdG9ycyA6IG51bGw7XG4gICAgICAgIGFzeW5jVmFsaWRhdG9ycyA9IG9wdGlvbnMuYXN5bmNWYWxpZGF0b3JzICE9IG51bGwgPyBvcHRpb25zLmFzeW5jVmFsaWRhdG9ycyA6IG51bGw7XG4gICAgICAgIHVwZGF0ZU9uID0gb3B0aW9ucy51cGRhdGVPbiAhPSBudWxsID8gb3B0aW9ucy51cGRhdGVPbiA6IHVuZGVmaW5lZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGBvcHRpb25zYCBhcmUgbGVnYWN5IGZvcm0gZ3JvdXAgb3B0aW9uc1xuICAgICAgICB2YWxpZGF0b3JzID0gb3B0aW9uc1sndmFsaWRhdG9yJ10gIT0gbnVsbCA/IG9wdGlvbnNbJ3ZhbGlkYXRvciddIDogbnVsbDtcbiAgICAgICAgYXN5bmNWYWxpZGF0b3JzID0gb3B0aW9uc1snYXN5bmNWYWxpZGF0b3InXSAhPSBudWxsID8gb3B0aW9uc1snYXN5bmNWYWxpZGF0b3InXSA6IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVG9kbzogZGFuIHJlbW92ZSB0aGUgYW55XG4gICAgcmV0dXJuIG5ldyBGb3JtR3JvdXAoY29udHJvbHMsIHsgYXN5bmNWYWxpZGF0b3JzLCB1cGRhdGVPbiwgdmFsaWRhdG9ycyB9KTtcbiAgfVxuXG4gIGNvbnRyb2w8VCwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4oXG4gICAgZm9ybVN0YXRlOiBPckJveGVkVmFsdWU8VD4sXG4gICAgdmFsaWRhdG9yT3JPcHRzPzogVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD4gfCBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9uczxUPiB8IG51bGwsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPltdIHwgbnVsbFxuICApOiBGb3JtQ29udHJvbDxULCBFPiB7XG4gICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbChmb3JtU3RhdGUsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xuICB9XG5cbiAgYXJyYXk8VCwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4oXG4gICAgY29udHJvbHNDb25maWc6IEZiQ29udHJvbENvbmZpZzxUPltdLFxuICAgIHZhbGlkYXRvck9yT3B0cz86XG4gICAgICB8IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFRbXT5cbiAgICAgIHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVFtdPltdXG4gICAgICB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VFtdPlxuICAgICAgfCBudWxsLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUW10+IHwgQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUW10+W10gfCBudWxsXG4gICk6IEZvcm1BcnJheTxULCBFPiB7XG4gICAgY29uc3QgY29udHJvbHMgPSBjb250cm9sc0NvbmZpZy5tYXAoYyA9PiAodGhpcyBhcyBhbnkpLl9jcmVhdGVDb250cm9sKGMpKTtcbiAgICByZXR1cm4gbmV3IEZvcm1BcnJheShjb250cm9scywgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUJ1aWxkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmduZWF0L3JlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL2Zvcm1CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBMEIsV0FBVyxJQUFJLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUd4QyxTQUFTLHdCQUF3QixDQUMvQixPQUF3RDtJQUV4RCxPQUFPLENBQ3FCLE9BQVEsQ0FBQyxlQUFlLEtBQUssU0FBUztRQUN0QyxPQUFRLENBQUMsVUFBVSxLQUFLLFNBQVM7UUFDakMsT0FBUSxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQzFELENBQUM7QUFDSixDQUFDO0FBR0QsSUFBYSxXQUFXLEdBQXhCLE1BQWEsV0FBWSxTQUFRLGFBQWE7SUFDNUMsS0FBSyxDQUNILGNBQTRELEVBQzVELFVBQWdFLElBQUk7UUFFcEUsTUFBTSxRQUFRLEdBQUksSUFBWSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUvRCxJQUFJLFVBQVUsR0FBdUMsSUFBSSxDQUFDO1FBQzFELElBQUksZUFBZSxHQUFpRCxJQUFJLENBQUM7UUFDekUsSUFBSSxRQUF3RCxDQUFDO1FBRTdELElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtZQUNuQixJQUFJLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNyQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDcEUsZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ25GLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2FBQ3BFO2lCQUFNO2dCQUNMLDBDQUEwQztnQkFDMUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUN4RSxlQUFlLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQ3hGO1NBQ0Y7UUFFRCwyQkFBMkI7UUFDM0IsT0FBTyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELE9BQU8sQ0FDTCxZQUFpQyxJQUFJLEVBQ3JDLGVBQWlDLEVBQ2pDLGNBQStCO1FBRS9CLE9BQU8sSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsS0FBSyxDQUNILGNBQXVDLEVBQ3ZDLGVBQWlDLEVBQ2pDLGNBQStCO1FBRS9CLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxJQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUUsT0FBTyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGNBQXFCLENBQUMsQ0FBQztJQUN6RSxDQUFDO0NBQ0YsQ0FBQTs7QUEzQ1ksV0FBVztJQUR2QixVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7R0FDdEIsV0FBVyxDQTJDdkI7U0EzQ1ksV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbE9wdGlvbnMsIEZvcm1CdWlsZGVyIGFzIE5nRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtQXJyYXkgfSBmcm9tICcuL2Zvcm1BcnJheSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJy4vZm9ybUNvbnRyb2wnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnLi9mb3JtR3JvdXAnO1xuaW1wb3J0IHsgQXN5bmNWYWxpZGF0b3IsIEFzeW5jVmFsaWRhdG9yRm4sIEZiQ29udHJvbENvbmZpZywgRm9ybUNvbnRyb2xTdGF0ZSwgTGVnYWN5Q29udHJvbE9wdGlvbnMsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JPck9wdHMgfSBmcm9tICcuL3R5cGVzJztcblxuZnVuY3Rpb24gaXNBYnN0cmFjdENvbnRyb2xPcHRpb25zKFxuICBvcHRpb25zOiBBYnN0cmFjdENvbnRyb2xPcHRpb25zIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfVxuKTogb3B0aW9ucyBpcyBBYnN0cmFjdENvbnRyb2xPcHRpb25zIHtcbiAgcmV0dXJuIChcbiAgICAoPEFic3RyYWN0Q29udHJvbE9wdGlvbnM+IG9wdGlvbnMpLmFzeW5jVmFsaWRhdG9ycyAhPT0gdW5kZWZpbmVkIHx8XG4gICAgKDxBYnN0cmFjdENvbnRyb2xPcHRpb25zPiBvcHRpb25zKS52YWxpZGF0b3JzICE9PSB1bmRlZmluZWQgfHxcbiAgICAoPEFic3RyYWN0Q29udHJvbE9wdGlvbnM+IG9wdGlvbnMpLnVwZGF0ZU9uICE9PSB1bmRlZmluZWRcbiAgKTtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGb3JtQnVpbGRlciBleHRlbmRzIE5nRm9ybUJ1aWxkZXIge1xuICBncm91cDxUIGV4dGVuZHMgb2JqZWN0ID0gYW55LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55PihcbiAgICBjb250cm9sc0NvbmZpZzogeyBbUCBpbiBrZXlvZiBUXTogRmJDb250cm9sQ29uZmlnPFRbUF0sIEU+IH0sXG4gICAgb3B0aW9uczogQWJzdHJhY3RDb250cm9sT3B0aW9ucyB8IExlZ2FjeUNvbnRyb2xPcHRpb25zIHwgbnVsbCA9IG51bGxcbiAgKTogRm9ybUdyb3VwPFQsIEU+IHtcbiAgICBjb25zdCBjb250cm9scyA9ICh0aGlzIGFzIGFueSkuX3JlZHVjZUNvbnRyb2xzKGNvbnRyb2xzQ29uZmlnKTtcblxuICAgIGxldCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgYXN5bmNWYWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbltdIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHVwZGF0ZU9uOiBBYnN0cmFjdENvbnRyb2xPcHRpb25zWyd1cGRhdGVPbiddIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKG9wdGlvbnMgIT0gbnVsbCkge1xuICAgICAgaWYgKGlzQWJzdHJhY3RDb250cm9sT3B0aW9ucyhvcHRpb25zKSkge1xuICAgICAgICB2YWxpZGF0b3JzID0gb3B0aW9ucy52YWxpZGF0b3JzICE9IG51bGwgPyBvcHRpb25zLnZhbGlkYXRvcnMgOiBudWxsO1xuICAgICAgICBhc3luY1ZhbGlkYXRvcnMgPSBvcHRpb25zLmFzeW5jVmFsaWRhdG9ycyAhPSBudWxsID8gb3B0aW9ucy5hc3luY1ZhbGlkYXRvcnMgOiBudWxsO1xuICAgICAgICB1cGRhdGVPbiA9IG9wdGlvbnMudXBkYXRlT24gIT0gbnVsbCA/IG9wdGlvbnMudXBkYXRlT24gOiB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBgb3B0aW9uc2AgYXJlIGxlZ2FjeSBmb3JtIGdyb3VwIG9wdGlvbnNcbiAgICAgICAgdmFsaWRhdG9ycyA9IG9wdGlvbnNbJ3ZhbGlkYXRvciddICE9IG51bGwgPyBvcHRpb25zWyd2YWxpZGF0b3InXSA6IG51bGw7XG4gICAgICAgIGFzeW5jVmFsaWRhdG9ycyA9IG9wdGlvbnNbJ2FzeW5jVmFsaWRhdG9yJ10gIT0gbnVsbCA/IG9wdGlvbnNbJ2FzeW5jVmFsaWRhdG9yJ10gOiBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRvZG86IGRhbiByZW1vdmUgdGhlIGFueVxuICAgIHJldHVybiBuZXcgRm9ybUdyb3VwKGNvbnRyb2xzLCB7IGFzeW5jVmFsaWRhdG9ycywgdXBkYXRlT24sIHZhbGlkYXRvcnMgfSk7XG4gIH1cblxuICBjb250cm9sPFQgPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+KFxuICAgIGZvcm1TdGF0ZTogRm9ybUNvbnRyb2xTdGF0ZTxUPiA9IG51bGwsXG4gICAgdmFsaWRhdG9yT3JPcHRzPzogVmFsaWRhdG9yT3JPcHRzLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JcbiAgKTogRm9ybUNvbnRyb2w8VCwgRT4ge1xuICAgIHJldHVybiBuZXcgRm9ybUNvbnRyb2woZm9ybVN0YXRlLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgfVxuXG4gIGFycmF5PFQgPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+KFxuICAgIGNvbnRyb2xzQ29uZmlnOiBGYkNvbnRyb2xDb25maWc8VCwgRT5bXSxcbiAgICB2YWxpZGF0b3JPck9wdHM/OiBWYWxpZGF0b3JPck9wdHMsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvclxuICApOiBGb3JtQXJyYXk8VCwgRT4ge1xuICAgIGNvbnN0IGNvbnRyb2xzID0gY29udHJvbHNDb25maWcubWFwKGMgPT4gKHRoaXMgYXMgYW55KS5fY3JlYXRlQ29udHJvbChjKSk7XG4gICAgcmV0dXJuIG5ldyBGb3JtQXJyYXkoY29udHJvbHMsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IgYXMgYW55KTtcbiAgfVxufVxuIl19
import { FormControl as NgFormControl } from '@angular/forms';
import { isObservable, Subject } from 'rxjs';
import { distinctUntilChanged } from 'rxjs/operators';
import { controlDisabled$, controlDisabledWhile, controlEnabled$, controlEnabledWhile, controlErrorChanges$, controlStatusChanges$, controlValueChanges$, disableControl, enableControl, hasErrorAndDirty, hasErrorAndTouched, mergeControlValidators, selectControlValue$, validateControlOn } from './control-actions';
import { coerceArray, isFunction } from './utils';
import { controlDisabled$, controlDisabledWhile, controlEnabled$, controlEnabledWhile, controlErrorChanges$, controlStatusChanges$, controlValueChanges$, disableControl, enableControl, hasErrorAndDirty, hasErrorAndTouched, mergeControlValidators, validateControlOn } from './control-actions';
import { coerceArray } from './utils';
export class FormControl extends NgFormControl {
constructor(formState, validatorOrOpts, asyncValidator) {
constructor(formState = null, validatorOrOpts, asyncValidator) {
super(formState, validatorOrOpts, asyncValidator);

@@ -19,5 +19,2 @@ this.touchChanges = new Subject();

}
select(mapFn) {
return selectControlValue$(this, mapFn);
}
setValue(valueOrObservable, options) {

@@ -27,5 +24,3 @@ if (isObservable(valueOrObservable)) {

}
else {
super.setValue(valueOrObservable, options);
}
super.setValue(valueOrObservable, options);
}

@@ -36,9 +31,3 @@ patchValue(valueOrObservable, options) {

}
else {
let value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
super.patchValue(value, options);
}
super.patchValue(valueOrObservable, options);
}

@@ -77,3 +66,3 @@ disabledWhile(observable, options) {

}
reset(formState, options) {
reset(formState = null, options) {
super.reset(formState, options);

@@ -114,2 +103,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUNvbnRyb2wuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmduZWF0L3JlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL2Zvcm1Db250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLElBQUksYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFhM0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbEQsTUFBTSxPQUFPLFdBQTZDLFNBQVEsYUFBYTtJQW9CN0UsWUFDRSxTQUEyQixFQUMzQixlQUEwRyxFQUMxRyxjQUFvRjtRQUVwRixLQUFLLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQWpCNUMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUU5QyxXQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLFdBQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxD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QUFnQixDQUFDLEtBQXdCO1FBQ3ZDLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxJQUEwQjtRQUNqRCxhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQU8sR0FBRyxJQUFJLEVBQUUsSUFBMEI7UUFDbkQsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wgYXMgTmdGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGNvbnRyb2xEaXNhYmxlZCQsXG4gIGNvbnRyb2xEaXNhYmxlZFdoaWxlLFxuICBjb250cm9sRW5hYmxlZCQsXG4gIGNvbnRyb2xFbmFibGVkV2hpbGUsXG4gIGNvbnRyb2xFcnJvckNoYW5nZXMkLFxuICBjb250cm9sU3RhdHVzQ2hhbmdlcyQsXG4gIGNvbnRyb2xWYWx1ZUNoYW5nZXMkLFxuICBkaXNhYmxlQ29udHJvbCxcbiAgZW5hYmxlQ29udHJvbCxcbiAgaGFzRXJyb3JBbmREaXJ0eSxcbiAgaGFzRXJyb3JBbmRUb3VjaGVkLFxuICBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzLFxuICBzZWxlY3RDb250cm9sVmFsdWUkLFxuICB2YWxpZGF0ZUNvbnRyb2xPblxufSBmcm9tICcuL2NvbnRyb2wtYWN0aW9ucyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2xPcHRpb25zLFxuICBBc3luY1ZhbGlkYXRvckZuLFxuICBDb250cm9sRXZlbnRPcHRpb25zLFxuICBDb250cm9sT3B0aW9ucyxcbiAgQ29udHJvbFN0YXRlLFxuICBFbWl0RXZlbnQsXG4gIEV4dHJhY3RTdHJpbmdzLFxuICBPbmx5U2VsZixcbiAgT3JCb3hlZFZhbHVlLFxuICBWYWxpZGF0b3JGblxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBpc0Z1bmN0aW9uIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtQ29udHJvbDxUID0gYW55LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55PiBleHRlbmRzIE5nRm9ybUNvbnRyb2wge1xuICB2YWx1ZTogVDtcbiAgZXJyb3JzOiBFIHwgbnVsbDtcbiAgYXN5bmNWYWxpZGF0b3I6IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD47XG4gIHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxUPjtcbiAgc3RhdHVzOiBDb250cm9sU3RhdGU7XG4gIHN0YXR1c0NoYW5nZXM6IE9ic2VydmFibGU8Q29udHJvbFN0YXRlPjtcblxuICBwcml2YXRlIHRvdWNoQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgZGlydHlDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICB0b3VjaCQgPSB0aGlzLnRvdWNoQ2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICBkaXJ0eSQgPSB0aGlzLmRpcnR5Q2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIHZhbHVlJCA9IGNvbnRyb2xWYWx1ZUNoYW5nZXMkPFQ+KHRoaXMpO1xuICBkaXNhYmxlZCQgPSBjb250cm9sRGlzYWJsZWQkPFQ+KHRoaXMpO1xuICBlbmFibGVkJCA9IGNvbnRyb2xFbmFibGVkJDxUPih0aGlzKTtcbiAgc3RhdHVzJCA9IGNvbnRyb2xTdGF0dXNDaGFuZ2VzJDxUPih0aGlzKTtcbiAgZXJyb3JzJCA9IGNvbnRyb2xFcnJvckNoYW5nZXMkPEU+KHRoaXMpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZvcm1TdGF0ZT86IE9yQm94ZWRWYWx1ZTxUPixcbiAgICB2YWxpZGF0b3JPck9wdHM/OiBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IFZhbGlkYXRvckZuPGFueSwgVD5bXSB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VCwgRT4gfCBudWxsLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IEFzeW5jVmFsaWRhdG9yRm48YW55LCBUPltdIHwgbnVsbFxuICApIHtcbiAgICBzdXBlcihmb3JtU3RhdGUsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xuICB9XG5cbiAgc2VsZWN0PFI+KG1hcEZuOiAoc3RhdGU6IFQpID0+IFIpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICByZXR1cm4gc2VsZWN0Q29udHJvbFZhbHVlJCh0aGlzLCBtYXBGbik7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogU3Vic2NyaXB0aW9uO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogVCwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogdm9pZDtcbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IGFueSwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogU3Vic2NyaXB0aW9uIHwgdm9pZCB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsdWUgPT4gc3VwZXIuc2V0VmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIuc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGUsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8VD4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogKHN0YXRlOiBUKSA9PiBULCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkO1xuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBULCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkO1xuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBhbnksIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucyk6IFN1YnNjcmlwdGlvbiB8IHZvaWQge1xuICAgIGlmIChpc09ic2VydmFibGUodmFsdWVPck9ic2VydmFibGUpKSB7XG4gICAgICByZXR1cm4gdmFsdWVPck9ic2VydmFibGUuc3Vic2NyaWJlKHZhbHVlID0+IHN1cGVyLnBhdGNoVmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHZhbHVlID0gdmFsdWVPck9ic2VydmFibGU7XG4gICAgICBpZiAoaXNGdW5jdGlvbih2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZU9yT2JzZXJ2YWJsZSh0aGlzLnZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHN1cGVyLnBhdGNoVmFsdWUodmFsdWUsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGRpc2FibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xEaXNhYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRW5hYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgbWVyZ2VWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXSkge1xuICAgIG1lcmdlQ29udHJvbFZhbGlkYXRvcnModGhpcywgdmFsaWRhdG9ycyk7XG4gIH1cblxuICBtZXJnZUFzeW5jVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgQXN5bmNWYWxpZGF0b3JGbjxhbnksIFQ+W10pIHtcbiAgICB0aGlzLnNldEFzeW5jVmFsaWRhdG9ycyhbdGhpcy5hc3luY1ZhbGlkYXRvciwgLi4uY29lcmNlQXJyYXkodmFsaWRhdG9ycyldKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIG1hcmtBc1RvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVG91Y2hlZChvcHRzKTtcbiAgICB0aGlzLnRvdWNoQ2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FzVW50b3VjaGVkKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1VudG91Y2hlZChvcHRzKTtcbiAgICB0aGlzLnRvdWNoQ2hhbmdlcy5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG1hcmtBc1ByaXN0aW5lKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1ByaXN0aW5lKG9wdHMpO1xuICAgIHRoaXMuZGlydHlDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzRGlydHkob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzRGlydHkob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG1hcmtBbGxBc0RpcnR5KCk6IHZvaWQge1xuICAgIHRoaXMubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgfVxuXG4gIHJlc2V0KGZvcm1TdGF0ZT86IE9yQm94ZWRWYWx1ZTxUPiwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdXBlci5yZXNldChmb3JtU3RhdGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3I6IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXSB8IG51bGwpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IEFzeW5jVmFsaWRhdG9yRm48YW55LCBUPltdIHwgbnVsbCk6IHZvaWQge1xuICAgIHN1cGVyLnNldEFzeW5jVmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIHN1cGVyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHZhbGlkYXRlT24ob2JzZXJ2YWJsZVZhbGlkYXRpb246IE9ic2VydmFibGU8bnVsbCB8IG9iamVjdD4pIHtcbiAgICByZXR1cm4gdmFsaWRhdGVDb250cm9sT24odGhpcywgb2JzZXJ2YWJsZVZhbGlkYXRpb24pO1xuICB9XG5cbiAgZ2V0RXJyb3I8SyBleHRlbmRzIEV4dHJhY3RTdHJpbmdzPEU+PihlcnJvckNvZGU6IEspOiBFW0tdIHwgbnVsbCB7XG4gICAgcmV0dXJuIHN1cGVyLmdldEVycm9yKGVycm9yQ29kZSkgYXMgRVtLXSB8IG51bGw7XG4gIH1cblxuICBoYXNFcnJvcjxLIGV4dGVuZHMgRXh0cmFjdFN0cmluZ3M8RT4+KGVycm9yQ29kZTogSykge1xuICAgIHJldHVybiBzdXBlci5oYXNFcnJvcihlcnJvckNvZGUpO1xuICB9XG5cbiAgc2V0RXJyb3JzKGVycm9yczogUGFydGlhbDxFPiB8IG51bGwsIG9wdHM6IEVtaXRFdmVudCA9IHt9KSB7XG4gICAgcmV0dXJuIHN1cGVyLnNldEVycm9ycyhlcnJvcnMsIG9wdHMpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmRUb3VjaGVkKGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZFRvdWNoZWQodGhpcywgZXJyb3IpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmREaXJ0eShlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzRXJyb3JBbmREaXJ0eSh0aGlzLCBlcnJvcik7XG4gIH1cblxuICBzZXRFbmFibGUoZW5hYmxlID0gdHJ1ZSwgb3B0cz86IENvbnRyb2xFdmVudE9wdGlvbnMpIHtcbiAgICBlbmFibGVDb250cm9sKHRoaXMsIGVuYWJsZSwgb3B0cyk7XG4gIH1cblxuICBzZXREaXNhYmxlKGRpc2FibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGRpc2FibGVDb250cm9sKHRoaXMsIGRpc2FibGUsIG9wdHMpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUNvbnRyb2wuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmduZWF0L3JlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL2Zvcm1Db250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLElBQUksYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBTLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEMsTUFBTSxPQUFPLFdBQTZDLFNBQVEsYUFBYTtJQW1CN0UsWUFDRSxZQUFpQyxJQUFJLEVBQ3JDLGVBQWlDLEVBQ2pDLGNBQStCO1FBRS9CLEtBQUssQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBakI1QyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDdEMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRXJDLFdBQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDdkUsV0FBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUV2RSxXQUFNLEdBQUcsb0JB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RUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCBhcyBOZ0Zvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY29udHJvbERpc2FibGVkJCwgY29udHJvbERpc2FibGVkV2hpbGUsIGNvbnRyb2xFbmFibGVkJCwgY29udHJvbEVuYWJsZWRXaGlsZSwgY29udHJvbEVycm9yQ2hhbmdlcyQsIGNvbnRyb2xTdGF0dXNDaGFuZ2VzJCwgY29udHJvbFZhbHVlQ2hhbmdlcyQsIGRpc2FibGVDb250cm9sLCBlbmFibGVDb250cm9sLCBoYXNFcnJvckFuZERpcnR5LCBoYXNFcnJvckFuZFRvdWNoZWQsIG1lcmdlQ29udHJvbFZhbGlkYXRvcnMsIHZhbGlkYXRlQ29udHJvbE9uIH0gZnJvbSAnLi9jb250cm9sLWFjdGlvbnMnO1xuaW1wb3J0IHsgQXN5bmNWYWxpZGF0b3IsIENvbnRyb2xFdmVudE9wdGlvbnMsIENvbnRyb2xPcHRpb25zLCBDb250cm9sU3RhdGUsIEVtaXRFdmVudCwgRXh0cmFjdENvbnRyb2xWYWx1ZSwgRXh0cmFjdFN0cmluZ3MsIEZvcm1Db250cm9sU3RhdGUsIE9ubHlTZWxmLCBWYWxpZGF0b3IsIFZhbGlkYXRvck9yT3B0cyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEZvcm1Db250cm9sPFQgPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IGV4dGVuZHMgTmdGb3JtQ29udHJvbCB7XG4gIHJlYWRvbmx5IHZhbHVlOiBFeHRyYWN0Q29udHJvbFZhbHVlPFQ+O1xuICByZWFkb25seSB2YWx1ZUNoYW5nZXM6IE9ic2VydmFibGU8RXh0cmFjdENvbnRyb2xWYWx1ZTxUPj47XG4gIHJlYWRvbmx5IGVycm9yczogRSB8IG51bGw7XG4gIHJlYWRvbmx5IHN0YXR1czogQ29udHJvbFN0YXRlO1xuICByZWFkb25seSBzdGF0dXNDaGFuZ2VzOiBPYnNlcnZhYmxlPENvbnRyb2xTdGF0ZT47XG5cbiAgcHJpdmF0ZSB0b3VjaENoYW5nZXMgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIGRpcnR5Q2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgcmVhZG9ubHkgdG91Y2gkID0gdGhpcy50b3VjaENoYW5nZXMuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgcmVhZG9ubHkgZGlydHkkID0gdGhpcy5kaXJ0eUNoYW5nZXMuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcblxuICByZWFkb25seSB2YWx1ZSQgPSBjb250cm9sVmFsdWVDaGFuZ2VzJDxFeHRyYWN0Q29udHJvbFZhbHVlPFQ+Pih0aGlzKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gY29udHJvbERpc2FibGVkJCh0aGlzKTtcbiAgcmVhZG9ubHkgZW5hYmxlZCQgPSBjb250cm9sRW5hYmxlZCQodGhpcyk7XG4gIHJlYWRvbmx5IHN0YXR1cyQgPSBjb250cm9sU3RhdHVzQ2hhbmdlcyQodGhpcyk7XG4gIHJlYWRvbmx5IGVycm9ycyQgPSBjb250cm9sRXJyb3JDaGFuZ2VzJDxFPih0aGlzKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmb3JtU3RhdGU6IEZvcm1Db250cm9sU3RhdGU8VD4gPSBudWxsLFxuICAgIHZhbGlkYXRvck9yT3B0cz86IFZhbGlkYXRvck9yT3B0cyxcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yXG4gICkge1xuICAgIHN1cGVyKGZvcm1TdGF0ZSwgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogU3Vic2NyaXB0aW9uO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogVCwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogdm9pZDtcbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IGFueSwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogU3Vic2NyaXB0aW9uIHwgdm9pZCB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsdWUgPT4gc3VwZXIuc2V0VmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdXBlci5zZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFBhcnRpYWw8VD4+LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiBTdWJzY3JpcHRpb247XG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IFBhcnRpYWw8VD4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucyk6IHZvaWQ7XG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IGFueSwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogU3Vic2NyaXB0aW9uIHwgdm9pZCB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsdWUgPT4gc3VwZXIucGF0Y2hWYWx1ZSh2YWx1ZSwgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN1cGVyLnBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZGlzYWJsZWRXaGlsZShvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpIHtcbiAgICByZXR1cm4gY29udHJvbERpc2FibGVkV2hpbGUodGhpcywgb2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBlbmFibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xFbmFibGVkV2hpbGUodGhpcywgb2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBtZXJnZVZhbGlkYXRvcnModmFsaWRhdG9yczogVmFsaWRhdG9yKSB7XG4gICAgbWVyZ2VDb250cm9sVmFsaWRhdG9ycyh0aGlzLCB2YWxpZGF0b3JzKTtcbiAgfVxuXG4gIG1lcmdlQXN5bmNWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yKSB7XG4gICAgdGhpcy5zZXRBc3luY1ZhbGlkYXRvcnMoW3RoaXMuYXN5bmNWYWxpZGF0b3IsIC4uLmNvZXJjZUFycmF5KHZhbGlkYXRvcnMpXSk7XG4gICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBtYXJrQXNUb3VjaGVkKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1RvdWNoZWQob3B0cyk7XG4gICAgdGhpcy50b3VjaENoYW5nZXMubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG1hcmtBc1VudG91Y2hlZChvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNVbnRvdWNoZWQob3B0cyk7XG4gICAgdGhpcy50b3VjaENoYW5nZXMubmV4dChmYWxzZSk7XG4gIH1cblxuICBtYXJrQXNQcmlzdGluZShvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNQcmlzdGluZShvcHRzKTtcbiAgICB0aGlzLmRpcnR5Q2hhbmdlcy5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG1hcmtBc0RpcnR5KG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc0RpcnR5KG9wdHMpO1xuICAgIHRoaXMuZGlydHlDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtYXJrQWxsQXNEaXJ0eSgpOiB2b2lkIHtcbiAgICB0aGlzLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gIH1cblxuICByZXNldChmb3JtU3RhdGU6IEZvcm1Db250cm9sU3RhdGU8VD4gPSBudWxsLCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnJlc2V0KGZvcm1TdGF0ZSwgb3B0aW9ucyk7XG4gIH1cblxuICBzZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogVmFsaWRhdG9yKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIHN1cGVyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHNldEFzeW5jVmFsaWRhdG9ycyhuZXdWYWxpZGF0b3I6IEFzeW5jVmFsaWRhdG9yKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgdmFsaWRhdGVPbihvYnNlcnZhYmxlVmFsaWRhdGlvbjogT2JzZXJ2YWJsZTxudWxsIHwgb2JqZWN0Pikge1xuICAgIHJldHVybiB2YWxpZGF0ZUNvbnRyb2xPbih0aGlzLCBvYnNlcnZhYmxlVmFsaWRhdGlvbik7XG4gIH1cblxuICBnZXRFcnJvcjxLIGV4dGVuZHMgRXh0cmFjdFN0cmluZ3M8RT4+KGVycm9yQ29kZTogSyk6IEVbS10gfCBudWxsIHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0RXJyb3IoZXJyb3JDb2RlKSBhcyBFW0tdIHwgbnVsbDtcbiAgfVxuXG4gIGhhc0Vycm9yPEsgZXh0ZW5kcyBFeHRyYWN0U3RyaW5nczxFPj4oZXJyb3JDb2RlOiBLKSB7XG4gICAgcmV0dXJuIHN1cGVyLmhhc0Vycm9yKGVycm9yQ29kZSk7XG4gIH1cblxuICBzZXRFcnJvcnMoZXJyb3JzOiBQYXJ0aWFsPEU+IHwgbnVsbCwgb3B0czogRW1pdEV2ZW50ID0ge30pIHtcbiAgICByZXR1cm4gc3VwZXIuc2V0RXJyb3JzKGVycm9ycywgb3B0cyk7XG4gIH1cblxuICBoYXNFcnJvckFuZFRvdWNoZWQoZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc0Vycm9yQW5kVG91Y2hlZCh0aGlzLCBlcnJvcik7XG4gIH1cblxuICBoYXNFcnJvckFuZERpcnR5KGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZERpcnR5KHRoaXMsIGVycm9yKTtcbiAgfVxuXG4gIHNldEVuYWJsZShlbmFibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGVuYWJsZUNvbnRyb2wodGhpcywgZW5hYmxlLCBvcHRzKTtcbiAgfVxuXG4gIHNldERpc2FibGUoZGlzYWJsZSA9IHRydWUsIG9wdHM/OiBDb250cm9sRXZlbnRPcHRpb25zKSB7XG4gICAgZGlzYWJsZUNvbnRyb2wodGhpcywgZGlzYWJsZSwgb3B0cyk7XG4gIH1cbn1cbiJdfQ==

@@ -5,3 +5,3 @@ import { FormGroup as NgFormGroup } from '@angular/forms';

import { controlDisabled$, controlDisabledWhile, controlEnabled$, controlEnabledWhile, controlErrorChanges$, controlStatusChanges$, controlValueChanges$, disableControl, enableControl, hasErrorAndDirty, hasErrorAndTouched, markAllDirty, mergeControlValidators, selectControlValue$, validateControlOn } from './control-actions';
import { coerceArray, isFunction } from './utils';
import { coerceArray } from './utils';
export class FormGroup extends NgFormGroup {

@@ -49,17 +49,9 @@ constructor(controls, validatorOrOpts, asyncValidator) {

}
else {
super.setValue(valueOrObservable, options);
}
super.setValue(valueOrObservable, options);
}
patchValue(valueOrObservable, options) {
if (isObservable(valueOrObservable)) {
return valueOrObservable.subscribe(value => super.patchValue(value, options));
return valueOrObservable.subscribe((value) => super.patchValue(value, options));
}
else {
let value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
super.patchValue(value, options);
}
super.patchValue(valueOrObservable, options);
}

@@ -134,2 +126,2 @@ disabledWhile(observable, options) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUdyb3VwLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9mb3JtR3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsSUFBSSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2xCLE1BQU0sbUJBQW1CLENBQUM7QUFnQjNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxELE1BQU0sT0FBTyxTQUF1RCxTQUFRLFdBQVc7SUFtQnJGLFlBQ1MsUUFBMkQsRUFDbEUsZUFBMEcsRUFDMUcsY0FBMkY7UUFFM0YsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFKMUMsYUFBUSxHQUFSLFFBQVEsQ0FBbUQ7UUFiNUQsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUU5QyxXQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLFdBQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVks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O1FBQ25ELGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCBhcyBOZ0Zvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGNvbnRyb2xEaXNhYmxlZCQsXG4gIGNvbnRyb2xEaXNhYmxlZFdoaWxlLFxuICBjb250cm9sRW5hYmxlZCQsXG4gIGNvbnRyb2xFbmFibGVkV2hpbGUsXG4gIGNvbnRyb2xFcnJvckNoYW5nZXMkLFxuICBjb250cm9sU3RhdHVzQ2hhbmdlcyQsXG4gIGNvbnRyb2xWYWx1ZUNoYW5nZXMkLFxuICBkaXNhYmxlQ29udHJvbCxcbiAgZW5hYmxlQ29udHJvbCxcbiAgaGFzRXJyb3JBbmREaXJ0eSxcbiAgaGFzRXJyb3JBbmRUb3VjaGVkLFxuICBtYXJrQWxsRGlydHksXG4gIG1lcmdlQ29udHJvbFZhbGlkYXRvcnMsXG4gIHNlbGVjdENvbnRyb2xWYWx1ZSQsXG4gIHZhbGlkYXRlQ29udHJvbE9uXG59IGZyb20gJy4vY29udHJvbC1hY3Rpb25zJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQWJzdHJhY3RDb250cm9sT3B0aW9ucyxcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgQ29udHJvbEV2ZW50T3B0aW9ucyxcbiAgQ29udHJvbE9wdGlvbnMsXG4gIENvbnRyb2xTdGF0ZSxcbiAgRW1pdEV2ZW50LFxuICBFeHRyYWN0U3RyaW5ncyxcbiAgT25seVNlbGYsXG4gIFZhbGlkYXRvckZuLFxuICBLZXlWYWx1ZUNvbnRyb2xzLFxuICBPYmosXG4gIEV4dHJhY3RBYnN0cmFjdENvbnRyb2xcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSwgaXNGdW5jdGlvbiB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgRm9ybUdyb3VwPFQgZXh0ZW5kcyBPYmogPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IGV4dGVuZHMgTmdGb3JtR3JvdXAge1xuICB2YWx1ZTogVDtcbiAgZXJyb3JzOiBFIHwgbnVsbDtcbiAgdmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPFQ+O1xuICBzdGF0dXM6IENvbnRyb2xTdGF0ZTtcbiAgc3RhdHVzQ2hhbmdlczogT2JzZXJ2YWJsZTxDb250cm9sU3RhdGU+O1xuXG4gIHByaXZhdGUgdG91Y2hDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBkaXJ0eUNoYW5nZXMgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHRvdWNoJCA9IHRoaXMudG91Y2hDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIGRpcnR5JCA9IHRoaXMuZGlydHlDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgdmFsdWUkID0gY29udHJvbFZhbHVlQ2hhbmdlcyQ8VD4odGhpcyk7XG4gIGRpc2FibGVkJCA9IGNvbnRyb2xEaXNhYmxlZCQ8VD4odGhpcyk7XG4gIGVuYWJsZWQkID0gY29udHJvbEVuYWJsZWQkPFQ+KHRoaXMpO1xuICBzdGF0dXMkID0gY29udHJvbFN0YXR1c0NoYW5nZXMkPFQ+KHRoaXMpO1xuICBlcnJvcnMkID0gY29udHJvbEVycm9yQ2hhbmdlcyQ8RT4odGhpcyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbnRyb2xzOiBFeHRyYWN0QWJzdHJhY3RDb250cm9sPEtleVZhbHVlQ29udHJvbHM8VCwgRT4sIFQ+LFxuICAgIHZhbGlkYXRvck9yT3B0cz86IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48YW55LCBUPltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9uczxULCBFPiB8IG51bGwsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPltdIHwgbnVsbFxuICApIHtcbiAgICBzdXBlcihjb250cm9scywgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XG4gIH1cblxuICBzZWxlY3Q8Uj4obWFwRm46IChzdGF0ZTogVCkgPT4gUik6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiBzZWxlY3RDb250cm9sVmFsdWUkKHRoaXMsIG1hcEZuKTtcbiAgfVxuXG4gIGdldFJhd1ZhbHVlKCk6IFQge1xuICAgIHJldHVybiBzdXBlci5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0PEsxIGV4dGVuZHMga2V5b2YgVD4ocGF0aD86IFtLMV0pOiBBYnN0cmFjdENvbnRyb2w8VFtLMV0+O1xuICBnZXQ8SzEgZXh0ZW5kcyBrZXlvZiBULCBLMiBleHRlbmRzIGtleW9mIFRbSzFdPihwYXRoPzogW0sxLCBLMl0pOiBBYnN0cmFjdENvbnRyb2w8VFtLMV1bSzJdPjtcbiAgZ2V0PEsxIGV4dGVuZHMga2V5b2YgVCwgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXSwgSzMgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl0+KFxuICAgIHBhdGg/OiBbSzEsIEsyLCBLM11cbiAgKTogQWJzdHJhY3RDb250cm9sPFRbSzFdW0syXVtLM10+O1xuICBnZXQocGF0aD86IHN0cmluZyk6IEFic3RyYWN0Q29udHJvbDtcbiAgZ2V0KHBhdGg6IGFueSkge1xuICAgIHJldHVybiBzdXBlci5nZXQocGF0aCk7XG4gIH1cblxuICBnZXRDb250cm9sPFAxIGV4dGVuZHMga2V5b2YgVD4ocHJvcDE6IFAxKTogQWJzdHJhY3RDb250cm9sPFRbUDFdPjtcbiAgZ2V0Q29udHJvbDxQMSBleHRlbmRzIGtleW9mIFQsIFAyIGV4dGVuZHMga2V5b2YgVFtQMV0+KHByb3AxOiBQMSwgcHJvcDI6IFAyKTogQWJzdHJhY3RDb250cm9sPFRbUDFdW1AyXT47XG4gIGdldENvbnRyb2w8UDEgZXh0ZW5kcyBrZXlvZiBULCBQMiBleHRlbmRzIGtleW9mIFRbUDFdLCBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXT4oXG4gICAgcHJvcDE6IFAxLFxuICAgIHByb3AyOiBQMixcbiAgICBwcm9wMzogUDNcbiAgKTogQWJzdHJhY3RDb250cm9sPFRbUDFdW1AyXVtQM10+O1xuICBnZXRDb250cm9sPFAxIGV4dGVuZHMga2V5b2YgVCwgUDIgZXh0ZW5kcyBrZXlvZiBUW1AxXSwgUDMgZXh0ZW5kcyBrZXlvZiBUW1AxXVtQMl0sIFA0IGV4dGVuZHMga2V5b2YgVFtQMV1bUDJdW1AzXT4oXG4gICAgcHJvcDE6IFAxLFxuICAgIHByb3AyOiBQMixcbiAgICBwcm9wMzogUDMsXG4gICAgcHJvcDQ6IFA0XG4gICk6IEFic3RyYWN0Q29udHJvbDxUW1AxXVtQMl1bUDNdW1A0XT47XG4gIGdldENvbnRyb2woLi4ubmFtZXM6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KG5hbWVzLmpvaW4oJy4nKSk7XG4gIH1cblxuICBhZGRDb250cm9sPEsgZXh0ZW5kcyBFeHRyYWN0U3RyaW5nczxUPj4obmFtZTogSywgY29udHJvbDogQWJzdHJhY3RDb250cm9sPFRbS10+KTogdm9pZCB7XG4gICAgc3VwZXIuYWRkQ29udHJvbChuYW1lLCBjb250cm9sKTtcbiAgfVxuXG4gIHJlbW92ZUNvbnRyb2wobmFtZTogRXh0cmFjdFN0cmluZ3M8VD4pOiB2b2lkIHtcbiAgICBzdXBlci5yZW1vdmVDb250cm9sKG5hbWUpO1xuICB9XG5cbiAgY29udGFpbnMoY29udHJvbE5hbWU6IEV4dHJhY3RTdHJpbmdzPFQ+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKGNvbnRyb2xOYW1lKTtcbiAgfVxuXG4gIHNldENvbnRyb2w8SyBleHRlbmRzIEV4dHJhY3RTdHJpbmdzPFQ+PihuYW1lOiBLLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VFtLXT4pOiB2b2lkIHtcbiAgICBzdXBlci5zZXRDb250cm9sKG5hbWUsIGNvbnRyb2wpO1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8VD4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogU3Vic2NyaXB0aW9uO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogVCwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiB2b2lkO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IGFueSB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsdWUgPT4gc3VwZXIuc2V0VmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIuc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGUsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8UGFydGlhbDxUPj4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogU3Vic2NyaXB0aW9uO1xuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBQYXJ0aWFsPFQ+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQ7XG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IChzdGF0ZTogVCkgPT4gVCwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogdm9pZDtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IFN1YnNjcmlwdGlvbiB8IHZvaWQge1xuICAgIGlmIChpc09ic2VydmFibGUodmFsdWVPck9ic2VydmFibGUpKSB7XG4gICAgICByZXR1cm4gdmFsdWVPck9ic2VydmFibGUuc3Vic2NyaWJlKHZhbHVlID0+IHN1cGVyLnBhdGNoVmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHZhbHVlID0gdmFsdWVPck9ic2VydmFibGU7XG4gICAgICBpZiAoaXNGdW5jdGlvbih2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZU9yT2JzZXJ2YWJsZSh0aGlzLnZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHN1cGVyLnBhdGNoVmFsdWUodmFsdWUsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGRpc2FibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xEaXNhYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRW5hYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgbWVyZ2VWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXSkge1xuICAgIG1lcmdlQ29udHJvbFZhbGlkYXRvcnModGhpcywgdmFsaWRhdG9ycyk7XG4gIH1cblxuICBtZXJnZUFzeW5jVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgQXN5bmNWYWxpZGF0b3JGbjxhbnksIFQ+W10pIHtcbiAgICB0aGlzLnNldEFzeW5jVmFsaWRhdG9ycyhbdGhpcy5hc3luY1ZhbGlkYXRvciwgLi4uY29lcmNlQXJyYXkodmFsaWRhdG9ycyldKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIG1hcmtBc1RvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVG91Y2hlZChvcHRzKTtcbiAgICB0aGlzLnRvdWNoQ2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FzVW50b3VjaGVkKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1VudG91Y2hlZChvcHRzKTtcbiAgICB0aGlzLnRvdWNoQ2hhbmdlcy5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG1hcmtBc1ByaXN0aW5lKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1ByaXN0aW5lKG9wdHMpO1xuICAgIHRoaXMuZGlydHlDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzRGlydHkob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzRGlydHkob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG1hcmtBbGxBc0RpcnR5KCk6IHZvaWQge1xuICAgIG1hcmtBbGxEaXJ0eSh0aGlzKTtcbiAgfVxuXG4gIHJlc2V0KGZvcm1TdGF0ZT86IFBhcnRpYWw8VD4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogdm9pZCB7XG4gICAgc3VwZXIucmVzZXQoZm9ybVN0YXRlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yOiBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+W10gfCBudWxsKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIHN1cGVyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHNldEFzeW5jVmFsaWRhdG9ycyhuZXdWYWxpZGF0b3I6IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD4gfCBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+W10gfCBudWxsKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgdmFsaWRhdGVPbihvYnNlcnZhYmxlVmFsaWRhdGlvbjogT2JzZXJ2YWJsZTxudWxsIHwgb2JqZWN0Pikge1xuICAgIHJldHVybiB2YWxpZGF0ZUNvbnRyb2xPbih0aGlzLCBvYnNlcnZhYmxlVmFsaWRhdGlvbik7XG4gIH1cblxuICBoYXNFcnJvcjxLMSBleHRlbmRzIGtleW9mIFQ+KGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sIHBhdGg/OiBbSzFdKTogYm9vbGVhbjtcbiAgaGFzRXJyb3I8SzEgZXh0ZW5kcyBrZXlvZiBULCBLMiBleHRlbmRzIGtleW9mIFRbSzFdPihlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LCBwYXRoPzogW0sxLCBLMl0pOiBib29sZWFuO1xuICBoYXNFcnJvcjxLMSBleHRlbmRzIGtleW9mIFQsIEsyIGV4dGVuZHMga2V5b2YgVFtLMV0sIEszIGV4dGVuZHMga2V5b2YgVFtLMV1bSzJdPihcbiAgICBlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LFxuICAgIHBhdGg/OiBbSzEsIEsyLCBLM11cbiAgKTogYm9vbGVhbjtcbiAgaGFzRXJyb3IoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IHN0cmluZyk6IGJvb2xlYW47XG4gIGhhc0Vycm9yKGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sIHBhdGg/OiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuaGFzRXJyb3IoZXJyb3JDb2RlLCBwYXRoKTtcbiAgfVxuXG4gIHNldEVycm9ycyhlcnJvcnM6IFBhcnRpYWw8RT4gfCBudWxsLCBvcHRzOiBFbWl0RXZlbnQgPSB7fSkge1xuICAgIHJldHVybiBzdXBlci5zZXRFcnJvcnMoZXJyb3JzLCBvcHRzKTtcbiAgfVxuXG4gIGdldEVycm9yPEsgZXh0ZW5kcyBrZXlvZiBFLCBLMSBleHRlbmRzIGtleW9mIFQ+KGVycm9yQ29kZTogSywgcGF0aD86IFtLMV0pOiBFW0tdIHwgbnVsbDtcbiAgZ2V0RXJyb3I8SyBleHRlbmRzIGtleW9mIEUsIEsxIGV4dGVuZHMga2V5b2YgVCwgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXT4oZXJyb3JDb2RlOiBLLCBwYXRoPzogW0sxLCBLMl0pOiBFW0tdIHwgbnVsbDtcbiAgZ2V0RXJyb3I8SyBleHRlbmRzIGtleW9mIEUsIEsxIGV4dGVuZHMga2V5b2YgVCwgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXSwgSzMgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl0+KFxuICAgIGVycm9yQ29kZTogSyxcbiAgICBwYXRoPzogW0sxLCBLMiwgSzNdXG4gICk6IEVbS10gfCBudWxsO1xuICBnZXRFcnJvcjxLIGV4dGVuZHMga2V5b2YgRT4oZXJyb3JDb2RlOiBLLCBwYXRoPzogc3RyaW5nKTogRVtLXSB8IG51bGw7XG4gIGdldEVycm9yPEsgZXh0ZW5kcyBrZXlvZiBFPihlcnJvckNvZGU6IEssIHBhdGg/OiBhbnkpOiBFW0tdIHwgbnVsbCB7XG4gICAgcmV0dXJuIHN1cGVyLmdldEVycm9yKGVycm9yQ29kZSBhcyBhbnksIHBhdGgpIGFzIEVbS10gfCBudWxsO1xuICB9XG5cbiAgaGFzRXJyb3JBbmRUb3VjaGVkPFAxIGV4dGVuZHMga2V5b2YgVD4oZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LCBwcm9wMT86IFAxKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmRUb3VjaGVkPFAxIGV4dGVuZHMga2V5b2YgVCwgUDIgZXh0ZW5kcyBrZXlvZiBUW1AxXT4oXG4gICAgZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LFxuICAgIHByb3AxPzogUDEsXG4gICAgcHJvcDI/OiBQMlxuICApOiBib29sZWFuO1xuICBoYXNFcnJvckFuZFRvdWNoZWQ8UDEgZXh0ZW5kcyBrZXlvZiBULCBQMiBleHRlbmRzIGtleW9mIFRbUDFdLCBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXT4oXG4gICAgZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LFxuICAgIHByb3AxPzogUDEsXG4gICAgcHJvcDI/OiBQMixcbiAgICBwcm9wMz86IFAzXG4gICk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kVG91Y2hlZDxcbiAgICBQMSBleHRlbmRzIGtleW9mIFQsXG4gICAgUDIgZXh0ZW5kcyBrZXlvZiBUW1AxXSxcbiAgICBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXSxcbiAgICBQNCBleHRlbmRzIGtleW9mIFRbUDFdW1AyXVtQM11cbiAgPihlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sIHByb3AxPzogUDEsIHByb3AyPzogUDIsIHByb3AzPzogUDMsIHByb3A0PzogUDQpOiBib29sZWFuO1xuICBoYXNFcnJvckFuZFRvdWNoZWQoZXJyb3I6IGFueSwgLi4ucGF0aDogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc0Vycm9yQW5kVG91Y2hlZCh0aGlzLCBlcnJvciwgLi4ucGF0aCk7XG4gIH1cblxuICBoYXNFcnJvckFuZERpcnR5PFAxIGV4dGVuZHMga2V5b2YgVD4oZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LCBwcm9wMT86IFAxKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmREaXJ0eTxQMSBleHRlbmRzIGtleW9mIFQsIFAyIGV4dGVuZHMga2V5b2YgVFtQMV0+KFxuICAgIGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPixcbiAgICBwcm9wMT86IFAxLFxuICAgIHByb3AyPzogUDJcbiAgKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmREaXJ0eTxQMSBleHRlbmRzIGtleW9mIFQsIFAyIGV4dGVuZHMga2V5b2YgVFtQMV0sIFAzIGV4dGVuZHMga2V5b2YgVFtQMV1bUDJdPihcbiAgICBlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sXG4gICAgcHJvcDE/OiBQMSxcbiAgICBwcm9wMj86IFAyLFxuICAgIHByb3AzPzogUDNcbiAgKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmREaXJ0eTxcbiAgICBQMSBleHRlbmRzIGtleW9mIFQsXG4gICAgUDIgZXh0ZW5kcyBrZXlvZiBUW1AxXSxcbiAgICBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXSxcbiAgICBQNCBleHRlbmRzIGtleW9mIFRbUDFdW1AyXVtQM11cbiAgPihlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sIHByb3AxPzogUDEsIHByb3AyPzogUDIsIHByb3AzPzogUDMsIHByb3A0PzogUDQpOiBib29sZWFuO1xuICBoYXNFcnJvckFuZERpcnR5KGVycm9yOiBhbnksIC4uLnBhdGg6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZERpcnR5KHRoaXMsIGVycm9yLCAuLi5wYXRoKTtcbiAgfVxuXG4gIHNldEVuYWJsZShlbmFibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGVuYWJsZUNvbnRyb2wodGhpcywgZW5hYmxlLCBvcHRzKTtcbiAgfVxuXG4gIHNldERpc2FibGUoZGlzYWJsZSA9IHRydWUsIG9wdHM/OiBDb250cm9sRXZlbnRPcHRpb25zKSB7XG4gICAgZGlzYWJsZUNvbnRyb2wodGhpcywgZGlzYWJsZSwgb3B0cyk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUdyb3VwLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9mb3JtR3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsSUFBSSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZVLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEMsTUFBTSxPQUFPLFNBQTBELFNBQVEsV0FBVztJQW1CeEYsWUFDUyxRQUFrRCxFQUN6RCxlQUFpQyxFQUNqQyxjQUErQjtRQUUvQixLQUFLLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUoxQyxhQUFRLEdBQVIsUUFBUSxDQUEwQztRQWJuRCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDdEMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRXJDLFdBQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDdkUsV0FBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLG9C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QkFBK0M7UUFDeEQsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBU0QsUUFBUSxDQUFDLFNBQTRCLEVBQUUsSUFBVTtRQUMvQyxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBeUIsRUFBRSxPQUFrQixFQUFFO1FBQ3ZELE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQVNELFFBQVEsQ0FBb0IsU0FBWSxFQUFFLElBQVU7UUFDbEQsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQWdCLEVBQUUsSUFBSSxDQUFnQixDQUFDO0lBQy9ELENBQUM7SUFrQkQsa0JBQWtCLENBQUMsS0FBVSxFQUFFLEdBQUcsSUFBUztRQUN6QyxPQUFPLGtCQUFrQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBa0JELGdCQUFnQixDQUFDLEtBQVUsRUFBRSxHQUFHLElBQVM7UUFDdkMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFLElBQTBCO1FBQ2pELGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBTyxHQUFHLElBQUksRUFBRSxJQUEwQjtRQUNuRCxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgYXMgTmdGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpc09ic2VydmFibGUsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb250cm9sRGlzYWJsZWQkLCBjb250cm9sRGlzYWJsZWRXaGlsZSwgY29udHJvbEVuYWJsZWQkLCBjb250cm9sRW5hYmxlZFdoaWxlLCBjb250cm9sRXJyb3JDaGFuZ2VzJCwgY29udHJvbFN0YXR1c0NoYW5nZXMkLCBjb250cm9sVmFsdWVDaGFuZ2VzJCwgZGlzYWJsZUNvbnRyb2wsIGVuYWJsZUNvbnRyb2wsIGhhc0Vycm9yQW5kRGlydHksIGhhc0Vycm9yQW5kVG91Y2hlZCwgbWFya0FsbERpcnR5LCBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzLCBzZWxlY3RDb250cm9sVmFsdWUkLCB2YWxpZGF0ZUNvbnRyb2xPbiB9IGZyb20gJy4vY29udHJvbC1hY3Rpb25zJztcbmltcG9ydCB7IEFzeW5jVmFsaWRhdG9yLCBDb250cm9sRXZlbnRPcHRpb25zLCBDb250cm9sT3B0aW9ucywgQ29udHJvbFN0YXRlLCBDb250cm9sVHlwZSwgRW1pdEV2ZW50LCBFeHRyYWN0R3JvdXBWYWx1ZSwgRXh0cmFjdFN0cmluZ3MsIE9ubHlTZWxmLCBWYWxpZGF0b3IsIFZhbGlkYXRvck9yT3B0cyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEZvcm1Hcm91cDxUIGV4dGVuZHMgb2JqZWN0ID0gYW55LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55PiBleHRlbmRzIE5nRm9ybUdyb3VwIHtcbiAgcmVhZG9ubHkgdmFsdWU6IEV4dHJhY3RHcm91cFZhbHVlPFQ+O1xuICByZWFkb25seSB2YWx1ZUNoYW5nZXM6IE9ic2VydmFibGU8RXh0cmFjdEdyb3VwVmFsdWU8VD4+O1xuICByZWFkb25seSBlcnJvcnM6IEUgfCBudWxsO1xuICByZWFkb25seSBzdGF0dXM6IENvbnRyb2xTdGF0ZTtcbiAgcmVhZG9ubHkgc3RhdHVzQ2hhbmdlczogT2JzZXJ2YWJsZTxDb250cm9sU3RhdGU+O1xuXG4gIHByaXZhdGUgdG91Y2hDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBkaXJ0eUNoYW5nZXMgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHJlYWRvbmx5IHRvdWNoJCA9IHRoaXMudG91Y2hDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIHJlYWRvbmx5IGRpcnR5JCA9IHRoaXMuZGlydHlDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgcmVhZG9ubHkgdmFsdWUkID0gY29udHJvbFZhbHVlQ2hhbmdlcyQ8RXh0cmFjdEdyb3VwVmFsdWU8VD4+KHRoaXMpO1xuICByZWFkb25seSBkaXNhYmxlZCQgPSBjb250cm9sRGlzYWJsZWQkKHRoaXMpO1xuICByZWFkb25seSBlbmFibGVkJCA9IGNvbnRyb2xFbmFibGVkJCh0aGlzKTtcbiAgcmVhZG9ubHkgc3RhdHVzJCA9IGNvbnRyb2xTdGF0dXNDaGFuZ2VzJCh0aGlzKTtcbiAgcmVhZG9ubHkgZXJyb3JzJCA9IGNvbnRyb2xFcnJvckNoYW5nZXMkPEU+KHRoaXMpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb250cm9sczogeyBbUCBpbiBrZXlvZiBUXTogQ29udHJvbFR5cGU8VFtQXSwgRT4gfSxcbiAgICB2YWxpZGF0b3JPck9wdHM/OiBWYWxpZGF0b3JPck9wdHMsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvclxuICApIHtcbiAgICBzdXBlcihjb250cm9scywgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XG4gIH1cblxuICBzZWxlY3Q8Uj4obWFwRm46IChzdGF0ZTogRXh0cmFjdEdyb3VwVmFsdWU8VD4pID0+IFIpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICByZXR1cm4gc2VsZWN0Q29udHJvbFZhbHVlJCh0aGlzLCBtYXBGbik7XG4gIH1cblxuICBnZXRSYXdWYWx1ZSgpOiBFeHRyYWN0R3JvdXBWYWx1ZTxUPiB7XG4gICAgcmV0dXJuIHN1cGVyLmdldFJhd1ZhbHVlKCk7XG4gIH1cblxuICBnZXQ8SzEgZXh0ZW5kcyBrZXlvZiBUPihwYXRoPzogW0sxXSk6IENvbnRyb2xUeXBlPFRbSzFdPjtcbiAgZ2V0PEsxIGV4dGVuZHMga2V5b2YgVCwgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXT4ocGF0aD86IFtLMSwgSzJdKTogQ29udHJvbFR5cGU8VFtLMV1bSzJdPjtcbiAgZ2V0PEsxIGV4dGVuZHMga2V5b2YgVCwgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXSwgSzMgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl0+KFxuICAgIHBhdGg/OiBbSzEsIEsyLCBLM11cbiAgKTogQ29udHJvbFR5cGU8VFtLMV1bSzJdW0szXT47XG4gIGdldChwYXRoPzogc3RyaW5nKTogQ29udHJvbFR5cGU7XG4gIGdldChwYXRoOiBhbnkpIHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0KHBhdGgpO1xuICB9XG5cbiAgZ2V0Q29udHJvbDxQMSBleHRlbmRzIGtleW9mIFQ+KHByb3AxOiBQMSk6IENvbnRyb2xUeXBlPFRbUDFdPjtcbiAgZ2V0Q29udHJvbDxQMSBleHRlbmRzIGtleW9mIFQsIFAyIGV4dGVuZHMga2V5b2YgVFtQMV0+KHByb3AxOiBQMSwgcHJvcDI6IFAyKTogQ29udHJvbFR5cGU8VFtQMV1bUDJdPjtcbiAgZ2V0Q29udHJvbDxQMSBleHRlbmRzIGtleW9mIFQsIFAyIGV4dGVuZHMga2V5b2YgVFtQMV0sIFAzIGV4dGVuZHMga2V5b2YgVFtQMV1bUDJdPihcbiAgICBwcm9wMTogUDEsXG4gICAgcHJvcDI6IFAyLFxuICAgIHByb3AzOiBQM1xuICApOiBDb250cm9sVHlwZTxUW1AxXVtQMl1bUDNdPjtcbiAgZ2V0Q29udHJvbDxQMSBleHRlbmRzIGtleW9mIFQsIFAyIGV4dGVuZHMga2V5b2YgVFtQMV0sIFAzIGV4dGVuZHMga2V5b2YgVFtQMV1bUDJdLCBQNCBleHRlbmRzIGtleW9mIFRbUDFdW1AyXVtQM10+KFxuICAgIHByb3AxOiBQMSxcbiAgICBwcm9wMjogUDIsXG4gICAgcHJvcDM6IFAzLFxuICAgIHByb3A0OiBQNFxuICApOiBDb250cm9sVHlwZTxUW1AxXVtQMl1bUDNdW1A0XT47XG4gIGdldENvbnRyb2woLi4ubmFtZXM6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KG5hbWVzLmpvaW4oJy4nKSk7XG4gIH1cblxuICBhZGRDb250cm9sPEsgZXh0ZW5kcyBFeHRyYWN0U3RyaW5nczxUPj4obmFtZTogSywgY29udHJvbDogQ29udHJvbFR5cGU8VFtLXT4pOiB2b2lkIHtcbiAgICBzdXBlci5hZGRDb250cm9sKG5hbWUsIGNvbnRyb2wpO1xuICB9XG5cbiAgcmVtb3ZlQ29udHJvbChuYW1lOiBFeHRyYWN0U3RyaW5nczxUPik6IHZvaWQge1xuICAgIHN1cGVyLnJlbW92ZUNvbnRyb2wobmFtZSk7XG4gIH1cblxuICBjb250YWlucyhjb250cm9sTmFtZTogRXh0cmFjdFN0cmluZ3M8VD4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuY29udGFpbnMoY29udHJvbE5hbWUpO1xuICB9XG5cbiAgc2V0Q29udHJvbDxLIGV4dGVuZHMgRXh0cmFjdFN0cmluZ3M8VD4+KG5hbWU6IEssIGNvbnRyb2w6IENvbnRyb2xUeXBlPFRbS10+KTogdm9pZCB7XG4gICAgc3VwZXIuc2V0Q29udHJvbChuYW1lLCBjb250cm9sKTtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPEV4dHJhY3RHcm91cFZhbHVlPFQ+Piwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb247XG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBFeHRyYWN0R3JvdXBWYWx1ZTxUPiwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiB2b2lkO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IGFueSB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsdWUgPT4gc3VwZXIuc2V0VmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdXBlci5zZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFBhcnRpYWw8RXh0cmFjdEdyb3VwVmFsdWU8VD4+Piwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb247XG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IFBhcnRpYWw8RXh0cmFjdEdyb3VwVmFsdWU8VD4+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQ7XG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IGFueSwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSgodmFsdWU6IFQpID0+IHN1cGVyLnBhdGNoVmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdXBlci5wYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIGRpc2FibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xEaXNhYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRW5hYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgbWVyZ2VWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvcikge1xuICAgIG1lcmdlQ29udHJvbFZhbGlkYXRvcnModGhpcywgdmFsaWRhdG9ycyk7XG4gIH1cblxuICBtZXJnZUFzeW5jVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvcikge1xuICAgIHRoaXMuc2V0QXN5bmNWYWxpZGF0b3JzKFt0aGlzLmFzeW5jVmFsaWRhdG9yLCAuLi5jb2VyY2VBcnJheSh2YWxpZGF0b3JzKV0pO1xuICAgIHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgbWFya0FzVG91Y2hlZChvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNUb3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtYXJrQXNVbnRvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVW50b3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzUHJpc3RpbmUob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzUHJpc3RpbmUob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dChmYWxzZSk7XG4gIH1cblxuICBtYXJrQXNEaXJ0eShvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNEaXJ0eShvcHRzKTtcbiAgICB0aGlzLmRpcnR5Q2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FsbEFzRGlydHkoKTogdm9pZCB7XG4gICAgbWFya0FsbERpcnR5KHRoaXMpO1xuICB9XG5cbiAgcmVzZXQoZm9ybVN0YXRlPzogUGFydGlhbDxFeHRyYWN0R3JvdXBWYWx1ZTxUPj4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogdm9pZCB7XG4gICAgc3VwZXIucmVzZXQoZm9ybVN0YXRlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yOiBWYWxpZGF0b3IpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3IpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRBc3luY1ZhbGlkYXRvcnMobmV3VmFsaWRhdG9yKTtcbiAgICBzdXBlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICB2YWxpZGF0ZU9uKG9ic2VydmFibGVWYWxpZGF0aW9uOiBPYnNlcnZhYmxlPG51bGwgfCBvYmplY3Q+KSB7XG4gICAgcmV0dXJuIHZhbGlkYXRlQ29udHJvbE9uKHRoaXMsIG9ic2VydmFibGVWYWxpZGF0aW9uKTtcbiAgfVxuXG4gIGhhc0Vycm9yPEsxIGV4dGVuZHMga2V5b2YgVD4oZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IFtLMV0pOiBib29sZWFuO1xuICBoYXNFcnJvcjxLMSBleHRlbmRzIGtleW9mIFQsIEsyIGV4dGVuZHMga2V5b2YgVFtLMV0+KGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sIHBhdGg/OiBbSzEsIEsyXSk6IGJvb2xlYW47XG4gIGhhc0Vycm9yPEsxIGV4dGVuZHMga2V5b2YgVCwgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXSwgSzMgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl0+KFxuICAgIGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sXG4gICAgcGF0aD86IFtLMSwgSzIsIEszXVxuICApOiBib29sZWFuO1xuICBoYXNFcnJvcihlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LCBwYXRoPzogc3RyaW5nKTogYm9vbGVhbjtcbiAgaGFzRXJyb3IoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5oYXNFcnJvcihlcnJvckNvZGUsIHBhdGgpO1xuICB9XG5cbiAgc2V0RXJyb3JzKGVycm9yczogUGFydGlhbDxFPiB8IG51bGwsIG9wdHM6IEVtaXRFdmVudCA9IHt9KSB7XG4gICAgcmV0dXJuIHN1cGVyLnNldEVycm9ycyhlcnJvcnMsIG9wdHMpO1xuICB9XG5cbiAgZ2V0RXJyb3I8SyBleHRlbmRzIGtleW9mIEUsIEsxIGV4dGVuZHMga2V5b2YgVD4oZXJyb3JDb2RlOiBLLCBwYXRoPzogW0sxXSk6IEVbS10gfCBudWxsO1xuICBnZXRFcnJvcjxLIGV4dGVuZHMga2V5b2YgRSwgSzEgZXh0ZW5kcyBrZXlvZiBULCBLMiBleHRlbmRzIGtleW9mIFRbSzFdPihlcnJvckNvZGU6IEssIHBhdGg/OiBbSzEsIEsyXSk6IEVbS10gfCBudWxsO1xuICBnZXRFcnJvcjxLIGV4dGVuZHMga2V5b2YgRSwgSzEgZXh0ZW5kcyBrZXlvZiBULCBLMiBleHRlbmRzIGtleW9mIFRbSzFdLCBLMyBleHRlbmRzIGtleW9mIFRbSzFdW0syXT4oXG4gICAgZXJyb3JDb2RlOiBLLFxuICAgIHBhdGg/OiBbSzEsIEsyLCBLM11cbiAgKTogRVtLXSB8IG51bGw7XG4gIGdldEVycm9yPEsgZXh0ZW5kcyBrZXlvZiBFPihlcnJvckNvZGU6IEssIHBhdGg/OiBzdHJpbmcpOiBFW0tdIHwgbnVsbDtcbiAgZ2V0RXJyb3I8SyBleHRlbmRzIGtleW9mIEU+KGVycm9yQ29kZTogSywgcGF0aD86IGFueSk6IEVbS10gfCBudWxsIHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0RXJyb3IoZXJyb3JDb2RlIGFzIGFueSwgcGF0aCkgYXMgRVtLXSB8IG51bGw7XG4gIH1cblxuICBoYXNFcnJvckFuZFRvdWNoZWQ8UDEgZXh0ZW5kcyBrZXlvZiBUPihlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sIHByb3AxPzogUDEpOiBib29sZWFuO1xuICBoYXNFcnJvckFuZFRvdWNoZWQ8UDEgZXh0ZW5kcyBrZXlvZiBULCBQMiBleHRlbmRzIGtleW9mIFRbUDFdPihcbiAgICBlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sXG4gICAgcHJvcDE/OiBQMSxcbiAgICBwcm9wMj86IFAyXG4gICk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kVG91Y2hlZDxQMSBleHRlbmRzIGtleW9mIFQsIFAyIGV4dGVuZHMga2V5b2YgVFtQMV0sIFAzIGV4dGVuZHMga2V5b2YgVFtQMV1bUDJdPihcbiAgICBlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sXG4gICAgcHJvcDE/OiBQMSxcbiAgICBwcm9wMj86IFAyLFxuICAgIHByb3AzPzogUDNcbiAgKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmRUb3VjaGVkPFAxIGV4dGVuZHMga2V5b2YgVCxcbiAgICBQMiBleHRlbmRzIGtleW9mIFRbUDFdLFxuICAgIFAzIGV4dGVuZHMga2V5b2YgVFtQMV1bUDJdLFxuICAgIFA0IGV4dGVuZHMga2V5b2YgVFtQMV1bUDJdW1AzXT4oZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LCBwcm9wMT86IFAxLCBwcm9wMj86IFAyLCBwcm9wMz86IFAzLCBwcm9wND86IFA0KTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmRUb3VjaGVkKGVycm9yOiBhbnksIC4uLnBhdGg6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZFRvdWNoZWQodGhpcywgZXJyb3IsIC4uLnBhdGgpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmREaXJ0eTxQMSBleHRlbmRzIGtleW9mIFQ+KGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPiwgcHJvcDE/OiBQMSk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kRGlydHk8UDEgZXh0ZW5kcyBrZXlvZiBULCBQMiBleHRlbmRzIGtleW9mIFRbUDFdPihcbiAgICBlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sXG4gICAgcHJvcDE/OiBQMSxcbiAgICBwcm9wMj86IFAyXG4gICk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kRGlydHk8UDEgZXh0ZW5kcyBrZXlvZiBULCBQMiBleHRlbmRzIGtleW9mIFRbUDFdLCBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXT4oXG4gICAgZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LFxuICAgIHByb3AxPzogUDEsXG4gICAgcHJvcDI/OiBQMixcbiAgICBwcm9wMz86IFAzXG4gICk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kRGlydHk8UDEgZXh0ZW5kcyBrZXlvZiBULFxuICAgIFAyIGV4dGVuZHMga2V5b2YgVFtQMV0sXG4gICAgUDMgZXh0ZW5kcyBrZXlvZiBUW1AxXVtQMl0sXG4gICAgUDQgZXh0ZW5kcyBrZXlvZiBUW1AxXVtQMl1bUDNdPihlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sIHByb3AxPzogUDEsIHByb3AyPzogUDIsIHByb3AzPzogUDMsIHByb3A0PzogUDQpOiBib29sZWFuO1xuICBoYXNFcnJvckFuZERpcnR5KGVycm9yOiBhbnksIC4uLnBhdGg6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZERpcnR5KHRoaXMsIGVycm9yLCAuLi5wYXRoKTtcbiAgfVxuXG4gIHNldEVuYWJsZShlbmFibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGVuYWJsZUNvbnRyb2wodGhpcywgZW5hYmxlLCBvcHRzKTtcbiAgfVxuXG4gIHNldERpc2FibGUoZGlzYWJsZSA9IHRydWUsIG9wdHM/OiBDb250cm9sRXZlbnRPcHRpb25zKSB7XG4gICAgZGlzYWJsZUNvbnRyb2wodGhpcywgZGlzYWJsZSwgb3B0cyk7XG4gIH1cbn1cbiJdfQ==

@@ -1,1 +0,2 @@

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmduZWF0L3JlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wgYXMgTmdBYnN0cmFjdENvbnRyb2wsXG4gIEFic3RyYWN0Q29udHJvbE9wdGlvbnMgYXMgTmdBYnN0cmFjdENvbnRyb2xPcHRpb25zLFxuICBWYWxpZGF0aW9uRXJyb3JzXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vZm9ybUFycmF5JztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnLi9mb3JtQ29udHJvbCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICcuL2Zvcm1Hcm91cCc7XG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRvckZuPEUgZXh0ZW5kcyBWYWxpZGF0aW9uRXJyb3JzID0gYW55LCBUID0gYW55PiA9IChjb250cm9sOiBhbnkpID0+IEUgfCBudWxsO1xuZXhwb3J0IHR5cGUgQXN5bmNWYWxpZGF0b3JGbjxFIGV4dGVuZHMgVmFsaWRhdGlvbkVycm9ycyA9IGFueSwgVCA9IGFueT4gPSAoXG4gIGNvbnRyb2w6IGFueVxuKSA9PiBQcm9taXNlPEUgfCBudWxsPiB8IE9ic2VydmFibGU8RSB8IG51bGw+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VCA9IGFueSwgRSBleHRlbmRzIFZhbGlkYXRpb25FcnJvcnMgPSBhbnk+IGV4dGVuZHMgTmdBYnN0cmFjdENvbnRyb2xPcHRpb25zIHtcbiAgdmFsaWRhdG9ycz86IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXSB8IG51bGw7XG4gIGFzeW5jVmFsaWRhdG9ycz86IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD4gfCBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+W10gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyb2xPcHRpb25zIHtcbiAgb25seVNlbGY/OiBib29sZWFuO1xuICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICBlbWl0TW9kZWxUb1ZpZXdDaGFuZ2U/OiBib29sZWFuO1xuICBlbWl0Vmlld1RvTW9kZWxDaGFuZ2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBDb250cm9sRXZlbnRPcHRpb25zID0gUGljazxDb250cm9sT3B0aW9ucywgJ2VtaXRFdmVudCcgfCAnb25seVNlbGYnPjtcbmV4cG9ydCB0eXBlIE9ubHlTZWxmID0gUGljazxDb250cm9sT3B0aW9ucywgJ29ubHlTZWxmJz47XG5leHBvcnQgdHlwZSBFbWl0RXZlbnQgPSBQaWNrPENvbnRyb2xPcHRpb25zLCAnZW1pdEV2ZW50Jz47XG5leHBvcnQgdHlwZSBDb250cm9sUGF0aCA9IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmc7XG5leHBvcnQgdHlwZSBDb250cm9sU3RhdGUgPSAnVkFMSUQnIHwgJ0lOVkFMSUQnIHwgJ1BFTkRJTkcnIHwgJ0RJU0FCTEVEJztcblxuZXhwb3J0IGludGVyZmFjZSBBYnN0cmFjdENvbnRyb2w8VCA9IGFueSwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4gZXh0ZW5kcyBOZ0Fic3RyYWN0Q29udHJvbCB7XG4gIHZhbHVlOiBUO1xuICBlcnJvcnM6IEUgfCBudWxsO1xufVxuXG5leHBvcnQgdHlwZSBFeHRyYWN0U3RyaW5nczxUPiA9IEV4dHJhY3Q8a2V5b2YgVCwgc3RyaW5nPjtcblxuZXhwb3J0IGludGVyZmFjZSBOZ1ZhbGlkYXRvcnNFcnJvcnMge1xuICByZXF1aXJlZDogdHJ1ZTtcbiAgZW1haWw6IHRydWU7XG4gIHBhdHRlcm46IHsgcmVxdWlyZWRQYXR0ZXJuOiBzdHJpbmc7IGFjdHVhbFZhbHVlOiBzdHJpbmcgfTtcbiAgbWlubGVuZ3RoOiB7IHJlcXVpcmVkTGVuZ3RoOiBudW1iZXI7IGFjdHVhbExlbmd0aDogbnVtYmVyIH07XG4gIG1heGxlbmd0aDogeyByZXF1aXJlZExlbmd0aDogbnVtYmVyOyBhY3R1YWxMZW5ndGg6IG51bWJlciB9O1xuICBtaW46IHsgbWluOiBudW1iZXI7IGFjdHVhbDogbnVtYmVyIH07XG4gIG1heDogeyBtYXg6IG51bWJlcjsgYWN0dWFsOiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IHR5cGUgQm94ZWRWYWx1ZTxUPiA9IHsgdmFsdWU6IFQ7IGRpc2FibGVkOiBib29sZWFuIH07XG5leHBvcnQgdHlwZSBPckJveGVkVmFsdWU8VD4gPSBUIHwgQm94ZWRWYWx1ZTxUPjtcblxuZXhwb3J0IHR5cGUgT2JqID0geyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbnR5cGUgQXJyYXlUeXBlPFQ+ID0gVCBleHRlbmRzIEFycmF5PGluZmVyIFI+ID8gUiA6IGFueTtcblxuZXhwb3J0IHR5cGUgS2V5VmFsdWVDb250cm9sczxUIGV4dGVuZHMgT2JqLCBFID0gYW55PiA9IHtcbiAgW0sgaW4ga2V5b2YgVF06IFRbS10gZXh0ZW5kcyBGb3JtQ29udHJvbDxUW0tdPlxuICAgID8gRm9ybUNvbnRyb2w8VFtLXT5cbiAgICA6IFRbS10gZXh0ZW5kcyBGb3JtR3JvdXA8VFtLXT5cbiAgICA/IEZvcm1Hcm91cDxUW0tdPlxuICAgIDogVFtLXSBleHRlbmRzIEZvcm1BcnJheTxBcnJheVR5cGU8VFtLXT4+XG4gICAgPyBGb3JtQXJyYXk8QXJyYXlUeXBlPFRbS10+PlxuICAgIDogQWJzdHJhY3RDb250cm9sPFRbS10+O1xufTtcbmV4cG9ydCB0eXBlIEV4dHJhY3RBYnN0cmFjdENvbnRyb2w8VCwgVT4gPSBUIGV4dGVuZHMgS2V5VmFsdWVDb250cm9sczxhbnk+XG4gID8geyBbSyBpbiBrZXlvZiBVXTogQWJzdHJhY3RDb250cm9sPFVbS10+IH1cbiAgOiBUO1xuIl19
const sym = Symbol();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmduZWF0L3JlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdDQSxNQUFNLEdBQUcsR0FBRyxNQUFNLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQWJzdHJhY3RDb250cm9sT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJy4vZm9ybUdyb3VwJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnLi9mb3JtQ29udHJvbCc7XG5pbXBvcnQgeyBGb3JtQXJyYXkgfSBmcm9tICcuL2Zvcm1BcnJheSc7XG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25FcnJvcnM8VCBleHRlbmRzIG9iamVjdCA9IGFueT4gPSBUO1xuZXhwb3J0IHR5cGUgVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbDtcbmV4cG9ydCB0eXBlIEFzeW5jVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB8IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyb2xPcHRpb25zIHtcbiAgb25seVNlbGY/OiBib29sZWFuO1xuICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICBlbWl0TW9kZWxUb1ZpZXdDaGFuZ2U/OiBib29sZWFuO1xuICBlbWl0Vmlld1RvTW9kZWxDaGFuZ2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBDb250cm9sRXZlbnRPcHRpb25zID0gUGljazxDb250cm9sT3B0aW9ucywgJ2VtaXRFdmVudCcgfCAnb25seVNlbGYnPjtcbmV4cG9ydCB0eXBlIE9ubHlTZWxmID0gUGljazxDb250cm9sT3B0aW9ucywgJ29ubHlTZWxmJz47XG5leHBvcnQgdHlwZSBFbWl0RXZlbnQgPSBQaWNrPENvbnRyb2xPcHRpb25zLCAnZW1pdEV2ZW50Jz47XG5leHBvcnQgdHlwZSBDb250cm9sUGF0aCA9IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmc7XG5leHBvcnQgdHlwZSBDb250cm9sU3RhdGUgPSAnVkFMSUQnIHwgJ0lOVkFMSUQnIHwgJ1BFTkRJTkcnIHwgJ0RJU0FCTEVEJztcbmV4cG9ydCB0eXBlIFZhbGlkYXRvck9yT3B0cyA9IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnMgfCBudWxsO1xuZXhwb3J0IHR5cGUgQXN5bmNWYWxpZGF0b3IgPSBBc3luY1ZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbltdIHwgbnVsbDtcbmV4cG9ydCB0eXBlIFZhbGlkYXRvciA9IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IG51bGw7XG5cbmV4cG9ydCB0eXBlIEV4dHJhY3RTdHJpbmdzPFQ+ID0gRXh0cmFjdDxrZXlvZiBULCBzdHJpbmc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE5nVmFsaWRhdG9yc0Vycm9ycyB7XG4gIHJlcXVpcmVkOiB0cnVlO1xuICBlbWFpbDogdHJ1ZTtcbiAgcGF0dGVybjogeyByZXF1aXJlZFBhdHRlcm46IHN0cmluZzsgYWN0dWFsVmFsdWU6IHN0cmluZyB9O1xuICBtaW5sZW5ndGg6IHsgcmVxdWlyZWRMZW5ndGg6IG51bWJlcjsgYWN0dWFsTGVuZ3RoOiBudW1iZXIgfTtcbiAgbWF4bGVuZ3RoOiB7IHJlcXVpcmVkTGVuZ3RoOiBudW1iZXI7IGFjdHVhbExlbmd0aDogbnVtYmVyIH07XG4gIG1pbjogeyBtaW46IG51bWJlcjsgYWN0dWFsOiBudW1iZXIgfTtcbiAgbWF4OiB7IG1heDogbnVtYmVyOyBhY3R1YWw6IG51bWJlciB9O1xufVxuXG5leHBvcnQgdHlwZSBDb250cm9sPFQgZXh0ZW5kcyBvYmplY3Q+ID0gVCAmIFVuaXFUb2tlbjtcblxuY29uc3Qgc3ltID0gU3ltYm9sKCk7XG5cbmludGVyZmFjZSBVbmlxVG9rZW4ge1xuICBbc3ltXTogbmV2ZXI7XG59XG5cbnR5cGUgRXh0cmFjdEFueTxUPiA9IFQgZXh0ZW5kcyBFeHRyYWN0PFQsIHN0cmluZyAmIG51bWJlciAmIGJvb2xlYW4gJiBvYmplY3QgJiBudWxsICYgdW5kZWZpbmVkPiA/IGFueSA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBDb250cm9sVHlwZTxUID0gYW55LCBWIGV4dGVuZHMgb2JqZWN0ID0gYW55PiA9IFtUXSBleHRlbmRzIEV4dHJhY3RBbnk8VD5cbiAgPyBBYnN0cmFjdENvbnRyb2xcbiAgOiBUIGV4dGVuZHMgQ29udHJvbDxpbmZlciBDb250cm9sTW9kZWw+XG4gICAgPyBGb3JtQ29udHJvbDxDb250cm9sTW9kZWwsIFY+XG4gICAgOiBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgSXRlbT5cbiAgICAgID8gRm9ybUFycmF5PEl0ZW0sIFY+XG4gICAgICA6IFQgZXh0ZW5kcyBvYmplY3RcbiAgICAgICAgPyBGb3JtR3JvdXA8VCwgVj5cbiAgICAgICAgOiBGb3JtQ29udHJvbDxULCBWPjtcblxuZXhwb3J0IHR5cGUgRm9ybUNvbnRyb2xTdGF0ZTxUPiA9IG51bGwgfCBFeHRyYWN0TW9kZWxWYWx1ZTxUPiB8IHtcbiAgdmFsdWU6IG51bGwgfCBFeHRyYWN0TW9kZWxWYWx1ZTxUPjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBFeHRyYWN0TW9kZWxWYWx1ZTxUPiA9IFtUXSBleHRlbmRzIFtFeHRyYWN0QW55PFQ+XVxuICA/IGFueVxuICA6IFtUXSBleHRlbmRzIFtBcnJheTxpbmZlciBJdGVtPl1cbiAgICA/IEFycmF5PEV4dHJhY3RNb2RlbFZhbHVlPEl0ZW0+PlxuICAgIDogW1RdIGV4dGVuZHMgW0NvbnRyb2w8aW5mZXIgQ29udHJvbE1vZGVsPl1cbiAgICAgID8gQ29udHJvbE1vZGVsXG4gICAgICA6IFtUXSBleHRlbmRzIFtvYmplY3RdXG4gICAgICAgID8gRXh0cmFjdEdyb3VwVmFsdWU8VD5cbiAgICAgICAgOiBUO1xuXG5leHBvcnQgdHlwZSBFeHRyYWN0Q29udHJvbFZhbHVlPFQ+ID0gVCBleHRlbmRzIENvbnRyb2w8aW5mZXIgQ29udHJvbE1vZGVsPiA/IENvbnRyb2xNb2RlbCA6IFQ7XG5cbmV4cG9ydCB0eXBlIEV4dHJhY3RHcm91cFZhbHVlPFQgZXh0ZW5kcyBvYmplY3Q+ID0ge1xuICBbUCBpbiBrZXlvZiBUXTogRXh0cmFjdE1vZGVsVmFsdWU8VFtQXT47XG59O1xuXG5leHBvcnQgdHlwZSBFeHRyYWN0R3JvdXBTdGF0ZVZhbHVlPFQgZXh0ZW5kcyBvYmplY3Q+ID0ge1xuICBbUCBpbiBrZXlvZiBUXTogRm9ybUNvbnRyb2xTdGF0ZTxUW1BdPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZiQ29udHJvbENvbmZpZzxULCBWIGV4dGVuZHMgb2JqZWN0ID0gYW55PiA9IFtUXSBleHRlbmRzIFtFeHRyYWN0QW55PFQ+XVxuICA/IEFic3RyYWN0Q29udHJvbFxuICA6IFtUXSBleHRlbmRzIFtDb250cm9sPGluZmVyIENvbnRyb2xNb2RlbD5dXG4gICAgPyBGYkNvbnRyb2w8Q29udHJvbE1vZGVsLCBWPlxuICAgIDogW1RdIGV4dGVuZHMgW0FycmF5PGluZmVyIEl0ZW0+XVxuICAgICAgPyBGb3JtQXJyYXk8SXRlbSwgVj5cbiAgICAgIDogW1RdIGV4dGVuZHMgW29iamVjdF1cbiAgICAgICAgPyBGb3JtR3JvdXA8VCwgVj5cbiAgICAgICAgOiBGYkNvbnRyb2w8VCwgVj47XG5cbmV4cG9ydCB0eXBlIEZiQ29udHJvbDxULCBWIGV4dGVuZHMgb2JqZWN0ID0gYW55PiA9XG4gIHwgRXh0cmFjdE1vZGVsVmFsdWU8VD5cbiAgfCBGb3JtQ29udHJvbFN0YXRlPFQ+XG4gIHwgW1xuICBGb3JtQ29udHJvbFN0YXRlPFQ+LFxuICAoVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9ucyk/LFxuICAoQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSk/XG5dXG4gIHwgRm9ybUNvbnRyb2w8VCwgVj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVnYWN5Q29udHJvbE9wdGlvbnMge1xuICB2YWxpZGF0b3I/OiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10gfCBudWxsO1xuICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsO1xufVxuIl19

@@ -5,2 +5,2 @@ /**

export * from './public-api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmduZWF0LXJlYWN0aXZlLWZvcm1zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbIm5nbmVhdC1yZWFjdGl2ZS1mb3Jtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0V4dHJhY3RBYnN0cmFjdENvbnRyb2wgYXMgybViLE9yQm94ZWRWYWx1ZSBhcyDJtWF9IGZyb20gJy4vbGliL3R5cGVzJzsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmduZWF0LXJlYWN0aXZlLWZvcm1zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbIm5nbmVhdC1yZWFjdGl2ZS1mb3Jtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0FzeW5jVmFsaWRhdG9yIGFzIMm1YixDb250cm9sVHlwZSBhcyDJtWMsRm9ybUNvbnRyb2xTdGF0ZSBhcyDJtWQsVmFsaWRhdG9yT3JPcHRzIGFzIMm1YX0gZnJvbSAnLi9saWIvdHlwZXMnOyJdfQ==

@@ -6,2 +6,2 @@ export { FormArray } from './lib/formArray';

export { ControlValueAccessor } from './lib/controlValueAccessor';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ25lYXQvcmVhY3RpdmUtZm9ybXMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vbGliL2Zvcm1BcnJheSc7XG5leHBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJy4vbGliL2Zvcm1Db250cm9sJztcbmV4cG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJy4vbGliL2Zvcm1Hcm91cCc7XG5leHBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJy4vbGliL2Zvcm1CdWlsZGVyJztcbmV4cG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4sIEFzeW5jVmFsaWRhdG9yRm4sIE5nVmFsaWRhdG9yc0Vycm9ycyB9IGZyb20gJy4vbGliL3R5cGVzJztcbmV4cG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9saWIvY29udHJvbFZhbHVlQWNjZXNzb3InO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ25lYXQvcmVhY3RpdmUtZm9ybXMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vbGliL2Zvcm1BcnJheSc7XG5leHBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJy4vbGliL2Zvcm1Db250cm9sJztcbmV4cG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJy4vbGliL2Zvcm1Hcm91cCc7XG5leHBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJy4vbGliL2Zvcm1CdWlsZGVyJztcbmV4cG9ydCB7IFZhbGlkYXRvckZuLCBBc3luY1ZhbGlkYXRvckZuLCBOZ1ZhbGlkYXRvcnNFcnJvcnMgfSBmcm9tICcuL2xpYi90eXBlcyc7XG5leHBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vbGliL2NvbnRyb2xWYWx1ZUFjY2Vzc29yJztcbiJdfQ==

@@ -73,2 +73,2 @@ import { __read, __spread } from "tslib";

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9sLWFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTdDLFNBQVMsZUFBZSxDQUFJLE9BQTJCO0lBQ3JELElBQUssT0FBZSxDQUFDLFdBQVcsRUFBRTtRQUNoQyxPQUFRLE9BQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUN2QztJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztBQUN2QixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsQ0FBMEIsRUFBRSxDQUEwQjtJQUMzRSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2hCO0lBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxPQUEyQjtJQUNqRSxPQUFPLEtBQUssQ0FDVixLQUFLLENBQUMsY0FBTSxPQUFBLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBNUIsQ0FBNEIsQ0FBQyxFQUN6QyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBTSxPQUFBLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBeEIsQ0FBd0IsQ0FBQyxD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LENBQUMsYUFBYSxDQUFDLFVBQUEsT0FBTyxJQUFJLE9BQUEsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUF4QixDQUF3QixDQUFDLENBQUM7QUFDdEUsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsT0FBcUQsRUFDckQsS0FBNEI7SUFFNUIsT0FBUSxPQUFPLENBQUMsTUFBMEIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztBQUN0RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlZmVyLCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vZm9ybUFycmF5JztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnLi9mb3JtQ29udHJvbCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICcuL2Zvcm1Hcm91cCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xPcHRpb25zLCBDb250cm9sU3RhdGUsIFZhbGlkYXRvckZuLCBDb250cm9sUGF0aCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXksIGlzTmlsIH0gZnJvbSAnLi91dGlscyc7XG5cbmZ1bmN0aW9uIGdldENvbnRyb2xWYWx1ZTxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4pOiBUIHtcbiAgaWYgKChjb250cm9sIGFzIGFueSkuZ2V0UmF3VmFsdWUpIHtcbiAgICByZXR1cm4gKGNvbnRyb2wgYXMgYW55KS5nZXRSYXdWYWx1ZSgpO1xuICB9XG4gIHJldHVybiBjb250cm9sLnZhbHVlO1xufVxuXG5mdW5jdGlvbiBjb21wYXJlRXJyb3JzKGE6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsLCBiOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCkge1xuICBpZiAoaXNOaWwoYSkgfHwgaXNOaWwoYikpIHtcbiAgICByZXR1cm4gYSA9PT0gYjtcbiAgfVxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYSkgPT09IEpTT04uc3RyaW5naWZ5KGIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbFZhbHVlQ2hhbmdlcyQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gIHJldHVybiBtZXJnZShcbiAgICBkZWZlcigoKSA9PiBvZihnZXRDb250cm9sVmFsdWUoY29udHJvbCkpKSxcbiAgICBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKG1hcCgoKSA9PiBnZXRDb250cm9sVmFsdWUoY29udHJvbCkpKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbERpc2FibGVkJDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG1lcmdlKFxuICAgIGRlZmVyKCgpID0+IG9mKGNvbnRyb2wuZGlzYWJsZWQpKSxcbiAgICBjb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgIG1hcCgoKSA9PiBjb250cm9sLmRpc2FibGVkKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRW5hYmxlZCQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gIHJldHVybiBtZXJnZShcbiAgICBkZWZlcigoKSA9PiBvZihjb250cm9sLmVuYWJsZWQpKSxcbiAgICBjb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgIG1hcCgoKSA9PiBjb250cm9sLmVuYWJsZWQpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgIClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xTdGF0dXNDaGFuZ2VzJDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4pOiBPYnNlcnZhYmxlPENvbnRyb2xTdGF0ZT4ge1xuICByZXR1cm4gbWVyZ2UoXG4gICAgZGVmZXIoKCkgPT4gb2YoY29udHJvbC5zdGF0dXMgYXMgQ29udHJvbFN0YXRlKSksXG4gICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gY29udHJvbC5zdGF0dXMgYXMgQ29udHJvbFN0YXRlKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRXJyb3JDaGFuZ2VzJDxFPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPEUgfCBudWxsPiB7XG4gIHJldHVybiBtZXJnZShcbiAgICBkZWZlcigoKSA9PiBvZihjb250cm9sLmVycm9ycyBhcyBFKSksXG4gICAgY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIG1hcCgoKSA9PiBjb250cm9sLmVycm9ycyBhcyBFKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBjb21wYXJlRXJyb3JzKGEsIGIpKVxuICAgIClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuYWJsZUNvbnRyb2w8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+LCBlbmFibGVkOiBib29sZWFuLCBvcHRzPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkIHtcbiAgaWYgKGVuYWJsZWQpIHtcbiAgICBjb250cm9sLmVuYWJsZShvcHRzKTtcbiAgfSBlbHNlIHtcbiAgICBjb250cm9sLmRpc2FibGUob3B0cyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpc2FibGVDb250cm9sPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPiwgZGlzYWJsZWQ6IGJvb2xlYW4sIG9wdHM/OiBDb250cm9sT3B0aW9ucyk6IHZvaWQge1xuICBlbmFibGVDb250cm9sKGNvbnRyb2wsICFkaXNhYmxlZCwgb3B0cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRGlzYWJsZWRXaGlsZTxUPihcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+LFxuICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICBvcHRzPzogQ29udHJvbE9wdGlvbnNcbik6IFN1YnNjcmlwdGlvbiB7XG4gIHJldHVybiBvYnNlcnZhYmxlLnN1YnNjcmliZShpc0Rpc2FibGVkID0+IGRpc2FibGVDb250cm9sKGNvbnRyb2wsIGlzRGlzYWJsZWQsIG9wdHMpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xFbmFibGVkV2hpbGU8VD4oXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPixcbiAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgb3B0cz86IENvbnRyb2xPcHRpb25zXG4pOiBTdWJzY3JpcHRpb24ge1xuICByZXR1cm4gb2JzZXJ2YWJsZS5zdWJzY3JpYmUoaXNFbmFibGVkID0+IGVuYWJsZUNvbnRyb2woY29udHJvbCwgaXNFbmFibGVkLCBvcHRzKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzPFQsIEUsIENvbnRyb2wgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2w8VD4+KFxuICBjb250cm9sOiBDb250cm9sLFxuICB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+W11cbik6IHZvaWQge1xuICBjb250cm9sLnNldFZhbGlkYXRvcnMoW2NvbnRyb2wudmFsaWRhdG9yLCAuLi5jb2VyY2VBcnJheSh2YWxpZGF0b3JzKV0pO1xuICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbE9uPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxUPiwgdmFsaWRhdGlvbjogT2JzZXJ2YWJsZTxudWxsIHwgb2JqZWN0Pik6IFN1YnNjcmlwdGlvbiB7XG4gIHJldHVybiB2YWxpZGF0aW9uLnN1YnNjcmliZShtYXliZUVycm9yID0+IHtcbiAgICBjb250cm9sLnNldEVycm9ycyhtYXliZUVycm9yKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNFcnJvckFuZFRvdWNoZWQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+LCBlcnJvcjogc3RyaW5nLCBwYXRoPzogQ29udHJvbFBhdGgpOiBib29sZWFuIHtcbiAgY29uc3QgaGFzRXJyb3IgPSBjb250cm9sLmhhc0Vycm9yKGVycm9yLCAhcGF0aCB8fCBwYXRoLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IHBhdGgpO1xuICByZXR1cm4gaGFzRXJyb3IgJiYgY29udHJvbC50b3VjaGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzRXJyb3JBbmREaXJ0eTxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4sIGVycm9yOiBzdHJpbmcsIHBhdGg/OiBDb250cm9sUGF0aCk6IGJvb2xlYW4ge1xuICBjb25zdCBoYXNFcnJvciA9IGNvbnRyb2wuaGFzRXJyb3IoZXJyb3IsICFwYXRoIHx8IHBhdGgubGVuZ3RoID09PSAwID8gdW5kZWZpbmVkIDogcGF0aCk7XG4gIHJldHVybiBoYXNFcnJvciAmJiBjb250cm9sLmRpcnR5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFya0FsbERpcnR5PFQ+KGNvbnRyb2w6IEZvcm1BcnJheTxUPiB8IEZvcm1Hcm91cDxUPik6IHZvaWQge1xuICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gIChjb250cm9sIGFzIGFueSkuX2ZvckVhY2hDaGlsZChjb250cm9sID0+IGNvbnRyb2wubWFya0FsbEFzRGlydHkoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RDb250cm9sVmFsdWUkPFQsIFI+KFxuICBjb250cm9sOiBGb3JtR3JvdXA8VD4gfCBGb3JtQXJyYXk8VD4gfCBGb3JtQ29udHJvbDxUPixcbiAgbWFwRm46IChzdGF0ZTogVCB8IFRbXSkgPT4gUlxuKTogT2JzZXJ2YWJsZTxSPiB7XG4gIHJldHVybiAoY29udHJvbC52YWx1ZSQgYXMgT2JzZXJ2YWJsZTxhbnk+KS5waXBlKG1hcChtYXBGbiksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9sLWFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTdDLFNBQVMsZUFBZSxDQUFJLE9BQXdCO0lBQ2xELElBQUssT0FBZSxDQUFDLFdBQVcsRUFBRTtRQUNoQyxPQUFRLE9BQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUN2QztJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztBQUN2QixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsQ0FBMEIsRUFBRSxDQUEwQjtJQUMzRSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2hCO0lBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxPQUF3QjtJQUM5RCxPQUFPLEtBQUssQ0FDVixLQUFLLENBQUMsY0FBTSxPQUFBLEVBQUUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBNUIsQ0FBNEIsQ0FBQyxFQUN6QyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBTSxPQUFBLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBeEIsQ0FBd0IsQ0FBQyxD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ZSxDQUFDLGFBQWEsQ0FBQyxVQUFBLE9BQU8sSUFBSSxPQUFBLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBeEIsQ0FBd0IsQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLE9BQTRDLEVBQzVDLEtBQTRCO0lBRTVCLE9BQVEsT0FBTyxDQUFDLE1BQTBCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7QUFDdEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlZmVyLCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vZm9ybUFycmF5JztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnLi9mb3JtQ29udHJvbCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICcuL2Zvcm1Hcm91cCc7XG5pbXBvcnQgeyBDb250cm9sT3B0aW9ucywgQ29udHJvbFBhdGgsIENvbnRyb2xTdGF0ZSwgVmFsaWRhdG9yRm4gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBpc05pbCB9IGZyb20gJy4vdXRpbHMnO1xuXG5mdW5jdGlvbiBnZXRDb250cm9sVmFsdWU8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVCB7XG4gIGlmICgoY29udHJvbCBhcyBhbnkpLmdldFJhd1ZhbHVlKSB7XG4gICAgcmV0dXJuIChjb250cm9sIGFzIGFueSkuZ2V0UmF3VmFsdWUoKTtcbiAgfVxuICByZXR1cm4gY29udHJvbC52YWx1ZTtcbn1cblxuZnVuY3Rpb24gY29tcGFyZUVycm9ycyhhOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCwgYjogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwpIHtcbiAgaWYgKGlzTmlsKGEpIHx8IGlzTmlsKGIpKSB7XG4gICAgcmV0dXJuIGEgPT09IGI7XG4gIH1cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGEpID09PSBKU09OLnN0cmluZ2lmeShiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xWYWx1ZUNoYW5nZXMkPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IE9ic2VydmFibGU8VD4ge1xuICByZXR1cm4gbWVyZ2UoXG4gICAgZGVmZXIoKCkgPT4gb2YoZ2V0Q29udHJvbFZhbHVlKGNvbnRyb2wpKSksXG4gICAgY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShtYXAoKCkgPT4gZ2V0Q29udHJvbFZhbHVlKGNvbnRyb2wpKSlcbiAgKSBhcyBPYnNlcnZhYmxlPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbERpc2FibGVkJDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG1lcmdlKFxuICAgIGRlZmVyKCgpID0+IG9mKGNvbnRyb2wuZGlzYWJsZWQpKSxcbiAgICBjb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgIG1hcCgoKSA9PiBjb250cm9sLmRpc2FibGVkKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRW5hYmxlZCQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gIHJldHVybiBtZXJnZShcbiAgICBkZWZlcigoKSA9PiBvZihjb250cm9sLmVuYWJsZWQpKSxcbiAgICBjb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgIG1hcCgoKSA9PiBjb250cm9sLmVuYWJsZWQpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgIClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xTdGF0dXNDaGFuZ2VzJDxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPENvbnRyb2xTdGF0ZT4ge1xuICByZXR1cm4gbWVyZ2UoXG4gICAgZGVmZXIoKCkgPT4gb2YoY29udHJvbC5zdGF0dXMgYXMgQ29udHJvbFN0YXRlKSksXG4gICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gY29udHJvbC5zdGF0dXMgYXMgQ29udHJvbFN0YXRlKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRXJyb3JDaGFuZ2VzJDxFPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBPYnNlcnZhYmxlPEUgfCBudWxsPiB7XG4gIHJldHVybiBtZXJnZShcbiAgICBkZWZlcigoKSA9PiBvZihjb250cm9sLmVycm9ycyBhcyBFKSksXG4gICAgY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIG1hcCgoKSA9PiBjb250cm9sLmVycm9ycyBhcyBFKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBjb21wYXJlRXJyb3JzKGEsIGIpKVxuICAgIClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuYWJsZUNvbnRyb2w8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBlbmFibGVkOiBib29sZWFuLCBvcHRzPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkIHtcbiAgaWYgKGVuYWJsZWQpIHtcbiAgICBjb250cm9sLmVuYWJsZShvcHRzKTtcbiAgfSBlbHNlIHtcbiAgICBjb250cm9sLmRpc2FibGUob3B0cyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpc2FibGVDb250cm9sPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZGlzYWJsZWQ6IGJvb2xlYW4sIG9wdHM/OiBDb250cm9sT3B0aW9ucyk6IHZvaWQge1xuICBlbmFibGVDb250cm9sKGNvbnRyb2wsICFkaXNhYmxlZCwgb3B0cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250cm9sRGlzYWJsZWRXaGlsZTxUPihcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICBvcHRzPzogQ29udHJvbE9wdGlvbnNcbik6IFN1YnNjcmlwdGlvbiB7XG4gIHJldHVybiBvYnNlcnZhYmxlLnN1YnNjcmliZShpc0Rpc2FibGVkID0+IGRpc2FibGVDb250cm9sKGNvbnRyb2wsIGlzRGlzYWJsZWQsIG9wdHMpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xFbmFibGVkV2hpbGU8VD4oXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcbiAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgb3B0cz86IENvbnRyb2xPcHRpb25zXG4pOiBTdWJzY3JpcHRpb24ge1xuICByZXR1cm4gb2JzZXJ2YWJsZS5zdWJzY3JpYmUoaXNFbmFibGVkID0+IGVuYWJsZUNvbnRyb2woY29udHJvbCwgaXNFbmFibGVkLCBvcHRzKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzPFQsIENvbnRyb2wgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2w+KFxuICBjb250cm9sOiBDb250cm9sLFxuICB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW11cbik6IHZvaWQge1xuICBjb250cm9sLnNldFZhbGlkYXRvcnMoW2NvbnRyb2wudmFsaWRhdG9yLCAuLi5jb2VyY2VBcnJheSh2YWxpZGF0b3JzKV0pO1xuICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQ29udHJvbE9uPFQ+KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgdmFsaWRhdGlvbjogT2JzZXJ2YWJsZTxudWxsIHwgb2JqZWN0Pik6IFN1YnNjcmlwdGlvbiB7XG4gIHJldHVybiB2YWxpZGF0aW9uLnN1YnNjcmliZShtYXliZUVycm9yID0+IHtcbiAgICBjb250cm9sLnNldEVycm9ycyhtYXliZUVycm9yKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNFcnJvckFuZFRvdWNoZWQ8VD4oY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBlcnJvcjogc3RyaW5nLCBwYXRoPzogQ29udHJvbFBhdGgpOiBib29sZWFuIHtcbiAgY29uc3QgaGFzRXJyb3IgPSBjb250cm9sLmhhc0Vycm9yKGVycm9yLCAhcGF0aCB8fCBwYXRoLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IHBhdGgpO1xuICByZXR1cm4gaGFzRXJyb3IgJiYgY29udHJvbC50b3VjaGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzRXJyb3JBbmREaXJ0eShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGVycm9yOiBzdHJpbmcsIHBhdGg/OiBDb250cm9sUGF0aCk6IGJvb2xlYW4ge1xuICBjb25zdCBoYXNFcnJvciA9IGNvbnRyb2wuaGFzRXJyb3IoZXJyb3IsICFwYXRoIHx8IHBhdGgubGVuZ3RoID09PSAwID8gdW5kZWZpbmVkIDogcGF0aCk7XG4gIHJldHVybiBoYXNFcnJvciAmJiBjb250cm9sLmRpcnR5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFya0FsbERpcnR5PFQ+KGNvbnRyb2w6IEZvcm1BcnJheTxUPiB8IEZvcm1Hcm91cCk6IHZvaWQge1xuICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gIChjb250cm9sIGFzIGFueSkuX2ZvckVhY2hDaGlsZChjb250cm9sID0+IGNvbnRyb2wubWFya0FsbEFzRGlydHkoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RDb250cm9sVmFsdWUkPFQsIFI+KFxuICBjb250cm9sOiBGb3JtR3JvdXAgfCBGb3JtQXJyYXkgfCBGb3JtQ29udHJvbCxcbiAgbWFwRm46IChzdGF0ZTogVCB8IFRbXSkgPT4gUlxuKTogT2JzZXJ2YWJsZTxSPiB7XG4gIHJldHVybiAoY29udHJvbC52YWx1ZSQgYXMgT2JzZXJ2YWJsZTxhbnk+KS5waXBlKG1hcChtYXBGbiksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xufVxuIl19

@@ -6,3 +6,3 @@ import { __extends, __read, __spread } from "tslib";

import { controlDisabled$, controlDisabledWhile, controlEnabled$, controlEnabledWhile, controlErrorChanges$, controlStatusChanges$, controlValueChanges$, disableControl, enableControl, hasErrorAndDirty, hasErrorAndTouched, markAllDirty, mergeControlValidators } from './control-actions';
import { coerceArray, isFunction } from './utils';
import { coerceArray } from './utils';
var FormArray = /** @class */ (function (_super) {

@@ -18,6 +18,6 @@ __extends(FormArray, _super);

_this.value$ = controlValueChanges$(_this);
_this.disabledChanges$ = controlDisabled$(_this);
_this.enabledChanges$ = controlEnabled$(_this);
_this.statusChanges$ = controlStatusChanges$(_this);
_this.errorChanges$ = controlErrorChanges$(_this);
_this.disabled$ = controlDisabled$(_this);
_this.enabled$ = controlEnabled$(_this);
_this.status$ = controlStatusChanges$(_this);
_this.errors$ = controlErrorChanges$(_this);
return _this;

@@ -39,5 +39,3 @@ }

}
else {
_super.prototype.setValue.call(this, valueOrObservable, options);
}
_super.prototype.setValue.call(this, valueOrObservable, options);
};

@@ -49,9 +47,3 @@ FormArray.prototype.patchValue = function (valueOrObservable, options) {

}
else {
var value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
_super.prototype.patchValue.call(this, value, options);
}
_super.prototype.patchValue.call(this, valueOrObservable, options);
};

@@ -143,2 +135,2 @@ FormArray.prototype.push = function (control) {

export { FormArray };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUFycmF5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9mb3JtQXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLElBQUksV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osc0JBQXNCLEVBQ3ZCLE1BQU0sbUJBQW1CLENBQUM7QUFjM0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbEQ7SUFBZ0UsNkJBQVc7SUFtQnpFLG1CQUNTLFFBQW1DLEVBQzFDLGVBSVEsRUFDUixjQUErRjtRQVBqRyxZQVNFLGtCQUFNLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLFNBQ2pEO1FBVFEsY0FBUSxHQUFSLFFBQVEsQ0FBMkI7UUFicEMsa0JBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3RDLGtCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUU5QyxZQUFNLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLFlBQU0sR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFB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RCw4QkFBVSxHQUFWLFVBQVcsT0FBYyxFQUFFLElBQTBCO1FBQTFDLHdCQUFBLEVBQUEsY0FBYztRQUN2QixjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0gsZ0JBQUM7QUFBRCxDQUFDLEFBN0tELENBQWdFLFdBQVcsR0E2SzFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUFycmF5IGFzIE5nRm9ybUFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBjb250cm9sRGlzYWJsZWQkLFxuICBjb250cm9sRGlzYWJsZWRXaGlsZSxcbiAgY29udHJvbEVuYWJsZWQkLFxuICBjb250cm9sRW5hYmxlZFdoaWxlLFxuICBjb250cm9sRXJyb3JDaGFuZ2VzJCxcbiAgY29udHJvbFN0YXR1c0NoYW5nZXMkLFxuICBjb250cm9sVmFsdWVDaGFuZ2VzJCxcbiAgZGlzYWJsZUNvbnRyb2wsXG4gIGVuYWJsZUNvbnRyb2wsXG4gIGhhc0Vycm9yQW5kRGlydHksXG4gIGhhc0Vycm9yQW5kVG91Y2hlZCxcbiAgbWFya0FsbERpcnR5LFxuICBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzXG59IGZyb20gJy4vY29udHJvbC1hY3Rpb25zJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQWJzdHJhY3RDb250cm9sT3B0aW9ucyxcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgQ29udHJvbEV2ZW50T3B0aW9ucyxcbiAgQ29udHJvbE9wdGlvbnMsXG4gIENvbnRyb2xQYXRoLFxuICBDb250cm9sU3RhdGUsXG4gIEVtaXRFdmVudCxcbiAgRXh0cmFjdFN0cmluZ3MsXG4gIE9ubHlTZWxmLFxuICBWYWxpZGF0b3JGblxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBpc0Z1bmN0aW9uIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtQXJyYXk8VCA9IGFueSwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4gZXh0ZW5kcyBOZ0Zvcm1BcnJheSB7XG4gIHZhbHVlOiBUW107XG4gIHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxUW10+O1xuICBzdGF0dXM6IENvbnRyb2xTdGF0ZTtcbiAgc3RhdHVzQ2hhbmdlczogT2JzZXJ2YWJsZTxDb250cm9sU3RhdGU+O1xuICBlcnJvcnM6IEUgfCBudWxsO1xuXG4gIHByaXZhdGUgdG91Y2hDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBkaXJ0eUNoYW5nZXMgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHRvdWNoJCA9IHRoaXMudG91Y2hDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIGRpcnR5JCA9IHRoaXMuZGlydHlDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgdmFsdWUkID0gY29udHJvbFZhbHVlQ2hhbmdlcyQ8VFtdPih0aGlzKTtcbiAgZGlzYWJsZWRDaGFuZ2VzJCA9IGNvbnRyb2xEaXNhYmxlZCQodGhpcyk7XG4gIGVuYWJsZWRDaGFuZ2VzJCA9IGNvbnRyb2xFbmFibGVkJCh0aGlzKTtcbiAgc3RhdHVzQ2hhbmdlcyQgPSBjb250cm9sU3RhdHVzQ2hhbmdlcyQodGhpcyk7XG4gIGVycm9yQ2hhbmdlcyQgPSBjb250cm9sRXJyb3JDaGFuZ2VzJDxFPih0aGlzKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29udHJvbHM6IEFycmF5PEFic3RyYWN0Q29udHJvbDxUPj4sXG4gICAgdmFsaWRhdG9yT3JPcHRzPzpcbiAgICAgIHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVFtdPlxuICAgICAgfCBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUW10+W11cbiAgICAgIHwgQWJzdHJhY3RDb250cm9sT3B0aW9uczxUW10sIEU+XG4gICAgICB8IG51bGwsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFRbXT4gfCBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFRbXT5bXSB8IG51bGxcbiAgKSB7XG4gICAgc3VwZXIoY29udHJvbHMsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xuICB9XG5cbiAgc2VsZWN0PFI+KG1hcEZuOiAoc3RhdGU6IFRbXSkgPT4gUik6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlJC5waXBlKG1hcChtYXBGbiksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgZ2V0UmF3VmFsdWUoKTogVFtdIHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0UmF3VmFsdWUoKTtcbiAgfVxuXG4gIGF0KGluZGV4OiBudW1iZXIpOiBBYnN0cmFjdENvbnRyb2w8VD4ge1xuICAgIHJldHVybiBzdXBlci5hdChpbmRleCkgYXMgQWJzdHJhY3RDb250cm9sPFQ+O1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8VFtdPiwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb247XG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBUW10sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogdm9pZDtcbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IFRbXSB8IE9ic2VydmFibGU8VFtdPiwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSh2YWx1ZSA9PiBzdXBlci5zZXRWYWx1ZSh2YWx1ZSwgb3B0aW9ucykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdXBlci5zZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUW10+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogVFtdLCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQ7XG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IChzdGF0ZTogVFtdKSA9PiBUW10sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucyk6IHZvaWQ7XG4gIHBhdGNoVmFsdWUoXG4gICAgdmFsdWVPck9ic2VydmFibGU6IFRbXSB8IE9ic2VydmFibGU8VFtdPiB8ICgoc3RhdGU6IFRbXSkgPT4gVFtdKSxcbiAgICBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9uc1xuICApOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSh2YWx1ZSA9PiBzdXBlci5wYXRjaFZhbHVlKHZhbHVlLCBvcHRpb25zKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCB2YWx1ZSA9IHZhbHVlT3JPYnNlcnZhYmxlO1xuICAgICAgaWYgKGlzRnVuY3Rpb24odmFsdWVPck9ic2VydmFibGUpKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWVPck9ic2VydmFibGUodGhpcy52YWx1ZSk7XG4gICAgICB9XG4gICAgICBzdXBlci5wYXRjaFZhbHVlKHZhbHVlIGFzIFRbXSwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgcHVzaChjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4pOiB2b2lkIHtcbiAgICByZXR1cm4gc3VwZXIucHVzaChjb250cm9sKTtcbiAgfVxuXG4gIGluc2VydChpbmRleDogbnVtYmVyLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4pOiB2b2lkIHtcbiAgICByZXR1cm4gc3VwZXIuaW5zZXJ0KGluZGV4LCBjb250cm9sKTtcbiAgfVxuXG4gIHNldENvbnRyb2woaW5kZXg6IG51bWJlciwgY29udHJvbDogQWJzdHJhY3RDb250cm9sPFQ+KTogdm9pZCB7XG4gICAgcmV0dXJuIHN1cGVyLnNldENvbnRyb2woaW5kZXgsIGNvbnRyb2wpO1xuICB9XG5cbiAgZGlzYWJsZWRXaGlsZShvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpIHtcbiAgICByZXR1cm4gY29udHJvbERpc2FibGVkV2hpbGUodGhpcywgb2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBlbmFibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xFbmFibGVkV2hpbGUodGhpcywgb2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBtZXJnZVZhbGlkYXRvcnModmFsaWRhdG9yczogVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVFtdPiB8IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFRbXT5bXSkge1xuICAgIG1lcmdlQ29udHJvbFZhbGlkYXRvcnModGhpcywgdmFsaWRhdG9ycyk7XG4gIH1cblxuICBtZXJnZUFzeW5jVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFRbXT4gfCBBc3luY1ZhbGlkYXRvckZuPGFueSwgVFtdPltdKSB7XG4gICAgdGhpcy5zZXRBc3luY1ZhbGlkYXRvcnMoW3RoaXMuYXN5bmNWYWxpZGF0b3IsIC4uLmNvZXJjZUFycmF5KHZhbGlkYXRvcnMpXSk7XG4gICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBtYXJrQXNUb3VjaGVkKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1RvdWNoZWQob3B0cyk7XG4gICAgdGhpcy50b3VjaENoYW5nZXMubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG1hcmtBc1VudG91Y2hlZChvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNVbnRvdWNoZWQob3B0cyk7XG4gICAgdGhpcy50b3VjaENoYW5nZXMubmV4dChmYWxzZSk7XG4gIH1cblxuICBtYXJrQXNQcmlzdGluZShvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNQcmlzdGluZShvcHRzKTtcbiAgICB0aGlzLmRpcnR5Q2hhbmdlcy5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG1hcmtBc0RpcnR5KG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc0RpcnR5KG9wdHMpO1xuICAgIHRoaXMuZGlydHlDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtYXJrQWxsQXNEaXJ0eSgpOiB2b2lkIHtcbiAgICBtYXJrQWxsRGlydHkodGhpcyk7XG4gIH1cblxuICByZXNldCh2YWx1ZT86IFRbXSwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdXBlci5yZXNldCh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICBzZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVFtdPiB8IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFRbXT5bXSB8IG51bGwpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgc2V0QXN5bmNWYWxpZGF0b3JzKFxuICAgIG5ld1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUW10+IHwgQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUW10+W10gfCBudWxsXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnNldEFzeW5jVmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIHN1cGVyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHZhbGlkYXRlT24ob2JzZXJ2YWJsZVZhbGlkYXRpb246IE9ic2VydmFibGU8bnVsbCB8IG9iamVjdD4pIHtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZVZhbGlkYXRpb24uc3Vic2NyaWJlKG1heWJlRXJyb3IgPT4ge1xuICAgICAgdGhpcy5zZXRFcnJvcnMobWF5YmVFcnJvcik7XG4gICAgfSk7XG4gIH1cblxuICBoYXNFcnJvcihlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LCBwYXRoPzogQ29udHJvbFBhdGgpIHtcbiAgICByZXR1cm4gc3VwZXIuaGFzRXJyb3IoZXJyb3JDb2RlLCBwYXRoKTtcbiAgfVxuXG4gIHNldEVycm9ycyhlcnJvcnM6IFBhcnRpYWw8RT4gfCBudWxsLCBvcHRzOiBFbWl0RXZlbnQgPSB7fSkge1xuICAgIHJldHVybiBzdXBlci5zZXRFcnJvcnMoZXJyb3JzLCBvcHRzKTtcbiAgfVxuXG4gIGdldEVycm9yPEsgZXh0ZW5kcyBFeHRyYWN0U3RyaW5nczxFPj4oZXJyb3JDb2RlOiBLLCBwYXRoPzogQ29udHJvbFBhdGgpIHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0RXJyb3IoZXJyb3JDb2RlLCBwYXRoKSBhcyBFW0tdIHwgbnVsbDtcbiAgfVxuXG4gIGhhc0Vycm9yQW5kVG91Y2hlZChlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LCBwYXRoPzogQ29udHJvbFBhdGgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzRXJyb3JBbmRUb3VjaGVkKHRoaXMsIGVycm9yQ29kZSwgcGF0aCk7XG4gIH1cblxuICBoYXNFcnJvckFuZERpcnR5KGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sIHBhdGg/OiBDb250cm9sUGF0aCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZERpcnR5KHRoaXMsIGVycm9yQ29kZSwgcGF0aCk7XG4gIH1cblxuICBzZXRFbmFibGUoZW5hYmxlID0gdHJ1ZSwgb3B0cz86IENvbnRyb2xFdmVudE9wdGlvbnMpIHtcbiAgICBlbmFibGVDb250cm9sKHRoaXMsIGVuYWJsZSwgb3B0cyk7XG4gIH1cblxuICBzZXREaXNhYmxlKGRpc2FibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGRpc2FibGVDb250cm9sKHRoaXMsIGRpc2FibGUsIG9wdHMpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUFycmF5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9mb3JtQXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLElBQUksV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFL1IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV0QztJQUFnRSw2QkFBVztJQW1CekUsbUJBQ1MsUUFBNkIsRUFDcEMsZUFBaUMsRUFDakMsY0FBaUM7UUFIbkMsWUFLRSxrQkFBTSxRQUFRLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxTQUNqRDtRQUxRLGNBQVEsR0FBUixRQUFRLENBQXFCO1FBYjlCLGtCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUN0QyxrQkFBWSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFFckMsWUFBTSxHQUFHLEtBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUN2RSxZQUFNLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBRXZF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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUFycmF5IGFzIE5nRm9ybUFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb250cm9sRGlzYWJsZWQkLCBjb250cm9sRGlzYWJsZWRXaGlsZSwgY29udHJvbEVuYWJsZWQkLCBjb250cm9sRW5hYmxlZFdoaWxlLCBjb250cm9sRXJyb3JDaGFuZ2VzJCwgY29udHJvbFN0YXR1c0NoYW5nZXMkLCBjb250cm9sVmFsdWVDaGFuZ2VzJCwgZGlzYWJsZUNvbnRyb2wsIGVuYWJsZUNvbnRyb2wsIGhhc0Vycm9yQW5kRGlydHksIGhhc0Vycm9yQW5kVG91Y2hlZCwgbWFya0FsbERpcnR5LCBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzIH0gZnJvbSAnLi9jb250cm9sLWFjdGlvbnMnO1xuaW1wb3J0IHsgQXN5bmNWYWxpZGF0b3IsIEFzeW5jVmFsaWRhdG9yRm4sIENvbnRyb2xFdmVudE9wdGlvbnMsIENvbnRyb2xPcHRpb25zLCBDb250cm9sUGF0aCwgQ29udHJvbFN0YXRlLCBDb250cm9sVHlwZSwgRW1pdEV2ZW50LCBFeHRyYWN0TW9kZWxWYWx1ZSwgRXh0cmFjdFN0cmluZ3MsIE9ubHlTZWxmLCBWYWxpZGF0b3IsIFZhbGlkYXRvck9yT3B0cyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEZvcm1BcnJheTxUID0gYW55LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55PiBleHRlbmRzIE5nRm9ybUFycmF5IHtcbiAgcmVhZG9ubHkgdmFsdWU6IEV4dHJhY3RNb2RlbFZhbHVlPFQ+W107XG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxFeHRyYWN0TW9kZWxWYWx1ZTxUPltdPjtcbiAgcmVhZG9ubHkgc3RhdHVzOiBDb250cm9sU3RhdGU7XG4gIHJlYWRvbmx5IHN0YXR1c0NoYW5nZXM6IE9ic2VydmFibGU8Q29udHJvbFN0YXRlPjtcbiAgcmVhZG9ubHkgZXJyb3JzOiBFIHwgbnVsbDtcblxuICBwcml2YXRlIHRvdWNoQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgZGlydHlDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICByZWFkb25seSB0b3VjaCQgPSB0aGlzLnRvdWNoQ2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICByZWFkb25seSBkaXJ0eSQgPSB0aGlzLmRpcnR5Q2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIHJlYWRvbmx5IHZhbHVlJCA9IGNvbnRyb2xWYWx1ZUNoYW5nZXMkPEV4dHJhY3RNb2RlbFZhbHVlPFQ+W10+KHRoaXMpO1xuICByZWFkb25seSBkaXNhYmxlZCQgPSBjb250cm9sRGlzYWJsZWQkKHRoaXMpO1xuICByZWFkb25seSBlbmFibGVkJCA9IGNvbnRyb2xFbmFibGVkJCh0aGlzKTtcbiAgcmVhZG9ubHkgc3RhdHVzJCA9IGNvbnRyb2xTdGF0dXNDaGFuZ2VzJCh0aGlzKTtcbiAgcmVhZG9ubHkgZXJyb3JzJCA9IGNvbnRyb2xFcnJvckNoYW5nZXMkPEU+KHRoaXMpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb250cm9sczogQ29udHJvbFR5cGU8VCwgRT5bXSxcbiAgICB2YWxpZGF0b3JPck9wdHM/OiBWYWxpZGF0b3JPck9wdHMsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuXG4gICkge1xuICAgIHN1cGVyKGNvbnRyb2xzLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgfVxuXG4gIHNlbGVjdDxSPihtYXBGbjogKHN0YXRlOiBFeHRyYWN0TW9kZWxWYWx1ZTxUPltdKSA9PiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWUkLnBpcGUobWFwKG1hcEZuKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cblxuICBnZXRSYXdWYWx1ZSgpOiBFeHRyYWN0TW9kZWxWYWx1ZTxUPltdIHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0UmF3VmFsdWUoKTtcbiAgfVxuXG4gIGF0KGluZGV4OiBudW1iZXIpOiBDb250cm9sVHlwZTxULCBFPiB7XG4gICAgcmV0dXJuIHN1cGVyLmF0KGluZGV4KSBhcyBDb250cm9sVHlwZTxULCBFPjtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPEV4dHJhY3RNb2RlbFZhbHVlPFQ+W10+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IEV4dHJhY3RNb2RlbFZhbHVlPFQ+W10sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogdm9pZDtcbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IGFueSwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSgodmFsdWU6IFRbXSkgPT4gc3VwZXIuc2V0VmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdXBlci5zZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPEV4dHJhY3RNb2RlbFZhbHVlPFQ+W10+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogRXh0cmFjdE1vZGVsVmFsdWU8VD5bXSwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiB2b2lkO1xuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBhbnksIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogU3Vic2NyaXB0aW9uIHwgdm9pZCB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKHZhbHVlOiBUW10pID0+IHN1cGVyLnBhdGNoVmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdXBlci5wYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1c2goY29udHJvbDogQ29udHJvbFR5cGU8VCwgRT4pOiB2b2lkIHtcbiAgICByZXR1cm4gc3VwZXIucHVzaChjb250cm9sKTtcbiAgfVxuXG4gIGluc2VydChpbmRleDogbnVtYmVyLCBjb250cm9sOiBDb250cm9sVHlwZTxULCBFPik6IHZvaWQge1xuICAgIHJldHVybiBzdXBlci5pbnNlcnQoaW5kZXgsIGNvbnRyb2wpO1xuICB9XG5cbiAgc2V0Q29udHJvbChpbmRleDogbnVtYmVyLCBjb250cm9sOiBDb250cm9sVHlwZTxULCBFPik6IHZvaWQge1xuICAgIHJldHVybiBzdXBlci5zZXRDb250cm9sKGluZGV4LCBjb250cm9sKTtcbiAgfVxuXG4gIGRpc2FibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xEaXNhYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRW5hYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgbWVyZ2VWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvcikge1xuICAgIG1lcmdlQ29udHJvbFZhbGlkYXRvcnModGhpcywgdmFsaWRhdG9ycyk7XG4gIH1cblxuICBtZXJnZUFzeW5jVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvcikge1xuICAgIHRoaXMuc2V0QXN5bmNWYWxpZGF0b3JzKFt0aGlzLmFzeW5jVmFsaWRhdG9yLCAuLi5jb2VyY2VBcnJheSh2YWxpZGF0b3JzKV0pO1xuICAgIHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgbWFya0FzVG91Y2hlZChvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNUb3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtYXJrQXNVbnRvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVW50b3VjaGVkKG9wdHMpO1xuICAgIHRoaXMudG91Y2hDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzUHJpc3RpbmUob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzUHJpc3RpbmUob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dChmYWxzZSk7XG4gIH1cblxuICBtYXJrQXNEaXJ0eShvcHRzPzogT25seVNlbGYpOiB2b2lkIHtcbiAgICBzdXBlci5tYXJrQXNEaXJ0eShvcHRzKTtcbiAgICB0aGlzLmRpcnR5Q2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FsbEFzRGlydHkoKTogdm9pZCB7XG4gICAgbWFya0FsbERpcnR5KHRoaXMpO1xuICB9XG5cbiAgcmVzZXQodmFsdWU/OiBFeHRyYWN0TW9kZWxWYWx1ZTxUPltdLCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnJlc2V0KHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yOiBWYWxpZGF0b3IpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3IpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRBc3luY1ZhbGlkYXRvcnMobmV3VmFsaWRhdG9yKTtcbiAgICBzdXBlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICB2YWxpZGF0ZU9uKG9ic2VydmFibGVWYWxpZGF0aW9uOiBPYnNlcnZhYmxlPG51bGwgfCBvYmplY3Q+KSB7XG4gICAgcmV0dXJuIG9ic2VydmFibGVWYWxpZGF0aW9uLnN1YnNjcmliZShtYXliZUVycm9yID0+IHtcbiAgICAgIHRoaXMuc2V0RXJyb3JzKG1heWJlRXJyb3IpO1xuICAgIH0pO1xuICB9XG5cbiAgaGFzRXJyb3IoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IENvbnRyb2xQYXRoKSB7XG4gICAgcmV0dXJuIHN1cGVyLmhhc0Vycm9yKGVycm9yQ29kZSwgcGF0aCk7XG4gIH1cblxuICBzZXRFcnJvcnMoZXJyb3JzOiBQYXJ0aWFsPEU+IHwgbnVsbCwgb3B0czogRW1pdEV2ZW50ID0ge30pIHtcbiAgICByZXR1cm4gc3VwZXIuc2V0RXJyb3JzKGVycm9ycywgb3B0cyk7XG4gIH1cblxuICBnZXRFcnJvcjxLIGV4dGVuZHMgRXh0cmFjdFN0cmluZ3M8RT4+KGVycm9yQ29kZTogSywgcGF0aD86IENvbnRyb2xQYXRoKSB7XG4gICAgcmV0dXJuIHN1cGVyLmdldEVycm9yKGVycm9yQ29kZSwgcGF0aCkgYXMgRVtLXSB8IG51bGw7XG4gIH1cblxuICBoYXNFcnJvckFuZFRvdWNoZWQoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IENvbnRyb2xQYXRoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc0Vycm9yQW5kVG91Y2hlZCh0aGlzLCBlcnJvckNvZGUsIHBhdGgpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmREaXJ0eShlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LCBwYXRoPzogQ29udHJvbFBhdGgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzRXJyb3JBbmREaXJ0eSh0aGlzLCBlcnJvckNvZGUsIHBhdGgpO1xuICB9XG5cbiAgc2V0RW5hYmxlKGVuYWJsZSA9IHRydWUsIG9wdHM/OiBDb250cm9sRXZlbnRPcHRpb25zKSB7XG4gICAgZW5hYmxlQ29udHJvbCh0aGlzLCBlbmFibGUsIG9wdHMpO1xuICB9XG5cbiAgc2V0RGlzYWJsZShkaXNhYmxlID0gdHJ1ZSwgb3B0cz86IENvbnRyb2xFdmVudE9wdGlvbnMpIHtcbiAgICBkaXNhYmxlQ29udHJvbCh0aGlzLCBkaXNhYmxlLCBvcHRzKTtcbiAgfVxufVxuIl19

@@ -19,2 +19,3 @@ import { __decorate, __extends } from "tslib";

FormBuilder.prototype.group = function (controlsConfig, options) {
if (options === void 0) { options = null; }
var controls = this._reduceControls(controlsConfig);

@@ -40,2 +41,3 @@ var validators = null;

FormBuilder.prototype.control = function (formState, validatorOrOpts, asyncValidator) {
if (formState === void 0) { formState = null; }
return new FormControl(formState, validatorOrOpts, asyncValidator);

@@ -55,2 +57,2 @@ };

export { FormBuilder };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUJ1aWxkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmduZWF0L3JlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL2Zvcm1CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLElBQUksYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3hDLFNBQVMsd0JBQXdCLENBQy9CLE9BQTJEO0lBRTNELE9BQU8sQ0FDdUIsT0FBUSxDQUFDLGVBQWUsS0FBSyxTQUFTO1FBQ3RDLE9BQVEsQ0FBQyxVQUFVLEtBQUssU0FBUztRQUNqQyxPQUFRLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FDNUQsQ0FBQztBQUNKLENBQUM7QUFlRDtJQUFpQywrQkFBYTtJQUE5Qzs7S0FxREM7SUFwREMsMkJBQUssR0FBTCxVQUNFLGNBQXlELEVBQ3pELE9BTVE7UUFFUixJQUFNLFFBQVEsR0FBSSxJQUFZLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRS9ELElBQUksVUFBVSxHQUFxRSxJQUFJLENBQUM7UUFDeEYsSUFBSSxlQUFlLEdBQStFLElBQUksQ0FBQztRQUN2RyxJQUFJLFFBQTJELENBQUM7UUFFaEUsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO1lBQ25CLElBQUksd0JBQXdCLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3JDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNwRSxlQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDbkYsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7YUFDcEU7aUJBQU07Z0JBQ0wsMENBQTBDO2dCQUMxQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hFLGVBQWUsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDeEY7U0FDRjtRQUVELDJCQUEyQjtRQUMzQixPQUFPLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLGVBQWUsaUJBQUEsRUFBRSxRQUFRLFVBQUEsRUFBRSxVQUFVLFlBQUEsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELDZCQUFPLEdBQVAsVUFDRSxTQUEwQixFQUMxQixlQUE4RyxFQUM5RyxjQUEyRjtRQUUzRixPQUFPLElBQUksV0FBVyxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELDJCQUFLLEdBQUwsVUFDRSxjQUFvQyxFQUNwQyxlQUlRLEVBQ1IsY0FBK0Y7UUFQakcsaUJBV0M7UUFGQyxJQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUMsS0FBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBL0IsQ0FBK0IsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNsRSxDQUFDOztJQXBEVSxXQUFXO1FBRHZCLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztPQUN0QixXQUFXLENBcUR2QjtzQkFuRkQ7Q0FtRkMsQUFyREQsQ0FBaUMsYUFBYSxHQXFEN0M7U0FyRFksV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIGFzIE5nRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtQXJyYXkgfSBmcm9tICcuL2Zvcm1BcnJheSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJy4vZm9ybUNvbnRyb2wnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnLi9mb3JtR3JvdXAnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sT3B0aW9ucywgQXN5bmNWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sLCBPckJveGVkVmFsdWUsIFZhbGlkYXRvckZuIH0gZnJvbSAnLi90eXBlcyc7XG5cbmZ1bmN0aW9uIGlzQWJzdHJhY3RDb250cm9sT3B0aW9uczxUPihcbiAgb3B0aW9uczogQWJzdHJhY3RDb250cm9sT3B0aW9uczxUPiB8IHsgW2tleTogc3RyaW5nXTogYW55IH1cbik6IG9wdGlvbnMgaXMgQWJzdHJhY3RDb250cm9sT3B0aW9uczxUPiB7XG4gIHJldHVybiAoXG4gICAgKDxBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQ+Pm9wdGlvbnMpLmFzeW5jVmFsaWRhdG9ycyAhPT0gdW5kZWZpbmVkIHx8XG4gICAgKDxBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQ+Pm9wdGlvbnMpLnZhbGlkYXRvcnMgIT09IHVuZGVmaW5lZCB8fFxuICAgICg8QWJzdHJhY3RDb250cm9sT3B0aW9uczxUPj5vcHRpb25zKS51cGRhdGVPbiAhPT0gdW5kZWZpbmVkXG4gICk7XG59XG5cbmV4cG9ydCB0eXBlIEZiQ29udHJvbENvbmZpZzxUID0gYW55LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55PiA9XG4gIHwgQWJzdHJhY3RDb250cm9sPFQ+XG4gIHwgW1xuICAgICAgT3JCb3hlZFZhbHVlPFQ+LFxuICAgICAgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD4gfCBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPltdIHwgbnVsbCxcbiAgICAgIEFzeW5jVmFsaWRhdG9yRm48VD4gfCBBc3luY1ZhbGlkYXRvckZuPFQ+W10gfCBudWxsXG4gICAgXVxuICB8IFtPckJveGVkVmFsdWU8VD4sIFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXSB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VD4gfCBudWxsXVxuICB8IFtUIHwgT3JCb3hlZFZhbHVlPFQ+XVxuICB8IE9yQm94ZWRWYWx1ZTxUPlxuICB8IFQ7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRm9ybUJ1aWxkZXIgZXh0ZW5kcyBOZ0Zvcm1CdWlsZGVyIHtcbiAgZ3JvdXA8VCBleHRlbmRzIG9iamVjdCwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4oXG4gICAgY29udHJvbHNDb25maWc6IHsgW0sgaW4ga2V5b2YgVF06IEZiQ29udHJvbENvbmZpZzxUW0tdPiB9LFxuICAgIG9wdGlvbnM/OlxuICAgICAgfCBBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQ+XG4gICAgICB8IHtcbiAgICAgICAgICB2YWxpZGF0b3I/OiBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+W107XG4gICAgICAgICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPltdO1xuICAgICAgICB9XG4gICAgICB8IG51bGxcbiAgKTogRm9ybUdyb3VwPFQsIEU+IHtcbiAgICBjb25zdCBjb250cm9scyA9ICh0aGlzIGFzIGFueSkuX3JlZHVjZUNvbnRyb2xzKGNvbnRyb2xzQ29uZmlnKTtcblxuICAgIGxldCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+W10gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgYXN5bmNWYWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPltdIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHVwZGF0ZU9uOiBBYnN0cmFjdENvbnRyb2xPcHRpb25zPFQ+Wyd1cGRhdGVPbiddIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKG9wdGlvbnMgIT0gbnVsbCkge1xuICAgICAgaWYgKGlzQWJzdHJhY3RDb250cm9sT3B0aW9ucyhvcHRpb25zKSkge1xuICAgICAgICB2YWxpZGF0b3JzID0gb3B0aW9ucy52YWxpZGF0b3JzICE9IG51bGwgPyBvcHRpb25zLnZhbGlkYXRvcnMgOiBudWxsO1xuICAgICAgICBhc3luY1ZhbGlkYXRvcnMgPSBvcHRpb25zLmFzeW5jVmFsaWRhdG9ycyAhPSBudWxsID8gb3B0aW9ucy5hc3luY1ZhbGlkYXRvcnMgOiBudWxsO1xuICAgICAgICB1cGRhdGVPbiA9IG9wdGlvbnMudXBkYXRlT24gIT0gbnVsbCA/IG9wdGlvbnMudXBkYXRlT24gOiB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBgb3B0aW9uc2AgYXJlIGxlZ2FjeSBmb3JtIGdyb3VwIG9wdGlvbnNcbiAgICAgICAgdmFsaWRhdG9ycyA9IG9wdGlvbnNbJ3ZhbGlkYXRvciddICE9IG51bGwgPyBvcHRpb25zWyd2YWxpZGF0b3InXSA6IG51bGw7XG4gICAgICAgIGFzeW5jVmFsaWRhdG9ycyA9IG9wdGlvbnNbJ2FzeW5jVmFsaWRhdG9yJ10gIT0gbnVsbCA/IG9wdGlvbnNbJ2FzeW5jVmFsaWRhdG9yJ10gOiBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRvZG86IGRhbiByZW1vdmUgdGhlIGFueVxuICAgIHJldHVybiBuZXcgRm9ybUdyb3VwKGNvbnRyb2xzLCB7IGFzeW5jVmFsaWRhdG9ycywgdXBkYXRlT24sIHZhbGlkYXRvcnMgfSk7XG4gIH1cblxuICBjb250cm9sPFQsIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+KFxuICAgIGZvcm1TdGF0ZTogT3JCb3hlZFZhbHVlPFQ+LFxuICAgIHZhbGlkYXRvck9yT3B0cz86IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXSB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VD4gfCBudWxsLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXSB8IG51bGxcbiAgKTogRm9ybUNvbnRyb2w8VCwgRT4ge1xuICAgIHJldHVybiBuZXcgRm9ybUNvbnRyb2woZm9ybVN0YXRlLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgfVxuXG4gIGFycmF5PFQsIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+KFxuICAgIGNvbnRyb2xzQ29uZmlnOiBGYkNvbnRyb2xDb25maWc8VD5bXSxcbiAgICB2YWxpZGF0b3JPck9wdHM/OlxuICAgICAgfCBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUW10+XG4gICAgICB8IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFRbXT5bXVxuICAgICAgfCBBYnN0cmFjdENvbnRyb2xPcHRpb25zPFRbXT5cbiAgICAgIHwgbnVsbCxcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVFtdPiB8IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVFtdPltdIHwgbnVsbFxuICApOiBGb3JtQXJyYXk8VCwgRT4ge1xuICAgIGNvbnN0IGNvbnRyb2xzID0gY29udHJvbHNDb25maWcubWFwKGMgPT4gKHRoaXMgYXMgYW55KS5fY3JlYXRlQ29udHJvbChjKSk7XG4gICAgcmV0dXJuIG5ldyBGb3JtQXJyYXkoY29udHJvbHMsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUJ1aWxkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmduZWF0L3JlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL2Zvcm1CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBMEIsV0FBVyxJQUFJLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUd4QyxTQUFTLHdCQUF3QixDQUMvQixPQUF3RDtJQUV4RCxPQUFPLENBQ3FCLE9BQVEsQ0FBQyxlQUFlLEtBQUssU0FBUztRQUN0QyxPQUFRLENBQUMsVUFBVSxLQUFLLFNBQVM7UUFDakMsT0FBUSxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQzFELENBQUM7QUFDSixDQUFDO0FBR0Q7SUFBaUMsK0JBQWE7SUFBOUM7O0tBMkNDO0lBMUNDLDJCQUFLLEdBQUwsVUFDRSxjQUE0RCxFQUM1RCxPQUFvRTtRQUFwRSx3QkFBQSxFQUFBLGNBQW9FO1FBRXBFLElBQU0sUUFBUSxHQUFJLElBQVksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFL0QsSUFBSSxVQUFVLEdBQXVDLElBQUksQ0FBQztRQUMxRCxJQUFJLGVBQWUsR0FBaUQsSUFBSSxDQUFDO1FBQ3pFLElBQUksUUFBd0QsQ0FBQztRQUU3RCxJQUFJLE9BQU8sSUFBSSxJQUFJLEVBQUU7WUFDbkIsSUFBSSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDckMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BFLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNuRixRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQzthQUNwRTtpQkFBTTtnQkFDTCwwQ0FBMEM7Z0JBQzFDLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDeEUsZUFBZSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUN4RjtTQUNGO1FBRUQsMkJBQTJCO1FBQzNCLE9BQU8sSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsZUFBZSxpQkFBQSxFQUFFLFFBQVEsVUFBQSxFQUFFLFVBQVUsWUFBQSxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsNkJBQU8sR0FBUCxVQUNFLFNBQXFDLEVBQ3JDLGVBQWlDLEVBQ2pDLGNBQStCO1FBRi9CLDBCQUFBLEVBQUEsZ0JBQXFDO1FBSXJDLE9BQU8sSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsMkJBQUssR0FBTCxVQUNFLGNBQXVDLEVBQ3ZDLGVBQWlDLEVBQ2pDLGNBQStCO1FBSGpDLGlCQU9DO1FBRkMsSUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFDLEtBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQS9CLENBQStCLENBQUMsQ0FBQztRQUMxRSxPQUFPLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBcUIsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O0lBMUNVLFdBQVc7UUFEdkIsVUFBVSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO09BQ3RCLFdBQVcsQ0EyQ3ZCO3NCQTdERDtDQTZEQyxBQTNDRCxDQUFpQyxhQUFhLEdBMkM3QztTQTNDWSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sT3B0aW9ucywgRm9ybUJ1aWxkZXIgYXMgTmdGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vZm9ybUFycmF5JztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnLi9mb3JtQ29udHJvbCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICcuL2Zvcm1Hcm91cCc7XG5pbXBvcnQgeyBBc3luY1ZhbGlkYXRvciwgQXN5bmNWYWxpZGF0b3JGbiwgRmJDb250cm9sQ29uZmlnLCBGb3JtQ29udHJvbFN0YXRlLCBMZWdhY3lDb250cm9sT3B0aW9ucywgVmFsaWRhdG9yRm4sIFZhbGlkYXRvck9yT3B0cyB9IGZyb20gJy4vdHlwZXMnO1xuXG5mdW5jdGlvbiBpc0Fic3RyYWN0Q29udHJvbE9wdGlvbnMoXG4gIG9wdGlvbnM6IEFic3RyYWN0Q29udHJvbE9wdGlvbnMgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9XG4pOiBvcHRpb25zIGlzIEFic3RyYWN0Q29udHJvbE9wdGlvbnMge1xuICByZXR1cm4gKFxuICAgICg8QWJzdHJhY3RDb250cm9sT3B0aW9ucz4gb3B0aW9ucykuYXN5bmNWYWxpZGF0b3JzICE9PSB1bmRlZmluZWQgfHxcbiAgICAoPEFic3RyYWN0Q29udHJvbE9wdGlvbnM+IG9wdGlvbnMpLnZhbGlkYXRvcnMgIT09IHVuZGVmaW5lZCB8fFxuICAgICg8QWJzdHJhY3RDb250cm9sT3B0aW9ucz4gb3B0aW9ucykudXBkYXRlT24gIT09IHVuZGVmaW5lZFxuICApO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZvcm1CdWlsZGVyIGV4dGVuZHMgTmdGb3JtQnVpbGRlciB7XG4gIGdyb3VwPFQgZXh0ZW5kcyBvYmplY3QgPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+KFxuICAgIGNvbnRyb2xzQ29uZmlnOiB7IFtQIGluIGtleW9mIFRdOiBGYkNvbnRyb2xDb25maWc8VFtQXSwgRT4gfSxcbiAgICBvcHRpb25zOiBBYnN0cmFjdENvbnRyb2xPcHRpb25zIHwgTGVnYWN5Q29udHJvbE9wdGlvbnMgfCBudWxsID0gbnVsbFxuICApOiBGb3JtR3JvdXA8VCwgRT4ge1xuICAgIGNvbnN0IGNvbnRyb2xzID0gKHRoaXMgYXMgYW55KS5fcmVkdWNlQ29udHJvbHMoY29udHJvbHNDb25maWcpO1xuXG4gICAgbGV0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBhc3luY1ZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgdXBkYXRlT246IEFic3RyYWN0Q29udHJvbE9wdGlvbnNbJ3VwZGF0ZU9uJ10gfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAob3B0aW9ucyAhPSBudWxsKSB7XG4gICAgICBpZiAoaXNBYnN0cmFjdENvbnRyb2xPcHRpb25zKG9wdGlvbnMpKSB7XG4gICAgICAgIHZhbGlkYXRvcnMgPSBvcHRpb25zLnZhbGlkYXRvcnMgIT0gbnVsbCA/IG9wdGlvbnMudmFsaWRhdG9ycyA6IG51bGw7XG4gICAgICAgIGFzeW5jVmFsaWRhdG9ycyA9IG9wdGlvbnMuYXN5bmNWYWxpZGF0b3JzICE9IG51bGwgPyBvcHRpb25zLmFzeW5jVmFsaWRhdG9ycyA6IG51bGw7XG4gICAgICAgIHVwZGF0ZU9uID0gb3B0aW9ucy51cGRhdGVPbiAhPSBudWxsID8gb3B0aW9ucy51cGRhdGVPbiA6IHVuZGVmaW5lZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGBvcHRpb25zYCBhcmUgbGVnYWN5IGZvcm0gZ3JvdXAgb3B0aW9uc1xuICAgICAgICB2YWxpZGF0b3JzID0gb3B0aW9uc1sndmFsaWRhdG9yJ10gIT0gbnVsbCA/IG9wdGlvbnNbJ3ZhbGlkYXRvciddIDogbnVsbDtcbiAgICAgICAgYXN5bmNWYWxpZGF0b3JzID0gb3B0aW9uc1snYXN5bmNWYWxpZGF0b3InXSAhPSBudWxsID8gb3B0aW9uc1snYXN5bmNWYWxpZGF0b3InXSA6IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVG9kbzogZGFuIHJlbW92ZSB0aGUgYW55XG4gICAgcmV0dXJuIG5ldyBGb3JtR3JvdXAoY29udHJvbHMsIHsgYXN5bmNWYWxpZGF0b3JzLCB1cGRhdGVPbiwgdmFsaWRhdG9ycyB9KTtcbiAgfVxuXG4gIGNvbnRyb2w8VCA9IGFueSwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4oXG4gICAgZm9ybVN0YXRlOiBGb3JtQ29udHJvbFN0YXRlPFQ+ID0gbnVsbCxcbiAgICB2YWxpZGF0b3JPck9wdHM/OiBWYWxpZGF0b3JPck9wdHMsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvclxuICApOiBGb3JtQ29udHJvbDxULCBFPiB7XG4gICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbChmb3JtU3RhdGUsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xuICB9XG5cbiAgYXJyYXk8VCA9IGFueSwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4oXG4gICAgY29udHJvbHNDb25maWc6IEZiQ29udHJvbENvbmZpZzxULCBFPltdLFxuICAgIHZhbGlkYXRvck9yT3B0cz86IFZhbGlkYXRvck9yT3B0cyxcbiAgICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yXG4gICk6IEZvcm1BcnJheTxULCBFPiB7XG4gICAgY29uc3QgY29udHJvbHMgPSBjb250cm9sc0NvbmZpZy5tYXAoYyA9PiAodGhpcyBhcyBhbnkpLl9jcmVhdGVDb250cm9sKGMpKTtcbiAgICByZXR1cm4gbmV3IEZvcm1BcnJheShjb250cm9scywgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvciBhcyBhbnkpO1xuICB9XG59XG4iXX0=

@@ -5,7 +5,8 @@ import { __extends, __read, __spread } from "tslib";

import { distinctUntilChanged } from 'rxjs/operators';
import { controlDisabled$, controlDisabledWhile, controlEnabled$, controlEnabledWhile, controlErrorChanges$, controlStatusChanges$, controlValueChanges$, disableControl, enableControl, hasErrorAndDirty, hasErrorAndTouched, mergeControlValidators, selectControlValue$, validateControlOn } from './control-actions';
import { coerceArray, isFunction } from './utils';
import { controlDisabled$, controlDisabledWhile, controlEnabled$, controlEnabledWhile, controlErrorChanges$, controlStatusChanges$, controlValueChanges$, disableControl, enableControl, hasErrorAndDirty, hasErrorAndTouched, mergeControlValidators, validateControlOn } from './control-actions';
import { coerceArray } from './utils';
var FormControl = /** @class */ (function (_super) {
__extends(FormControl, _super);
function FormControl(formState, validatorOrOpts, asyncValidator) {
if (formState === void 0) { formState = null; }
var _this = _super.call(this, formState, validatorOrOpts, asyncValidator) || this;

@@ -23,5 +24,2 @@ _this.touchChanges = new Subject();

}
FormControl.prototype.select = function (mapFn) {
return selectControlValue$(this, mapFn);
};
FormControl.prototype.setValue = function (valueOrObservable, options) {

@@ -32,5 +30,3 @@ var _this = this;

}
else {
_super.prototype.setValue.call(this, valueOrObservable, options);
}
_super.prototype.setValue.call(this, valueOrObservable, options);
};

@@ -42,9 +38,3 @@ FormControl.prototype.patchValue = function (valueOrObservable, options) {

}
else {
var value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
_super.prototype.patchValue.call(this, value, options);
}
_super.prototype.patchValue.call(this, valueOrObservable, options);
};

@@ -84,2 +74,3 @@ FormControl.prototype.disabledWhile = function (observable, options) {

FormControl.prototype.reset = function (formState, options) {
if (formState === void 0) { formState = null; }
_super.prototype.reset.call(this, formState, options);

@@ -125,2 +116,2 @@ };

export { FormControl };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUNvbnRyb2wuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmduZWF0L3JlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL2Zvcm1Db250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNsQixNQUFNLG1CQUFtQixDQUFDO0FBYTNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxEO0lBQWtFLCtCQUFhO0lBb0I3RSxxQkFDRSxTQUEyQixFQUMzQixlQUEwRyxFQUMxRyxjQUFvRjtRQUh0RixZQUtFLGtCQUFNLFNBQVMsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLFNBQ2xEO1FBbEJPLGtCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUN0QyxrQkFBWSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFFOUMsWUFBTSxHQUFHLEtBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUN2RSxZQUFNLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FB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QUFDO0lBRUQsd0NBQWtCLEdBQWxCLFVBQW1CLEtBQXdCO1FBQ3pDLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxzQ0FBZ0IsR0FBaEIsVUFBaUIsS0FBd0I7UUFDdkMsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELCtCQUFTLEdBQVQsVUFBVSxNQUFhLEVBQUUsSUFBMEI7UUFBekMsdUJBQUEsRUFBQSxhQUFhO1FBQ3JCLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxnQ0FBVSxHQUFWLFVBQVcsT0FBYyxFQUFFLElBQTBCO1FBQTFDLHdCQUFBLEVBQUEsY0FBYztRQUN2QixjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0gsa0JBQUM7QUFBRCxDQUFDLEFBL0lELENBQWtFLGFBQWEsR0ErSTlFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wgYXMgTmdGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGNvbnRyb2xEaXNhYmxlZCQsXG4gIGNvbnRyb2xEaXNhYmxlZFdoaWxlLFxuICBjb250cm9sRW5hYmxlZCQsXG4gIGNvbnRyb2xFbmFibGVkV2hpbGUsXG4gIGNvbnRyb2xFcnJvckNoYW5nZXMkLFxuICBjb250cm9sU3RhdHVzQ2hhbmdlcyQsXG4gIGNvbnRyb2xWYWx1ZUNoYW5nZXMkLFxuICBkaXNhYmxlQ29udHJvbCxcbiAgZW5hYmxlQ29udHJvbCxcbiAgaGFzRXJyb3JBbmREaXJ0eSxcbiAgaGFzRXJyb3JBbmRUb3VjaGVkLFxuICBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzLFxuICBzZWxlY3RDb250cm9sVmFsdWUkLFxuICB2YWxpZGF0ZUNvbnRyb2xPblxufSBmcm9tICcuL2NvbnRyb2wtYWN0aW9ucyc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2xPcHRpb25zLFxuICBBc3luY1ZhbGlkYXRvckZuLFxuICBDb250cm9sRXZlbnRPcHRpb25zLFxuICBDb250cm9sT3B0aW9ucyxcbiAgQ29udHJvbFN0YXRlLFxuICBFbWl0RXZlbnQsXG4gIEV4dHJhY3RTdHJpbmdzLFxuICBPbmx5U2VsZixcbiAgT3JCb3hlZFZhbHVlLFxuICBWYWxpZGF0b3JGblxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5LCBpc0Z1bmN0aW9uIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtQ29udHJvbDxUID0gYW55LCBFIGV4dGVuZHMgb2JqZWN0ID0gYW55PiBleHRlbmRzIE5nRm9ybUNvbnRyb2wge1xuICB2YWx1ZTogVDtcbiAgZXJyb3JzOiBFIHwgbnVsbDtcbiAgYXN5bmNWYWxpZGF0b3I6IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD47XG4gIHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxUPjtcbiAgc3RhdHVzOiBDb250cm9sU3RhdGU7XG4gIHN0YXR1c0NoYW5nZXM6IE9ic2VydmFibGU8Q29udHJvbFN0YXRlPjtcblxuICBwcml2YXRlIHRvdWNoQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgZGlydHlDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICB0b3VjaCQgPSB0aGlzLnRvdWNoQ2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICBkaXJ0eSQgPSB0aGlzLmRpcnR5Q2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIHZhbHVlJCA9IGNvbnRyb2xWYWx1ZUNoYW5nZXMkPFQ+KHRoaXMpO1xuICBkaXNhYmxlZCQgPSBjb250cm9sRGlzYWJsZWQkPFQ+KHRoaXMpO1xuICBlbmFibGVkJCA9IGNvbnRyb2xFbmFibGVkJDxUPih0aGlzKTtcbiAgc3RhdHVzJCA9IGNvbnRyb2xTdGF0dXNDaGFuZ2VzJDxUPih0aGlzKTtcbiAgZXJyb3JzJCA9IGNvbnRyb2xFcnJvckNoYW5nZXMkPEU+KHRoaXMpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZvcm1TdGF0ZT86IE9yQm94ZWRWYWx1ZTxUPixcbiAgICB2YWxpZGF0b3JPck9wdHM/OiBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IFZhbGlkYXRvckZuPGFueSwgVD5bXSB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VCwgRT4gfCBudWxsLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IEFzeW5jVmFsaWRhdG9yRm48YW55LCBUPltdIHwgbnVsbFxuICApIHtcbiAgICBzdXBlcihmb3JtU3RhdGUsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xuICB9XG5cbiAgc2VsZWN0PFI+KG1hcEZuOiAoc3RhdGU6IFQpID0+IFIpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICByZXR1cm4gc2VsZWN0Q29udHJvbFZhbHVlJCh0aGlzLCBtYXBGbik7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogU3Vic2NyaXB0aW9uO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogVCwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogdm9pZDtcbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IGFueSwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogU3Vic2NyaXB0aW9uIHwgdm9pZCB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsdWUgPT4gc3VwZXIuc2V0VmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIuc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGUsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8VD4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogKHN0YXRlOiBUKSA9PiBULCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkO1xuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBULCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkO1xuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBhbnksIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucyk6IFN1YnNjcmlwdGlvbiB8IHZvaWQge1xuICAgIGlmIChpc09ic2VydmFibGUodmFsdWVPck9ic2VydmFibGUpKSB7XG4gICAgICByZXR1cm4gdmFsdWVPck9ic2VydmFibGUuc3Vic2NyaWJlKHZhbHVlID0+IHN1cGVyLnBhdGNoVmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHZhbHVlID0gdmFsdWVPck9ic2VydmFibGU7XG4gICAgICBpZiAoaXNGdW5jdGlvbih2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZU9yT2JzZXJ2YWJsZSh0aGlzLnZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHN1cGVyLnBhdGNoVmFsdWUodmFsdWUsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGRpc2FibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xEaXNhYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRW5hYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgbWVyZ2VWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXSkge1xuICAgIG1lcmdlQ29udHJvbFZhbGlkYXRvcnModGhpcywgdmFsaWRhdG9ycyk7XG4gIH1cblxuICBtZXJnZUFzeW5jVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgQXN5bmNWYWxpZGF0b3JGbjxhbnksIFQ+W10pIHtcbiAgICB0aGlzLnNldEFzeW5jVmFsaWRhdG9ycyhbdGhpcy5hc3luY1ZhbGlkYXRvciwgLi4uY29lcmNlQXJyYXkodmFsaWRhdG9ycyldKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIG1hcmtBc1RvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVG91Y2hlZChvcHRzKTtcbiAgICB0aGlzLnRvdWNoQ2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FzVW50b3VjaGVkKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1VudG91Y2hlZChvcHRzKTtcbiAgICB0aGlzLnRvdWNoQ2hhbmdlcy5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG1hcmtBc1ByaXN0aW5lKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1ByaXN0aW5lKG9wdHMpO1xuICAgIHRoaXMuZGlydHlDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzRGlydHkob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzRGlydHkob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG1hcmtBbGxBc0RpcnR5KCk6IHZvaWQge1xuICAgIHRoaXMubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgfVxuXG4gIHJlc2V0KGZvcm1TdGF0ZT86IE9yQm94ZWRWYWx1ZTxUPiwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiB2b2lkIHtcbiAgICBzdXBlci5yZXNldChmb3JtU3RhdGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3I6IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXSB8IG51bGwpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IEFzeW5jVmFsaWRhdG9yRm48YW55LCBUPltdIHwgbnVsbCk6IHZvaWQge1xuICAgIHN1cGVyLnNldEFzeW5jVmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIHN1cGVyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHZhbGlkYXRlT24ob2JzZXJ2YWJsZVZhbGlkYXRpb246IE9ic2VydmFibGU8bnVsbCB8IG9iamVjdD4pIHtcbiAgICByZXR1cm4gdmFsaWRhdGVDb250cm9sT24odGhpcywgb2JzZXJ2YWJsZVZhbGlkYXRpb24pO1xuICB9XG5cbiAgZ2V0RXJyb3I8SyBleHRlbmRzIEV4dHJhY3RTdHJpbmdzPEU+PihlcnJvckNvZGU6IEspOiBFW0tdIHwgbnVsbCB7XG4gICAgcmV0dXJuIHN1cGVyLmdldEVycm9yKGVycm9yQ29kZSkgYXMgRVtLXSB8IG51bGw7XG4gIH1cblxuICBoYXNFcnJvcjxLIGV4dGVuZHMgRXh0cmFjdFN0cmluZ3M8RT4+KGVycm9yQ29kZTogSykge1xuICAgIHJldHVybiBzdXBlci5oYXNFcnJvcihlcnJvckNvZGUpO1xuICB9XG5cbiAgc2V0RXJyb3JzKGVycm9yczogUGFydGlhbDxFPiB8IG51bGwsIG9wdHM6IEVtaXRFdmVudCA9IHt9KSB7XG4gICAgcmV0dXJuIHN1cGVyLnNldEVycm9ycyhlcnJvcnMsIG9wdHMpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmRUb3VjaGVkKGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZFRvdWNoZWQodGhpcywgZXJyb3IpO1xuICB9XG5cbiAgaGFzRXJyb3JBbmREaXJ0eShlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzRXJyb3JBbmREaXJ0eSh0aGlzLCBlcnJvcik7XG4gIH1cblxuICBzZXRFbmFibGUoZW5hYmxlID0gdHJ1ZSwgb3B0cz86IENvbnRyb2xFdmVudE9wdGlvbnMpIHtcbiAgICBlbmFibGVDb250cm9sKHRoaXMsIGVuYWJsZSwgb3B0cyk7XG4gIH1cblxuICBzZXREaXNhYmxlKGRpc2FibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGRpc2FibGVDb250cm9sKHRoaXMsIGRpc2FibGUsIG9wdHMpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUNvbnRyb2wuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmduZWF0L3JlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL2Zvcm1Db250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwUyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXRDO0lBQWtFLCtCQUFhO0lBbUI3RSxxQkFDRSxTQUFxQyxFQUNyQyxlQUFpQyxFQUNqQyxjQUErQjtRQUYvQiwwQkFBQSxFQUFBLGdCQUFxQztRQUR2QyxZQUtFLGtCQUFNLFNBQVMsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLFNBQ2xEO1FBbEJPLGtCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUN0QyxrQkFBWSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFFckMsWUFBTSxHQUFHLEtBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUN2RSxZQUFNLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLFlBQU0s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O1FBQXpDLHVCQUFBLEVBQUEsYUFBYTtRQUNyQixhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsZ0NBQVUsR0FBVixVQUFXLE9BQWMsRUFBRSxJQUEwQjtRQUExQyx3QkFBQSxFQUFBLGNBQWM7UUFDdkIsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNILGtCQUFDO0FBQUQsQ0FBQyxBQXJJRCxDQUFrRSxhQUFhLEdBcUk5RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sIGFzIE5nRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpc09ic2VydmFibGUsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb250cm9sRGlzYWJsZWQkLCBjb250cm9sRGlzYWJsZWRXaGlsZSwgY29udHJvbEVuYWJsZWQkLCBjb250cm9sRW5hYmxlZFdoaWxlLCBjb250cm9sRXJyb3JDaGFuZ2VzJCwgY29udHJvbFN0YXR1c0NoYW5nZXMkLCBjb250cm9sVmFsdWVDaGFuZ2VzJCwgZGlzYWJsZUNvbnRyb2wsIGVuYWJsZUNvbnRyb2wsIGhhc0Vycm9yQW5kRGlydHksIGhhc0Vycm9yQW5kVG91Y2hlZCwgbWVyZ2VDb250cm9sVmFsaWRhdG9ycywgdmFsaWRhdGVDb250cm9sT24gfSBmcm9tICcuL2NvbnRyb2wtYWN0aW9ucyc7XG5pbXBvcnQgeyBBc3luY1ZhbGlkYXRvciwgQ29udHJvbEV2ZW50T3B0aW9ucywgQ29udHJvbE9wdGlvbnMsIENvbnRyb2xTdGF0ZSwgRW1pdEV2ZW50LCBFeHRyYWN0Q29udHJvbFZhbHVlLCBFeHRyYWN0U3RyaW5ncywgRm9ybUNvbnRyb2xTdGF0ZSwgT25seVNlbGYsIFZhbGlkYXRvciwgVmFsaWRhdG9yT3JPcHRzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgRm9ybUNvbnRyb2w8VCA9IGFueSwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4gZXh0ZW5kcyBOZ0Zvcm1Db250cm9sIHtcbiAgcmVhZG9ubHkgdmFsdWU6IEV4dHJhY3RDb250cm9sVmFsdWU8VD47XG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlczogT2JzZXJ2YWJsZTxFeHRyYWN0Q29udHJvbFZhbHVlPFQ+PjtcbiAgcmVhZG9ubHkgZXJyb3JzOiBFIHwgbnVsbDtcbiAgcmVhZG9ubHkgc3RhdHVzOiBDb250cm9sU3RhdGU7XG4gIHJlYWRvbmx5IHN0YXR1c0NoYW5nZXM6IE9ic2VydmFibGU8Q29udHJvbFN0YXRlPjtcblxuICBwcml2YXRlIHRvdWNoQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgZGlydHlDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICByZWFkb25seSB0b3VjaCQgPSB0aGlzLnRvdWNoQ2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICByZWFkb25seSBkaXJ0eSQgPSB0aGlzLmRpcnR5Q2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIHJlYWRvbmx5IHZhbHVlJCA9IGNvbnRyb2xWYWx1ZUNoYW5nZXMkPEV4dHJhY3RDb250cm9sVmFsdWU8VD4+KHRoaXMpO1xuICByZWFkb25seSBkaXNhYmxlZCQgPSBjb250cm9sRGlzYWJsZWQkKHRoaXMpO1xuICByZWFkb25seSBlbmFibGVkJCA9IGNvbnRyb2xFbmFibGVkJCh0aGlzKTtcbiAgcmVhZG9ubHkgc3RhdHVzJCA9IGNvbnRyb2xTdGF0dXNDaGFuZ2VzJCh0aGlzKTtcbiAgcmVhZG9ubHkgZXJyb3JzJCA9IGNvbnRyb2xFcnJvckNoYW5nZXMkPEU+KHRoaXMpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZvcm1TdGF0ZTogRm9ybUNvbnRyb2xTdGF0ZTxUPiA9IG51bGwsXG4gICAgdmFsaWRhdG9yT3JPcHRzPzogVmFsaWRhdG9yT3JPcHRzLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JcbiAgKSB7XG4gICAgc3VwZXIoZm9ybVN0YXRlLCB2YWxpZGF0b3JPck9wdHMsIGFzeW5jVmFsaWRhdG9yKTtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFQ+LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiBTdWJzY3JpcHRpb247XG4gIHNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBULCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiB2b2lkO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSh2YWx1ZSA9PiBzdXBlci5zZXRWYWx1ZSh2YWx1ZSwgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN1cGVyLnNldFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8UGFydGlhbDxUPj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucyk6IFN1YnNjcmlwdGlvbjtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogUGFydGlhbDxUPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogdm9pZDtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpOiBTdWJzY3JpcHRpb24gfCB2b2lkIHtcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlT3JPYnNlcnZhYmxlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlT3JPYnNlcnZhYmxlLnN1YnNjcmliZSh2YWx1ZSA9PiBzdXBlci5wYXRjaFZhbHVlKHZhbHVlLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3VwZXIucGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBkaXNhYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRGlzYWJsZWRXaGlsZSh0aGlzLCBvYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVuYWJsZWRXaGlsZShvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpIHtcbiAgICByZXR1cm4gY29udHJvbEVuYWJsZWRXaGlsZSh0aGlzLCBvYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIG1lcmdlVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBWYWxpZGF0b3IpIHtcbiAgICBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzKHRoaXMsIHZhbGlkYXRvcnMpO1xuICB9XG5cbiAgbWVyZ2VBc3luY1ZhbGlkYXRvcnModmFsaWRhdG9yczogQXN5bmNWYWxpZGF0b3IpIHtcbiAgICB0aGlzLnNldEFzeW5jVmFsaWRhdG9ycyhbdGhpcy5hc3luY1ZhbGlkYXRvciwgLi4uY29lcmNlQXJyYXkodmFsaWRhdG9ycyldKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIG1hcmtBc1RvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVG91Y2hlZChvcHRzKTtcbiAgICB0aGlzLnRvdWNoQ2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FzVW50b3VjaGVkKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1VudG91Y2hlZChvcHRzKTtcbiAgICB0aGlzLnRvdWNoQ2hhbmdlcy5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG1hcmtBc1ByaXN0aW5lKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1ByaXN0aW5lKG9wdHMpO1xuICAgIHRoaXMuZGlydHlDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzRGlydHkob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzRGlydHkob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG1hcmtBbGxBc0RpcnR5KCk6IHZvaWQge1xuICAgIHRoaXMubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgfVxuXG4gIHJlc2V0KGZvcm1TdGF0ZTogRm9ybUNvbnRyb2xTdGF0ZTxUPiA9IG51bGwsIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogdm9pZCB7XG4gICAgc3VwZXIucmVzZXQoZm9ybVN0YXRlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yOiBWYWxpZGF0b3IpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogQXN5bmNWYWxpZGF0b3IpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRBc3luY1ZhbGlkYXRvcnMobmV3VmFsaWRhdG9yKTtcbiAgICBzdXBlci51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICB2YWxpZGF0ZU9uKG9ic2VydmFibGVWYWxpZGF0aW9uOiBPYnNlcnZhYmxlPG51bGwgfCBvYmplY3Q+KSB7XG4gICAgcmV0dXJuIHZhbGlkYXRlQ29udHJvbE9uKHRoaXMsIG9ic2VydmFibGVWYWxpZGF0aW9uKTtcbiAgfVxuXG4gIGdldEVycm9yPEsgZXh0ZW5kcyBFeHRyYWN0U3RyaW5nczxFPj4oZXJyb3JDb2RlOiBLKTogRVtLXSB8IG51bGwge1xuICAgIHJldHVybiBzdXBlci5nZXRFcnJvcihlcnJvckNvZGUpIGFzIEVbS10gfCBudWxsO1xuICB9XG5cbiAgaGFzRXJyb3I8SyBleHRlbmRzIEV4dHJhY3RTdHJpbmdzPEU+PihlcnJvckNvZGU6IEspIHtcbiAgICByZXR1cm4gc3VwZXIuaGFzRXJyb3IoZXJyb3JDb2RlKTtcbiAgfVxuXG4gIHNldEVycm9ycyhlcnJvcnM6IFBhcnRpYWw8RT4gfCBudWxsLCBvcHRzOiBFbWl0RXZlbnQgPSB7fSkge1xuICAgIHJldHVybiBzdXBlci5zZXRFcnJvcnMoZXJyb3JzLCBvcHRzKTtcbiAgfVxuXG4gIGhhc0Vycm9yQW5kVG91Y2hlZChlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzRXJyb3JBbmRUb3VjaGVkKHRoaXMsIGVycm9yKTtcbiAgfVxuXG4gIGhhc0Vycm9yQW5kRGlydHkoZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc0Vycm9yQW5kRGlydHkodGhpcywgZXJyb3IpO1xuICB9XG5cbiAgc2V0RW5hYmxlKGVuYWJsZSA9IHRydWUsIG9wdHM/OiBDb250cm9sRXZlbnRPcHRpb25zKSB7XG4gICAgZW5hYmxlQ29udHJvbCh0aGlzLCBlbmFibGUsIG9wdHMpO1xuICB9XG5cbiAgc2V0RGlzYWJsZShkaXNhYmxlID0gdHJ1ZSwgb3B0cz86IENvbnRyb2xFdmVudE9wdGlvbnMpIHtcbiAgICBkaXNhYmxlQ29udHJvbCh0aGlzLCBkaXNhYmxlLCBvcHRzKTtcbiAgfVxufVxuIl19

@@ -6,3 +6,3 @@ import { __extends, __read, __spread } from "tslib";

import { controlDisabled$, controlDisabledWhile, controlEnabled$, controlEnabledWhile, controlErrorChanges$, controlStatusChanges$, controlValueChanges$, disableControl, enableControl, hasErrorAndDirty, hasErrorAndTouched, markAllDirty, mergeControlValidators, selectControlValue$, validateControlOn } from './control-actions';
import { coerceArray, isFunction } from './utils';
import { coerceArray } from './utils';
var FormGroup = /** @class */ (function (_super) {

@@ -57,5 +57,3 @@ __extends(FormGroup, _super);

}
else {
_super.prototype.setValue.call(this, valueOrObservable, options);
}
_super.prototype.setValue.call(this, valueOrObservable, options);
};

@@ -67,9 +65,3 @@ FormGroup.prototype.patchValue = function (valueOrObservable, options) {

}
else {
var value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
_super.prototype.patchValue.call(this, value, options);
}
_super.prototype.patchValue.call(this, valueOrObservable, options);
};

@@ -157,2 +149,2 @@ FormGroup.prototype.disabledWhile = function (observable, options) {

export { FormGroup };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUdyb3VwLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9mb3JtR3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLElBQUksV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNsQixNQUFNLG1CQUFtQixDQUFDO0FBZ0IzQixPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVsRDtJQUE0RSw2QkFBVztJQW1CckYsbUJBQ1MsUUFBMkQsRUFDbEUsZUFBMEcsRUFDMUcsY0FBMkY7UUFIN0YsWUFLRSxrQkFBTSxRQUFRLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxTQUNqRDtRQUxRLGNBQVEsR0FBUixRQUFRLENBQW1EO1FBYjVELGtCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUN0QyxrQkFBWSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFFOUMsWUFBTSxHQUFHLEtBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUN2RSxZQUFNLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJ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O1lBQVosNkJBQVk7O1FBQ3ZDLE9BQU8sZ0JBQWdCLHlCQUFDLElBQUksRUFBRSxLQUFLLEdBQUssSUFBSSxHQUFFO0lBQ2hELENBQUM7SUFFRCw2QkFBUyxHQUFULFVBQVUsTUFBYSxFQUFFLElBQTBCO1FBQXpDLHVCQUFBLEVBQUEsYUFBYTtRQUNyQixhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsOEJBQVUsR0FBVixVQUFXLE9BQWMsRUFBRSxJQUEwQjtRQUExQyx3QkFBQSxFQUFBLGNBQWM7UUFDdkIsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNILGdCQUFDO0FBQUQsQ0FBQyxBQS9PRCxDQUE0RSxXQUFXLEdBK090RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cCBhcyBOZ0Zvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGNvbnRyb2xEaXNhYmxlZCQsXG4gIGNvbnRyb2xEaXNhYmxlZFdoaWxlLFxuICBjb250cm9sRW5hYmxlZCQsXG4gIGNvbnRyb2xFbmFibGVkV2hpbGUsXG4gIGNvbnRyb2xFcnJvckNoYW5nZXMkLFxuICBjb250cm9sU3RhdHVzQ2hhbmdlcyQsXG4gIGNvbnRyb2xWYWx1ZUNoYW5nZXMkLFxuICBkaXNhYmxlQ29udHJvbCxcbiAgZW5hYmxlQ29udHJvbCxcbiAgaGFzRXJyb3JBbmREaXJ0eSxcbiAgaGFzRXJyb3JBbmRUb3VjaGVkLFxuICBtYXJrQWxsRGlydHksXG4gIG1lcmdlQ29udHJvbFZhbGlkYXRvcnMsXG4gIHNlbGVjdENvbnRyb2xWYWx1ZSQsXG4gIHZhbGlkYXRlQ29udHJvbE9uXG59IGZyb20gJy4vY29udHJvbC1hY3Rpb25zJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQWJzdHJhY3RDb250cm9sT3B0aW9ucyxcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgQ29udHJvbEV2ZW50T3B0aW9ucyxcbiAgQ29udHJvbE9wdGlvbnMsXG4gIENvbnRyb2xTdGF0ZSxcbiAgRW1pdEV2ZW50LFxuICBFeHRyYWN0U3RyaW5ncyxcbiAgT25seVNlbGYsXG4gIFZhbGlkYXRvckZuLFxuICBLZXlWYWx1ZUNvbnRyb2xzLFxuICBPYmosXG4gIEV4dHJhY3RBYnN0cmFjdENvbnRyb2xcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSwgaXNGdW5jdGlvbiB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgRm9ybUdyb3VwPFQgZXh0ZW5kcyBPYmogPSBhbnksIEUgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IGV4dGVuZHMgTmdGb3JtR3JvdXAge1xuICB2YWx1ZTogVDtcbiAgZXJyb3JzOiBFIHwgbnVsbDtcbiAgdmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPFQ+O1xuICBzdGF0dXM6IENvbnRyb2xTdGF0ZTtcbiAgc3RhdHVzQ2hhbmdlczogT2JzZXJ2YWJsZTxDb250cm9sU3RhdGU+O1xuXG4gIHByaXZhdGUgdG91Y2hDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBkaXJ0eUNoYW5nZXMgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHRvdWNoJCA9IHRoaXMudG91Y2hDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIGRpcnR5JCA9IHRoaXMuZGlydHlDaGFuZ2VzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgdmFsdWUkID0gY29udHJvbFZhbHVlQ2hhbmdlcyQ8VD4odGhpcyk7XG4gIGRpc2FibGVkJCA9IGNvbnRyb2xEaXNhYmxlZCQ8VD4odGhpcyk7XG4gIGVuYWJsZWQkID0gY29udHJvbEVuYWJsZWQkPFQ+KHRoaXMpO1xuICBzdGF0dXMkID0gY29udHJvbFN0YXR1c0NoYW5nZXMkPFQ+KHRoaXMpO1xuICBlcnJvcnMkID0gY29udHJvbEVycm9yQ2hhbmdlcyQ8RT4odGhpcyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbnRyb2xzOiBFeHRyYWN0QWJzdHJhY3RDb250cm9sPEtleVZhbHVlQ29udHJvbHM8VCwgRT4sIFQ+LFxuICAgIHZhbGlkYXRvck9yT3B0cz86IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48YW55LCBUPltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9uczxULCBFPiB8IG51bGwsXG4gICAgYXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgQXN5bmNWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPltdIHwgbnVsbFxuICApIHtcbiAgICBzdXBlcihjb250cm9scywgdmFsaWRhdG9yT3JPcHRzLCBhc3luY1ZhbGlkYXRvcik7XG4gIH1cblxuICBzZWxlY3Q8Uj4obWFwRm46IChzdGF0ZTogVCkgPT4gUik6IE9ic2VydmFibGU8Uj4ge1xuICAgIHJldHVybiBzZWxlY3RDb250cm9sVmFsdWUkKHRoaXMsIG1hcEZuKTtcbiAgfVxuXG4gIGdldFJhd1ZhbHVlKCk6IFQge1xuICAgIHJldHVybiBzdXBlci5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0PEsxIGV4dGVuZHMga2V5b2YgVD4ocGF0aD86IFtLMV0pOiBBYnN0cmFjdENvbnRyb2w8VFtLMV0+O1xuICBnZXQ8SzEgZXh0ZW5kcyBrZXlvZiBULCBLMiBleHRlbmRzIGtleW9mIFRbSzFdPihwYXRoPzogW0sxLCBLMl0pOiBBYnN0cmFjdENvbnRyb2w8VFtLMV1bSzJdPjtcbiAgZ2V0PEsxIGV4dGVuZHMga2V5b2YgVCwgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXSwgSzMgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl0+KFxuICAgIHBhdGg/OiBbSzEsIEsyLCBLM11cbiAgKTogQWJzdHJhY3RDb250cm9sPFRbSzFdW0syXVtLM10+O1xuICBnZXQocGF0aD86IHN0cmluZyk6IEFic3RyYWN0Q29udHJvbDtcbiAgZ2V0KHBhdGg6IGFueSkge1xuICAgIHJldHVybiBzdXBlci5nZXQocGF0aCk7XG4gIH1cblxuICBnZXRDb250cm9sPFAxIGV4dGVuZHMga2V5b2YgVD4ocHJvcDE6IFAxKTogQWJzdHJhY3RDb250cm9sPFRbUDFdPjtcbiAgZ2V0Q29udHJvbDxQMSBleHRlbmRzIGtleW9mIFQsIFAyIGV4dGVuZHMga2V5b2YgVFtQMV0+KHByb3AxOiBQMSwgcHJvcDI6IFAyKTogQWJzdHJhY3RDb250cm9sPFRbUDFdW1AyXT47XG4gIGdldENvbnRyb2w8UDEgZXh0ZW5kcyBrZXlvZiBULCBQMiBleHRlbmRzIGtleW9mIFRbUDFdLCBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXT4oXG4gICAgcHJvcDE6IFAxLFxuICAgIHByb3AyOiBQMixcbiAgICBwcm9wMzogUDNcbiAgKTogQWJzdHJhY3RDb250cm9sPFRbUDFdW1AyXVtQM10+O1xuICBnZXRDb250cm9sPFAxIGV4dGVuZHMga2V5b2YgVCwgUDIgZXh0ZW5kcyBrZXlvZiBUW1AxXSwgUDMgZXh0ZW5kcyBrZXlvZiBUW1AxXVtQMl0sIFA0IGV4dGVuZHMga2V5b2YgVFtQMV1bUDJdW1AzXT4oXG4gICAgcHJvcDE6IFAxLFxuICAgIHByb3AyOiBQMixcbiAgICBwcm9wMzogUDMsXG4gICAgcHJvcDQ6IFA0XG4gICk6IEFic3RyYWN0Q29udHJvbDxUW1AxXVtQMl1bUDNdW1A0XT47XG4gIGdldENvbnRyb2woLi4ubmFtZXM6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KG5hbWVzLmpvaW4oJy4nKSk7XG4gIH1cblxuICBhZGRDb250cm9sPEsgZXh0ZW5kcyBFeHRyYWN0U3RyaW5nczxUPj4obmFtZTogSywgY29udHJvbDogQWJzdHJhY3RDb250cm9sPFRbS10+KTogdm9pZCB7XG4gICAgc3VwZXIuYWRkQ29udHJvbChuYW1lLCBjb250cm9sKTtcbiAgfVxuXG4gIHJlbW92ZUNvbnRyb2wobmFtZTogRXh0cmFjdFN0cmluZ3M8VD4pOiB2b2lkIHtcbiAgICBzdXBlci5yZW1vdmVDb250cm9sKG5hbWUpO1xuICB9XG5cbiAgY29udGFpbnMoY29udHJvbE5hbWU6IEV4dHJhY3RTdHJpbmdzPFQ+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKGNvbnRyb2xOYW1lKTtcbiAgfVxuXG4gIHNldENvbnRyb2w8SyBleHRlbmRzIEV4dHJhY3RTdHJpbmdzPFQ+PihuYW1lOiBLLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VFtLXT4pOiB2b2lkIHtcbiAgICBzdXBlci5zZXRDb250cm9sKG5hbWUsIGNvbnRyb2wpO1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8VD4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogU3Vic2NyaXB0aW9uO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogVCwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiB2b2lkO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IGFueSB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsdWUgPT4gc3VwZXIuc2V0VmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIuc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGUsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IE9ic2VydmFibGU8UGFydGlhbDxUPj4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogU3Vic2NyaXB0aW9uO1xuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBQYXJ0aWFsPFQ+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQ7XG4gIHBhdGNoVmFsdWUodmFsdWVPck9ic2VydmFibGU6IChzdGF0ZTogVCkgPT4gVCwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKTogdm9pZDtcbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogYW55LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IFN1YnNjcmlwdGlvbiB8IHZvaWQge1xuICAgIGlmIChpc09ic2VydmFibGUodmFsdWVPck9ic2VydmFibGUpKSB7XG4gICAgICByZXR1cm4gdmFsdWVPck9ic2VydmFibGUuc3Vic2NyaWJlKHZhbHVlID0+IHN1cGVyLnBhdGNoVmFsdWUodmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHZhbHVlID0gdmFsdWVPck9ic2VydmFibGU7XG4gICAgICBpZiAoaXNGdW5jdGlvbih2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZU9yT2JzZXJ2YWJsZSh0aGlzLnZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHN1cGVyLnBhdGNoVmFsdWUodmFsdWUsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGRpc2FibGVkV2hpbGUob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPiwgb3B0aW9ucz86IENvbnRyb2xPcHRpb25zKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xEaXNhYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRW5hYmxlZFdoaWxlKHRoaXMsIG9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgbWVyZ2VWYWxpZGF0b3JzKHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXSkge1xuICAgIG1lcmdlQ29udHJvbFZhbGlkYXRvcnModGhpcywgdmFsaWRhdG9ycyk7XG4gIH1cblxuICBtZXJnZUFzeW5jVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgQXN5bmNWYWxpZGF0b3JGbjxhbnksIFQ+W10pIHtcbiAgICB0aGlzLnNldEFzeW5jVmFsaWRhdG9ycyhbdGhpcy5hc3luY1ZhbGlkYXRvciwgLi4uY29lcmNlQXJyYXkodmFsaWRhdG9ycyldKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIG1hcmtBc1RvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVG91Y2hlZChvcHRzKTtcbiAgICB0aGlzLnRvdWNoQ2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FzVW50b3VjaGVkKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1VudG91Y2hlZChvcHRzKTtcbiAgICB0aGlzLnRvdWNoQ2hhbmdlcy5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG1hcmtBc1ByaXN0aW5lKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1ByaXN0aW5lKG9wdHMpO1xuICAgIHRoaXMuZGlydHlDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzRGlydHkob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzRGlydHkob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG1hcmtBbGxBc0RpcnR5KCk6IHZvaWQge1xuICAgIG1hcmtBbGxEaXJ0eSh0aGlzKTtcbiAgfVxuXG4gIHJlc2V0KGZvcm1TdGF0ZT86IFBhcnRpYWw8VD4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogdm9pZCB7XG4gICAgc3VwZXIucmVzZXQoZm9ybVN0YXRlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHNldFZhbGlkYXRvcnMobmV3VmFsaWRhdG9yOiBWYWxpZGF0b3JGbjxQYXJ0aWFsPEU+LCBUPiB8IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+W10gfCBudWxsKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIHN1cGVyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHNldEFzeW5jVmFsaWRhdG9ycyhuZXdWYWxpZGF0b3I6IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD4gfCBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+W10gfCBudWxsKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgdmFsaWRhdGVPbihvYnNlcnZhYmxlVmFsaWRhdGlvbjogT2JzZXJ2YWJsZTxudWxsIHwgb2JqZWN0Pikge1xuICAgIHJldHVybiB2YWxpZGF0ZUNvbnRyb2xPbih0aGlzLCBvYnNlcnZhYmxlVmFsaWRhdGlvbik7XG4gIH1cblxuICBoYXNFcnJvcjxLMSBleHRlbmRzIGtleW9mIFQ+KGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sIHBhdGg/OiBbSzFdKTogYm9vbGVhbjtcbiAgaGFzRXJyb3I8SzEgZXh0ZW5kcyBrZXlvZiBULCBLMiBleHRlbmRzIGtleW9mIFRbSzFdPihlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LCBwYXRoPzogW0sxLCBLMl0pOiBib29sZWFuO1xuICBoYXNFcnJvcjxLMSBleHRlbmRzIGtleW9mIFQsIEsyIGV4dGVuZHMga2V5b2YgVFtLMV0sIEszIGV4dGVuZHMga2V5b2YgVFtLMV1bSzJdPihcbiAgICBlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LFxuICAgIHBhdGg/OiBbSzEsIEsyLCBLM11cbiAgKTogYm9vbGVhbjtcbiAgaGFzRXJyb3IoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IHN0cmluZyk6IGJvb2xlYW47XG4gIGhhc0Vycm9yKGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sIHBhdGg/OiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuaGFzRXJyb3IoZXJyb3JDb2RlLCBwYXRoKTtcbiAgfVxuXG4gIHNldEVycm9ycyhlcnJvcnM6IFBhcnRpYWw8RT4gfCBudWxsLCBvcHRzOiBFbWl0RXZlbnQgPSB7fSkge1xuICAgIHJldHVybiBzdXBlci5zZXRFcnJvcnMoZXJyb3JzLCBvcHRzKTtcbiAgfVxuXG4gIGdldEVycm9yPEsgZXh0ZW5kcyBrZXlvZiBFLCBLMSBleHRlbmRzIGtleW9mIFQ+KGVycm9yQ29kZTogSywgcGF0aD86IFtLMV0pOiBFW0tdIHwgbnVsbDtcbiAgZ2V0RXJyb3I8SyBleHRlbmRzIGtleW9mIEUsIEsxIGV4dGVuZHMga2V5b2YgVCwgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXT4oZXJyb3JDb2RlOiBLLCBwYXRoPzogW0sxLCBLMl0pOiBFW0tdIHwgbnVsbDtcbiAgZ2V0RXJyb3I8SyBleHRlbmRzIGtleW9mIEUsIEsxIGV4dGVuZHMga2V5b2YgVCwgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXSwgSzMgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl0+KFxuICAgIGVycm9yQ29kZTogSyxcbiAgICBwYXRoPzogW0sxLCBLMiwgSzNdXG4gICk6IEVbS10gfCBudWxsO1xuICBnZXRFcnJvcjxLIGV4dGVuZHMga2V5b2YgRT4oZXJyb3JDb2RlOiBLLCBwYXRoPzogc3RyaW5nKTogRVtLXSB8IG51bGw7XG4gIGdldEVycm9yPEsgZXh0ZW5kcyBrZXlvZiBFPihlcnJvckNvZGU6IEssIHBhdGg/OiBhbnkpOiBFW0tdIHwgbnVsbCB7XG4gICAgcmV0dXJuIHN1cGVyLmdldEVycm9yKGVycm9yQ29kZSBhcyBhbnksIHBhdGgpIGFzIEVbS10gfCBudWxsO1xuICB9XG5cbiAgaGFzRXJyb3JBbmRUb3VjaGVkPFAxIGV4dGVuZHMga2V5b2YgVD4oZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LCBwcm9wMT86IFAxKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmRUb3VjaGVkPFAxIGV4dGVuZHMga2V5b2YgVCwgUDIgZXh0ZW5kcyBrZXlvZiBUW1AxXT4oXG4gICAgZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LFxuICAgIHByb3AxPzogUDEsXG4gICAgcHJvcDI/OiBQMlxuICApOiBib29sZWFuO1xuICBoYXNFcnJvckFuZFRvdWNoZWQ8UDEgZXh0ZW5kcyBrZXlvZiBULCBQMiBleHRlbmRzIGtleW9mIFRbUDFdLCBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXT4oXG4gICAgZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LFxuICAgIHByb3AxPzogUDEsXG4gICAgcHJvcDI/OiBQMixcbiAgICBwcm9wMz86IFAzXG4gICk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kVG91Y2hlZDxcbiAgICBQMSBleHRlbmRzIGtleW9mIFQsXG4gICAgUDIgZXh0ZW5kcyBrZXlvZiBUW1AxXSxcbiAgICBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXSxcbiAgICBQNCBleHRlbmRzIGtleW9mIFRbUDFdW1AyXVtQM11cbiAgPihlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sIHByb3AxPzogUDEsIHByb3AyPzogUDIsIHByb3AzPzogUDMsIHByb3A0PzogUDQpOiBib29sZWFuO1xuICBoYXNFcnJvckFuZFRvdWNoZWQoZXJyb3I6IGFueSwgLi4ucGF0aDogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc0Vycm9yQW5kVG91Y2hlZCh0aGlzLCBlcnJvciwgLi4ucGF0aCk7XG4gIH1cblxuICBoYXNFcnJvckFuZERpcnR5PFAxIGV4dGVuZHMga2V5b2YgVD4oZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LCBwcm9wMT86IFAxKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmREaXJ0eTxQMSBleHRlbmRzIGtleW9mIFQsIFAyIGV4dGVuZHMga2V5b2YgVFtQMV0+KFxuICAgIGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPixcbiAgICBwcm9wMT86IFAxLFxuICAgIHByb3AyPzogUDJcbiAgKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmREaXJ0eTxQMSBleHRlbmRzIGtleW9mIFQsIFAyIGV4dGVuZHMga2V5b2YgVFtQMV0sIFAzIGV4dGVuZHMga2V5b2YgVFtQMV1bUDJdPihcbiAgICBlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sXG4gICAgcHJvcDE/OiBQMSxcbiAgICBwcm9wMj86IFAyLFxuICAgIHByb3AzPzogUDNcbiAgKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmREaXJ0eTxcbiAgICBQMSBleHRlbmRzIGtleW9mIFQsXG4gICAgUDIgZXh0ZW5kcyBrZXlvZiBUW1AxXSxcbiAgICBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXSxcbiAgICBQNCBleHRlbmRzIGtleW9mIFRbUDFdW1AyXVtQM11cbiAgPihlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sIHByb3AxPzogUDEsIHByb3AyPzogUDIsIHByb3AzPzogUDMsIHByb3A0PzogUDQpOiBib29sZWFuO1xuICBoYXNFcnJvckFuZERpcnR5KGVycm9yOiBhbnksIC4uLnBhdGg6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNFcnJvckFuZERpcnR5KHRoaXMsIGVycm9yLCAuLi5wYXRoKTtcbiAgfVxuXG4gIHNldEVuYWJsZShlbmFibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGVuYWJsZUNvbnRyb2wodGhpcywgZW5hYmxlLCBvcHRzKTtcbiAgfVxuXG4gIHNldERpc2FibGUoZGlzYWJsZSA9IHRydWUsIG9wdHM/OiBDb250cm9sRXZlbnRPcHRpb25zKSB7XG4gICAgZGlzYWJsZUNvbnRyb2wodGhpcywgZGlzYWJsZSwgb3B0cyk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybUdyb3VwLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9mb3JtR3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLElBQUksV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2VSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXRDO0lBQStFLDZCQUFXO0lBbUJ4RixtQkFDUyxRQUFrRCxFQUN6RCxlQUFpQyxFQUNqQyxjQUErQjtRQUhqQyxZQUtFLGtCQUFNLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLFNBQ2pEO1FBTFEsY0FBUSxHQUFSLFFBQVEsQ0FBMEM7UUFibkQsa0JBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3RDLGtCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUVyQyxZQUFNLEdBQUcsS0FBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLFlBQU0sR0FBRyxLQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFFdkUsWUFBTSxHQUFHLG9CQUFvQixDQUF1QixLQUFJLENBQUMsQ0FBQztRQUMxRCxlQUFTLEdBQUcsZ0JBQWdCLENBQUMsS0FBSSxDQUFDLENBQUM7UUFDbkMsY0FBUSxHQUFHLGVBQWUsQ0FBQyxLQUFJLENBQUMsQ0FBQztRQUNqQyxhQUFPLEdBQUcscUJBQXFCLENBQUMsS0FBSSxDQUFDLENBQUM7UUFDdEMsYUFBTyxHQUFHLG9CQUFvQixDQUFJLEtBQUksQ0FBQyxDQUFDOztJQVFqRCxDQUFDO0lBRUQsMEJBQU0sR0FBTixVQUFVLEtBQXlDO1FBQ2pELE9BQU8sbUJBQW1CLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCwrQkFBVyxHQUFYO1FBQ0UsT0FBTyxpQkFBTSxXQUFXLFdBQUUsQ0FBQztJQUM3QixDQUFDO0lBUUQsdUJBQUcsR0FBSCxVQUFJLElBQVM7UUFDWCxPQUFPLGlCQUFNLEdBQUcsWUFBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBZUQsOEJBQVUsR0FBVjtRQUFXLGVBQWE7YUFBYixVQUFhLEVBQWIscUJBQWEsRUFBYixJQUFhO1lBQWIsMEJBQWE7O1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELDhCQUFVLEdBQVYsVUFBd0MsSUFBTyxFQUFFLE9BQTBCO1FBQ3pFLGlCQUFNLFVBQVUsWUFBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGlDQUFhLEdBQWIsVUFBYyxJQUF1QjtRQUNuQyxpQkFBTSxhQUFhLFlBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELDRCQUFRLEdBQVIsVUFBUyxXQUE4QjtRQUNyQyxPQUFPLGlCQUFNLFFBQVEsWUFBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsOEJBQVUsR0FBVixVQUF3QyxJQUFPLEVBQUUsT0FBMEI7UUFDekUsaUJBQU0sVUFBVSxZQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBSUQsNEJBQVEsR0FBUixVQUFTLGlCQUFzQixFQUFFLE9BQTZCO1FBQTlELGlCQU1DO1FBTEMsSUFBSSxZQUFZLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUNuQyxPQUFPLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxVQUFBLEtBQUssSUFBSSxPQUFBLGlCQUFNLFFBQVEsYUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQTlCLENBQThCLENBQUMsQ0FBQztTQUM3RTtRQUVELGlCQUFNLFFBQVEsWUFBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBSUQsOEJBQVUsR0FBVixVQUFXLGlCQUFzQixFQUFFLE9BQTZCO1FBQWhFLGlCQU1DO1FBTEMsSUFBSSxZQUFZLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUNuQyxPQUFPLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxVQUFDLEtBQVEsSUFBSyxPQUFBLGlCQUFNLFVBQVUsYUFBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQWhDLENBQWdDLENBQUMsQ0FBQztTQUNwRjtRQUVELGlCQUFNLFVBQVUsWUFBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsaUNBQWEsR0FBYixVQUFjLFVBQStCLEVBQUUsT0FBd0I7UUFDckUsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxnQ0FBWSxHQUFaLFVBQWEsVUFBK0IsRUFBRSxPQUF3QjtRQUNwRSxPQUFPLG1CQUFtQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELG1DQUFlLEdBQWYsVUFBZ0IsVUFBcUI7UUFDbkMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCx3Q0FBb0IsR0FBcEIsVUFBcUIsVUFBMEI7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixXQUFFLElBQUksQ0FBQyxjQUFjLEdBQUssV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDM0UsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGlDQUFhLEdBQWIsVUFBYyxJQUFlO1FBQzNCLGlCQUFNLGFBQWEsWUFBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsbUNBQWUsR0FBZixVQUFnQixJQUFlO1FBQzdCLGlCQUFNLGVBQWUsWUFBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsa0NBQWMsR0FBZCxVQUFlLElBQWU7UUFDNUIsaUJBQU0sY0FBYyxZQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCwrQkFBVyxHQUFYLFVBQVksSUFBZTtRQUN6QixpQkFBTSxXQUFXLFlBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELGtDQUFjLEdBQWQ7UUFDRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELHlCQUFLLEdBQUwsVUFBTSxTQUF5QyxFQUFFLE9BQTZCO1FBQzVFLGlCQUFNLEtBQUssWUFBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGlDQUFhLEdBQWIsVUFBYyxZQUF1QjtRQUNuQyxpQkFBTSxhQUFhLFlBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEMsaUJBQU0sc0JBQXNCLFdBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsc0NBQWtCLEdBQWxCLFVBQW1CLFlBQTRCO1FBQzdDLGlCQUFNLGtCQUFrQixZQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZDLGlCQUFNLHNCQUFzQixXQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELDhCQUFVLEdBQVYsVUFBVyxvQkFBK0M7UUFDeEQsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBU0QsNEJBQVEsR0FBUixVQUFTLFNBQTRCLEVBQUUsSUFBVTtRQUMvQyxPQUFPLGlCQUFNLFFBQVEsWUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELDZCQUFTLEdBQVQsVUFBVSxNQUF5QixFQUFFLElBQW9CO1FBQXBCLHFCQUFBLEVBQUEsU0FBb0I7UUFDdkQsT0FBTyxpQkFBTSxTQUFTLFlBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFTRCw0QkFBUSxHQUFSLFVBQTRCLFNBQVksRUFBRSxJQUFVO1FBQ2xELE9BQU8saUJBQU0sUUFBUSxZQUFDLFNBQWdCLEVBQUUsSUFBSSxDQUFnQixDQUFDO0lBQy9ELENBQUM7SUFrQkQsc0NBQWtCLEdBQWxCLFVBQW1CLEtBQVU7UUFBRSxjQUFZO2FBQVosVUFBWSxFQUFaLHFCQUFZLEVBQVosSUFBWTtZQUFaLDZCQUFZOztRQUN6QyxPQUFPLGtCQUFrQix5QkFBQyxJQUFJLEVBQUUsS0FBSyxHQUFLLElBQUksR0FBRTtJQUNsRCxDQUFDO0lBa0JELG9DQUFnQixHQUFoQixVQUFpQixLQUFVO1FBQUUsY0FBWTthQUFaLFVBQVksRUFBWixxQkFBWSxFQUFaLElBQVk7WUFBWiw2QkFBWTs7UUFDdkMsT0FBTyxnQkFBZ0IseUJBQUMsSUFBSSxFQUFFLEtBQUssR0FBSyxJQUFJLEdBQUU7SUFDaEQsQ0FBQztJQUVELDZCQUFTLEdBQVQsVUFBVSxNQUFhLEVBQUUsSUFBMEI7UUFBekMsdUJBQUEsRUFBQSxhQUFhO1FBQ3JCLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCw4QkFBVSxHQUFWLFVBQVcsT0FBYyxFQUFFLElBQTBCO1FBQTFDLHdCQUFBLEVBQUEsY0FBYztRQUN2QixjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0gsZ0JBQUM7QUFBRCxDQUFDLEFBdE9ELENBQStFLFdBQVcsR0FzT3pGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUdyb3VwIGFzIE5nRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY29udHJvbERpc2FibGVkJCwgY29udHJvbERpc2FibGVkV2hpbGUsIGNvbnRyb2xFbmFibGVkJCwgY29udHJvbEVuYWJsZWRXaGlsZSwgY29udHJvbEVycm9yQ2hhbmdlcyQsIGNvbnRyb2xTdGF0dXNDaGFuZ2VzJCwgY29udHJvbFZhbHVlQ2hhbmdlcyQsIGRpc2FibGVDb250cm9sLCBlbmFibGVDb250cm9sLCBoYXNFcnJvckFuZERpcnR5LCBoYXNFcnJvckFuZFRvdWNoZWQsIG1hcmtBbGxEaXJ0eSwgbWVyZ2VDb250cm9sVmFsaWRhdG9ycywgc2VsZWN0Q29udHJvbFZhbHVlJCwgdmFsaWRhdGVDb250cm9sT24gfSBmcm9tICcuL2NvbnRyb2wtYWN0aW9ucyc7XG5pbXBvcnQgeyBBc3luY1ZhbGlkYXRvciwgQ29udHJvbEV2ZW50T3B0aW9ucywgQ29udHJvbE9wdGlvbnMsIENvbnRyb2xTdGF0ZSwgQ29udHJvbFR5cGUsIEVtaXRFdmVudCwgRXh0cmFjdEdyb3VwVmFsdWUsIEV4dHJhY3RTdHJpbmdzLCBPbmx5U2VsZiwgVmFsaWRhdG9yLCBWYWxpZGF0b3JPck9wdHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtR3JvdXA8VCBleHRlbmRzIG9iamVjdCA9IGFueSwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4gZXh0ZW5kcyBOZ0Zvcm1Hcm91cCB7XG4gIHJlYWRvbmx5IHZhbHVlOiBFeHRyYWN0R3JvdXBWYWx1ZTxUPjtcbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPEV4dHJhY3RHcm91cFZhbHVlPFQ+PjtcbiAgcmVhZG9ubHkgZXJyb3JzOiBFIHwgbnVsbDtcbiAgcmVhZG9ubHkgc3RhdHVzOiBDb250cm9sU3RhdGU7XG4gIHJlYWRvbmx5IHN0YXR1c0NoYW5nZXM6IE9ic2VydmFibGU8Q29udHJvbFN0YXRlPjtcblxuICBwcml2YXRlIHRvdWNoQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgZGlydHlDaGFuZ2VzID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICByZWFkb25seSB0b3VjaCQgPSB0aGlzLnRvdWNoQ2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICByZWFkb25seSBkaXJ0eSQgPSB0aGlzLmRpcnR5Q2hhbmdlcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIHJlYWRvbmx5IHZhbHVlJCA9IGNvbnRyb2xWYWx1ZUNoYW5nZXMkPEV4dHJhY3RHcm91cFZhbHVlPFQ+Pih0aGlzKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gY29udHJvbERpc2FibGVkJCh0aGlzKTtcbiAgcmVhZG9ubHkgZW5hYmxlZCQgPSBjb250cm9sRW5hYmxlZCQodGhpcyk7XG4gIHJlYWRvbmx5IHN0YXR1cyQgPSBjb250cm9sU3RhdHVzQ2hhbmdlcyQodGhpcyk7XG4gIHJlYWRvbmx5IGVycm9ycyQgPSBjb250cm9sRXJyb3JDaGFuZ2VzJDxFPih0aGlzKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29udHJvbHM6IHsgW1AgaW4ga2V5b2YgVF06IENvbnRyb2xUeXBlPFRbUF0sIEU+IH0sXG4gICAgdmFsaWRhdG9yT3JPcHRzPzogVmFsaWRhdG9yT3JPcHRzLFxuICAgIGFzeW5jVmFsaWRhdG9yPzogQXN5bmNWYWxpZGF0b3JcbiAgKSB7XG4gICAgc3VwZXIoY29udHJvbHMsIHZhbGlkYXRvck9yT3B0cywgYXN5bmNWYWxpZGF0b3IpO1xuICB9XG5cbiAgc2VsZWN0PFI+KG1hcEZuOiAoc3RhdGU6IEV4dHJhY3RHcm91cFZhbHVlPFQ+KSA9PiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgcmV0dXJuIHNlbGVjdENvbnRyb2xWYWx1ZSQodGhpcywgbWFwRm4pO1xuICB9XG5cbiAgZ2V0UmF3VmFsdWUoKTogRXh0cmFjdEdyb3VwVmFsdWU8VD4ge1xuICAgIHJldHVybiBzdXBlci5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0PEsxIGV4dGVuZHMga2V5b2YgVD4ocGF0aD86IFtLMV0pOiBDb250cm9sVHlwZTxUW0sxXT47XG4gIGdldDxLMSBleHRlbmRzIGtleW9mIFQsIEsyIGV4dGVuZHMga2V5b2YgVFtLMV0+KHBhdGg/OiBbSzEsIEsyXSk6IENvbnRyb2xUeXBlPFRbSzFdW0syXT47XG4gIGdldDxLMSBleHRlbmRzIGtleW9mIFQsIEsyIGV4dGVuZHMga2V5b2YgVFtLMV0sIEszIGV4dGVuZHMga2V5b2YgVFtLMV1bSzJdPihcbiAgICBwYXRoPzogW0sxLCBLMiwgSzNdXG4gICk6IENvbnRyb2xUeXBlPFRbSzFdW0syXVtLM10+O1xuICBnZXQocGF0aD86IHN0cmluZyk6IENvbnRyb2xUeXBlO1xuICBnZXQocGF0aDogYW55KSB7XG4gICAgcmV0dXJuIHN1cGVyLmdldChwYXRoKTtcbiAgfVxuXG4gIGdldENvbnRyb2w8UDEgZXh0ZW5kcyBrZXlvZiBUPihwcm9wMTogUDEpOiBDb250cm9sVHlwZTxUW1AxXT47XG4gIGdldENvbnRyb2w8UDEgZXh0ZW5kcyBrZXlvZiBULCBQMiBleHRlbmRzIGtleW9mIFRbUDFdPihwcm9wMTogUDEsIHByb3AyOiBQMik6IENvbnRyb2xUeXBlPFRbUDFdW1AyXT47XG4gIGdldENvbnRyb2w8UDEgZXh0ZW5kcyBrZXlvZiBULCBQMiBleHRlbmRzIGtleW9mIFRbUDFdLCBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXT4oXG4gICAgcHJvcDE6IFAxLFxuICAgIHByb3AyOiBQMixcbiAgICBwcm9wMzogUDNcbiAgKTogQ29udHJvbFR5cGU8VFtQMV1bUDJdW1AzXT47XG4gIGdldENvbnRyb2w8UDEgZXh0ZW5kcyBrZXlvZiBULCBQMiBleHRlbmRzIGtleW9mIFRbUDFdLCBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXSwgUDQgZXh0ZW5kcyBrZXlvZiBUW1AxXVtQMl1bUDNdPihcbiAgICBwcm9wMTogUDEsXG4gICAgcHJvcDI6IFAyLFxuICAgIHByb3AzOiBQMyxcbiAgICBwcm9wNDogUDRcbiAgKTogQ29udHJvbFR5cGU8VFtQMV1bUDJdW1AzXVtQNF0+O1xuICBnZXRDb250cm9sKC4uLm5hbWVzOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmdldChuYW1lcy5qb2luKCcuJykpO1xuICB9XG5cbiAgYWRkQ29udHJvbDxLIGV4dGVuZHMgRXh0cmFjdFN0cmluZ3M8VD4+KG5hbWU6IEssIGNvbnRyb2w6IENvbnRyb2xUeXBlPFRbS10+KTogdm9pZCB7XG4gICAgc3VwZXIuYWRkQ29udHJvbChuYW1lLCBjb250cm9sKTtcbiAgfVxuXG4gIHJlbW92ZUNvbnRyb2wobmFtZTogRXh0cmFjdFN0cmluZ3M8VD4pOiB2b2lkIHtcbiAgICBzdXBlci5yZW1vdmVDb250cm9sKG5hbWUpO1xuICB9XG5cbiAgY29udGFpbnMoY29udHJvbE5hbWU6IEV4dHJhY3RTdHJpbmdzPFQ+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLmNvbnRhaW5zKGNvbnRyb2xOYW1lKTtcbiAgfVxuXG4gIHNldENvbnRyb2w8SyBleHRlbmRzIEV4dHJhY3RTdHJpbmdzPFQ+PihuYW1lOiBLLCBjb250cm9sOiBDb250cm9sVHlwZTxUW0tdPik6IHZvaWQge1xuICAgIHN1cGVyLnNldENvbnRyb2wobmFtZSwgY29udHJvbCk7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxFeHRyYWN0R3JvdXBWYWx1ZTxUPj4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogU3Vic2NyaXB0aW9uO1xuICBzZXRWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogRXh0cmFjdEdyb3VwVmFsdWU8VD4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogdm9pZDtcbiAgc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGU6IGFueSwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiBhbnkge1xuICAgIGlmIChpc09ic2VydmFibGUodmFsdWVPck9ic2VydmFibGUpKSB7XG4gICAgICByZXR1cm4gdmFsdWVPck9ic2VydmFibGUuc3Vic2NyaWJlKHZhbHVlID0+IHN1cGVyLnNldFZhbHVlKHZhbHVlLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3VwZXIuc2V0VmFsdWUodmFsdWVPck9ic2VydmFibGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgcGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxQYXJ0aWFsPEV4dHJhY3RHcm91cFZhbHVlPFQ+Pj4sIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogU3Vic2NyaXB0aW9uO1xuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBQYXJ0aWFsPEV4dHJhY3RHcm91cFZhbHVlPFQ+Piwgb3B0aW9ucz86IENvbnRyb2xFdmVudE9wdGlvbnMpOiB2b2lkO1xuICBwYXRjaFZhbHVlKHZhbHVlT3JPYnNlcnZhYmxlOiBhbnksIG9wdGlvbnM/OiBDb250cm9sRXZlbnRPcHRpb25zKTogU3Vic2NyaXB0aW9uIHwgdm9pZCB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZSh2YWx1ZU9yT2JzZXJ2YWJsZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZU9yT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKHZhbHVlOiBUKSA9PiBzdXBlci5wYXRjaFZhbHVlKHZhbHVlLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3VwZXIucGF0Y2hWYWx1ZSh2YWx1ZU9yT2JzZXJ2YWJsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBkaXNhYmxlZFdoaWxlKG9ic2VydmFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj4sIG9wdGlvbnM/OiBDb250cm9sT3B0aW9ucykge1xuICAgIHJldHVybiBjb250cm9sRGlzYWJsZWRXaGlsZSh0aGlzLCBvYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVuYWJsZWRXaGlsZShvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBvcHRpb25zPzogQ29udHJvbE9wdGlvbnMpIHtcbiAgICByZXR1cm4gY29udHJvbEVuYWJsZWRXaGlsZSh0aGlzLCBvYnNlcnZhYmxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIG1lcmdlVmFsaWRhdG9ycyh2YWxpZGF0b3JzOiBWYWxpZGF0b3IpIHtcbiAgICBtZXJnZUNvbnRyb2xWYWxpZGF0b3JzKHRoaXMsIHZhbGlkYXRvcnMpO1xuICB9XG5cbiAgbWVyZ2VBc3luY1ZhbGlkYXRvcnModmFsaWRhdG9yczogQXN5bmNWYWxpZGF0b3IpIHtcbiAgICB0aGlzLnNldEFzeW5jVmFsaWRhdG9ycyhbdGhpcy5hc3luY1ZhbGlkYXRvciwgLi4uY29lcmNlQXJyYXkodmFsaWRhdG9ycyldKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIG1hcmtBc1RvdWNoZWQob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzVG91Y2hlZChvcHRzKTtcbiAgICB0aGlzLnRvdWNoQ2hhbmdlcy5uZXh0KHRydWUpO1xuICB9XG5cbiAgbWFya0FzVW50b3VjaGVkKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1VudG91Y2hlZChvcHRzKTtcbiAgICB0aGlzLnRvdWNoQ2hhbmdlcy5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG1hcmtBc1ByaXN0aW5lKG9wdHM/OiBPbmx5U2VsZik6IHZvaWQge1xuICAgIHN1cGVyLm1hcmtBc1ByaXN0aW5lKG9wdHMpO1xuICAgIHRoaXMuZGlydHlDaGFuZ2VzLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbWFya0FzRGlydHkob3B0cz86IE9ubHlTZWxmKTogdm9pZCB7XG4gICAgc3VwZXIubWFya0FzRGlydHkob3B0cyk7XG4gICAgdGhpcy5kaXJ0eUNoYW5nZXMubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG1hcmtBbGxBc0RpcnR5KCk6IHZvaWQge1xuICAgIG1hcmtBbGxEaXJ0eSh0aGlzKTtcbiAgfVxuXG4gIHJlc2V0KGZvcm1TdGF0ZT86IFBhcnRpYWw8RXh0cmFjdEdyb3VwVmFsdWU8VD4+LCBvcHRpb25zPzogQ29udHJvbEV2ZW50T3B0aW9ucyk6IHZvaWQge1xuICAgIHN1cGVyLnJlc2V0KGZvcm1TdGF0ZSwgb3B0aW9ucyk7XG4gIH1cblxuICBzZXRWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcjogVmFsaWRhdG9yKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0VmFsaWRhdG9ycyhuZXdWYWxpZGF0b3IpO1xuICAgIHN1cGVyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHNldEFzeW5jVmFsaWRhdG9ycyhuZXdWYWxpZGF0b3I6IEFzeW5jVmFsaWRhdG9yKTogdm9pZCB7XG4gICAgc3VwZXIuc2V0QXN5bmNWYWxpZGF0b3JzKG5ld1ZhbGlkYXRvcik7XG4gICAgc3VwZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG5cbiAgdmFsaWRhdGVPbihvYnNlcnZhYmxlVmFsaWRhdGlvbjogT2JzZXJ2YWJsZTxudWxsIHwgb2JqZWN0Pikge1xuICAgIHJldHVybiB2YWxpZGF0ZUNvbnRyb2xPbih0aGlzLCBvYnNlcnZhYmxlVmFsaWRhdGlvbik7XG4gIH1cblxuICBoYXNFcnJvcjxLMSBleHRlbmRzIGtleW9mIFQ+KGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sIHBhdGg/OiBbSzFdKTogYm9vbGVhbjtcbiAgaGFzRXJyb3I8SzEgZXh0ZW5kcyBrZXlvZiBULCBLMiBleHRlbmRzIGtleW9mIFRbSzFdPihlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LCBwYXRoPzogW0sxLCBLMl0pOiBib29sZWFuO1xuICBoYXNFcnJvcjxLMSBleHRlbmRzIGtleW9mIFQsIEsyIGV4dGVuZHMga2V5b2YgVFtLMV0sIEszIGV4dGVuZHMga2V5b2YgVFtLMV1bSzJdPihcbiAgICBlcnJvckNvZGU6IEV4dHJhY3RTdHJpbmdzPEU+LFxuICAgIHBhdGg/OiBbSzEsIEsyLCBLM11cbiAgKTogYm9vbGVhbjtcbiAgaGFzRXJyb3IoZXJyb3JDb2RlOiBFeHRyYWN0U3RyaW5nczxFPiwgcGF0aD86IHN0cmluZyk6IGJvb2xlYW47XG4gIGhhc0Vycm9yKGVycm9yQ29kZTogRXh0cmFjdFN0cmluZ3M8RT4sIHBhdGg/OiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuaGFzRXJyb3IoZXJyb3JDb2RlLCBwYXRoKTtcbiAgfVxuXG4gIHNldEVycm9ycyhlcnJvcnM6IFBhcnRpYWw8RT4gfCBudWxsLCBvcHRzOiBFbWl0RXZlbnQgPSB7fSkge1xuICAgIHJldHVybiBzdXBlci5zZXRFcnJvcnMoZXJyb3JzLCBvcHRzKTtcbiAgfVxuXG4gIGdldEVycm9yPEsgZXh0ZW5kcyBrZXlvZiBFLCBLMSBleHRlbmRzIGtleW9mIFQ+KGVycm9yQ29kZTogSywgcGF0aD86IFtLMV0pOiBFW0tdIHwgbnVsbDtcbiAgZ2V0RXJyb3I8SyBleHRlbmRzIGtleW9mIEUsIEsxIGV4dGVuZHMga2V5b2YgVCwgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXT4oZXJyb3JDb2RlOiBLLCBwYXRoPzogW0sxLCBLMl0pOiBFW0tdIHwgbnVsbDtcbiAgZ2V0RXJyb3I8SyBleHRlbmRzIGtleW9mIEUsIEsxIGV4dGVuZHMga2V5b2YgVCwgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXSwgSzMgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl0+KFxuICAgIGVycm9yQ29kZTogSyxcbiAgICBwYXRoPzogW0sxLCBLMiwgSzNdXG4gICk6IEVbS10gfCBudWxsO1xuICBnZXRFcnJvcjxLIGV4dGVuZHMga2V5b2YgRT4oZXJyb3JDb2RlOiBLLCBwYXRoPzogc3RyaW5nKTogRVtLXSB8IG51bGw7XG4gIGdldEVycm9yPEsgZXh0ZW5kcyBrZXlvZiBFPihlcnJvckNvZGU6IEssIHBhdGg/OiBhbnkpOiBFW0tdIHwgbnVsbCB7XG4gICAgcmV0dXJuIHN1cGVyLmdldEVycm9yKGVycm9yQ29kZSBhcyBhbnksIHBhdGgpIGFzIEVbS10gfCBudWxsO1xuICB9XG5cbiAgaGFzRXJyb3JBbmRUb3VjaGVkPFAxIGV4dGVuZHMga2V5b2YgVD4oZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LCBwcm9wMT86IFAxKTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmRUb3VjaGVkPFAxIGV4dGVuZHMga2V5b2YgVCwgUDIgZXh0ZW5kcyBrZXlvZiBUW1AxXT4oXG4gICAgZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LFxuICAgIHByb3AxPzogUDEsXG4gICAgcHJvcDI/OiBQMlxuICApOiBib29sZWFuO1xuICBoYXNFcnJvckFuZFRvdWNoZWQ8UDEgZXh0ZW5kcyBrZXlvZiBULCBQMiBleHRlbmRzIGtleW9mIFRbUDFdLCBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXT4oXG4gICAgZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LFxuICAgIHByb3AxPzogUDEsXG4gICAgcHJvcDI/OiBQMixcbiAgICBwcm9wMz86IFAzXG4gICk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kVG91Y2hlZDxQMSBleHRlbmRzIGtleW9mIFQsXG4gICAgUDIgZXh0ZW5kcyBrZXlvZiBUW1AxXSxcbiAgICBQMyBleHRlbmRzIGtleW9mIFRbUDFdW1AyXSxcbiAgICBQNCBleHRlbmRzIGtleW9mIFRbUDFdW1AyXVtQM10+KGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPiwgcHJvcDE/OiBQMSwgcHJvcDI/OiBQMiwgcHJvcDM/OiBQMywgcHJvcDQ/OiBQNCk6IGJvb2xlYW47XG4gIGhhc0Vycm9yQW5kVG91Y2hlZChlcnJvcjogYW55LCAuLi5wYXRoOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzRXJyb3JBbmRUb3VjaGVkKHRoaXMsIGVycm9yLCAuLi5wYXRoKTtcbiAgfVxuXG4gIGhhc0Vycm9yQW5kRGlydHk8UDEgZXh0ZW5kcyBrZXlvZiBUPihlcnJvcjogRXh0cmFjdFN0cmluZ3M8RT4sIHByb3AxPzogUDEpOiBib29sZWFuO1xuICBoYXNFcnJvckFuZERpcnR5PFAxIGV4dGVuZHMga2V5b2YgVCwgUDIgZXh0ZW5kcyBrZXlvZiBUW1AxXT4oXG4gICAgZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LFxuICAgIHByb3AxPzogUDEsXG4gICAgcHJvcDI/OiBQMlxuICApOiBib29sZWFuO1xuICBoYXNFcnJvckFuZERpcnR5PFAxIGV4dGVuZHMga2V5b2YgVCwgUDIgZXh0ZW5kcyBrZXlvZiBUW1AxXSwgUDMgZXh0ZW5kcyBrZXlvZiBUW1AxXVtQMl0+KFxuICAgIGVycm9yOiBFeHRyYWN0U3RyaW5nczxFPixcbiAgICBwcm9wMT86IFAxLFxuICAgIHByb3AyPzogUDIsXG4gICAgcHJvcDM/OiBQM1xuICApOiBib29sZWFuO1xuICBoYXNFcnJvckFuZERpcnR5PFAxIGV4dGVuZHMga2V5b2YgVCxcbiAgICBQMiBleHRlbmRzIGtleW9mIFRbUDFdLFxuICAgIFAzIGV4dGVuZHMga2V5b2YgVFtQMV1bUDJdLFxuICAgIFA0IGV4dGVuZHMga2V5b2YgVFtQMV1bUDJdW1AzXT4oZXJyb3I6IEV4dHJhY3RTdHJpbmdzPEU+LCBwcm9wMT86IFAxLCBwcm9wMj86IFAyLCBwcm9wMz86IFAzLCBwcm9wND86IFA0KTogYm9vbGVhbjtcbiAgaGFzRXJyb3JBbmREaXJ0eShlcnJvcjogYW55LCAuLi5wYXRoOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzRXJyb3JBbmREaXJ0eSh0aGlzLCBlcnJvciwgLi4ucGF0aCk7XG4gIH1cblxuICBzZXRFbmFibGUoZW5hYmxlID0gdHJ1ZSwgb3B0cz86IENvbnRyb2xFdmVudE9wdGlvbnMpIHtcbiAgICBlbmFibGVDb250cm9sKHRoaXMsIGVuYWJsZSwgb3B0cyk7XG4gIH1cblxuICBzZXREaXNhYmxlKGRpc2FibGUgPSB0cnVlLCBvcHRzPzogQ29udHJvbEV2ZW50T3B0aW9ucykge1xuICAgIGRpc2FibGVDb250cm9sKHRoaXMsIGRpc2FibGUsIG9wdHMpO1xuICB9XG59XG4iXX0=

@@ -1,1 +0,2 @@

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmduZWF0L3JlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wgYXMgTmdBYnN0cmFjdENvbnRyb2wsXG4gIEFic3RyYWN0Q29udHJvbE9wdGlvbnMgYXMgTmdBYnN0cmFjdENvbnRyb2xPcHRpb25zLFxuICBWYWxpZGF0aW9uRXJyb3JzXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vZm9ybUFycmF5JztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnLi9mb3JtQ29udHJvbCc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICcuL2Zvcm1Hcm91cCc7XG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRvckZuPEUgZXh0ZW5kcyBWYWxpZGF0aW9uRXJyb3JzID0gYW55LCBUID0gYW55PiA9IChjb250cm9sOiBhbnkpID0+IEUgfCBudWxsO1xuZXhwb3J0IHR5cGUgQXN5bmNWYWxpZGF0b3JGbjxFIGV4dGVuZHMgVmFsaWRhdGlvbkVycm9ycyA9IGFueSwgVCA9IGFueT4gPSAoXG4gIGNvbnRyb2w6IGFueVxuKSA9PiBQcm9taXNlPEUgfCBudWxsPiB8IE9ic2VydmFibGU8RSB8IG51bGw+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEFic3RyYWN0Q29udHJvbE9wdGlvbnM8VCA9IGFueSwgRSBleHRlbmRzIFZhbGlkYXRpb25FcnJvcnMgPSBhbnk+IGV4dGVuZHMgTmdBYnN0cmFjdENvbnRyb2xPcHRpb25zIHtcbiAgdmFsaWRhdG9ycz86IFZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+IHwgVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD5bXSB8IG51bGw7XG4gIGFzeW5jVmFsaWRhdG9ycz86IEFzeW5jVmFsaWRhdG9yRm48UGFydGlhbDxFPiwgVD4gfCBBc3luY1ZhbGlkYXRvckZuPFBhcnRpYWw8RT4sIFQ+W10gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyb2xPcHRpb25zIHtcbiAgb25seVNlbGY/OiBib29sZWFuO1xuICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICBlbWl0TW9kZWxUb1ZpZXdDaGFuZ2U/OiBib29sZWFuO1xuICBlbWl0Vmlld1RvTW9kZWxDaGFuZ2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBDb250cm9sRXZlbnRPcHRpb25zID0gUGljazxDb250cm9sT3B0aW9ucywgJ2VtaXRFdmVudCcgfCAnb25seVNlbGYnPjtcbmV4cG9ydCB0eXBlIE9ubHlTZWxmID0gUGljazxDb250cm9sT3B0aW9ucywgJ29ubHlTZWxmJz47XG5leHBvcnQgdHlwZSBFbWl0RXZlbnQgPSBQaWNrPENvbnRyb2xPcHRpb25zLCAnZW1pdEV2ZW50Jz47XG5leHBvcnQgdHlwZSBDb250cm9sUGF0aCA9IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmc7XG5leHBvcnQgdHlwZSBDb250cm9sU3RhdGUgPSAnVkFMSUQnIHwgJ0lOVkFMSUQnIHwgJ1BFTkRJTkcnIHwgJ0RJU0FCTEVEJztcblxuZXhwb3J0IGludGVyZmFjZSBBYnN0cmFjdENvbnRyb2w8VCA9IGFueSwgRSBleHRlbmRzIG9iamVjdCA9IGFueT4gZXh0ZW5kcyBOZ0Fic3RyYWN0Q29udHJvbCB7XG4gIHZhbHVlOiBUO1xuICBlcnJvcnM6IEUgfCBudWxsO1xufVxuXG5leHBvcnQgdHlwZSBFeHRyYWN0U3RyaW5nczxUPiA9IEV4dHJhY3Q8a2V5b2YgVCwgc3RyaW5nPjtcblxuZXhwb3J0IGludGVyZmFjZSBOZ1ZhbGlkYXRvcnNFcnJvcnMge1xuICByZXF1aXJlZDogdHJ1ZTtcbiAgZW1haWw6IHRydWU7XG4gIHBhdHRlcm46IHsgcmVxdWlyZWRQYXR0ZXJuOiBzdHJpbmc7IGFjdHVhbFZhbHVlOiBzdHJpbmcgfTtcbiAgbWlubGVuZ3RoOiB7IHJlcXVpcmVkTGVuZ3RoOiBudW1iZXI7IGFjdHVhbExlbmd0aDogbnVtYmVyIH07XG4gIG1heGxlbmd0aDogeyByZXF1aXJlZExlbmd0aDogbnVtYmVyOyBhY3R1YWxMZW5ndGg6IG51bWJlciB9O1xuICBtaW46IHsgbWluOiBudW1iZXI7IGFjdHVhbDogbnVtYmVyIH07XG4gIG1heDogeyBtYXg6IG51bWJlcjsgYWN0dWFsOiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IHR5cGUgQm94ZWRWYWx1ZTxUPiA9IHsgdmFsdWU6IFQ7IGRpc2FibGVkOiBib29sZWFuIH07XG5leHBvcnQgdHlwZSBPckJveGVkVmFsdWU8VD4gPSBUIHwgQm94ZWRWYWx1ZTxUPjtcblxuZXhwb3J0IHR5cGUgT2JqID0geyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbnR5cGUgQXJyYXlUeXBlPFQ+ID0gVCBleHRlbmRzIEFycmF5PGluZmVyIFI+ID8gUiA6IGFueTtcblxuZXhwb3J0IHR5cGUgS2V5VmFsdWVDb250cm9sczxUIGV4dGVuZHMgT2JqLCBFID0gYW55PiA9IHtcbiAgW0sgaW4ga2V5b2YgVF06IFRbS10gZXh0ZW5kcyBGb3JtQ29udHJvbDxUW0tdPlxuICAgID8gRm9ybUNvbnRyb2w8VFtLXT5cbiAgICA6IFRbS10gZXh0ZW5kcyBGb3JtR3JvdXA8VFtLXT5cbiAgICA/IEZvcm1Hcm91cDxUW0tdPlxuICAgIDogVFtLXSBleHRlbmRzIEZvcm1BcnJheTxBcnJheVR5cGU8VFtLXT4+XG4gICAgPyBGb3JtQXJyYXk8QXJyYXlUeXBlPFRbS10+PlxuICAgIDogQWJzdHJhY3RDb250cm9sPFRbS10+O1xufTtcbmV4cG9ydCB0eXBlIEV4dHJhY3RBYnN0cmFjdENvbnRyb2w8VCwgVT4gPSBUIGV4dGVuZHMgS2V5VmFsdWVDb250cm9sczxhbnk+XG4gID8geyBbSyBpbiBrZXlvZiBVXTogQWJzdHJhY3RDb250cm9sPFVbS10+IH1cbiAgOiBUO1xuIl19
var sym = Symbol();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmduZWF0L3JlYWN0aXZlLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdDQSxJQUFNLEdBQUcsR0FBRyxNQUFNLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQWJzdHJhY3RDb250cm9sT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJy4vZm9ybUdyb3VwJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnLi9mb3JtQ29udHJvbCc7XG5pbXBvcnQgeyBGb3JtQXJyYXkgfSBmcm9tICcuL2Zvcm1BcnJheSc7XG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25FcnJvcnM8VCBleHRlbmRzIG9iamVjdCA9IGFueT4gPSBUO1xuZXhwb3J0IHR5cGUgVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbDtcbmV4cG9ydCB0eXBlIEFzeW5jVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB8IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyb2xPcHRpb25zIHtcbiAgb25seVNlbGY/OiBib29sZWFuO1xuICBlbWl0RXZlbnQ/OiBib29sZWFuO1xuICBlbWl0TW9kZWxUb1ZpZXdDaGFuZ2U/OiBib29sZWFuO1xuICBlbWl0Vmlld1RvTW9kZWxDaGFuZ2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBDb250cm9sRXZlbnRPcHRpb25zID0gUGljazxDb250cm9sT3B0aW9ucywgJ2VtaXRFdmVudCcgfCAnb25seVNlbGYnPjtcbmV4cG9ydCB0eXBlIE9ubHlTZWxmID0gUGljazxDb250cm9sT3B0aW9ucywgJ29ubHlTZWxmJz47XG5leHBvcnQgdHlwZSBFbWl0RXZlbnQgPSBQaWNrPENvbnRyb2xPcHRpb25zLCAnZW1pdEV2ZW50Jz47XG5leHBvcnQgdHlwZSBDb250cm9sUGF0aCA9IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmc7XG5leHBvcnQgdHlwZSBDb250cm9sU3RhdGUgPSAnVkFMSUQnIHwgJ0lOVkFMSUQnIHwgJ1BFTkRJTkcnIHwgJ0RJU0FCTEVEJztcbmV4cG9ydCB0eXBlIFZhbGlkYXRvck9yT3B0cyA9IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IEFic3RyYWN0Q29udHJvbE9wdGlvbnMgfCBudWxsO1xuZXhwb3J0IHR5cGUgQXN5bmNWYWxpZGF0b3IgPSBBc3luY1ZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbltdIHwgbnVsbDtcbmV4cG9ydCB0eXBlIFZhbGlkYXRvciA9IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IG51bGw7XG5cbmV4cG9ydCB0eXBlIEV4dHJhY3RTdHJpbmdzPFQ+ID0gRXh0cmFjdDxrZXlvZiBULCBzdHJpbmc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE5nVmFsaWRhdG9yc0Vycm9ycyB7XG4gIHJlcXVpcmVkOiB0cnVlO1xuICBlbWFpbDogdHJ1ZTtcbiAgcGF0dGVybjogeyByZXF1aXJlZFBhdHRlcm46IHN0cmluZzsgYWN0dWFsVmFsdWU6IHN0cmluZyB9O1xuICBtaW5sZW5ndGg6IHsgcmVxdWlyZWRMZW5ndGg6IG51bWJlcjsgYWN0dWFsTGVuZ3RoOiBudW1iZXIgfTtcbiAgbWF4bGVuZ3RoOiB7IHJlcXVpcmVkTGVuZ3RoOiBudW1iZXI7IGFjdHVhbExlbmd0aDogbnVtYmVyIH07XG4gIG1pbjogeyBtaW46IG51bWJlcjsgYWN0dWFsOiBudW1iZXIgfTtcbiAgbWF4OiB7IG1heDogbnVtYmVyOyBhY3R1YWw6IG51bWJlciB9O1xufVxuXG5leHBvcnQgdHlwZSBDb250cm9sPFQgZXh0ZW5kcyBvYmplY3Q+ID0gVCAmIFVuaXFUb2tlbjtcblxuY29uc3Qgc3ltID0gU3ltYm9sKCk7XG5cbmludGVyZmFjZSBVbmlxVG9rZW4ge1xuICBbc3ltXTogbmV2ZXI7XG59XG5cbnR5cGUgRXh0cmFjdEFueTxUPiA9IFQgZXh0ZW5kcyBFeHRyYWN0PFQsIHN0cmluZyAmIG51bWJlciAmIGJvb2xlYW4gJiBvYmplY3QgJiBudWxsICYgdW5kZWZpbmVkPiA/IGFueSA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBDb250cm9sVHlwZTxUID0gYW55LCBWIGV4dGVuZHMgb2JqZWN0ID0gYW55PiA9IFtUXSBleHRlbmRzIEV4dHJhY3RBbnk8VD5cbiAgPyBBYnN0cmFjdENvbnRyb2xcbiAgOiBUIGV4dGVuZHMgQ29udHJvbDxpbmZlciBDb250cm9sTW9kZWw+XG4gICAgPyBGb3JtQ29udHJvbDxDb250cm9sTW9kZWwsIFY+XG4gICAgOiBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgSXRlbT5cbiAgICAgID8gRm9ybUFycmF5PEl0ZW0sIFY+XG4gICAgICA6IFQgZXh0ZW5kcyBvYmplY3RcbiAgICAgICAgPyBGb3JtR3JvdXA8VCwgVj5cbiAgICAgICAgOiBGb3JtQ29udHJvbDxULCBWPjtcblxuZXhwb3J0IHR5cGUgRm9ybUNvbnRyb2xTdGF0ZTxUPiA9IG51bGwgfCBFeHRyYWN0TW9kZWxWYWx1ZTxUPiB8IHtcbiAgdmFsdWU6IG51bGwgfCBFeHRyYWN0TW9kZWxWYWx1ZTxUPjtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBFeHRyYWN0TW9kZWxWYWx1ZTxUPiA9IFtUXSBleHRlbmRzIFtFeHRyYWN0QW55PFQ+XVxuICA/IGFueVxuICA6IFtUXSBleHRlbmRzIFtBcnJheTxpbmZlciBJdGVtPl1cbiAgICA/IEFycmF5PEV4dHJhY3RNb2RlbFZhbHVlPEl0ZW0+PlxuICAgIDogW1RdIGV4dGVuZHMgW0NvbnRyb2w8aW5mZXIgQ29udHJvbE1vZGVsPl1cbiAgICAgID8gQ29udHJvbE1vZGVsXG4gICAgICA6IFtUXSBleHRlbmRzIFtvYmplY3RdXG4gICAgICAgID8gRXh0cmFjdEdyb3VwVmFsdWU8VD5cbiAgICAgICAgOiBUO1xuXG5leHBvcnQgdHlwZSBFeHRyYWN0Q29udHJvbFZhbHVlPFQ+ID0gVCBleHRlbmRzIENvbnRyb2w8aW5mZXIgQ29udHJvbE1vZGVsPiA/IENvbnRyb2xNb2RlbCA6IFQ7XG5cbmV4cG9ydCB0eXBlIEV4dHJhY3RHcm91cFZhbHVlPFQgZXh0ZW5kcyBvYmplY3Q+ID0ge1xuICBbUCBpbiBrZXlvZiBUXTogRXh0cmFjdE1vZGVsVmFsdWU8VFtQXT47XG59O1xuXG5leHBvcnQgdHlwZSBFeHRyYWN0R3JvdXBTdGF0ZVZhbHVlPFQgZXh0ZW5kcyBvYmplY3Q+ID0ge1xuICBbUCBpbiBrZXlvZiBUXTogRm9ybUNvbnRyb2xTdGF0ZTxUW1BdPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZiQ29udHJvbENvbmZpZzxULCBWIGV4dGVuZHMgb2JqZWN0ID0gYW55PiA9IFtUXSBleHRlbmRzIFtFeHRyYWN0QW55PFQ+XVxuICA/IEFic3RyYWN0Q29udHJvbFxuICA6IFtUXSBleHRlbmRzIFtDb250cm9sPGluZmVyIENvbnRyb2xNb2RlbD5dXG4gICAgPyBGYkNvbnRyb2w8Q29udHJvbE1vZGVsLCBWPlxuICAgIDogW1RdIGV4dGVuZHMgW0FycmF5PGluZmVyIEl0ZW0+XVxuICAgICAgPyBGb3JtQXJyYXk8SXRlbSwgVj5cbiAgICAgIDogW1RdIGV4dGVuZHMgW29iamVjdF1cbiAgICAgICAgPyBGb3JtR3JvdXA8VCwgVj5cbiAgICAgICAgOiBGYkNvbnRyb2w8VCwgVj47XG5cbmV4cG9ydCB0eXBlIEZiQ29udHJvbDxULCBWIGV4dGVuZHMgb2JqZWN0ID0gYW55PiA9XG4gIHwgRXh0cmFjdE1vZGVsVmFsdWU8VD5cbiAgfCBGb3JtQ29udHJvbFN0YXRlPFQ+XG4gIHwgW1xuICBGb3JtQ29udHJvbFN0YXRlPFQ+LFxuICAoVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgQWJzdHJhY3RDb250cm9sT3B0aW9ucyk/LFxuICAoQXN5bmNWYWxpZGF0b3JGbiB8IEFzeW5jVmFsaWRhdG9yRm5bXSk/XG5dXG4gIHwgRm9ybUNvbnRyb2w8VCwgVj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVnYWN5Q29udHJvbE9wdGlvbnMge1xuICB2YWxpZGF0b3I/OiBWYWxpZGF0b3JGbiB8IFZhbGlkYXRvckZuW10gfCBudWxsO1xuICBhc3luY1ZhbGlkYXRvcj86IEFzeW5jVmFsaWRhdG9yRm4gfCBBc3luY1ZhbGlkYXRvckZuW10gfCBudWxsO1xufVxuIl19

@@ -5,2 +5,2 @@ /**

export * from './public-api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmduZWF0LXJlYWN0aXZlLWZvcm1zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbIm5nbmVhdC1yZWFjdGl2ZS1mb3Jtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0V4dHJhY3RBYnN0cmFjdENvbnRyb2wgYXMgybViLE9yQm94ZWRWYWx1ZSBhcyDJtWF9IGZyb20gJy4vbGliL3R5cGVzJzsiXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmduZWF0LXJlYWN0aXZlLWZvcm1zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5nbmVhdC9yZWFjdGl2ZS1mb3Jtcy8iLCJzb3VyY2VzIjpbIm5nbmVhdC1yZWFjdGl2ZS1mb3Jtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0FzeW5jVmFsaWRhdG9yIGFzIMm1YixDb250cm9sVHlwZSBhcyDJtWMsRm9ybUNvbnRyb2xTdGF0ZSBhcyDJtWQsVmFsaWRhdG9yT3JPcHRzIGFzIMm1YX0gZnJvbSAnLi9saWIvdHlwZXMnOyJdfQ==

@@ -6,2 +6,2 @@ export { FormArray } from './lib/formArray';

export { ControlValueAccessor } from './lib/controlValueAccessor';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ25lYXQvcmVhY3RpdmUtZm9ybXMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vbGliL2Zvcm1BcnJheSc7XG5leHBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJy4vbGliL2Zvcm1Db250cm9sJztcbmV4cG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJy4vbGliL2Zvcm1Hcm91cCc7XG5leHBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJy4vbGliL2Zvcm1CdWlsZGVyJztcbmV4cG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4sIEFzeW5jVmFsaWRhdG9yRm4sIE5nVmFsaWRhdG9yc0Vycm9ycyB9IGZyb20gJy4vbGliL3R5cGVzJztcbmV4cG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9saWIvY29udHJvbFZhbHVlQWNjZXNzb3InO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ25lYXQvcmVhY3RpdmUtZm9ybXMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEZvcm1BcnJheSB9IGZyb20gJy4vbGliL2Zvcm1BcnJheSc7XG5leHBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJy4vbGliL2Zvcm1Db250cm9sJztcbmV4cG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJy4vbGliL2Zvcm1Hcm91cCc7XG5leHBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJy4vbGliL2Zvcm1CdWlsZGVyJztcbmV4cG9ydCB7IFZhbGlkYXRvckZuLCBBc3luY1ZhbGlkYXRvckZuLCBOZ1ZhbGlkYXRvcnNFcnJvcnMgfSBmcm9tICcuL2xpYi90eXBlcyc7XG5leHBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vbGliL2NvbnRyb2xWYWx1ZUFjY2Vzc29yJztcbiJdfQ==

@@ -95,6 +95,6 @@ import { FormArray as FormArray$1, FormControl as FormControl$1, FormGroup as FormGroup$1, FormBuilder as FormBuilder$1 } from '@angular/forms';

this.value$ = controlValueChanges$(this);
this.disabledChanges$ = controlDisabled$(this);
this.enabledChanges$ = controlEnabled$(this);
this.statusChanges$ = controlStatusChanges$(this);
this.errorChanges$ = controlErrorChanges$(this);
this.disabled$ = controlDisabled$(this);
this.enabled$ = controlEnabled$(this);
this.status$ = controlStatusChanges$(this);
this.errors$ = controlErrorChanges$(this);
}

@@ -112,19 +112,11 @@ select(mapFn) {

if (isObservable(valueOrObservable)) {
return valueOrObservable.subscribe(value => super.setValue(value, options));
return valueOrObservable.subscribe((value) => super.setValue(value, options));
}
else {
super.setValue(valueOrObservable, options);
}
super.setValue(valueOrObservable, options);
}
patchValue(valueOrObservable, options) {
if (isObservable(valueOrObservable)) {
return valueOrObservable.subscribe(value => super.patchValue(value, options));
return valueOrObservable.subscribe((value) => super.patchValue(value, options));
}
else {
let value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
super.patchValue(value, options);
}
super.patchValue(valueOrObservable, options);
}

@@ -212,3 +204,3 @@ push(control) {

class FormControl extends FormControl$1 {
constructor(formState, validatorOrOpts, asyncValidator) {
constructor(formState = null, validatorOrOpts, asyncValidator) {
super(formState, validatorOrOpts, asyncValidator);

@@ -225,5 +217,2 @@ this.touchChanges = new Subject();

}
select(mapFn) {
return selectControlValue$(this, mapFn);
}
setValue(valueOrObservable, options) {

@@ -233,5 +222,3 @@ if (isObservable(valueOrObservable)) {

}
else {
super.setValue(valueOrObservable, options);
}
super.setValue(valueOrObservable, options);
}

@@ -242,9 +229,3 @@ patchValue(valueOrObservable, options) {

}
else {
let value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
super.patchValue(value, options);
}
super.patchValue(valueOrObservable, options);
}

@@ -283,3 +264,3 @@ disabledWhile(observable, options) {

}
reset(formState, options) {
reset(formState = null, options) {
super.reset(formState, options);

@@ -363,17 +344,9 @@ }

}
else {
super.setValue(valueOrObservable, options);
}
super.setValue(valueOrObservable, options);
}
patchValue(valueOrObservable, options) {
if (isObservable(valueOrObservable)) {
return valueOrObservable.subscribe(value => super.patchValue(value, options));
return valueOrObservable.subscribe((value) => super.patchValue(value, options));
}
else {
let value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
super.patchValue(value, options);
}
super.patchValue(valueOrObservable, options);
}

@@ -455,3 +428,3 @@ disabledWhile(observable, options) {

let FormBuilder = class FormBuilder extends FormBuilder$1 {
group(controlsConfig, options) {
group(controlsConfig, options = null) {
const controls = this._reduceControls(controlsConfig);

@@ -476,3 +449,3 @@ let validators = null;

}
control(formState, validatorOrOpts, asyncValidator) {
control(formState = null, validatorOrOpts, asyncValidator) {
return new FormControl(formState, validatorOrOpts, asyncValidator);

@@ -479,0 +452,0 @@ }

@@ -96,6 +96,6 @@ import { __spread, __extends, __decorate } from 'tslib';

_this.value$ = controlValueChanges$(_this);
_this.disabledChanges$ = controlDisabled$(_this);
_this.enabledChanges$ = controlEnabled$(_this);
_this.statusChanges$ = controlStatusChanges$(_this);
_this.errorChanges$ = controlErrorChanges$(_this);
_this.disabled$ = controlDisabled$(_this);
_this.enabled$ = controlEnabled$(_this);
_this.status$ = controlStatusChanges$(_this);
_this.errors$ = controlErrorChanges$(_this);
return _this;

@@ -117,5 +117,3 @@ }

}
else {
_super.prototype.setValue.call(this, valueOrObservable, options);
}
_super.prototype.setValue.call(this, valueOrObservable, options);
};

@@ -127,9 +125,3 @@ FormArray.prototype.patchValue = function (valueOrObservable, options) {

}
else {
var value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
_super.prototype.patchValue.call(this, value, options);
}
_super.prototype.patchValue.call(this, valueOrObservable, options);
};

@@ -224,2 +216,3 @@ FormArray.prototype.push = function (control) {

function FormControl(formState, validatorOrOpts, asyncValidator) {
if (formState === void 0) { formState = null; }
var _this = _super.call(this, formState, validatorOrOpts, asyncValidator) || this;

@@ -237,5 +230,2 @@ _this.touchChanges = new Subject();

}
FormControl.prototype.select = function (mapFn) {
return selectControlValue$(this, mapFn);
};
FormControl.prototype.setValue = function (valueOrObservable, options) {

@@ -246,5 +236,3 @@ var _this = this;

}
else {
_super.prototype.setValue.call(this, valueOrObservable, options);
}
_super.prototype.setValue.call(this, valueOrObservable, options);
};

@@ -256,9 +244,3 @@ FormControl.prototype.patchValue = function (valueOrObservable, options) {

}
else {
var value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
_super.prototype.patchValue.call(this, value, options);
}
_super.prototype.patchValue.call(this, valueOrObservable, options);
};

@@ -298,2 +280,3 @@ FormControl.prototype.disabledWhile = function (observable, options) {

FormControl.prototype.reset = function (formState, options) {
if (formState === void 0) { formState = null; }
_super.prototype.reset.call(this, formState, options);

@@ -388,5 +371,3 @@ };

}
else {
_super.prototype.setValue.call(this, valueOrObservable, options);
}
_super.prototype.setValue.call(this, valueOrObservable, options);
};

@@ -398,9 +379,3 @@ FormGroup.prototype.patchValue = function (valueOrObservable, options) {

}
else {
var value = valueOrObservable;
if (isFunction(valueOrObservable)) {
value = valueOrObservable(this.value);
}
_super.prototype.patchValue.call(this, value, options);
}
_super.prototype.patchValue.call(this, valueOrObservable, options);
};

@@ -499,2 +474,3 @@ FormGroup.prototype.disabledWhile = function (observable, options) {

FormBuilder.prototype.group = function (controlsConfig, options) {
if (options === void 0) { options = null; }
var controls = this._reduceControls(controlsConfig);

@@ -520,2 +496,3 @@ var validators = null;

FormBuilder.prototype.control = function (formState, validatorOrOpts, asyncValidator) {
if (formState === void 0) { formState = null; }
return new FormControl(formState, validatorOrOpts, asyncValidator);

@@ -522,0 +499,0 @@ };

@@ -0,1 +1,2 @@

import { AbstractControl } from '@angular/forms';
import { Observable, Subscription } from 'rxjs';

@@ -5,17 +6,17 @@ import { FormArray } from './formArray';

import { FormGroup } from './formGroup';
import { AbstractControl, ControlOptions, ControlState, ValidatorFn, ControlPath } from './types';
export declare function controlValueChanges$<T>(control: AbstractControl<T>): Observable<T>;
export declare function controlDisabled$<T>(control: AbstractControl<T>): Observable<boolean>;
export declare function controlEnabled$<T>(control: AbstractControl<T>): Observable<boolean>;
export declare function controlStatusChanges$<T>(control: AbstractControl<T>): Observable<ControlState>;
import { ControlOptions, ControlPath, ControlState, ValidatorFn } from './types';
export declare function controlValueChanges$<T>(control: AbstractControl): Observable<T>;
export declare function controlDisabled$<T>(control: AbstractControl): Observable<boolean>;
export declare function controlEnabled$<T>(control: AbstractControl): Observable<boolean>;
export declare function controlStatusChanges$<T>(control: AbstractControl): Observable<ControlState>;
export declare function controlErrorChanges$<E>(control: AbstractControl): Observable<E | null>;
export declare function enableControl<T>(control: AbstractControl<T>, enabled: boolean, opts?: ControlOptions): void;
export declare function disableControl<T>(control: AbstractControl<T>, disabled: boolean, opts?: ControlOptions): void;
export declare function controlDisabledWhile<T>(control: AbstractControl<T>, observable: Observable<boolean>, opts?: ControlOptions): Subscription;
export declare function controlEnabledWhile<T>(control: AbstractControl<T>, observable: Observable<boolean>, opts?: ControlOptions): Subscription;
export declare function mergeControlValidators<T, E, Control extends AbstractControl<T>>(control: Control, validators: ValidatorFn<Partial<E>, T> | ValidatorFn<Partial<E>, T>[]): void;
export declare function validateControlOn<T>(control: AbstractControl<T>, validation: Observable<null | object>): Subscription;
export declare function hasErrorAndTouched<T>(control: AbstractControl<T>, error: string, path?: ControlPath): boolean;
export declare function hasErrorAndDirty<T>(control: AbstractControl<T>, error: string, path?: ControlPath): boolean;
export declare function markAllDirty<T>(control: FormArray<T> | FormGroup<T>): void;
export declare function selectControlValue$<T, R>(control: FormGroup<T> | FormArray<T> | FormControl<T>, mapFn: (state: T | T[]) => R): Observable<R>;
export declare function enableControl<T>(control: AbstractControl, enabled: boolean, opts?: ControlOptions): void;
export declare function disableControl<T>(control: AbstractControl, disabled: boolean, opts?: ControlOptions): void;
export declare function controlDisabledWhile<T>(control: AbstractControl, observable: Observable<boolean>, opts?: ControlOptions): Subscription;
export declare function controlEnabledWhile<T>(control: AbstractControl, observable: Observable<boolean>, opts?: ControlOptions): Subscription;
export declare function mergeControlValidators<T, Control extends AbstractControl>(control: Control, validators: ValidatorFn | ValidatorFn[]): void;
export declare function validateControlOn<T>(control: AbstractControl, validation: Observable<null | object>): Subscription;
export declare function hasErrorAndTouched<T>(control: AbstractControl, error: string, path?: ControlPath): boolean;
export declare function hasErrorAndDirty(control: AbstractControl, error: string, path?: ControlPath): boolean;
export declare function markAllDirty<T>(control: FormArray<T> | FormGroup): void;
export declare function selectControlValue$<T, R>(control: FormGroup | FormArray | FormControl, mapFn: (state: T | T[]) => R): Observable<R>;
import { FormArray as NgFormArray } from '@angular/forms';
import { Observable, Subscription } from 'rxjs';
import { AbstractControl, AbstractControlOptions, AsyncValidatorFn, ControlEventOptions, ControlOptions, ControlPath, ControlState, EmitEvent, ExtractStrings, OnlySelf, ValidatorFn } from './types';
import { AsyncValidator, AsyncValidatorFn, ControlEventOptions, ControlOptions, ControlPath, ControlState, ControlType, EmitEvent, ExtractModelValue, ExtractStrings, OnlySelf, Validator, ValidatorOrOpts } from './types';
export declare class FormArray<T = any, E extends object = any> extends NgFormArray {
controls: Array<AbstractControl<T>>;
value: T[];
valueChanges: Observable<T[]>;
status: ControlState;
statusChanges: Observable<ControlState>;
errors: E | null;
controls: ControlType<T, E>[];
readonly value: ExtractModelValue<T>[];
readonly valueChanges: Observable<ExtractModelValue<T>[]>;
readonly status: ControlState;
readonly statusChanges: Observable<ControlState>;
readonly errors: E | null;
private touchChanges;
private dirtyChanges;
touch$: Observable<boolean>;
dirty$: Observable<boolean>;
value$: Observable<T[]>;
disabledChanges$: Observable<boolean>;
enabledChanges$: Observable<boolean>;
statusChanges$: Observable<ControlState>;
errorChanges$: Observable<E>;
constructor(controls: Array<AbstractControl<T>>, validatorOrOpts?: ValidatorFn<Partial<E>, T[]> | ValidatorFn<Partial<E>, T[]>[] | AbstractControlOptions<T[], E> | null, asyncValidator?: AsyncValidatorFn<Partial<E>, T[]> | AsyncValidatorFn<Partial<E>, T[]>[] | null);
select<R>(mapFn: (state: T[]) => R): Observable<R>;
getRawValue(): T[];
at(index: number): AbstractControl<T>;
setValue(valueOrObservable: Observable<T[]>, options?: ControlEventOptions): Subscription;
setValue(valueOrObservable: T[], options?: ControlEventOptions): void;
patchValue(valueOrObservable: Observable<T[]>, options?: ControlEventOptions): Subscription;
patchValue(valueOrObservable: T[], options?: ControlEventOptions): void;
patchValue(valueOrObservable: (state: T[]) => T[], options?: ControlOptions): void;
push(control: AbstractControl<T>): void;
insert(index: number, control: AbstractControl<T>): void;
setControl(index: number, control: AbstractControl<T>): void;
readonly touch$: Observable<boolean>;
readonly dirty$: Observable<boolean>;
readonly value$: Observable<ExtractModelValue<T>[]>;
readonly disabled$: Observable<boolean>;
readonly enabled$: Observable<boolean>;
readonly status$: Observable<ControlState>;
readonly errors$: Observable<E>;
constructor(controls: ControlType<T, E>[], validatorOrOpts?: ValidatorOrOpts, asyncValidator?: AsyncValidatorFn);
select<R>(mapFn: (state: ExtractModelValue<T>[]) => R): Observable<R>;
getRawValue(): ExtractModelValue<T>[];
at(index: number): ControlType<T, E>;
setValue(valueOrObservable: Observable<ExtractModelValue<T>[]>, options?: ControlEventOptions): Subscription;
setValue(valueOrObservable: ExtractModelValue<T>[], options?: ControlEventOptions): void;
patchValue(valueOrObservable: Observable<ExtractModelValue<T>[]>, options?: ControlEventOptions): Subscription;
patchValue(valueOrObservable: ExtractModelValue<T>[], options?: ControlEventOptions): void;
push(control: ControlType<T, E>): void;
insert(index: number, control: ControlType<T, E>): void;
setControl(index: number, control: ControlType<T, E>): void;
disabledWhile(observable: Observable<boolean>, options?: ControlOptions): Subscription;
enabledWhile(observable: Observable<boolean>, options?: ControlOptions): Subscription;
mergeValidators(validators: ValidatorFn<Partial<E>, T[]> | ValidatorFn<Partial<E>, T[]>[]): void;
mergeAsyncValidators(validators: AsyncValidatorFn<Partial<E>, T[]> | AsyncValidatorFn<any, T[]>[]): void;
mergeValidators(validators: Validator): void;
mergeAsyncValidators(validators: AsyncValidator): void;
markAsTouched(opts?: OnlySelf): void;

@@ -41,5 +40,5 @@ markAsUntouched(opts?: OnlySelf): void;

markAllAsDirty(): void;
reset(value?: T[], options?: ControlEventOptions): void;
setValidators(newValidator: ValidatorFn<Partial<E>, T[]> | ValidatorFn<Partial<E>, T[]>[] | null): void;
setAsyncValidators(newValidator: AsyncValidatorFn<Partial<E>, T[]> | AsyncValidatorFn<Partial<E>, T[]>[] | null): void;
reset(value?: ExtractModelValue<T>[], options?: ControlEventOptions): void;
setValidators(newValidator: Validator): void;
setAsyncValidators(newValidator: AsyncValidator): void;
validateOn(observableValidation: Observable<null | object>): Subscription;

@@ -46,0 +45,0 @@ hasError(errorCode: ExtractStrings<E>, path?: ControlPath): boolean;

@@ -1,16 +0,12 @@

import { FormBuilder as NgFormBuilder } from '@angular/forms';
import { AbstractControlOptions, FormBuilder as NgFormBuilder } from '@angular/forms';
import { FormArray } from './formArray';
import { FormControl } from './formControl';
import { FormGroup } from './formGroup';
import { AbstractControlOptions, AsyncValidatorFn, AbstractControl, OrBoxedValue, ValidatorFn } from './types';
export declare type FbControlConfig<T = any, E extends object = any> = AbstractControl<T> | [OrBoxedValue<T>, ValidatorFn<Partial<E>, T> | ValidatorFn<Partial<E>, T>[] | null, AsyncValidatorFn<T> | AsyncValidatorFn<T>[] | null] | [OrBoxedValue<T>, ValidatorFn<Partial<E>, T> | ValidatorFn<Partial<E>, T>[] | AbstractControlOptions<T> | null] | [T | OrBoxedValue<T>] | OrBoxedValue<T> | T;
import { AsyncValidator, FbControlConfig, FormControlState, LegacyControlOptions, ValidatorOrOpts } from './types';
export declare class FormBuilder extends NgFormBuilder {
group<T extends object, E extends object = any>(controlsConfig: {
[K in keyof T]: FbControlConfig<T[K]>;
}, options?: AbstractControlOptions<T> | {
validator?: ValidatorFn<Partial<E>, T> | ValidatorFn<Partial<E>, T>[];
asyncValidator?: AsyncValidatorFn<Partial<E>, T> | AsyncValidatorFn<Partial<E>, T>[];
} | null): FormGroup<T, E>;
control<T, E extends object = any>(formState: OrBoxedValue<T>, validatorOrOpts?: ValidatorFn<Partial<E>, T> | ValidatorFn<Partial<E>, T>[] | AbstractControlOptions<T> | null, asyncValidator?: AsyncValidatorFn<Partial<E>, T> | AsyncValidatorFn<Partial<E>, T>[] | null): FormControl<T, E>;
array<T, E extends object = any>(controlsConfig: FbControlConfig<T>[], validatorOrOpts?: ValidatorFn<Partial<E>, T[]> | ValidatorFn<Partial<E>, T[]>[] | AbstractControlOptions<T[]> | null, asyncValidator?: AsyncValidatorFn<Partial<E>, T[]> | AsyncValidatorFn<Partial<E>, T[]>[] | null): FormArray<T, E>;
group<T extends object = any, E extends object = any>(controlsConfig: {
[P in keyof T]: FbControlConfig<T[P], E>;
}, options?: AbstractControlOptions | LegacyControlOptions | null): FormGroup<T, E>;
control<T = any, E extends object = any>(formState?: FormControlState<T>, validatorOrOpts?: ValidatorOrOpts, asyncValidator?: AsyncValidator): FormControl<T, E>;
array<T = any, E extends object = any>(controlsConfig: FbControlConfig<T, E>[], validatorOrOpts?: ValidatorOrOpts, asyncValidator?: AsyncValidator): FormArray<T, E>;
}
import { FormControl as NgFormControl } from '@angular/forms';
import { Observable, Subscription } from 'rxjs';
import { AbstractControlOptions, AsyncValidatorFn, ControlEventOptions, ControlOptions, ControlState, EmitEvent, ExtractStrings, OnlySelf, OrBoxedValue, ValidatorFn } from './types';
import { AsyncValidator, ControlEventOptions, ControlOptions, ControlState, EmitEvent, ExtractControlValue, ExtractStrings, FormControlState, OnlySelf, Validator, ValidatorOrOpts } from './types';
export declare class FormControl<T = any, E extends object = any> extends NgFormControl {
value: T;
errors: E | null;
asyncValidator: AsyncValidatorFn<Partial<E>, T>;
valueChanges: Observable<T>;
status: ControlState;
statusChanges: Observable<ControlState>;
readonly value: ExtractControlValue<T>;
readonly valueChanges: Observable<ExtractControlValue<T>>;
readonly errors: E | null;
readonly status: ControlState;
readonly statusChanges: Observable<ControlState>;
private touchChanges;
private dirtyChanges;
touch$: Observable<boolean>;
dirty$: Observable<boolean>;
value$: Observable<T>;
disabled$: Observable<boolean>;
enabled$: Observable<boolean>;
status$: Observable<ControlState>;
errors$: Observable<E>;
constructor(formState?: OrBoxedValue<T>, validatorOrOpts?: ValidatorFn<Partial<E>, T> | ValidatorFn<any, T>[] | AbstractControlOptions<T, E> | null, asyncValidator?: AsyncValidatorFn<Partial<E>, T> | AsyncValidatorFn<any, T>[] | null);
select<R>(mapFn: (state: T) => R): Observable<R>;
readonly touch$: Observable<boolean>;
readonly dirty$: Observable<boolean>;
readonly value$: Observable<ExtractControlValue<T>>;
readonly disabled$: Observable<boolean>;
readonly enabled$: Observable<boolean>;
readonly status$: Observable<ControlState>;
readonly errors$: Observable<E>;
constructor(formState?: FormControlState<T>, validatorOrOpts?: ValidatorOrOpts, asyncValidator?: AsyncValidator);
setValue(valueOrObservable: Observable<T>, options?: ControlOptions): Subscription;
setValue(valueOrObservable: T, options?: ControlOptions): void;
patchValue(valueOrObservable: Observable<T>, options?: ControlOptions): Subscription;
patchValue(valueOrObservable: (state: T) => T, options?: ControlOptions): void;
patchValue(valueOrObservable: T, options?: ControlOptions): void;
patchValue(valueOrObservable: Observable<Partial<T>>, options?: ControlOptions): Subscription;
patchValue(valueOrObservable: Partial<T>, options?: ControlOptions): void;
disabledWhile(observable: Observable<boolean>, options?: ControlOptions): Subscription;
enabledWhile(observable: Observable<boolean>, options?: ControlOptions): Subscription;
mergeValidators(validators: ValidatorFn<Partial<E>, T> | ValidatorFn<Partial<E>, T>[]): void;
mergeAsyncValidators(validators: AsyncValidatorFn<Partial<E>, T> | AsyncValidatorFn<any, T>[]): void;
mergeValidators(validators: Validator): void;
mergeAsyncValidators(validators: AsyncValidator): void;
markAsTouched(opts?: OnlySelf): void;

@@ -36,5 +33,5 @@ markAsUntouched(opts?: OnlySelf): void;

markAllAsDirty(): void;
reset(formState?: OrBoxedValue<T>, options?: ControlEventOptions): void;
setValidators(newValidator: ValidatorFn<Partial<E>, T> | ValidatorFn<Partial<E>, T>[] | null): void;
setAsyncValidators(newValidator: AsyncValidatorFn<Partial<E>, T> | AsyncValidatorFn<any, T>[] | null): void;
reset(formState?: FormControlState<T>, options?: ControlEventOptions): void;
setValidators(newValidator: Validator): void;
setAsyncValidators(newValidator: AsyncValidator): void;
validateOn(observableValidation: Observable<null | object>): Subscription;

@@ -41,0 +38,0 @@ getError<K extends ExtractStrings<E>>(errorCode: K): E[K] | null;

import { FormGroup as NgFormGroup } from '@angular/forms';
import { Observable, Subscription } from 'rxjs';
import { AbstractControl, AbstractControlOptions, AsyncValidatorFn, ControlEventOptions, ControlOptions, ControlState, EmitEvent, ExtractStrings, OnlySelf, ValidatorFn, KeyValueControls, Obj, ExtractAbstractControl } from './types';
export declare class FormGroup<T extends Obj = any, E extends object = any> extends NgFormGroup {
controls: ExtractAbstractControl<KeyValueControls<T, E>, T>;
value: T;
errors: E | null;
valueChanges: Observable<T>;
status: ControlState;
statusChanges: Observable<ControlState>;
import { AsyncValidator, ControlEventOptions, ControlOptions, ControlState, ControlType, EmitEvent, ExtractGroupValue, ExtractStrings, OnlySelf, Validator, ValidatorOrOpts } from './types';
export declare class FormGroup<T extends object = any, E extends object = any> extends NgFormGroup {
controls: {
[P in keyof T]: ControlType<T[P], E>;
};
readonly value: ExtractGroupValue<T>;
readonly valueChanges: Observable<ExtractGroupValue<T>>;
readonly errors: E | null;
readonly status: ControlState;
readonly statusChanges: Observable<ControlState>;
private touchChanges;
private dirtyChanges;
touch$: Observable<boolean>;
dirty$: Observable<boolean>;
value$: Observable<T>;
disabled$: Observable<boolean>;
enabled$: Observable<boolean>;
status$: Observable<ControlState>;
errors$: Observable<E>;
constructor(controls: ExtractAbstractControl<KeyValueControls<T, E>, T>, validatorOrOpts?: ValidatorFn<Partial<E>, T> | ValidatorFn<any, T>[] | AbstractControlOptions<T, E> | null, asyncValidator?: AsyncValidatorFn<Partial<E>, T> | AsyncValidatorFn<Partial<E>, T>[] | null);
select<R>(mapFn: (state: T) => R): Observable<R>;
getRawValue(): T;
get<K1 extends keyof T>(path?: [K1]): AbstractControl<T[K1]>;
get<K1 extends keyof T, K2 extends keyof T[K1]>(path?: [K1, K2]): AbstractControl<T[K1][K2]>;
get<K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(path?: [K1, K2, K3]): AbstractControl<T[K1][K2][K3]>;
get(path?: string): AbstractControl;
getControl<P1 extends keyof T>(prop1: P1): AbstractControl<T[P1]>;
getControl<P1 extends keyof T, P2 extends keyof T[P1]>(prop1: P1, prop2: P2): AbstractControl<T[P1][P2]>;
getControl<P1 extends keyof T, P2 extends keyof T[P1], P3 extends keyof T[P1][P2]>(prop1: P1, prop2: P2, prop3: P3): AbstractControl<T[P1][P2][P3]>;
getControl<P1 extends keyof T, P2 extends keyof T[P1], P3 extends keyof T[P1][P2], P4 extends keyof T[P1][P2][P3]>(prop1: P1, prop2: P2, prop3: P3, prop4: P4): AbstractControl<T[P1][P2][P3][P4]>;
addControl<K extends ExtractStrings<T>>(name: K, control: AbstractControl<T[K]>): void;
readonly touch$: Observable<boolean>;
readonly dirty$: Observable<boolean>;
readonly value$: Observable<ExtractGroupValue<T>>;
readonly disabled$: Observable<boolean>;
readonly enabled$: Observable<boolean>;
readonly status$: Observable<ControlState>;
readonly errors$: Observable<E>;
constructor(controls: {
[P in keyof T]: ControlType<T[P], E>;
}, validatorOrOpts?: ValidatorOrOpts, asyncValidator?: AsyncValidator);
select<R>(mapFn: (state: ExtractGroupValue<T>) => R): Observable<R>;
getRawValue(): ExtractGroupValue<T>;
get<K1 extends keyof T>(path?: [K1]): ControlType<T[K1]>;
get<K1 extends keyof T, K2 extends keyof T[K1]>(path?: [K1, K2]): ControlType<T[K1][K2]>;
get<K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(path?: [K1, K2, K3]): ControlType<T[K1][K2][K3]>;
get(path?: string): ControlType;
getControl<P1 extends keyof T>(prop1: P1): ControlType<T[P1]>;
getControl<P1 extends keyof T, P2 extends keyof T[P1]>(prop1: P1, prop2: P2): ControlType<T[P1][P2]>;
getControl<P1 extends keyof T, P2 extends keyof T[P1], P3 extends keyof T[P1][P2]>(prop1: P1, prop2: P2, prop3: P3): ControlType<T[P1][P2][P3]>;
getControl<P1 extends keyof T, P2 extends keyof T[P1], P3 extends keyof T[P1][P2], P4 extends keyof T[P1][P2][P3]>(prop1: P1, prop2: P2, prop3: P3, prop4: P4): ControlType<T[P1][P2][P3][P4]>;
addControl<K extends ExtractStrings<T>>(name: K, control: ControlType<T[K]>): void;
removeControl(name: ExtractStrings<T>): void;
contains(controlName: ExtractStrings<T>): boolean;
setControl<K extends ExtractStrings<T>>(name: K, control: AbstractControl<T[K]>): void;
setValue(valueOrObservable: Observable<T>, options?: ControlEventOptions): Subscription;
setValue(valueOrObservable: T, options?: ControlEventOptions): void;
patchValue(valueOrObservable: Observable<Partial<T>>, options?: ControlEventOptions): Subscription;
patchValue(valueOrObservable: Partial<T>, options?: ControlEventOptions): void;
patchValue(valueOrObservable: (state: T) => T, options?: ControlOptions): void;
setControl<K extends ExtractStrings<T>>(name: K, control: ControlType<T[K]>): void;
setValue(valueOrObservable: Observable<ExtractGroupValue<T>>, options?: ControlEventOptions): Subscription;
setValue(valueOrObservable: ExtractGroupValue<T>, options?: ControlEventOptions): void;
patchValue(valueOrObservable: Observable<Partial<ExtractGroupValue<T>>>, options?: ControlEventOptions): Subscription;
patchValue(valueOrObservable: Partial<ExtractGroupValue<T>>, options?: ControlEventOptions): void;
disabledWhile(observable: Observable<boolean>, options?: ControlOptions): Subscription;
enabledWhile(observable: Observable<boolean>, options?: ControlOptions): Subscription;
mergeValidators(validators: ValidatorFn<Partial<E>, T> | ValidatorFn<Partial<E>, T>[]): void;
mergeAsyncValidators(validators: AsyncValidatorFn<Partial<E>, T> | AsyncValidatorFn<any, T>[]): void;
mergeValidators(validators: Validator): void;
mergeAsyncValidators(validators: AsyncValidator): void;
markAsTouched(opts?: OnlySelf): void;

@@ -49,5 +52,5 @@ markAsUntouched(opts?: OnlySelf): void;

markAllAsDirty(): void;
reset(formState?: Partial<T>, options?: ControlEventOptions): void;
setValidators(newValidator: ValidatorFn<Partial<E>, T> | ValidatorFn<Partial<E>, T>[] | null): void;
setAsyncValidators(newValidator: AsyncValidatorFn<Partial<E>, T> | AsyncValidatorFn<Partial<E>, T>[] | null): void;
reset(formState?: Partial<ExtractGroupValue<T>>, options?: ControlEventOptions): void;
setValidators(newValidator: Validator): void;
setAsyncValidators(newValidator: AsyncValidator): void;
validateOn(observableValidation: Observable<null | object>): Subscription;

@@ -54,0 +57,0 @@ hasError<K1 extends keyof T>(errorCode: ExtractStrings<E>, path?: [K1]): boolean;

@@ -1,12 +0,9 @@

import { AbstractControl as NgAbstractControl, AbstractControlOptions as NgAbstractControlOptions, ValidationErrors } from '@angular/forms';
import { AbstractControl, AbstractControlOptions } from '@angular/forms';
import { Observable } from 'rxjs';
import { FormGroup } from './formGroup';
import { FormControl } from './formControl';
import { FormArray } from './formArray';
import { FormControl } from './formControl';
import { FormGroup } from './formGroup';
export declare type ValidatorFn<E extends ValidationErrors = any, T = any> = (control: any) => E | null;
export declare type AsyncValidatorFn<E extends ValidationErrors = any, T = any> = (control: any) => Promise<E | null> | Observable<E | null>;
export interface AbstractControlOptions<T = any, E extends ValidationErrors = any> extends NgAbstractControlOptions {
validators?: ValidatorFn<Partial<E>, T> | ValidatorFn<Partial<E>, T>[] | null;
asyncValidators?: AsyncValidatorFn<Partial<E>, T> | AsyncValidatorFn<Partial<E>, T>[] | null;
}
export declare type ValidationErrors<T extends object = any> = T;
export declare type ValidatorFn = (control: AbstractControl) => ValidationErrors | null;
export declare type AsyncValidatorFn = (control: AbstractControl) => Promise<ValidationErrors | null> | Observable<ValidationErrors | null>;
export interface ControlOptions {

@@ -23,6 +20,5 @@ onlySelf?: boolean;

export declare type ControlState = 'VALID' | 'INVALID' | 'PENDING' | 'DISABLED';
export interface AbstractControl<T = any, E extends object = any> extends NgAbstractControl {
value: T;
errors: E | null;
}
export declare type ValidatorOrOpts = ValidatorFn | ValidatorFn[] | AbstractControlOptions | null;
export declare type AsyncValidator = AsyncValidatorFn | AsyncValidatorFn[] | null;
export declare type Validator = ValidatorFn | ValidatorFn[] | null;
export declare type ExtractStrings<T> = Extract<keyof T, string>;

@@ -53,17 +49,27 @@ export interface NgValidatorsErrors {

}
export declare type BoxedValue<T> = {
value: T;
export declare type Control<T extends object> = T & UniqToken;
declare const sym: unique symbol;
interface UniqToken {
[sym]: never;
}
declare type ExtractAny<T> = T extends Extract<T, string & number & boolean & object & null & undefined> ? any : never;
export declare type ControlType<T = any, V extends object = any> = [T] extends ExtractAny<T> ? AbstractControl : T extends Control<infer ControlModel> ? FormControl<ControlModel, V> : T extends Array<infer Item> ? FormArray<Item, V> : T extends object ? FormGroup<T, V> : FormControl<T, V>;
export declare type FormControlState<T> = null | ExtractModelValue<T> | {
value: null | ExtractModelValue<T>;
disabled: boolean;
};
export declare type OrBoxedValue<T> = T | BoxedValue<T>;
export declare type Obj = {
[key: string]: any;
export declare type ExtractModelValue<T> = [T] extends [ExtractAny<T>] ? any : [T] extends [Array<infer Item>] ? Array<ExtractModelValue<Item>> : [T] extends [Control<infer ControlModel>] ? ControlModel : [T] extends [object] ? ExtractGroupValue<T> : T;
export declare type ExtractControlValue<T> = T extends Control<infer ControlModel> ? ControlModel : T;
export declare type ExtractGroupValue<T extends object> = {
[P in keyof T]: ExtractModelValue<T[P]>;
};
declare type ArrayType<T> = T extends Array<infer R> ? R : any;
export declare type KeyValueControls<T extends Obj, E = any> = {
[K in keyof T]: T[K] extends FormControl<T[K]> ? FormControl<T[K]> : T[K] extends FormGroup<T[K]> ? FormGroup<T[K]> : T[K] extends FormArray<ArrayType<T[K]>> ? FormArray<ArrayType<T[K]>> : AbstractControl<T[K]>;
export declare type ExtractGroupStateValue<T extends object> = {
[P in keyof T]: FormControlState<T[P]>;
};
export declare type ExtractAbstractControl<T, U> = T extends KeyValueControls<any> ? {
[K in keyof U]: AbstractControl<U[K]>;
} : T;
export declare type FbControlConfig<T, V extends object = any> = [T] extends [ExtractAny<T>] ? AbstractControl : [T] extends [Control<infer ControlModel>] ? FbControl<ControlModel, V> : [T] extends [Array<infer Item>] ? FormArray<Item, V> : [T] extends [object] ? FormGroup<T, V> : FbControl<T, V>;
export declare type FbControl<T, V extends object = any> = ExtractModelValue<T> | FormControlState<T> | [FormControlState<T>, (ValidatorFn | ValidatorFn[] | AbstractControlOptions)?, (AsyncValidatorFn | AsyncValidatorFn[])?] | FormControl<T, V>;
export interface LegacyControlOptions {
validator?: ValidatorFn | ValidatorFn[] | null;
asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null;
}
export {};

@@ -5,2 +5,2 @@ /**

export * from './public-api';
export { ExtractAbstractControl as ɵb, OrBoxedValue as ɵa } from './lib/types';
export { AsyncValidator as ɵb, ControlType as ɵc, FormControlState as ɵd, ValidatorOrOpts as ɵa } from './lib/types';

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"FormArray":{"__symbolic":"class","arity":2,"extends":{"__symbolic":"reference","module":"@angular/forms","name":"FormArray","line":33,"character":64},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"AbstractControl"}]},{"__symbolic":"reference","name":"ValidatorFn"},{"__symbolic":"reference","name":"AsyncValidatorFn"}]}],"select":[{"__symbolic":"method"}],"getRawValue":[{"__symbolic":"method"}],"at":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"patchValue":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"push":[{"__symbolic":"method"}],"insert":[{"__symbolic":"method"}],"setControl":[{"__symbolic":"method"}],"disabledWhile":[{"__symbolic":"method"}],"enabledWhile":[{"__symbolic":"method"}],"mergeValidators":[{"__symbolic":"method"}],"mergeAsyncValidators":[{"__symbolic":"method"}],"markAsTouched":[{"__symbolic":"method"}],"markAsUntouched":[{"__symbolic":"method"}],"markAsPristine":[{"__symbolic":"method"}],"markAsDirty":[{"__symbolic":"method"}],"markAllAsDirty":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setValidators":[{"__symbolic":"method"}],"setAsyncValidators":[{"__symbolic":"method"}],"validateOn":[{"__symbolic":"method"}],"hasError":[{"__symbolic":"method"}],"setErrors":[{"__symbolic":"method"}],"getError":[{"__symbolic":"method"}],"hasErrorAndTouched":[{"__symbolic":"method"}],"hasErrorAndDirty":[{"__symbolic":"method"}],"setEnable":[{"__symbolic":"method"}],"setDisable":[{"__symbolic":"method"}]}},"FormControl":{"__symbolic":"class","arity":2,"extends":{"__symbolic":"reference","module":"@angular/forms","name":"FormControl","line":33,"character":66},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ValidatorFn"},{"__symbolic":"reference","name":"AsyncValidatorFn"}]}],"select":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"patchValue":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"disabledWhile":[{"__symbolic":"method"}],"enabledWhile":[{"__symbolic":"method"}],"mergeValidators":[{"__symbolic":"method"}],"mergeAsyncValidators":[{"__symbolic":"method"}],"markAsTouched":[{"__symbolic":"method"}],"markAsUntouched":[{"__symbolic":"method"}],"markAsPristine":[{"__symbolic":"method"}],"markAsDirty":[{"__symbolic":"method"}],"markAllAsDirty":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setValidators":[{"__symbolic":"method"}],"setAsyncValidators":[{"__symbolic":"method"}],"validateOn":[{"__symbolic":"method"}],"getError":[{"__symbolic":"method"}],"hasError":[{"__symbolic":"method"}],"setErrors":[{"__symbolic":"method"}],"hasErrorAndTouched":[{"__symbolic":"method"}],"hasErrorAndDirty":[{"__symbolic":"method"}],"setEnable":[{"__symbolic":"method"}],"setDisable":[{"__symbolic":"method"}]}},"FormGroup":{"__symbolic":"class","arity":2,"extends":{"__symbolic":"reference","module":"@angular/forms","name":"FormGroup","line":37,"character":76},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ValidatorFn"},{"__symbolic":"reference","name":"AsyncValidatorFn"}]}],"select":[{"__symbolic":"method"}],"getRawValue":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"getControl":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"addControl":[{"__symbolic":"method"}],"removeControl":[{"__symbolic":"method"}],"contains":[{"__symbolic":"method"}],"setControl":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"patchValue":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"disabledWhile":[{"__symbolic":"method"}],"enabledWhile":[{"__symbolic":"method"}],"mergeValidators":[{"__symbolic":"method"}],"mergeAsyncValidators":[{"__symbolic":"method"}],"markAsTouched":[{"__symbolic":"method"}],"markAsUntouched":[{"__symbolic":"method"}],"markAsPristine":[{"__symbolic":"method"}],"markAsDirty":[{"__symbolic":"method"}],"markAllAsDirty":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setValidators":[{"__symbolic":"method"}],"setAsyncValidators":[{"__symbolic":"method"}],"validateOn":[{"__symbolic":"method"}],"hasError":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"setErrors":[{"__symbolic":"method"}],"getError":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"hasErrorAndTouched":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"hasErrorAndDirty":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"setEnable":[{"__symbolic":"method"}],"setDisable":[{"__symbolic":"method"}]}},"FormBuilder":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":30,"character":33},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":29,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"group":[{"__symbolic":"method"}],"control":[{"__symbolic":"method"}],"array":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵa":{"__symbolic":"interface"},"ɵb":{"__symbolic":"interface"},"AbstractControl":{"__symbolic":"interface"},"ValidatorFn":{"__symbolic":"interface"},"AsyncValidatorFn":{"__symbolic":"interface"},"NgValidatorsErrors":{"__symbolic":"interface"},"ControlValueAccessor":{"__symbolic":"class","arity":1,"members":{"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}]}}},"origins":{"FormArray":"./lib/formArray","FormControl":"./lib/formControl","FormGroup":"./lib/formGroup","FormBuilder":"./lib/formBuilder","ɵa":"./lib/types","ɵb":"./lib/types","AbstractControl":"./lib/types","ValidatorFn":"./lib/types","AsyncValidatorFn":"./lib/types","NgValidatorsErrors":"./lib/types","ControlValueAccessor":"./lib/controlValueAccessor"},"importAs":"@ngneat/reactive-forms"}
{"__symbolic":"module","version":4,"metadata":{"FormArray":{"__symbolic":"class","arity":2,"extends":{"__symbolic":"reference","module":"@angular/forms","name":"FormArray","line":7,"character":64},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ɵc"}]},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"AsyncValidatorFn"}]}],"select":[{"__symbolic":"method"}],"getRawValue":[{"__symbolic":"method"}],"at":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"patchValue":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"push":[{"__symbolic":"method"}],"insert":[{"__symbolic":"method"}],"setControl":[{"__symbolic":"method"}],"disabledWhile":[{"__symbolic":"method"}],"enabledWhile":[{"__symbolic":"method"}],"mergeValidators":[{"__symbolic":"method"}],"mergeAsyncValidators":[{"__symbolic":"method"}],"markAsTouched":[{"__symbolic":"method"}],"markAsUntouched":[{"__symbolic":"method"}],"markAsPristine":[{"__symbolic":"method"}],"markAsDirty":[{"__symbolic":"method"}],"markAllAsDirty":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setValidators":[{"__symbolic":"method"}],"setAsyncValidators":[{"__symbolic":"method"}],"validateOn":[{"__symbolic":"method"}],"hasError":[{"__symbolic":"method"}],"setErrors":[{"__symbolic":"method"}],"getError":[{"__symbolic":"method"}],"hasErrorAndTouched":[{"__symbolic":"method"}],"hasErrorAndDirty":[{"__symbolic":"method"}],"setEnable":[{"__symbolic":"method"}],"setDisable":[{"__symbolic":"method"}]}},"FormControl":{"__symbolic":"class","arity":2,"extends":{"__symbolic":"reference","module":"@angular/forms","name":"FormControl","line":7,"character":66},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}]}],"setValue":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"patchValue":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"disabledWhile":[{"__symbolic":"method"}],"enabledWhile":[{"__symbolic":"method"}],"mergeValidators":[{"__symbolic":"method"}],"mergeAsyncValidators":[{"__symbolic":"method"}],"markAsTouched":[{"__symbolic":"method"}],"markAsUntouched":[{"__symbolic":"method"}],"markAsPristine":[{"__symbolic":"method"}],"markAsDirty":[{"__symbolic":"method"}],"markAllAsDirty":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setValidators":[{"__symbolic":"method"}],"setAsyncValidators":[{"__symbolic":"method"}],"validateOn":[{"__symbolic":"method"}],"getError":[{"__symbolic":"method"}],"hasError":[{"__symbolic":"method"}],"setErrors":[{"__symbolic":"method"}],"hasErrorAndTouched":[{"__symbolic":"method"}],"hasErrorAndDirty":[{"__symbolic":"method"}],"setEnable":[{"__symbolic":"method"}],"setDisable":[{"__symbolic":"method"}]}},"FormGroup":{"__symbolic":"class","arity":2,"extends":{"__symbolic":"reference","module":"@angular/forms","name":"FormGroup","line":7,"character":79},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":27,"character":21,"module":"./lib/formGroup"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"}]}],"select":[{"__symbolic":"method"}],"getRawValue":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"getControl":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"addControl":[{"__symbolic":"method"}],"removeControl":[{"__symbolic":"method"}],"contains":[{"__symbolic":"method"}],"setControl":[{"__symbolic":"method"}],"setValue":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"patchValue":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"disabledWhile":[{"__symbolic":"method"}],"enabledWhile":[{"__symbolic":"method"}],"mergeValidators":[{"__symbolic":"method"}],"mergeAsyncValidators":[{"__symbolic":"method"}],"markAsTouched":[{"__symbolic":"method"}],"markAsUntouched":[{"__symbolic":"method"}],"markAsPristine":[{"__symbolic":"method"}],"markAsDirty":[{"__symbolic":"method"}],"markAllAsDirty":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setValidators":[{"__symbolic":"method"}],"setAsyncValidators":[{"__symbolic":"method"}],"validateOn":[{"__symbolic":"method"}],"hasError":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"setErrors":[{"__symbolic":"method"}],"getError":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"hasErrorAndTouched":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"hasErrorAndDirty":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"setEnable":[{"__symbolic":"method"}],"setDisable":[{"__symbolic":"method"}]}},"FormBuilder":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":18,"character":33},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":17,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"group":[{"__symbolic":"method"}],"control":[{"__symbolic":"method"}],"array":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵa":{"__symbolic":"interface"},"ɵb":{"__symbolic":"interface"},"ɵc":{"__symbolic":"interface"},"ɵd":{"__symbolic":"interface"},"ValidatorFn":{"__symbolic":"interface"},"AsyncValidatorFn":{"__symbolic":"interface"},"NgValidatorsErrors":{"__symbolic":"interface"},"ControlValueAccessor":{"__symbolic":"class","arity":1,"members":{"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}]}}},"origins":{"FormArray":"./lib/formArray","FormControl":"./lib/formControl","FormGroup":"./lib/formGroup","FormBuilder":"./lib/formBuilder","ɵa":"./lib/types","ɵb":"./lib/types","ɵc":"./lib/types","ɵd":"./lib/types","ValidatorFn":"./lib/types","AsyncValidatorFn":"./lib/types","NgValidatorsErrors":"./lib/types","ControlValueAccessor":"./lib/controlValueAccessor"},"importAs":"@ngneat/reactive-forms"}
{
"name": "@ngneat/reactive-forms",
"description": "(Angular Reactive) Forms with Benefits",
"version": "1.0.0-beta.35",
"version": "1.0.0-beta.40",
"schematics": "./schematics/collection.json",

@@ -6,0 +6,0 @@ "keywords": [

@@ -5,3 +5,3 @@ export { FormArray } from './lib/formArray';

export { FormBuilder } from './lib/formBuilder';
export { AbstractControl, ValidatorFn, AsyncValidatorFn, NgValidatorsErrors } from './lib/types';
export { ValidatorFn, AsyncValidatorFn, NgValidatorsErrors } from './lib/types';
export { ControlValueAccessor } from './lib/controlValueAccessor';

@@ -23,4 +23,5 @@ "use strict";

importClause.getChildren().forEach((c) => {
if (!c.elements)
if (!c.elements) {
return;
}
let counter = 0;

@@ -94,6 +95,2 @@ const changes = [];

...controlClasses,
'AbstractControl',
'ValidatorFn',
'AsyncValidatorFn',
'Validators',
'ControlValueAccessor',

@@ -103,3 +100,3 @@ 'FormBuilder'

glob(`${options.path}/**/*.ts`, {}, (er, files) => {
// insertAnyGeneric(files, controlClasses);
insertAnyGeneric(files, controlClasses);
replaceImports(files, importSigns, '@ngneat/reactive-forms', tree);

@@ -106,0 +103,0 @@ Object.entries(addChanges).forEach(([filePath, changes]) => (tree = change_1.applyChanges(tree, filePath, changes)));

@@ -27,3 +27,5 @@ import { Rule, SchematicContext, Tree, SchematicsException } from '@angular-devkit/schematics';

importClause.getChildren().forEach((c: any) => {
if (!c.elements) return;
if (!c.elements) {
return;
}
let counter = 0;

@@ -102,6 +104,2 @@ const changes = [];

...controlClasses,
'AbstractControl',
'ValidatorFn',
'AsyncValidatorFn',
'Validators',
'ControlValueAccessor',

@@ -112,3 +110,3 @@ 'FormBuilder'

glob(`${options.path}/**/*.ts`, {}, (er, files) => {
// insertAnyGeneric(files, controlClasses);
insertAnyGeneric(files, controlClasses);
replaceImports(files, importSigns, '@ngneat/reactive-forms', tree);

@@ -115,0 +113,0 @@ Object.entries(addChanges).forEach(([filePath, changes]) => (tree = applyChanges(tree, filePath, changes)));

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc