{"errors":[],"warnings":["angular2TextMask.js from UglifyJs\nCondition left of && always false [./~/@angular/common/src/facade/lang.js:9,17]\nCondition left of || always false [./~/@angular/common/src/facade/lang.js:9,17]\nCondition left of && always false [./~/@angular/common/src/pipes/invalid_pipe_argument_exception.js:9,17]\nCondition left of || always false [./~/@angular/common/src/pipes/invalid_pipe_argument_exception.js:9,17]\nCondition left of && always false [./~/@angular/common/src/facade/exceptions.js:9,17]\nCondition left of || always false [./~/@angular/common/src/facade/exceptions.js:9,17]\nCondition left of && always false [./~/@angular/common/src/forms-deprecated/directives/ng_control.js:9,17]\nCondition left of || always false [./~/@angular/common/src/forms-deprecated/directives/ng_control.js:9,17]\nCondition left of && always false [./~/@angular/common/src/facade/async.js:9,17]\nCondition left of || always false [./~/@angular/common/src/facade/async.js:9,17]\nCondition left of && always false [./~/@angular/common/src/forms-deprecated/directives/control_container.js:9,17]\nCondition left of || always false [./~/@angular/common/src/forms-deprecated/directives/control_container.js:9,17]\nCondition left of && always false [./~/@angular/common/src/forms-deprecated/model.js:9,17]\nCondition left of || always false [./~/@angular/common/src/forms-deprecated/model.js:9,17]\nSide effects in initialization of unused variable placeholderChar [./core/src/constants.js:1,13]\nCondition left of && always false [./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js:9,17]\nCondition left of || always false [./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js:9,17]\nCondition left of && always false [./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js:9,17]\nCondition left of || always false [./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js:9,17]\nCondition left of && always false [./~/@angular/common/src/forms-deprecated/directives/ng_form.js:9,17]\nCondition left of || always false [./~/@angular/common/src/forms-deprecated/directives/ng_form.js:9,17]\nCondition left of && always false [./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js:9,17]\nCondition left of || always false [./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js:9,17]\nCondition left of && always false [./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js:9,17]\nCondition left of || always false [./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js:9,17]\nCondition left of && always false [./~/@angular/common/src/forms-deprecated/directives/ng_model.js:9,17]\nCondition left of || always false [./~/@angular/common/src/forms-deprecated/directives/ng_model.js:9,17]\nSide effects in initialization of unused variable HTMLCollection [./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js:31,4]\nCondition left of && always false [./~/@angular/common/src/facade/base_wrapped_exception.js:9,17]\nCondition left of || always false [./~/@angular/common/src/facade/base_wrapped_exception.js:9,17]\nSide effects in initialization of unused variable matches [./~/@angular/common/src/facade/intl.js:164,12]\nDropping unused variable __unused [./~/@angular/common/src/pipes/async_pipe.js:34,4]\nCondition left of && always false [./~/rxjs/Subject.js:2,17]\nCondition left of || always false [./~/rxjs/Subject.js:2,17]\nCondition left of && always false [./~/rxjs/Subscriber.js:2,17]\nCondition left of || always false [./~/rxjs/Subscriber.js:2,17]\nCondition left of && always false [./~/@angular/common/src/location/hash_location_strategy.js:9,17]\nCondition left of || always false [./~/@angular/common/src/location/hash_location_strategy.js:9,17]\nCondition left of && always false [./~/@angular/common/src/location/path_location_strategy.js:9,17]\nCondition left of || always false [./~/@angular/common/src/location/path_location_strategy.js:9,17]\nCondition left of && always false [./~/rxjs/SubjectSubscription.js:2,17]\nCondition left of || always false [./~/rxjs/SubjectSubscription.js:2,17]\nCondition left of && always false [./~/rxjs/observable/PromiseObservable.js:2,17]\nCondition left of || always false [./~/rxjs/observable/PromiseObservable.js:2,17]\nCondition left of && always false [./~/rxjs/util/ObjectUnsubscribedError.js:2,17]\nCondition left of || always false [./~/rxjs/util/ObjectUnsubscribedError.js:2,17]\nCondition left of && always false [./~/rxjs/util/UnsubscriptionError.js:2,17]\nCondition left of || always false [./~/rxjs/util/UnsubscriptionError.js:2,17]"],"version":"1.13.2","hash":"8a94e9f679f446d16613","publicPath":"","assetsByChunkName":{"main":"angular2TextMask.js"},"assets":[{"name":"angular2/src/angular2TextMask.d.ts","size":922,"chunks":[],"chunkNames":[]},{"name":"angular2TextMask.js","size":118124,"chunks":[0],"chunkNames":["main"],"emitted":true},{"name":"stats.json","size":0,"chunks":[],"chunkNames":[]}],"chunks":[{"id":0,"rendered":true,"initial":true,"entry":true,"extraAsync":false,"size":316525,"names":["main"],"files":["angular2TextMask.js"],"hash":"8f388adab53eb76a6f3c","parents":[],"modules":[{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","name":"./angular2/src/angular2TextMask.ts","index":0,"index2":89,"size":4218,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":["angular2/src/angular2TextMask.d.ts"],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar core_1 = require('@angular/core');\r\nvar common_1 = require('@angular/common');\r\nvar forms_1 = require('@angular/forms');\r\nvar createTextMaskInputElement_1 = require('../../core/src/createTextMaskInputElement');\r\nvar MaskedInputDirective = (function () {\r\n    function MaskedInputDirective(renderer, element) {\r\n        this.renderer = renderer;\r\n        this.element = element;\r\n        this.textMaskConfig = {\r\n            mask: '',\r\n            guide: true,\r\n            placeholderChar: '_',\r\n            pipe: undefined,\r\n            keepCharPositions: false,\r\n            onReject: undefined,\r\n            onAccept: undefined\r\n        };\r\n        this._onTouched = function () { };\r\n        this._onChange = function (_) { };\r\n    }\r\n    MaskedInputDirective.prototype.ngOnInit = function () {\r\n        if (this.element.nativeElement.tagName === 'INPUT') {\r\n            // `textMask` directive is used directly on an input element\r\n            this.inputElement = this.element.nativeElement;\r\n        }\r\n        else {\r\n            // `textMask` directive is used on an abstracted input element, `ion-input`, `md-input`, etc\r\n            this.inputElement = this.element.nativeElement.getElementsByTagName('INPUT')[0];\r\n        }\r\n        this.textMaskInputElement = createTextMaskInputElement_1.default(Object.assign({ inputElement: this.inputElement }, this.textMaskConfig));\r\n    };\r\n    MaskedInputDirective.prototype.writeValue = function (value) {\r\n        if (this.textMaskInputElement !== undefined) {\r\n            this.textMaskInputElement.update(value);\r\n        }\r\n    };\r\n    MaskedInputDirective.prototype.registerOnChange = function (fn) { this._onChange = fn; };\r\n    MaskedInputDirective.prototype.registerOnTouched = function (fn) { this._onTouched = fn; };\r\n    MaskedInputDirective.prototype.onInput = function ($event) {\r\n        this.textMaskInputElement.update($event.target.value);\r\n        this._onChange($event.target.value);\r\n    };\r\n    MaskedInputDirective.prototype.setDisabledState = function (isDisabled) {\r\n        this.renderer.setElementProperty(this.element.nativeElement, 'disabled', isDisabled);\r\n    };\r\n    __decorate([\r\n        core_1.Input('textMask'), \r\n        __metadata('design:type', Object)\r\n    ], MaskedInputDirective.prototype, \"textMaskConfig\", void 0);\r\n    MaskedInputDirective = __decorate([\r\n        core_1.Directive({\r\n            host: {\r\n                '(input)': 'onInput($event)',\r\n                '(blur)': '_onTouched()'\r\n            },\r\n            selector: '[textMask]',\r\n            providers: [{\r\n                    provide: forms_1.NG_VALUE_ACCESSOR,\r\n                    useExisting: core_1.forwardRef(function () { return MaskedInputDirective; }),\r\n                    multi: true\r\n                }]\r\n        }), \r\n        __metadata('design:paramtypes', [core_1.Renderer, core_1.ElementRef])\r\n    ], MaskedInputDirective);\r\n    return MaskedInputDirective;\r\n}());\r\nexports.MaskedInputDirective = MaskedInputDirective;\r\nvar TextMaskModule = (function () {\r\n    function TextMaskModule() {\r\n    }\r\n    TextMaskModule = __decorate([\r\n        core_1.NgModule({\r\n            declarations: [MaskedInputDirective],\r\n            exports: [MaskedInputDirective],\r\n            imports: [common_1.CommonModule]\r\n        }), \r\n        __metadata('design:paramtypes', [])\r\n    ], TextMaskModule);\r\n    return TextMaskModule;\r\n}());\r\nexports.TextMaskModule = TextMaskModule;\r\n"},{"id":1,"identifier":"external {\"root\":[\"ng\",\"core\"],\"commonjs\":\"@angular/core\",\"commonjs2\":\"@angular/core\",\"amd\":\"@angular/core\"}","name":"external {\"root\":[\"ng\",\"core\"],\"commonjs\":\"@angular/core\",\"commonjs2\":\"@angular/core\",\"amd\":\"@angular/core\"}","index":1,"index2":0,"size":42,"cacheable":false,"built":false,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":0,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","module":"./angular2/src/angular2TextMask.ts","moduleName":"./angular2/src/angular2TextMask.ts","type":"cjs require","userRequest":"@angular/core","loc":"11:13-37"},{"moduleId":4,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/control_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":5,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/validators.js","module":"./~/@angular/common/src/forms-deprecated/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/validators.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":13,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":14,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":15,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":16,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":18,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/location_strategy.js","module":"./~/@angular/common/src/location/location_strategy.js","moduleName":"./~/@angular/common/src/location/location_strategy.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":20,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_switch.js","module":"./~/@angular/common/src/directives/ng_switch.js","moduleName":"./~/@angular/common/src/directives/ng_switch.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":22,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_group.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":24,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_status.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":29,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":30,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":31,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/validators.js","module":"./~/@angular/common/src/forms-deprecated/directives/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/validators.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":33,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/location.js","module":"./~/@angular/common/src/location/location.js","moduleName":"./~/@angular/common/src/location/location.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":41,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_class.js","module":"./~/@angular/common/src/directives/ng_class.js","moduleName":"./~/@angular/common/src/directives/ng_class.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":42,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_for.js","module":"./~/@angular/common/src/directives/ng_for.js","moduleName":"./~/@angular/common/src/directives/ng_for.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":43,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_if.js","module":"./~/@angular/common/src/directives/ng_if.js","moduleName":"./~/@angular/common/src/directives/ng_if.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":44,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_plural.js","module":"./~/@angular/common/src/directives/ng_plural.js","moduleName":"./~/@angular/common/src/directives/ng_plural.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":45,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_style.js","module":"./~/@angular/common/src/directives/ng_style.js","moduleName":"./~/@angular/common/src/directives/ng_style.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":46,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_template_outlet.js","module":"./~/@angular/common/src/directives/ng_template_outlet.js","moduleName":"./~/@angular/common/src/directives/ng_template_outlet.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":51,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/form_builder.js","module":"./~/@angular/common/src/forms-deprecated/form_builder.js","moduleName":"./~/@angular/common/src/forms-deprecated/form_builder.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":53,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/async_pipe.js","module":"./~/@angular/common/src/pipes/async_pipe.js","moduleName":"./~/@angular/common/src/pipes/async_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":54,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","module":"./~/@angular/common/src/pipes/date_pipe.js","moduleName":"./~/@angular/common/src/pipes/date_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":55,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_plural_pipe.js","module":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":56,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_select_pipe.js","module":"./~/@angular/common/src/pipes/i18n_select_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_select_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":57,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/json_pipe.js","module":"./~/@angular/common/src/pipes/json_pipe.js","moduleName":"./~/@angular/common/src/pipes/json_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":58,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/lowercase_pipe.js","module":"./~/@angular/common/src/pipes/lowercase_pipe.js","moduleName":"./~/@angular/common/src/pipes/lowercase_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":59,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/number_pipe.js","module":"./~/@angular/common/src/pipes/number_pipe.js","moduleName":"./~/@angular/common/src/pipes/number_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":60,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/replace_pipe.js","module":"./~/@angular/common/src/pipes/replace_pipe.js","moduleName":"./~/@angular/common/src/pipes/replace_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":61,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/slice_pipe.js","module":"./~/@angular/common/src/pipes/slice_pipe.js","moduleName":"./~/@angular/common/src/pipes/slice_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":62,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/uppercase_pipe.js","module":"./~/@angular/common/src/pipes/uppercase_pipe.js","moduleName":"./~/@angular/common/src/pipes/uppercase_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"@angular/core","loc":"15:13-37"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"@angular/core","loc":"22:13-37"},{"moduleId":75,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/hash_location_strategy.js","module":"./~/@angular/common/src/location/hash_location_strategy.js","moduleName":"./~/@angular/common/src/location/hash_location_strategy.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":76,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","module":"./~/@angular/common/src/location/path_location_strategy.js","moduleName":"./~/@angular/common/src/location/path_location_strategy.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"}]},{"id":2,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/lang.js","name":"./~/@angular/common/src/facade/lang.js","index":8,"index2":1,"size":14602,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_if.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":3,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/collection.js","module":"./~/@angular/common/src/facade/collection.js","moduleName":"./~/@angular/common/src/facade/collection.js","type":"cjs require","userRequest":"./lang","loc":"10:13-30"},{"moduleId":5,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/validators.js","module":"./~/@angular/common/src/forms-deprecated/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/validators.js","type":"cjs require","userRequest":"../facade/lang","loc":"13:13-38"},{"moduleId":6,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/invalid_pipe_argument_exception.js","module":"./~/@angular/common/src/pipes/invalid_pipe_argument_exception.js","moduleName":"./~/@angular/common/src/pipes/invalid_pipe_argument_exception.js","type":"cjs require","userRequest":"../facade/lang","loc":"19:13-38"},{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"../../facade/lang","loc":"12:13-41"},{"moduleId":14,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","type":"cjs require","userRequest":"../../facade/lang","loc":"11:13-41"},{"moduleId":15,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","type":"cjs require","userRequest":"../../facade/lang","loc":"12:13-41"},{"moduleId":16,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","type":"cjs require","userRequest":"../../facade/lang","loc":"12:13-41"},{"moduleId":17,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/model.js","module":"./~/@angular/common/src/forms-deprecated/model.js","moduleName":"./~/@angular/common/src/forms-deprecated/model.js","type":"cjs require","userRequest":"../facade/lang","loc":"21:13-38"},{"moduleId":20,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_switch.js","module":"./~/@angular/common/src/directives/ng_switch.js","moduleName":"./~/@angular/common/src/directives/ng_switch.js","type":"cjs require","userRequest":"../facade/lang","loc":"12:13-38"},{"moduleId":21,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","module":"./~/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","type":"cjs require","userRequest":"../../facade/lang","loc":"11:13-41"},{"moduleId":24,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_status.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","type":"cjs require","userRequest":"../../facade/lang","loc":"11:13-41"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"../../facade/lang","loc":"21:13-41"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"../../facade/lang","loc":"22:13-41"},{"moduleId":29,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","type":"cjs require","userRequest":"../../facade/lang","loc":"11:13-41"},{"moduleId":30,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","type":"cjs require","userRequest":"../../facade/lang","loc":"12:13-41"},{"moduleId":31,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/validators.js","module":"./~/@angular/common/src/forms-deprecated/directives/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/validators.js","type":"cjs require","userRequest":"../../facade/lang","loc":"11:13-41"},{"moduleId":41,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_class.js","module":"./~/@angular/common/src/directives/ng_class.js","moduleName":"./~/@angular/common/src/directives/ng_class.js","type":"cjs require","userRequest":"../facade/lang","loc":"12:13-38"},{"moduleId":42,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_for.js","module":"./~/@angular/common/src/directives/ng_for.js","moduleName":"./~/@angular/common/src/directives/ng_for.js","type":"cjs require","userRequest":"../facade/lang","loc":"12:13-38"},{"moduleId":43,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_if.js","module":"./~/@angular/common/src/directives/ng_if.js","moduleName":"./~/@angular/common/src/directives/ng_if.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":44,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_plural.js","module":"./~/@angular/common/src/directives/ng_plural.js","moduleName":"./~/@angular/common/src/directives/ng_plural.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":45,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_style.js","module":"./~/@angular/common/src/directives/ng_style.js","moduleName":"./~/@angular/common/src/directives/ng_style.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":48,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exception_handler.js","module":"./~/@angular/common/src/facade/exception_handler.js","moduleName":"./~/@angular/common/src/facade/exception_handler.js","type":"cjs require","userRequest":"./lang","loc":"12:13-30"},{"moduleId":51,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/form_builder.js","module":"./~/@angular/common/src/forms-deprecated/form_builder.js","moduleName":"./~/@angular/common/src/forms-deprecated/form_builder.js","type":"cjs require","userRequest":"../facade/lang","loc":"12:13-38"},{"moduleId":53,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/async_pipe.js","module":"./~/@angular/common/src/pipes/async_pipe.js","moduleName":"./~/@angular/common/src/pipes/async_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":54,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","module":"./~/@angular/common/src/pipes/date_pipe.js","moduleName":"./~/@angular/common/src/pipes/date_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"13:13-38"},{"moduleId":55,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_plural_pipe.js","module":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":56,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_select_pipe.js","module":"./~/@angular/common/src/pipes/i18n_select_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_select_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":57,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/json_pipe.js","module":"./~/@angular/common/src/pipes/json_pipe.js","moduleName":"./~/@angular/common/src/pipes/json_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":58,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/lowercase_pipe.js","module":"./~/@angular/common/src/pipes/lowercase_pipe.js","moduleName":"./~/@angular/common/src/pipes/lowercase_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":59,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/number_pipe.js","module":"./~/@angular/common/src/pipes/number_pipe.js","moduleName":"./~/@angular/common/src/pipes/number_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"12:13-38"},{"moduleId":60,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/replace_pipe.js","module":"./~/@angular/common/src/pipes/replace_pipe.js","moduleName":"./~/@angular/common/src/pipes/replace_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":61,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/slice_pipe.js","module":"./~/@angular/common/src/pipes/slice_pipe.js","moduleName":"./~/@angular/common/src/pipes/slice_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"12:13-38"},{"moduleId":62,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/uppercase_pipe.js","module":"./~/@angular/common/src/pipes/uppercase_pipe.js","moduleName":"./~/@angular/common/src/pipes/uppercase_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":75,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/hash_location_strategy.js","module":"./~/@angular/common/src/location/hash_location_strategy.js","moduleName":"./~/@angular/common/src/location/hash_location_strategy.js","type":"cjs require","userRequest":"../facade/lang","loc":"19:13-38"},{"moduleId":76,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","module":"./~/@angular/common/src/location/path_location_strategy.js","moduleName":"./~/@angular/common/src/location/path_location_strategy.js","type":"cjs require","userRequest":"../facade/lang","loc":"20:13-38"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar globalScope;\nif (typeof window === 'undefined') {\n    if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n        // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492\n        globalScope = self;\n    } else {\n        globalScope = global;\n    }\n} else {\n    globalScope = window;\n}\nfunction scheduleMicroTask(fn) {\n    Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\nexports.scheduleMicroTask = scheduleMicroTask;\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nvar _global = globalScope;\nexports.global = _global;\n/**\n * Runtime representation a type that a Component or other object is instances of.\n *\n * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by\n * the `MyCustomComponent` constructor function.\n *\n * @stable\n */\nexports.Type = Function;\nfunction getTypeNameForDebugging(type) {\n    if (type['name']) {\n        return type['name'];\n    }\n    return typeof type === 'undefined' ? 'undefined' : _typeof(type);\n}\nexports.getTypeNameForDebugging = getTypeNameForDebugging;\nexports.Math = _global.Math;\nexports.Date = _global.Date;\n// TODO: remove calls to assert in production environment\n// Note: Can't just export this and import in in other files\n// as `assert` is a reserved keyword in Dart\n_global.assert = function assert(condition) {\n    // TODO: to be fixed properly via #2830, noop for now\n};\nfunction isPresent(obj) {\n    return obj !== undefined && obj !== null;\n}\nexports.isPresent = isPresent;\nfunction isBlank(obj) {\n    return obj === undefined || obj === null;\n}\nexports.isBlank = isBlank;\nfunction isBoolean(obj) {\n    return typeof obj === 'boolean';\n}\nexports.isBoolean = isBoolean;\nfunction isNumber(obj) {\n    return typeof obj === 'number';\n}\nexports.isNumber = isNumber;\nfunction isString(obj) {\n    return typeof obj === 'string';\n}\nexports.isString = isString;\nfunction isFunction(obj) {\n    return typeof obj === 'function';\n}\nexports.isFunction = isFunction;\nfunction isType(obj) {\n    return isFunction(obj);\n}\nexports.isType = isType;\nfunction isStringMap(obj) {\n    return (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && obj !== null;\n}\nexports.isStringMap = isStringMap;\nvar STRING_MAP_PROTO = Object.getPrototypeOf({});\nfunction isStrictStringMap(obj) {\n    return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\nexports.isStrictStringMap = isStrictStringMap;\nfunction isPromise(obj) {\n    // allow any Promise/A+ compliant thenable.\n    // It's up to the caller to ensure that obj.then conforms to the spec\n    return isPresent(obj) && isFunction(obj.then);\n}\nexports.isPromise = isPromise;\nfunction isArray(obj) {\n    return Array.isArray(obj);\n}\nexports.isArray = isArray;\nfunction isDate(obj) {\n    return obj instanceof exports.Date && !isNaN(obj.valueOf());\n}\nexports.isDate = isDate;\nfunction noop() {}\nexports.noop = noop;\nfunction stringify(token) {\n    if (typeof token === 'string') {\n        return token;\n    }\n    if (token === undefined || token === null) {\n        return '' + token;\n    }\n    if (token.overriddenName) {\n        return token.overriddenName;\n    }\n    if (token.name) {\n        return token.name;\n    }\n    var res = token.toString();\n    var newLineIndex = res.indexOf('\\n');\n    return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\nexports.stringify = stringify;\n// serialize / deserialize enum exist only for consistency with dart API\n// enums in typescript don't need to be serialized\nfunction serializeEnum(val) {\n    return val;\n}\nexports.serializeEnum = serializeEnum;\nfunction deserializeEnum(val, values) {\n    return val;\n}\nexports.deserializeEnum = deserializeEnum;\nfunction resolveEnumToken(enumValue, val) {\n    return enumValue[val];\n}\nexports.resolveEnumToken = resolveEnumToken;\nvar StringWrapper = function () {\n    function StringWrapper() {}\n    StringWrapper.fromCharCode = function (code) {\n        return String.fromCharCode(code);\n    };\n    StringWrapper.charCodeAt = function (s, index) {\n        return s.charCodeAt(index);\n    };\n    StringWrapper.split = function (s, regExp) {\n        return s.split(regExp);\n    };\n    StringWrapper.equals = function (s, s2) {\n        return s === s2;\n    };\n    StringWrapper.stripLeft = function (s, charVal) {\n        if (s && s.length) {\n            var pos = 0;\n            for (var i = 0; i < s.length; i++) {\n                if (s[i] != charVal) break;\n                pos++;\n            }\n            s = s.substring(pos);\n        }\n        return s;\n    };\n    StringWrapper.stripRight = function (s, charVal) {\n        if (s && s.length) {\n            var pos = s.length;\n            for (var i = s.length - 1; i >= 0; i--) {\n                if (s[i] != charVal) break;\n                pos--;\n            }\n            s = s.substring(0, pos);\n        }\n        return s;\n    };\n    StringWrapper.replace = function (s, from, replace) {\n        return s.replace(from, replace);\n    };\n    StringWrapper.replaceAll = function (s, from, replace) {\n        return s.replace(from, replace);\n    };\n    StringWrapper.slice = function (s, from, to) {\n        if (from === void 0) {\n            from = 0;\n        }\n        if (to === void 0) {\n            to = null;\n        }\n        return s.slice(from, to === null ? undefined : to);\n    };\n    StringWrapper.replaceAllMapped = function (s, from, cb) {\n        return s.replace(from, function () {\n            var matches = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                matches[_i - 0] = arguments[_i];\n            }\n            // Remove offset & string from the result array\n            matches.splice(-2, 2);\n            // The callback receives match, p1, ..., pn\n            return cb(matches);\n        });\n    };\n    StringWrapper.contains = function (s, substr) {\n        return s.indexOf(substr) != -1;\n    };\n    StringWrapper.compare = function (a, b) {\n        if (a < b) {\n            return -1;\n        } else if (a > b) {\n            return 1;\n        } else {\n            return 0;\n        }\n    };\n    return StringWrapper;\n}();\nexports.StringWrapper = StringWrapper;\nvar StringJoiner = function () {\n    function StringJoiner(parts) {\n        if (parts === void 0) {\n            parts = [];\n        }\n        this.parts = parts;\n    }\n    StringJoiner.prototype.add = function (part) {\n        this.parts.push(part);\n    };\n    StringJoiner.prototype.toString = function () {\n        return this.parts.join('');\n    };\n    return StringJoiner;\n}();\nexports.StringJoiner = StringJoiner;\nvar NumberParseError = function (_super) {\n    __extends(NumberParseError, _super);\n    function NumberParseError(message) {\n        _super.call(this);\n        this.message = message;\n    }\n    NumberParseError.prototype.toString = function () {\n        return this.message;\n    };\n    return NumberParseError;\n}(Error);\nexports.NumberParseError = NumberParseError;\nvar NumberWrapper = function () {\n    function NumberWrapper() {}\n    NumberWrapper.toFixed = function (n, fractionDigits) {\n        return n.toFixed(fractionDigits);\n    };\n    NumberWrapper.equal = function (a, b) {\n        return a === b;\n    };\n    NumberWrapper.parseIntAutoRadix = function (text) {\n        var result = parseInt(text);\n        if (isNaN(result)) {\n            throw new NumberParseError('Invalid integer literal when parsing ' + text);\n        }\n        return result;\n    };\n    NumberWrapper.parseInt = function (text, radix) {\n        if (radix == 10) {\n            if (/^(\\-|\\+)?[0-9]+$/.test(text)) {\n                return parseInt(text, radix);\n            }\n        } else if (radix == 16) {\n            if (/^(\\-|\\+)?[0-9ABCDEFabcdef]+$/.test(text)) {\n                return parseInt(text, radix);\n            }\n        } else {\n            var result = parseInt(text, radix);\n            if (!isNaN(result)) {\n                return result;\n            }\n        }\n        throw new NumberParseError('Invalid integer literal when parsing ' + text + ' in base ' + radix);\n    };\n    // TODO: NaN is a valid literal but is returned by parseFloat to indicate an error.\n    NumberWrapper.parseFloat = function (text) {\n        return parseFloat(text);\n    };\n    Object.defineProperty(NumberWrapper, \"NaN\", {\n        get: function get() {\n            return NaN;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NumberWrapper.isNumeric = function (value) {\n        return !isNaN(value - parseFloat(value));\n    };\n    NumberWrapper.isNaN = function (value) {\n        return isNaN(value);\n    };\n    NumberWrapper.isInteger = function (value) {\n        return Number.isInteger(value);\n    };\n    return NumberWrapper;\n}();\nexports.NumberWrapper = NumberWrapper;\nexports.RegExp = _global.RegExp;\nvar FunctionWrapper = function () {\n    function FunctionWrapper() {}\n    FunctionWrapper.apply = function (fn, posArgs) {\n        return fn.apply(null, posArgs);\n    };\n    FunctionWrapper.bind = function (fn, scope) {\n        return fn.bind(scope);\n    };\n    return FunctionWrapper;\n}();\nexports.FunctionWrapper = FunctionWrapper;\n// JS has NaN !== NaN\nfunction looseIdentical(a, b) {\n    return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);\n}\nexports.looseIdentical = looseIdentical;\n// JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)\n// see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\nfunction getMapKey(value) {\n    return value;\n}\nexports.getMapKey = getMapKey;\nfunction normalizeBlank(obj) {\n    return isBlank(obj) ? null : obj;\n}\nexports.normalizeBlank = normalizeBlank;\nfunction normalizeBool(obj) {\n    return isBlank(obj) ? false : obj;\n}\nexports.normalizeBool = normalizeBool;\nfunction isJsObject(o) {\n    return o !== null && (typeof o === 'function' || (typeof o === 'undefined' ? 'undefined' : _typeof(o)) === 'object');\n}\nexports.isJsObject = isJsObject;\nfunction print(obj) {\n    console.log(obj);\n}\nexports.print = print;\nfunction warn(obj) {\n    console.warn(obj);\n}\nexports.warn = warn;\n// Can't be all uppercase as our transpiler would think it is a special directive...\nvar Json = function () {\n    function Json() {}\n    Json.parse = function (s) {\n        return _global.JSON.parse(s);\n    };\n    Json.stringify = function (data) {\n        // Dart doesn't take 3 arguments\n        return _global.JSON.stringify(data, null, 2);\n    };\n    return Json;\n}();\nexports.Json = Json;\nvar DateWrapper = function () {\n    function DateWrapper() {}\n    DateWrapper.create = function (year, month, day, hour, minutes, seconds, milliseconds) {\n        if (month === void 0) {\n            month = 1;\n        }\n        if (day === void 0) {\n            day = 1;\n        }\n        if (hour === void 0) {\n            hour = 0;\n        }\n        if (minutes === void 0) {\n            minutes = 0;\n        }\n        if (seconds === void 0) {\n            seconds = 0;\n        }\n        if (milliseconds === void 0) {\n            milliseconds = 0;\n        }\n        return new exports.Date(year, month - 1, day, hour, minutes, seconds, milliseconds);\n    };\n    DateWrapper.fromISOString = function (str) {\n        return new exports.Date(str);\n    };\n    DateWrapper.fromMillis = function (ms) {\n        return new exports.Date(ms);\n    };\n    DateWrapper.toMillis = function (date) {\n        return date.getTime();\n    };\n    DateWrapper.now = function () {\n        return new exports.Date();\n    };\n    DateWrapper.toJson = function (date) {\n        return date.toJSON();\n    };\n    return DateWrapper;\n}();\nexports.DateWrapper = DateWrapper;\nfunction setValueOnPath(global, path, value) {\n    var parts = path.split('.');\n    var obj = global;\n    while (parts.length > 1) {\n        var name = parts.shift();\n        if (obj.hasOwnProperty(name) && isPresent(obj[name])) {\n            obj = obj[name];\n        } else {\n            obj = obj[name] = {};\n        }\n    }\n    if (obj === undefined || obj === null) {\n        obj = {};\n    }\n    obj[parts.shift()] = value;\n}\nexports.setValueOnPath = setValueOnPath;\nvar _symbolIterator = null;\nfunction getSymbolIterator() {\n    if (isBlank(_symbolIterator)) {\n        if (isPresent(globalScope.Symbol) && isPresent(Symbol.iterator)) {\n            _symbolIterator = Symbol.iterator;\n        } else {\n            // es6-shim specific logic\n            var keys = Object.getOwnPropertyNames(Map.prototype);\n            for (var i = 0; i < keys.length; ++i) {\n                var key = keys[i];\n                if (key !== 'entries' && key !== 'size' && Map.prototype[key] === Map.prototype['entries']) {\n                    _symbolIterator = key;\n                }\n            }\n        }\n    }\n    return _symbolIterator;\n}\nexports.getSymbolIterator = getSymbolIterator;\nfunction evalExpression(sourceUrl, expr, declarations, vars) {\n    var fnBody = declarations + \"\\nreturn \" + expr + \"\\n//# sourceURL=\" + sourceUrl;\n    var fnArgNames = [];\n    var fnArgValues = [];\n    for (var argName in vars) {\n        fnArgNames.push(argName);\n        fnArgValues.push(vars[argName]);\n    }\n    return new (Function.bind.apply(Function, [void 0].concat(fnArgNames.concat(fnBody))))().apply(void 0, fnArgValues);\n}\nexports.evalExpression = evalExpression;\nfunction isPrimitive(obj) {\n    return !isJsObject(obj);\n}\nexports.isPrimitive = isPrimitive;\nfunction hasConstructor(value, type) {\n    return value.constructor === type;\n}\nexports.hasConstructor = hasConstructor;\nfunction escape(s) {\n    return _global.encodeURI(s);\n}\nexports.escape = escape;\nfunction escapeRegExp(s) {\n    return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\nexports.escapeRegExp = escapeRegExp;\n//# sourceMappingURL=lang.js.map"},{"id":3,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/collection.js","name":"./~/@angular/common/src/facade/collection.js","index":7,"index2":2,"size":12583,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_class.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":5,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/validators.js","module":"./~/@angular/common/src/forms-deprecated/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/validators.js","type":"cjs require","userRequest":"../facade/collection","loc":"12:19-50"},{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"../../facade/collection","loc":"10:19-53"},{"moduleId":15,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","type":"cjs require","userRequest":"../../facade/collection","loc":"11:19-53"},{"moduleId":16,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","type":"cjs require","userRequest":"../../facade/collection","loc":"11:19-53"},{"moduleId":17,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/model.js","module":"./~/@angular/common/src/forms-deprecated/model.js","moduleName":"./~/@angular/common/src/forms-deprecated/model.js","type":"cjs require","userRequest":"../facade/collection","loc":"20:19-50"},{"moduleId":20,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_switch.js","module":"./~/@angular/common/src/directives/ng_switch.js","moduleName":"./~/@angular/common/src/directives/ng_switch.js","type":"cjs require","userRequest":"../facade/collection","loc":"11:19-50"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"../../facade/collection","loc":"20:19-53"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"../../facade/collection","loc":"20:19-53"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"../../facade/collection","loc":"20:19-53"},{"moduleId":30,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","type":"cjs require","userRequest":"../../facade/collection","loc":"11:19-53"},{"moduleId":41,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_class.js","module":"./~/@angular/common/src/directives/ng_class.js","moduleName":"./~/@angular/common/src/directives/ng_class.js","type":"cjs require","userRequest":"../facade/collection","loc":"11:19-50"},{"moduleId":48,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exception_handler.js","module":"./~/@angular/common/src/facade/exception_handler.js","moduleName":"./~/@angular/common/src/facade/exception_handler.js","type":"cjs require","userRequest":"./collection","loc":"11:19-42"},{"moduleId":51,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/form_builder.js","module":"./~/@angular/common/src/forms-deprecated/form_builder.js","moduleName":"./~/@angular/common/src/forms-deprecated/form_builder.js","type":"cjs require","userRequest":"../facade/collection","loc":"11:19-50"},{"moduleId":54,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","module":"./~/@angular/common/src/pipes/date_pipe.js","moduleName":"./~/@angular/common/src/pipes/date_pipe.js","type":"cjs require","userRequest":"../facade/collection","loc":"11:19-50"},{"moduleId":61,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/slice_pipe.js","module":"./~/@angular/common/src/pipes/slice_pipe.js","moduleName":"./~/@angular/common/src/pipes/slice_pipe.js","type":"cjs require","userRequest":"../facade/collection","loc":"11:19-50"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar lang_1 = require('./lang');\nexports.Map = lang_1.global.Map;\nexports.Set = lang_1.global.Set;\n// Safari and Internet Explorer do not support the iterable parameter to the\n// Map constructor.  We work around that by manually adding the items.\nvar createMapFromPairs = function () {\n    try {\n        if (new exports.Map([[1, 2]]).size === 1) {\n            return function createMapFromPairs(pairs) {\n                return new exports.Map(pairs);\n            };\n        }\n    } catch (e) {}\n    return function createMapAndPopulateFromPairs(pairs) {\n        var map = new exports.Map();\n        for (var i = 0; i < pairs.length; i++) {\n            var pair = pairs[i];\n            map.set(pair[0], pair[1]);\n        }\n        return map;\n    };\n}();\nvar createMapFromMap = function () {\n    try {\n        if (new exports.Map(new exports.Map())) {\n            return function createMapFromMap(m) {\n                return new exports.Map(m);\n            };\n        }\n    } catch (e) {}\n    return function createMapAndPopulateFromMap(m) {\n        var map = new exports.Map();\n        m.forEach(function (v, k) {\n            map.set(k, v);\n        });\n        return map;\n    };\n}();\nvar _clearValues = function () {\n    if (new exports.Map().keys().next) {\n        return function _clearValues(m) {\n            var keyIterator = m.keys();\n            var k;\n            while (!(k = keyIterator.next()).done) {\n                m.set(k.value, null);\n            }\n        };\n    } else {\n        return function _clearValuesWithForeEach(m) {\n            m.forEach(function (v, k) {\n                m.set(k, null);\n            });\n        };\n    }\n}();\n// Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from\n// TODO(mlaval): remove the work around once we have a working polyfill of Array.from\nvar _arrayFromMap = function () {\n    try {\n        if (new exports.Map().values().next) {\n            return function createArrayFromMap(m, getValues) {\n                return getValues ? Array.from(m.values()) : Array.from(m.keys());\n            };\n        }\n    } catch (e) {}\n    return function createArrayFromMapWithForeach(m, getValues) {\n        var res = ListWrapper.createFixedSize(m.size),\n            i = 0;\n        m.forEach(function (v, k) {\n            res[i] = getValues ? v : k;\n            i++;\n        });\n        return res;\n    };\n}();\nvar MapWrapper = function () {\n    function MapWrapper() {}\n    MapWrapper.clone = function (m) {\n        return createMapFromMap(m);\n    };\n    MapWrapper.createFromStringMap = function (stringMap) {\n        var result = new exports.Map();\n        for (var prop in stringMap) {\n            result.set(prop, stringMap[prop]);\n        }\n        return result;\n    };\n    MapWrapper.toStringMap = function (m) {\n        var r = {};\n        m.forEach(function (v, k) {\n            return r[k] = v;\n        });\n        return r;\n    };\n    MapWrapper.createFromPairs = function (pairs) {\n        return createMapFromPairs(pairs);\n    };\n    MapWrapper.clearValues = function (m) {\n        _clearValues(m);\n    };\n    MapWrapper.iterable = function (m) {\n        return m;\n    };\n    MapWrapper.keys = function (m) {\n        return _arrayFromMap(m, false);\n    };\n    MapWrapper.values = function (m) {\n        return _arrayFromMap(m, true);\n    };\n    return MapWrapper;\n}();\nexports.MapWrapper = MapWrapper;\n/**\n * Wraps Javascript Objects\n */\nvar StringMapWrapper = function () {\n    function StringMapWrapper() {}\n    StringMapWrapper.create = function () {\n        // Note: We are not using Object.create(null) here due to\n        // performance!\n        // http://jsperf.com/ng2-object-create-null\n        return {};\n    };\n    StringMapWrapper.contains = function (map, key) {\n        return map.hasOwnProperty(key);\n    };\n    StringMapWrapper.get = function (map, key) {\n        return map.hasOwnProperty(key) ? map[key] : undefined;\n    };\n    StringMapWrapper.set = function (map, key, value) {\n        map[key] = value;\n    };\n    StringMapWrapper.keys = function (map) {\n        return Object.keys(map);\n    };\n    StringMapWrapper.values = function (map) {\n        return Object.keys(map).map(function (k) {\n            return map[k];\n        });\n    };\n    StringMapWrapper.isEmpty = function (map) {\n        for (var prop in map) {\n            return false;\n        }\n        return true;\n    };\n    StringMapWrapper.delete = function (map, key) {\n        delete map[key];\n    };\n    StringMapWrapper.forEach = function (map, callback) {\n        for (var _i = 0, _a = Object.keys(map); _i < _a.length; _i++) {\n            var k = _a[_i];\n            callback(map[k], k);\n        }\n    };\n    StringMapWrapper.merge = function (m1, m2) {\n        var m = {};\n        for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {\n            var k = _a[_i];\n            m[k] = m1[k];\n        }\n        for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {\n            var k = _c[_b];\n            m[k] = m2[k];\n        }\n        return m;\n    };\n    StringMapWrapper.equals = function (m1, m2) {\n        var k1 = Object.keys(m1);\n        var k2 = Object.keys(m2);\n        if (k1.length != k2.length) {\n            return false;\n        }\n        var key;\n        for (var i = 0; i < k1.length; i++) {\n            key = k1[i];\n            if (m1[key] !== m2[key]) {\n                return false;\n            }\n        }\n        return true;\n    };\n    return StringMapWrapper;\n}();\nexports.StringMapWrapper = StringMapWrapper;\nvar ListWrapper = function () {\n    function ListWrapper() {}\n    // JS has no way to express a statically fixed size list, but dart does so we\n    // keep both methods.\n    ListWrapper.createFixedSize = function (size) {\n        return new Array(size);\n    };\n    ListWrapper.createGrowableSize = function (size) {\n        return new Array(size);\n    };\n    ListWrapper.clone = function (array) {\n        return array.slice(0);\n    };\n    ListWrapper.forEachWithIndex = function (array, fn) {\n        for (var i = 0; i < array.length; i++) {\n            fn(array[i], i);\n        }\n    };\n    ListWrapper.first = function (array) {\n        if (!array) return null;\n        return array[0];\n    };\n    ListWrapper.last = function (array) {\n        if (!array || array.length == 0) return null;\n        return array[array.length - 1];\n    };\n    ListWrapper.indexOf = function (array, value, startIndex) {\n        if (startIndex === void 0) {\n            startIndex = 0;\n        }\n        return array.indexOf(value, startIndex);\n    };\n    ListWrapper.contains = function (list, el) {\n        return list.indexOf(el) !== -1;\n    };\n    ListWrapper.reversed = function (array) {\n        var a = ListWrapper.clone(array);\n        return a.reverse();\n    };\n    ListWrapper.concat = function (a, b) {\n        return a.concat(b);\n    };\n    ListWrapper.insert = function (list, index, value) {\n        list.splice(index, 0, value);\n    };\n    ListWrapper.removeAt = function (list, index) {\n        var res = list[index];\n        list.splice(index, 1);\n        return res;\n    };\n    ListWrapper.removeAll = function (list, items) {\n        for (var i = 0; i < items.length; ++i) {\n            var index = list.indexOf(items[i]);\n            list.splice(index, 1);\n        }\n    };\n    ListWrapper.remove = function (list, el) {\n        var index = list.indexOf(el);\n        if (index > -1) {\n            list.splice(index, 1);\n            return true;\n        }\n        return false;\n    };\n    ListWrapper.clear = function (list) {\n        list.length = 0;\n    };\n    ListWrapper.isEmpty = function (list) {\n        return list.length == 0;\n    };\n    ListWrapper.fill = function (list, value, start, end) {\n        if (start === void 0) {\n            start = 0;\n        }\n        if (end === void 0) {\n            end = null;\n        }\n        list.fill(value, start, end === null ? list.length : end);\n    };\n    ListWrapper.equals = function (a, b) {\n        if (a.length != b.length) return false;\n        for (var i = 0; i < a.length; ++i) {\n            if (a[i] !== b[i]) return false;\n        }\n        return true;\n    };\n    ListWrapper.slice = function (l, from, to) {\n        if (from === void 0) {\n            from = 0;\n        }\n        if (to === void 0) {\n            to = null;\n        }\n        return l.slice(from, to === null ? undefined : to);\n    };\n    ListWrapper.splice = function (l, from, length) {\n        return l.splice(from, length);\n    };\n    ListWrapper.sort = function (l, compareFn) {\n        if (lang_1.isPresent(compareFn)) {\n            l.sort(compareFn);\n        } else {\n            l.sort();\n        }\n    };\n    ListWrapper.toString = function (l) {\n        return l.toString();\n    };\n    ListWrapper.toJSON = function (l) {\n        return JSON.stringify(l);\n    };\n    ListWrapper.maximum = function (list, predicate) {\n        if (list.length == 0) {\n            return null;\n        }\n        var solution = null;\n        var maxValue = -Infinity;\n        for (var index = 0; index < list.length; index++) {\n            var candidate = list[index];\n            if (lang_1.isBlank(candidate)) {\n                continue;\n            }\n            var candidateValue = predicate(candidate);\n            if (candidateValue > maxValue) {\n                solution = candidate;\n                maxValue = candidateValue;\n            }\n        }\n        return solution;\n    };\n    ListWrapper.flatten = function (list) {\n        var target = [];\n        _flattenArray(list, target);\n        return target;\n    };\n    ListWrapper.addAll = function (list, source) {\n        for (var i = 0; i < source.length; i++) {\n            list.push(source[i]);\n        }\n    };\n    return ListWrapper;\n}();\nexports.ListWrapper = ListWrapper;\nfunction _flattenArray(source, target) {\n    if (lang_1.isPresent(source)) {\n        for (var i = 0; i < source.length; i++) {\n            var item = source[i];\n            if (lang_1.isArray(item)) {\n                _flattenArray(item, target);\n            } else {\n                target.push(item);\n            }\n        }\n    }\n    return target;\n}\nfunction isListLikeIterable(obj) {\n    if (!lang_1.isJsObject(obj)) return false;\n    return lang_1.isArray(obj) || !(obj instanceof exports.Map) && lang_1.getSymbolIterator() in obj; // JS Iterable have a Symbol.iterator prop\n}\nexports.isListLikeIterable = isListLikeIterable;\nfunction areIterablesEqual(a, b, comparator) {\n    var iterator1 = a[lang_1.getSymbolIterator()]();\n    var iterator2 = b[lang_1.getSymbolIterator()]();\n    while (true) {\n        var item1 = iterator1.next();\n        var item2 = iterator2.next();\n        if (item1.done && item2.done) return true;\n        if (item1.done || item2.done) return false;\n        if (!comparator(item1.value, item2.value)) return false;\n    }\n}\nexports.areIterablesEqual = areIterablesEqual;\nfunction iterateListLike(obj, fn) {\n    if (lang_1.isArray(obj)) {\n        for (var i = 0; i < obj.length; i++) {\n            fn(obj[i]);\n        }\n    } else {\n        var iterator = obj[lang_1.getSymbolIterator()]();\n        var item;\n        while (!(item = iterator.next()).done) {\n            fn(item.value);\n        }\n    }\n}\nexports.iterateListLike = iterateListLike;\n// Safari and Internet Explorer do not support the iterable parameter to the\n// Set constructor.  We work around that by manually adding the items.\nvar createSetFromList = function () {\n    var test = new exports.Set([1, 2, 3]);\n    if (test.size === 3) {\n        return function createSetFromList(lst) {\n            return new exports.Set(lst);\n        };\n    } else {\n        return function createSetAndPopulateFromList(lst) {\n            var res = new exports.Set(lst);\n            if (res.size !== lst.length) {\n                for (var i = 0; i < lst.length; i++) {\n                    res.add(lst[i]);\n                }\n            }\n            return res;\n        };\n    }\n}();\nvar SetWrapper = function () {\n    function SetWrapper() {}\n    SetWrapper.createFromList = function (lst) {\n        return createSetFromList(lst);\n    };\n    SetWrapper.has = function (s, key) {\n        return s.has(key);\n    };\n    SetWrapper.delete = function (m, k) {\n        m.delete(k);\n    };\n    return SetWrapper;\n}();\nexports.SetWrapper = SetWrapper;\n//# sourceMappingURL=collection.js.map"},{"id":4,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/control_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/control_value_accessor.js","index":36,"index2":31,"size":537,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":13,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"11:31-66"},{"moduleId":14,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"12:31-66"},{"moduleId":15,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"13:31-66"},{"moduleId":16,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"13:31-66"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"22:31-66"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"22:31-66"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"22:31-66"},{"moduleId":29,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"12:31-66"},{"moduleId":30,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"13:31-66"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/control_value_accessor","loc":"35:31-94"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\n/**\n * Used to provide a {@link ControlValueAccessor} for form controls.\n *\n * See {@link DefaultValueAccessor} for how to implement one.\n * @experimental\n */\nexports.NG_VALUE_ACCESSOR = new core_1.OpaqueToken('NgValueAccessor');\n//# sourceMappingURL=control_value_accessor.js.map"},{"id":5,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/validators.js","name":"./~/@angular/common/src/forms-deprecated/validators.js","index":39,"index2":36,"size":4862,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"../validators","loc":"13:19-43"},{"moduleId":22,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_group.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","type":"cjs require","userRequest":"../validators","loc":"19:19-43"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"../validators","loc":"20:19-43"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"../validators","loc":"23:19-43"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"../validators","loc":"21:19-43"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"../validators","loc":"23:19-43"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"../validators","loc":"21:19-43"},{"moduleId":31,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/validators.js","module":"./~/@angular/common/src/forms-deprecated/directives/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/validators.js","type":"cjs require","userRequest":"../validators","loc":"12:19-43"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/validators","loc":"70:19-59"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar toPromise_1 = require('rxjs/operator/toPromise');\nvar collection_1 = require('../facade/collection');\nvar lang_1 = require('../facade/lang');\n/**\n * Providers for validators to be used for {@link Control}s in a form.\n *\n * Provide this using `multi: true` to add validators.\n *\n * ### Example\n *\n * {@example core/forms/ts/ng_validators/ng_validators.ts region='ng_validators'}\n * @experimental\n */\nexports.NG_VALIDATORS = new core_1.OpaqueToken('NgValidators');\n/**\n * Providers for asynchronous validators to be used for {@link Control}s\n * in a form.\n *\n * Provide this using `multi: true` to add validators.\n *\n * See {@link NG_VALIDATORS} for more details.\n *\n * @experimental\n */\nexports.NG_ASYNC_VALIDATORS = new core_1.OpaqueToken('NgAsyncValidators');\n/**\n * Provides a set of validators used by form controls.\n *\n * A validator is a function that processes a {@link Control} or collection of\n * controls and returns a map of errors. A null map means that validation has passed.\n *\n * ### Example\n *\n * ```typescript\n * var loginControl = new Control(\"\", Validators.required)\n * ```\n *\n * @experimental\n */\nvar Validators = function () {\n    function Validators() {}\n    /**\n     * Validator that requires controls to have a non-empty value.\n     */\n    Validators.required = function (control) {\n        return lang_1.isBlank(control.value) || lang_1.isString(control.value) && control.value == '' ? { 'required': true } : null;\n    };\n    /**\n     * Validator that requires controls to have a value of a minimum length.\n     */\n    Validators.minLength = function (minLength) {\n        return function (control) {\n            if (lang_1.isPresent(Validators.required(control))) return null;\n            var v = control.value;\n            return v.length < minLength ? { 'minlength': { 'requiredLength': minLength, 'actualLength': v.length } } : null;\n        };\n    };\n    /**\n     * Validator that requires controls to have a value of a maximum length.\n     */\n    Validators.maxLength = function (maxLength) {\n        return function (control) {\n            if (lang_1.isPresent(Validators.required(control))) return null;\n            var v = control.value;\n            return v.length > maxLength ? { 'maxlength': { 'requiredLength': maxLength, 'actualLength': v.length } } : null;\n        };\n    };\n    /**\n     * Validator that requires a control to match a regex to its value.\n     */\n    Validators.pattern = function (pattern) {\n        return function (control) {\n            if (lang_1.isPresent(Validators.required(control))) return null;\n            var regex = new RegExp(\"^\" + pattern + \"$\");\n            var v = control.value;\n            return regex.test(v) ? null : { 'pattern': { 'requiredPattern': \"^\" + pattern + \"$\", 'actualValue': v } };\n        };\n    };\n    /**\n     * No-op validator.\n     */\n    Validators.nullValidator = function (c) {\n        return null;\n    };\n    /**\n     * Compose multiple validators into a single function that returns the union\n     * of the individual error maps.\n     */\n    Validators.compose = function (validators) {\n        if (lang_1.isBlank(validators)) return null;\n        var presentValidators = validators.filter(lang_1.isPresent);\n        if (presentValidators.length == 0) return null;\n        return function (control) {\n            return _mergeErrors(_executeValidators(control, presentValidators));\n        };\n    };\n    Validators.composeAsync = function (validators) {\n        if (lang_1.isBlank(validators)) return null;\n        var presentValidators = validators.filter(lang_1.isPresent);\n        if (presentValidators.length == 0) return null;\n        return function (control) {\n            var promises = _executeAsyncValidators(control, presentValidators).map(_convertToPromise);\n            return Promise.all(promises).then(_mergeErrors);\n        };\n    };\n    return Validators;\n}();\nexports.Validators = Validators;\nfunction _convertToPromise(obj) {\n    return lang_1.isPromise(obj) ? obj : toPromise_1.toPromise.call(obj);\n}\nfunction _executeValidators(control, validators) {\n    return validators.map(function (v) {\n        return v(control);\n    });\n}\nfunction _executeAsyncValidators(control, validators) {\n    return validators.map(function (v) {\n        return v(control);\n    });\n}\nfunction _mergeErrors(arrayOfErrors) {\n    var res = arrayOfErrors.reduce(function (res, errors) {\n        return lang_1.isPresent(errors) ? collection_1.StringMapWrapper.merge(res, errors) : res;\n    }, {});\n    return collection_1.StringMapWrapper.isEmpty(res) ? null : res;\n}\n//# sourceMappingURL=validators.js.map"},{"id":6,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/invalid_pipe_argument_exception.js","name":"./~/@angular/common/src/pipes/invalid_pipe_argument_exception.js","index":21,"index2":17,"size":1075,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":53,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/async_pipe.js","module":"./~/@angular/common/src/pipes/async_pipe.js","moduleName":"./~/@angular/common/src/pipes/async_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"12:40-84"},{"moduleId":54,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","module":"./~/@angular/common/src/pipes/date_pipe.js","moduleName":"./~/@angular/common/src/pipes/date_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"14:40-84"},{"moduleId":55,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_plural_pipe.js","module":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"13:40-84"},{"moduleId":56,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_select_pipe.js","module":"./~/@angular/common/src/pipes/i18n_select_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_select_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"12:40-84"},{"moduleId":58,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/lowercase_pipe.js","module":"./~/@angular/common/src/pipes/lowercase_pipe.js","moduleName":"./~/@angular/common/src/pipes/lowercase_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"12:40-84"},{"moduleId":59,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/number_pipe.js","module":"./~/@angular/common/src/pipes/number_pipe.js","moduleName":"./~/@angular/common/src/pipes/number_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"13:40-84"},{"moduleId":60,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/replace_pipe.js","module":"./~/@angular/common/src/pipes/replace_pipe.js","moduleName":"./~/@angular/common/src/pipes/replace_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"12:40-84"},{"moduleId":61,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/slice_pipe.js","module":"./~/@angular/common/src/pipes/slice_pipe.js","moduleName":"./~/@angular/common/src/pipes/slice_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"13:40-84"},{"moduleId":62,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/uppercase_pipe.js","module":"./~/@angular/common/src/pipes/uppercase_pipe.js","moduleName":"./~/@angular/common/src/pipes/uppercase_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"12:40-84"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar exceptions_1 = require('../facade/exceptions');\nvar lang_1 = require('../facade/lang');\nvar InvalidPipeArgumentException = function (_super) {\n    __extends(InvalidPipeArgumentException, _super);\n    function InvalidPipeArgumentException(type, value) {\n        _super.call(this, \"Invalid argument '\" + value + \"' for pipe '\" + lang_1.stringify(type) + \"'\");\n    }\n    return InvalidPipeArgumentException;\n}(exceptions_1.BaseException);\nexports.InvalidPipeArgumentException = InvalidPipeArgumentException;\n//# sourceMappingURL=invalid_pipe_argument_exception.js.map"},{"id":7,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exceptions.js","name":"./~/@angular/common/src/facade/exceptions.js","index":10,"index2":6,"size":3664,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_for.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":6,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/invalid_pipe_argument_exception.js","module":"./~/@angular/common/src/pipes/invalid_pipe_argument_exception.js","moduleName":"./~/@angular/common/src/pipes/invalid_pipe_argument_exception.js","type":"cjs require","userRequest":"../facade/exceptions","loc":"18:19-50"},{"moduleId":8,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control.js","type":"cjs require","userRequest":"../../facade/exceptions","loc":"18:19-53"},{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"../../facade/exceptions","loc":"11:19-53"},{"moduleId":21,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","module":"./~/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","type":"cjs require","userRequest":"../../facade/exceptions","loc":"10:19-53"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"../../facade/exceptions","loc":"21:19-53"},{"moduleId":42,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_for.js","module":"./~/@angular/common/src/directives/ng_for.js","moduleName":"./~/@angular/common/src/directives/ng_for.js","type":"cjs require","userRequest":"../facade/exceptions","loc":"11:19-50"},{"moduleId":76,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","module":"./~/@angular/common/src/location/path_location_strategy.js","moduleName":"./~/@angular/common/src/location/path_location_strategy.js","type":"cjs require","userRequest":"../facade/exceptions","loc":"19:19-50"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar base_wrapped_exception_1 = require('./base_wrapped_exception');\nvar exception_handler_1 = require('./exception_handler');\nvar exception_handler_2 = require('./exception_handler');\nexports.ExceptionHandler = exception_handler_2.ExceptionHandler;\n/**\n * @stable\n */\nvar BaseException = function (_super) {\n    __extends(BaseException, _super);\n    function BaseException(message) {\n        if (message === void 0) {\n            message = '--';\n        }\n        _super.call(this, message);\n        this.message = message;\n        this.stack = new Error(message).stack;\n    }\n    BaseException.prototype.toString = function () {\n        return this.message;\n    };\n    return BaseException;\n}(Error);\nexports.BaseException = BaseException;\n/**\n * Wraps an exception and provides additional context or information.\n * @stable\n */\nvar WrappedException = function (_super) {\n    __extends(WrappedException, _super);\n    function WrappedException(_wrapperMessage, _originalException /** TODO #9100 */, _originalStack /** TODO #9100 */, _context /** TODO #9100 */) {\n        _super.call(this, _wrapperMessage);\n        this._wrapperMessage = _wrapperMessage;\n        this._originalException = _originalException;\n        this._originalStack = _originalStack;\n        this._context = _context;\n        this._wrapperStack = new Error(_wrapperMessage).stack;\n    }\n    Object.defineProperty(WrappedException.prototype, \"wrapperMessage\", {\n        get: function get() {\n            return this._wrapperMessage;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(WrappedException.prototype, \"wrapperStack\", {\n        get: function get() {\n            return this._wrapperStack;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(WrappedException.prototype, \"originalException\", {\n        get: function get() {\n            return this._originalException;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(WrappedException.prototype, \"originalStack\", {\n        get: function get() {\n            return this._originalStack;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(WrappedException.prototype, \"context\", {\n        get: function get() {\n            return this._context;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(WrappedException.prototype, \"message\", {\n        get: function get() {\n            return exception_handler_1.ExceptionHandler.exceptionToString(this);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    WrappedException.prototype.toString = function () {\n        return this.message;\n    };\n    return WrappedException;\n}(base_wrapped_exception_1.BaseWrappedException);\nexports.WrappedException = WrappedException;\nfunction makeTypeError(message) {\n    return new TypeError(message);\n}\nexports.makeTypeError = makeTypeError;\nfunction unimplemented() {\n    throw new BaseException('unimplemented');\n}\nexports.unimplemented = unimplemented;\n//# sourceMappingURL=exceptions.js.map"},{"id":8,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_control.js","index":48,"index2":41,"size":1595,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":15,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","type":"cjs require","userRequest":"./ng_control","loc":"14:19-42"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"./ng_control","loc":"23:19-42"},{"moduleId":24,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_status.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","type":"cjs require","userRequest":"./ng_control","loc":"12:19-42"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"./ng_control","loc":"23:19-42"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"./ng_control","loc":"23:19-42"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control","loc":"28:19-53"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_control","loc":"39:19-70"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar exceptions_1 = require('../../facade/exceptions');\nvar abstract_control_directive_1 = require('./abstract_control_directive');\n/**\n * A base class that all control directive extend.\n * It binds a {@link Control} object to a DOM element.\n *\n * Used internally by Angular forms.\n *\n * @experimental\n */\nvar NgControl = function (_super) {\n    __extends(NgControl, _super);\n    function NgControl() {\n        _super.apply(this, arguments);\n        this.name = null;\n        this.valueAccessor = null;\n    }\n    Object.defineProperty(NgControl.prototype, \"validator\", {\n        get: function get() {\n            return exceptions_1.unimplemented();\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControl.prototype, \"asyncValidator\", {\n        get: function get() {\n            return exceptions_1.unimplemented();\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return NgControl;\n}(abstract_control_directive_1.AbstractControlDirective);\nexports.NgControl = NgControl;\n//# sourceMappingURL=ng_control.js.map"},{"id":9,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/async.js","name":"./~/@angular/common/src/facade/async.js","index":52,"index2":63,"size":5408,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":17,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/model.js","module":"./~/@angular/common/src/forms-deprecated/model.js","moduleName":"./~/@angular/common/src/forms-deprecated/model.js","type":"cjs require","userRequest":"../facade/async","loc":"19:14-40"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"../../facade/async","loc":"19:14-43"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"../../facade/async","loc":"19:14-43"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"../../facade/async","loc":"19:14-43"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"../../facade/async","loc":"19:14-43"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"../../facade/async","loc":"19:14-43"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('rxjs/Subject');\nvar Observable_1 = require('rxjs/Observable');\nexports.Observable = Observable_1.Observable;\nvar Subject_2 = require('rxjs/Subject');\nexports.Subject = Subject_2.Subject;\n/**\n * Use by directives and components to emit custom Events.\n *\n * ### Examples\n *\n * In the following example, `Zippy` alternatively emits `open` and `close` events when its\n * title gets clicked:\n *\n * ```\n * @Component({\n *   selector: 'zippy',\n *   template: `\n *   <div class=\"zippy\">\n *     <div (click)=\"toggle()\">Toggle</div>\n *     <div [hidden]=\"!visible\">\n *       <ng-content></ng-content>\n *     </div>\n *  </div>`})\n * export class Zippy {\n *   visible: boolean = true;\n *   @Output() open: EventEmitter<any> = new EventEmitter();\n *   @Output() close: EventEmitter<any> = new EventEmitter();\n *\n *   toggle() {\n *     this.visible = !this.visible;\n *     if (this.visible) {\n *       this.open.emit(null);\n *     } else {\n *       this.close.emit(null);\n *     }\n *   }\n * }\n * ```\n *\n * The events payload can be accessed by the parameter `$event` on the components output event\n * handler:\n *\n * ```\n * <zippy (open)=\"onOpen($event)\" (close)=\"onClose($event)\"></zippy>\n * ```\n *\n * Uses Rx.Observable but provides an adapter to make it work as specified here:\n * https://github.com/jhusain/observable-spec\n *\n * Once a reference implementation of the spec is available, switch to it.\n * @stable\n */\nvar EventEmitter = function (_super) {\n    __extends(EventEmitter, _super);\n    /**\n     * Creates an instance of [EventEmitter], which depending on [isAsync],\n     * delivers events synchronously or asynchronously.\n     */\n    function EventEmitter(isAsync) {\n        if (isAsync === void 0) {\n            isAsync = false;\n        }\n        _super.call(this);\n        this.__isAsync = isAsync;\n    }\n    EventEmitter.prototype.emit = function (value) {\n        _super.prototype.next.call(this, value);\n    };\n    /**\n     * @deprecated - use .emit(value) instead\n     */\n    EventEmitter.prototype.next = function (value) {\n        _super.prototype.next.call(this, value);\n    };\n    EventEmitter.prototype.subscribe = function (generatorOrNext, error, complete) {\n        var schedulerFn;\n        var errorFn = function errorFn(err) {\n            return null;\n        };\n        var completeFn = function completeFn() {\n            return null;\n        };\n        if (generatorOrNext && (typeof generatorOrNext === 'undefined' ? 'undefined' : _typeof(generatorOrNext)) === 'object') {\n            schedulerFn = this.__isAsync ? function (value /** TODO #9100 */) {\n                setTimeout(function () {\n                    return generatorOrNext.next(value);\n                });\n            } : function (value /** TODO #9100 */) {\n                generatorOrNext.next(value);\n            };\n            if (generatorOrNext.error) {\n                errorFn = this.__isAsync ? function (err) {\n                    setTimeout(function () {\n                        return generatorOrNext.error(err);\n                    });\n                } : function (err) {\n                    generatorOrNext.error(err);\n                };\n            }\n            if (generatorOrNext.complete) {\n                completeFn = this.__isAsync ? function () {\n                    setTimeout(function () {\n                        return generatorOrNext.complete();\n                    });\n                } : function () {\n                    generatorOrNext.complete();\n                };\n            }\n        } else {\n            schedulerFn = this.__isAsync ? function (value /** TODO #9100 */) {\n                setTimeout(function () {\n                    return generatorOrNext(value);\n                });\n            } : function (value /** TODO #9100 */) {\n                generatorOrNext(value);\n            };\n            if (error) {\n                errorFn = this.__isAsync ? function (err) {\n                    setTimeout(function () {\n                        return error(err);\n                    });\n                } : function (err) {\n                    error(err);\n                };\n            }\n            if (complete) {\n                completeFn = this.__isAsync ? function () {\n                    setTimeout(function () {\n                        return complete();\n                    });\n                } : function () {\n                    complete();\n                };\n            }\n        }\n        return _super.prototype.subscribe.call(this, schedulerFn, errorFn, completeFn);\n    };\n    return EventEmitter;\n}(Subject_1.Subject);\nexports.EventEmitter = EventEmitter;\n//# sourceMappingURL=async.js.map"},{"id":10,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","name":"./~/@angular/common/src/forms-deprecated/directives/shared.js","index":44,"index2":45,"size":5291,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":22,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_group.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","type":"cjs require","userRequest":"./shared","loc":"21:15-34"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"./shared","loc":"24:15-34"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"./shared","loc":"25:15-34"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"./shared","loc":"24:15-34"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"./shared","loc":"25:15-34"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"./shared","loc":"24:15-34"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar collection_1 = require('../../facade/collection');\nvar exceptions_1 = require('../../facade/exceptions');\nvar lang_1 = require('../../facade/lang');\nvar validators_1 = require('../validators');\nvar checkbox_value_accessor_1 = require('./checkbox_value_accessor');\nvar default_value_accessor_1 = require('./default_value_accessor');\nvar normalize_validator_1 = require('./normalize_validator');\nvar number_value_accessor_1 = require('./number_value_accessor');\nvar radio_control_value_accessor_1 = require('./radio_control_value_accessor');\nvar select_control_value_accessor_1 = require('./select_control_value_accessor');\nvar select_multiple_control_value_accessor_1 = require('./select_multiple_control_value_accessor');\nfunction controlPath(name, parent) {\n    var p = collection_1.ListWrapper.clone(parent.path);\n    p.push(name);\n    return p;\n}\nexports.controlPath = controlPath;\nfunction setUpControl(control, dir) {\n    if (lang_1.isBlank(control)) _throwError(dir, 'Cannot find control with');\n    if (lang_1.isBlank(dir.valueAccessor)) _throwError(dir, 'No value accessor for form control with');\n    control.validator = validators_1.Validators.compose([control.validator, dir.validator]);\n    control.asyncValidator = validators_1.Validators.composeAsync([control.asyncValidator, dir.asyncValidator]);\n    dir.valueAccessor.writeValue(control.value);\n    // view -> model\n    dir.valueAccessor.registerOnChange(function (newValue) {\n        dir.viewToModelUpdate(newValue);\n        control.updateValue(newValue, { emitModelToViewChange: false });\n        control.markAsDirty();\n    });\n    // model -> view\n    control.registerOnChange(function (newValue) {\n        return dir.valueAccessor.writeValue(newValue);\n    });\n    // touched\n    dir.valueAccessor.registerOnTouched(function () {\n        return control.markAsTouched();\n    });\n}\nexports.setUpControl = setUpControl;\nfunction setUpControlGroup(control, dir) {\n    if (lang_1.isBlank(control)) _throwError(dir, 'Cannot find control with');\n    control.validator = validators_1.Validators.compose([control.validator, dir.validator]);\n    control.asyncValidator = validators_1.Validators.composeAsync([control.asyncValidator, dir.asyncValidator]);\n}\nexports.setUpControlGroup = setUpControlGroup;\nfunction _throwError(dir, message) {\n    var messageEnd;\n    if (dir.path.length > 1) {\n        messageEnd = \"path: '\" + dir.path.join(' -> ') + \"'\";\n    } else if (dir.path[0]) {\n        messageEnd = \"name: '\" + dir.path + \"'\";\n    } else {\n        messageEnd = 'unspecified name';\n    }\n    throw new exceptions_1.BaseException(message + \" \" + messageEnd);\n}\nfunction composeValidators(validators) {\n    return lang_1.isPresent(validators) ? validators_1.Validators.compose(validators.map(normalize_validator_1.normalizeValidator)) : null;\n}\nexports.composeValidators = composeValidators;\nfunction composeAsyncValidators(validators) {\n    return lang_1.isPresent(validators) ? validators_1.Validators.composeAsync(validators.map(normalize_validator_1.normalizeAsyncValidator)) : null;\n}\nexports.composeAsyncValidators = composeAsyncValidators;\nfunction isPropertyUpdated(changes, viewModel) {\n    if (!collection_1.StringMapWrapper.contains(changes, 'model')) return false;\n    var change = changes['model'];\n    if (change.isFirstChange()) return true;\n    return !lang_1.looseIdentical(viewModel, change.currentValue);\n}\nexports.isPropertyUpdated = isPropertyUpdated;\n// TODO: vsavkin remove it once https://github.com/angular/angular/issues/3011 is implemented\nfunction selectValueAccessor(dir, valueAccessors) {\n    if (lang_1.isBlank(valueAccessors)) return null;\n    var defaultAccessor;\n    var builtinAccessor;\n    var customAccessor;\n    valueAccessors.forEach(function (v) {\n        if (lang_1.hasConstructor(v, default_value_accessor_1.DefaultValueAccessor)) {\n            defaultAccessor = v;\n        } else if (lang_1.hasConstructor(v, checkbox_value_accessor_1.CheckboxControlValueAccessor) || lang_1.hasConstructor(v, number_value_accessor_1.NumberValueAccessor) || lang_1.hasConstructor(v, select_control_value_accessor_1.SelectControlValueAccessor) || lang_1.hasConstructor(v, select_multiple_control_value_accessor_1.SelectMultipleControlValueAccessor) || lang_1.hasConstructor(v, radio_control_value_accessor_1.RadioControlValueAccessor)) {\n            if (lang_1.isPresent(builtinAccessor)) _throwError(dir, 'More than one built-in value accessor matches form control with');\n            builtinAccessor = v;\n        } else {\n            if (lang_1.isPresent(customAccessor)) _throwError(dir, 'More than one custom value accessor matches form control with');\n            customAccessor = v;\n        }\n    });\n    if (lang_1.isPresent(customAccessor)) return customAccessor;\n    if (lang_1.isPresent(builtinAccessor)) return builtinAccessor;\n    if (lang_1.isPresent(defaultAccessor)) return defaultAccessor;\n    _throwError(dir, 'No valid value accessor for form control with');\n    return null;\n}\nexports.selectValueAccessor = selectValueAccessor;\n//# sourceMappingURL=shared.js.map"},{"id":11,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/control_container.js","name":"./~/@angular/common/src/forms-deprecated/directives/control_container.js","index":42,"index2":38,"size":1585,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":22,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_group.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","type":"cjs require","userRequest":"./control_container","loc":"20:26-56"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"./control_container","loc":"21:26-56"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"./control_container","loc":"24:26-56"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"./control_container","loc":"24:26-56"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/control_container","loc":"33:26-84"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar abstract_control_directive_1 = require('./abstract_control_directive');\n/**\n * A directive that contains multiple {@link NgControl}s.\n *\n * Only used by the forms module.\n *\n * @experimental\n */\nvar ControlContainer = function (_super) {\n    __extends(ControlContainer, _super);\n    function ControlContainer() {\n        _super.apply(this, arguments);\n    }\n    Object.defineProperty(ControlContainer.prototype, \"formDirective\", {\n        /**\n         * Get the form to which this container belongs.\n         */\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ControlContainer.prototype, \"path\", {\n        /**\n         * Get the path to this container.\n         */\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return ControlContainer;\n}(abstract_control_directive_1.AbstractControlDirective);\nexports.ControlContainer = ControlContainer;\n//# sourceMappingURL=control_container.js.map"},{"id":12,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/root.js","name":"./~/rxjs/util/root.js","index":41,"index2":34,"size":853,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/observable/PromiseObservable.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":35,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observable.js","module":"./~/rxjs/Observable.js","moduleName":"./~/rxjs/Observable.js","type":"cjs require","userRequest":"./util/root","loc":"3:13-35"},{"moduleId":37,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/symbol/rxSubscriber.js","module":"./~/rxjs/symbol/rxSubscriber.js","moduleName":"./~/rxjs/symbol/rxSubscriber.js","type":"cjs require","userRequest":"../util/root","loc":"3:13-36"},{"moduleId":80,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/observable/PromiseObservable.js","module":"./~/rxjs/observable/PromiseObservable.js","moduleName":"./~/rxjs/observable/PromiseObservable.js","type":"cjs require","userRequest":"../util/root","loc":"11:13-36"},{"moduleId":81,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/operator/toPromise.js","module":"./~/rxjs/operator/toPromise.js","moduleName":"./~/rxjs/operator/toPromise.js","type":"cjs require","userRequest":"../util/root","loc":"3:13-36"},{"moduleId":82,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/symbol/observable.js","module":"./~/rxjs/symbol/observable.js","moduleName":"./~/rxjs/symbol/observable.js","type":"cjs require","userRequest":"../util/root","loc":"3:13-36"}],"source":"\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar objectTypes = {\n    'boolean': false,\n    'function': true,\n    'object': true,\n    'number': false,\n    'string': false,\n    'undefined': false\n};\nexports.root = objectTypes[typeof self === 'undefined' ? 'undefined' : _typeof(self)] && self || objectTypes[typeof window === 'undefined' ? 'undefined' : _typeof(window)] && window;\nvar freeGlobal = objectTypes[typeof global === 'undefined' ? 'undefined' : _typeof(global)] && global;\nif (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {\n    exports.root = freeGlobal;\n}\n//# sourceMappingURL=root.js.map"},{"id":13,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","index":35,"index2":32,"size":1914,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./checkbox_value_accessor","loc":"14:32-68"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/checkbox_value_accessor","loc":"10:32-79"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/checkbox_value_accessor","loc":"24:32-79"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/checkbox_value_accessor","loc":"31:32-96"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar control_value_accessor_1 = require('./control_value_accessor');\nexports.CHECKBOX_VALUE_ACCESSOR = {\n    provide: control_value_accessor_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () {\n        return CheckboxControlValueAccessor;\n    }),\n    multi: true\n};\nvar CheckboxControlValueAccessor = function () {\n    function CheckboxControlValueAccessor(_renderer, _elementRef) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        this.onChange = function (_) {};\n        this.onTouched = function () {};\n    }\n    CheckboxControlValueAccessor.prototype.writeValue = function (value) {\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'checked', value);\n    };\n    CheckboxControlValueAccessor.prototype.registerOnChange = function (fn) {\n        this.onChange = fn;\n    };\n    CheckboxControlValueAccessor.prototype.registerOnTouched = function (fn) {\n        this.onTouched = fn;\n    };\n    /** @nocollapse */\n    CheckboxControlValueAccessor.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'input[type=checkbox][ngControl],input[type=checkbox][ngFormControl],input[type=checkbox][ngModel]',\n            host: { '(change)': 'onChange($event.target.checked)', '(blur)': 'onTouched()' },\n            providers: [exports.CHECKBOX_VALUE_ACCESSOR]\n        }] }];\n    /** @nocollapse */\n    CheckboxControlValueAccessor.ctorParameters = [{ type: core_1.Renderer }, { type: core_1.ElementRef }];\n    return CheckboxControlValueAccessor;\n}();\nexports.CheckboxControlValueAccessor = CheckboxControlValueAccessor;\n//# sourceMappingURL=checkbox_value_accessor.js.map"},{"id":14,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","index":37,"index2":33,"size":2262,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./default_value_accessor","loc":"15:31-66"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/default_value_accessor","loc":"11:31-77"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/default_value_accessor","loc":"26:31-77"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/default_value_accessor","loc":"37:31-94"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../../facade/lang');\nvar control_value_accessor_1 = require('./control_value_accessor');\nexports.DEFAULT_VALUE_ACCESSOR = {\n    provide: control_value_accessor_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () {\n        return DefaultValueAccessor;\n    }),\n    multi: true\n};\nvar DefaultValueAccessor = function () {\n    function DefaultValueAccessor(_renderer, _elementRef) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        this.onChange = function (_) {};\n        this.onTouched = function () {};\n    }\n    DefaultValueAccessor.prototype.writeValue = function (value) {\n        var normalizedValue = lang_1.isBlank(value) ? '' : value;\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', normalizedValue);\n    };\n    DefaultValueAccessor.prototype.registerOnChange = function (fn) {\n        this.onChange = fn;\n    };\n    DefaultValueAccessor.prototype.registerOnTouched = function (fn) {\n        this.onTouched = fn;\n    };\n    /** @nocollapse */\n    DefaultValueAccessor.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'input:not([type=checkbox])[ngControl],textarea[ngControl],input:not([type=checkbox])[ngFormControl],textarea[ngFormControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]',\n            // TODO: vsavkin replace the above selector with the one below it once\n            // https://github.com/angular/angular/issues/3011 is implemented\n            // selector: '[ngControl],[ngModel],[ngFormControl]',\n            host: { '(input)': 'onChange($event.target.value)', '(blur)': 'onTouched()' },\n            providers: [exports.DEFAULT_VALUE_ACCESSOR]\n        }] }];\n    /** @nocollapse */\n    DefaultValueAccessor.ctorParameters = [{ type: core_1.Renderer }, { type: core_1.ElementRef }];\n    return DefaultValueAccessor;\n}();\nexports.DefaultValueAccessor = DefaultValueAccessor;\n//# sourceMappingURL=default_value_accessor.js.map"},{"id":15,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","index":47,"index2":42,"size":4569,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./radio_control_value_accessor","loc":"18:37-78"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/radio_control_value_accessor","loc":"20:37-89"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/radio_control_value_accessor","loc":"46:37-89"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/radio_control_value_accessor","loc":"24:37-106"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../../facade/collection');\nvar lang_1 = require('../../facade/lang');\nvar control_value_accessor_1 = require('./control_value_accessor');\nvar ng_control_1 = require('./ng_control');\nexports.RADIO_VALUE_ACCESSOR = {\n    provide: control_value_accessor_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () {\n        return RadioControlValueAccessor;\n    }),\n    multi: true\n};\nvar RadioControlRegistry = function () {\n    function RadioControlRegistry() {\n        this._accessors = [];\n    }\n    RadioControlRegistry.prototype.add = function (control, accessor) {\n        this._accessors.push([control, accessor]);\n    };\n    RadioControlRegistry.prototype.remove = function (accessor) {\n        var indexToRemove = -1;\n        for (var i = 0; i < this._accessors.length; ++i) {\n            if (this._accessors[i][1] === accessor) {\n                indexToRemove = i;\n            }\n        }\n        collection_1.ListWrapper.removeAt(this._accessors, indexToRemove);\n    };\n    RadioControlRegistry.prototype.select = function (accessor) {\n        var _this = this;\n        this._accessors.forEach(function (c) {\n            if (_this._isSameGroup(c, accessor) && c[1] !== accessor) {\n                c[1].fireUncheck();\n            }\n        });\n    };\n    RadioControlRegistry.prototype._isSameGroup = function (controlPair, accessor) {\n        return controlPair[0].control.root === accessor._control.control.root && controlPair[1].name === accessor.name;\n    };\n    /** @nocollapse */\n    RadioControlRegistry.decorators = [{ type: core_1.Injectable }];\n    return RadioControlRegistry;\n}();\nexports.RadioControlRegistry = RadioControlRegistry;\n/**\n * The value provided by the forms API for radio buttons.\n *\n * @experimental\n */\nvar RadioButtonState = function () {\n    function RadioButtonState(checked, value) {\n        this.checked = checked;\n        this.value = value;\n    }\n    return RadioButtonState;\n}();\nexports.RadioButtonState = RadioButtonState;\nvar RadioControlValueAccessor = function () {\n    function RadioControlValueAccessor(_renderer, _elementRef, _registry, _injector) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        this._registry = _registry;\n        this._injector = _injector;\n        this.onChange = function () {};\n        this.onTouched = function () {};\n    }\n    RadioControlValueAccessor.prototype.ngOnInit = function () {\n        this._control = this._injector.get(ng_control_1.NgControl);\n        this._registry.add(this._control, this);\n    };\n    RadioControlValueAccessor.prototype.ngOnDestroy = function () {\n        this._registry.remove(this);\n    };\n    RadioControlValueAccessor.prototype.writeValue = function (value) {\n        this._state = value;\n        if (lang_1.isPresent(value) && value.checked) {\n            this._renderer.setElementProperty(this._elementRef.nativeElement, 'checked', true);\n        }\n    };\n    RadioControlValueAccessor.prototype.registerOnChange = function (fn) {\n        var _this = this;\n        this._fn = fn;\n        this.onChange = function () {\n            fn(new RadioButtonState(true, _this._state.value));\n            _this._registry.select(_this);\n        };\n    };\n    RadioControlValueAccessor.prototype.fireUncheck = function () {\n        this._fn(new RadioButtonState(false, this._state.value));\n    };\n    RadioControlValueAccessor.prototype.registerOnTouched = function (fn) {\n        this.onTouched = fn;\n    };\n    /** @nocollapse */\n    RadioControlValueAccessor.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'input[type=radio][ngControl],input[type=radio][ngFormControl],input[type=radio][ngModel]',\n            host: { '(change)': 'onChange()', '(blur)': 'onTouched()' },\n            providers: [exports.RADIO_VALUE_ACCESSOR]\n        }] }];\n    /** @nocollapse */\n    RadioControlValueAccessor.ctorParameters = [{ type: core_1.Renderer }, { type: core_1.ElementRef }, { type: RadioControlRegistry }, { type: core_1.Injector }];\n    /** @nocollapse */\n    RadioControlValueAccessor.propDecorators = {\n        'name': [{ type: core_1.Input }]\n    };\n    return RadioControlValueAccessor;\n}();\nexports.RadioControlValueAccessor = RadioControlValueAccessor;\n//# sourceMappingURL=radio_control_value_accessor.js.map"},{"id":16,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","index":49,"index2":43,"size":5397,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./select_control_value_accessor","loc":"19:38-80"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/select_control_value_accessor","loc":"21:38-91"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/select_control_value_accessor","loc":"49:38-91"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/select_control_value_accessor","loc":"55:38-108"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../../facade/collection');\nvar lang_1 = require('../../facade/lang');\nvar control_value_accessor_1 = require('./control_value_accessor');\nexports.SELECT_VALUE_ACCESSOR = {\n    provide: control_value_accessor_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () {\n        return SelectControlValueAccessor;\n    }),\n    multi: true\n};\nfunction _buildValueString(id, value) {\n    if (lang_1.isBlank(id)) return \"\" + value;\n    if (!lang_1.isPrimitive(value)) value = 'Object';\n    return lang_1.StringWrapper.slice(id + \": \" + value, 0, 50);\n}\nfunction _extractId(valueString) {\n    return valueString.split(':')[0];\n}\nvar SelectControlValueAccessor = function () {\n    function SelectControlValueAccessor(_renderer, _elementRef) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        /** @internal */\n        this._optionMap = new Map();\n        /** @internal */\n        this._idCounter = 0;\n        this.onChange = function (_) {};\n        this.onTouched = function () {};\n    }\n    SelectControlValueAccessor.prototype.writeValue = function (value) {\n        this.value = value;\n        var valueString = _buildValueString(this._getOptionId(value), value);\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', valueString);\n    };\n    SelectControlValueAccessor.prototype.registerOnChange = function (fn) {\n        var _this = this;\n        this.onChange = function (valueString) {\n            _this.value = valueString;\n            fn(_this._getOptionValue(valueString));\n        };\n    };\n    SelectControlValueAccessor.prototype.registerOnTouched = function (fn) {\n        this.onTouched = fn;\n    };\n    /** @internal */\n    SelectControlValueAccessor.prototype._registerOption = function () {\n        return (this._idCounter++).toString();\n    };\n    /** @internal */\n    SelectControlValueAccessor.prototype._getOptionId = function (value) {\n        for (var _i = 0, _a = collection_1.MapWrapper.keys(this._optionMap); _i < _a.length; _i++) {\n            var id = _a[_i];\n            if (lang_1.looseIdentical(this._optionMap.get(id), value)) return id;\n        }\n        return null;\n    };\n    /** @internal */\n    SelectControlValueAccessor.prototype._getOptionValue = function (valueString) {\n        var value = this._optionMap.get(_extractId(valueString));\n        return lang_1.isPresent(value) ? value : valueString;\n    };\n    /** @nocollapse */\n    SelectControlValueAccessor.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'select:not([multiple])[ngControl],select:not([multiple])[ngFormControl],select:not([multiple])[ngModel]',\n            host: { '(change)': 'onChange($event.target.value)', '(blur)': 'onTouched()' },\n            providers: [exports.SELECT_VALUE_ACCESSOR]\n        }] }];\n    /** @nocollapse */\n    SelectControlValueAccessor.ctorParameters = [{ type: core_1.Renderer }, { type: core_1.ElementRef }];\n    return SelectControlValueAccessor;\n}();\nexports.SelectControlValueAccessor = SelectControlValueAccessor;\nvar NgSelectOption = function () {\n    function NgSelectOption(_element, _renderer, _select) {\n        this._element = _element;\n        this._renderer = _renderer;\n        this._select = _select;\n        if (lang_1.isPresent(this._select)) this.id = this._select._registerOption();\n    }\n    Object.defineProperty(NgSelectOption.prototype, \"ngValue\", {\n        set: function set(value) {\n            if (this._select == null) return;\n            this._select._optionMap.set(this.id, value);\n            this._setElementValue(_buildValueString(this.id, value));\n            this._select.writeValue(this._select.value);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgSelectOption.prototype, \"value\", {\n        set: function set(value) {\n            this._setElementValue(value);\n            if (lang_1.isPresent(this._select)) this._select.writeValue(this._select.value);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @internal */\n    NgSelectOption.prototype._setElementValue = function (value) {\n        this._renderer.setElementProperty(this._element.nativeElement, 'value', value);\n    };\n    NgSelectOption.prototype.ngOnDestroy = function () {\n        if (lang_1.isPresent(this._select)) {\n            this._select._optionMap.delete(this.id);\n            this._select.writeValue(this._select.value);\n        }\n    };\n    /** @nocollapse */\n    NgSelectOption.decorators = [{ type: core_1.Directive, args: [{ selector: 'option' }] }];\n    /** @nocollapse */\n    NgSelectOption.ctorParameters = [{ type: core_1.ElementRef }, { type: core_1.Renderer }, { type: SelectControlValueAccessor, decorators: [{ type: core_1.Optional }, { type: core_1.Host }] }];\n    /** @nocollapse */\n    NgSelectOption.propDecorators = {\n        'ngValue': [{ type: core_1.Input, args: ['ngValue'] }],\n        'value': [{ type: core_1.Input, args: ['value'] }]\n    };\n    return NgSelectOption;\n}();\nexports.NgSelectOption = NgSelectOption;\n//# sourceMappingURL=select_control_value_accessor.js.map"},{"id":17,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/model.js","name":"./~/@angular/common/src/forms-deprecated/model.js","index":71,"index2":67,"size":21430,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"../model","loc":"22:14-33"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"../model","loc":"20:14-33"},{"moduleId":51,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/form_builder.js","module":"./~/@angular/common/src/forms-deprecated/form_builder.js","moduleName":"./~/@angular/common/src/forms-deprecated/form_builder.js","type":"cjs require","userRequest":"./model","loc":"13:14-32"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/model","loc":"65:14-49"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar PromiseObservable_1 = require('rxjs/observable/PromiseObservable');\nvar async_1 = require('../facade/async');\nvar collection_1 = require('../facade/collection');\nvar lang_1 = require('../facade/lang');\n/**\n * Indicates that a Control is valid, i.e. that no errors exist in the input value.\n */\nexports.VALID = 'VALID';\n/**\n * Indicates that a Control is invalid, i.e. that an error exists in the input value.\n */\nexports.INVALID = 'INVALID';\n/**\n * Indicates that a Control is pending, i.e. that async validation is occurring and\n * errors are not yet available for the input value.\n */\nexports.PENDING = 'PENDING';\nfunction isControl(control) {\n    return control instanceof AbstractControl;\n}\nexports.isControl = isControl;\nfunction _find(control, path) {\n    if (lang_1.isBlank(path)) return null;\n    if (!(path instanceof Array)) {\n        path = path.split('/');\n    }\n    if (path instanceof Array && collection_1.ListWrapper.isEmpty(path)) return null;\n    return path.reduce(function (v, name) {\n        if (v instanceof ControlGroup) {\n            return lang_1.isPresent(v.controls[name]) ? v.controls[name] : null;\n        } else if (v instanceof ControlArray) {\n            var index = name;\n            return lang_1.isPresent(v.at(index)) ? v.at(index) : null;\n        } else {\n            return null;\n        }\n    }, control);\n}\nfunction toObservable(r) {\n    return lang_1.isPromise(r) ? PromiseObservable_1.PromiseObservable.create(r) : r;\n}\n/**\n * @experimental\n */\nvar AbstractControl = function () {\n    function AbstractControl(validator, asyncValidator) {\n        this.validator = validator;\n        this.asyncValidator = asyncValidator;\n        this._pristine = true;\n        this._touched = false;\n    }\n    Object.defineProperty(AbstractControl.prototype, \"value\", {\n        get: function get() {\n            return this._value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"status\", {\n        get: function get() {\n            return this._status;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"valid\", {\n        get: function get() {\n            return this._status === exports.VALID;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"errors\", {\n        /**\n         * Returns the errors of this control.\n         */\n        get: function get() {\n            return this._errors;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"pristine\", {\n        get: function get() {\n            return this._pristine;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"dirty\", {\n        get: function get() {\n            return !this.pristine;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"touched\", {\n        get: function get() {\n            return this._touched;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"untouched\", {\n        get: function get() {\n            return !this._touched;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"valueChanges\", {\n        get: function get() {\n            return this._valueChanges;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"statusChanges\", {\n        get: function get() {\n            return this._statusChanges;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"pending\", {\n        get: function get() {\n            return this._status == exports.PENDING;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    AbstractControl.prototype.markAsTouched = function () {\n        this._touched = true;\n    };\n    AbstractControl.prototype.markAsDirty = function (_a) {\n        var onlySelf = (_a === void 0 ? {} : _a).onlySelf;\n        onlySelf = lang_1.normalizeBool(onlySelf);\n        this._pristine = false;\n        if (lang_1.isPresent(this._parent) && !onlySelf) {\n            this._parent.markAsDirty({ onlySelf: onlySelf });\n        }\n    };\n    AbstractControl.prototype.markAsPending = function (_a) {\n        var onlySelf = (_a === void 0 ? {} : _a).onlySelf;\n        onlySelf = lang_1.normalizeBool(onlySelf);\n        this._status = exports.PENDING;\n        if (lang_1.isPresent(this._parent) && !onlySelf) {\n            this._parent.markAsPending({ onlySelf: onlySelf });\n        }\n    };\n    AbstractControl.prototype.setParent = function (parent) {\n        this._parent = parent;\n    };\n    AbstractControl.prototype.updateValueAndValidity = function (_a) {\n        var _b = _a === void 0 ? {} : _a,\n            onlySelf = _b.onlySelf,\n            emitEvent = _b.emitEvent;\n        onlySelf = lang_1.normalizeBool(onlySelf);\n        emitEvent = lang_1.isPresent(emitEvent) ? emitEvent : true;\n        this._updateValue();\n        this._errors = this._runValidator();\n        this._status = this._calculateStatus();\n        if (this._status == exports.VALID || this._status == exports.PENDING) {\n            this._runAsyncValidator(emitEvent);\n        }\n        if (emitEvent) {\n            this._valueChanges.emit(this._value);\n            this._statusChanges.emit(this._status);\n        }\n        if (lang_1.isPresent(this._parent) && !onlySelf) {\n            this._parent.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });\n        }\n    };\n    AbstractControl.prototype._runValidator = function () {\n        return lang_1.isPresent(this.validator) ? this.validator(this) : null;\n    };\n    AbstractControl.prototype._runAsyncValidator = function (emitEvent) {\n        var _this = this;\n        if (lang_1.isPresent(this.asyncValidator)) {\n            this._status = exports.PENDING;\n            this._cancelExistingSubscription();\n            var obs = toObservable(this.asyncValidator(this));\n            this._asyncValidationSubscription = obs.subscribe({ next: function next(res) {\n                    return _this.setErrors(res, { emitEvent: emitEvent });\n                } });\n        }\n    };\n    AbstractControl.prototype._cancelExistingSubscription = function () {\n        if (lang_1.isPresent(this._asyncValidationSubscription)) {\n            this._asyncValidationSubscription.unsubscribe();\n        }\n    };\n    /**\n     * Sets errors on a control.\n     *\n     * This is used when validations are run not automatically, but manually by the user.\n     *\n     * Calling `setErrors` will also update the validity of the parent control.\n     *\n     * ## Usage\n     *\n     * ```\n     * var login = new Control(\"someLogin\");\n     * login.setErrors({\n     *   \"notUnique\": true\n     * });\n     *\n     * expect(login.valid).toEqual(false);\n     * expect(login.errors).toEqual({\"notUnique\": true});\n     *\n     * login.updateValue(\"someOtherLogin\");\n     *\n     * expect(login.valid).toEqual(true);\n     * ```\n     */\n    AbstractControl.prototype.setErrors = function (errors, _a) {\n        var emitEvent = (_a === void 0 ? {} : _a).emitEvent;\n        emitEvent = lang_1.isPresent(emitEvent) ? emitEvent : true;\n        this._errors = errors;\n        this._status = this._calculateStatus();\n        if (emitEvent) {\n            this._statusChanges.emit(this._status);\n        }\n        if (lang_1.isPresent(this._parent)) {\n            this._parent._updateControlsErrors();\n        }\n    };\n    AbstractControl.prototype.find = function (path) {\n        return _find(this, path);\n    };\n    AbstractControl.prototype.getError = function (errorCode, path) {\n        if (path === void 0) {\n            path = null;\n        }\n        var control = lang_1.isPresent(path) && !collection_1.ListWrapper.isEmpty(path) ? this.find(path) : this;\n        if (lang_1.isPresent(control) && lang_1.isPresent(control._errors)) {\n            return collection_1.StringMapWrapper.get(control._errors, errorCode);\n        } else {\n            return null;\n        }\n    };\n    AbstractControl.prototype.hasError = function (errorCode, path) {\n        if (path === void 0) {\n            path = null;\n        }\n        return lang_1.isPresent(this.getError(errorCode, path));\n    };\n    Object.defineProperty(AbstractControl.prototype, \"root\", {\n        get: function get() {\n            var x = this;\n            while (lang_1.isPresent(x._parent)) {\n                x = x._parent;\n            }\n            return x;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @internal */\n    AbstractControl.prototype._updateControlsErrors = function () {\n        this._status = this._calculateStatus();\n        if (lang_1.isPresent(this._parent)) {\n            this._parent._updateControlsErrors();\n        }\n    };\n    /** @internal */\n    AbstractControl.prototype._initObservables = function () {\n        this._valueChanges = new async_1.EventEmitter();\n        this._statusChanges = new async_1.EventEmitter();\n    };\n    AbstractControl.prototype._calculateStatus = function () {\n        if (lang_1.isPresent(this._errors)) return exports.INVALID;\n        if (this._anyControlsHaveStatus(exports.PENDING)) return exports.PENDING;\n        if (this._anyControlsHaveStatus(exports.INVALID)) return exports.INVALID;\n        return exports.VALID;\n    };\n    return AbstractControl;\n}();\nexports.AbstractControl = AbstractControl;\n/**\n * Defines a part of a form that cannot be divided into other controls. `Control`s have values and\n * validation state, which is determined by an optional validation function.\n *\n * `Control` is one of the three fundamental building blocks used to define forms in Angular, along\n * with {@link ControlGroup} and {@link ControlArray}.\n *\n * ## Usage\n *\n * By default, a `Control` is created for every `<input>` or other form component.\n * With {@link NgFormControl} or {@link NgFormModel} an existing {@link Control} can be\n * bound to a DOM element instead. This `Control` can be configured with a custom\n * validation function.\n *\n * ### Example ([live demo](http://plnkr.co/edit/23DESOpbNnBpBHZt1BR4?p=preview))\n *\n * @experimental\n */\nvar Control = function (_super) {\n    __extends(Control, _super);\n    function Control(value, validator, asyncValidator) {\n        if (value === void 0) {\n            value = null;\n        }\n        if (validator === void 0) {\n            validator = null;\n        }\n        if (asyncValidator === void 0) {\n            asyncValidator = null;\n        }\n        _super.call(this, validator, asyncValidator);\n        this._value = value;\n        this.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n        this._initObservables();\n    }\n    /**\n     * Set the value of the control to `value`.\n     *\n     * If `onlySelf` is `true`, this change will only affect the validation of this `Control`\n     * and not its parent component. If `emitEvent` is `true`, this change will cause a\n     * `valueChanges` event on the `Control` to be emitted. Both of these options default to\n     * `false`.\n     *\n     * If `emitModelToViewChange` is `true`, the view will be notified about the new value\n     * via an `onChange` event. This is the default behavior if `emitModelToViewChange` is not\n     * specified.\n     */\n    Control.prototype.updateValue = function (value, _a) {\n        var _b = _a === void 0 ? {} : _a,\n            onlySelf = _b.onlySelf,\n            emitEvent = _b.emitEvent,\n            emitModelToViewChange = _b.emitModelToViewChange;\n        emitModelToViewChange = lang_1.isPresent(emitModelToViewChange) ? emitModelToViewChange : true;\n        this._value = value;\n        if (lang_1.isPresent(this._onChange) && emitModelToViewChange) this._onChange(this._value);\n        this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });\n    };\n    /**\n     * @internal\n     */\n    Control.prototype._updateValue = function () {};\n    /**\n     * @internal\n     */\n    Control.prototype._anyControlsHaveStatus = function (status) {\n        return false;\n    };\n    /**\n     * Register a listener for change events.\n     */\n    Control.prototype.registerOnChange = function (fn) {\n        this._onChange = fn;\n    };\n    return Control;\n}(AbstractControl);\nexports.Control = Control;\n/**\n * Defines a part of a form, of fixed length, that can contain other controls.\n *\n * A `ControlGroup` aggregates the values of each {@link Control} in the group.\n * The status of a `ControlGroup` depends on the status of its children.\n * If one of the controls in a group is invalid, the entire group is invalid.\n * Similarly, if a control changes its value, the entire group changes as well.\n *\n * `ControlGroup` is one of the three fundamental building blocks used to define forms in Angular,\n * along with {@link Control} and {@link ControlArray}. {@link ControlArray} can also contain other\n * controls, but is of variable length.\n *\n * ### Example ([live demo](http://plnkr.co/edit/23DESOpbNnBpBHZt1BR4?p=preview))\n *\n * @experimental\n */\nvar ControlGroup = function (_super) {\n    __extends(ControlGroup, _super);\n    function ControlGroup(controls, optionals, validator, asyncValidator) {\n        if (optionals === void 0) {\n            optionals = null;\n        }\n        if (validator === void 0) {\n            validator = null;\n        }\n        if (asyncValidator === void 0) {\n            asyncValidator = null;\n        }\n        _super.call(this, validator, asyncValidator);\n        this.controls = controls;\n        this._optionals = lang_1.isPresent(optionals) ? optionals : {};\n        this._initObservables();\n        this._setParentForControls();\n        this.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n    }\n    /**\n     * Register a control with the group's list of controls.\n     */\n    ControlGroup.prototype.registerControl = function (name, control) {\n        this.controls[name] = control;\n        control.setParent(this);\n    };\n    /**\n     * Add a control to this group.\n     */\n    ControlGroup.prototype.addControl = function (name, control) {\n        this.registerControl(name, control);\n        this.updateValueAndValidity();\n    };\n    /**\n     * Remove a control from this group.\n     */\n    ControlGroup.prototype.removeControl = function (name) {\n        collection_1.StringMapWrapper.delete(this.controls, name);\n        this.updateValueAndValidity();\n    };\n    /**\n     * Mark the named control as non-optional.\n     */\n    ControlGroup.prototype.include = function (controlName) {\n        collection_1.StringMapWrapper.set(this._optionals, controlName, true);\n        this.updateValueAndValidity();\n    };\n    /**\n     * Mark the named control as optional.\n     */\n    ControlGroup.prototype.exclude = function (controlName) {\n        collection_1.StringMapWrapper.set(this._optionals, controlName, false);\n        this.updateValueAndValidity();\n    };\n    /**\n     * Check whether there is a control with the given name in the group.\n     */\n    ControlGroup.prototype.contains = function (controlName) {\n        var c = collection_1.StringMapWrapper.contains(this.controls, controlName);\n        return c && this._included(controlName);\n    };\n    /** @internal */\n    ControlGroup.prototype._setParentForControls = function () {\n        var _this = this;\n        collection_1.StringMapWrapper.forEach(this.controls, function (control, name) {\n            control.setParent(_this);\n        });\n    };\n    /** @internal */\n    ControlGroup.prototype._updateValue = function () {\n        this._value = this._reduceValue();\n    };\n    /** @internal */\n    ControlGroup.prototype._anyControlsHaveStatus = function (status) {\n        var _this = this;\n        var res = false;\n        collection_1.StringMapWrapper.forEach(this.controls, function (control, name) {\n            res = res || _this.contains(name) && control.status == status;\n        });\n        return res;\n    };\n    /** @internal */\n    ControlGroup.prototype._reduceValue = function () {\n        return this._reduceChildren({}, function (acc, control, name) {\n            acc[name] = control.value;\n            return acc;\n        });\n    };\n    /** @internal */\n    ControlGroup.prototype._reduceChildren = function (initValue, fn) {\n        var _this = this;\n        var res = initValue;\n        collection_1.StringMapWrapper.forEach(this.controls, function (control, name) {\n            if (_this._included(name)) {\n                res = fn(res, control, name);\n            }\n        });\n        return res;\n    };\n    /** @internal */\n    ControlGroup.prototype._included = function (controlName) {\n        var isOptional = collection_1.StringMapWrapper.contains(this._optionals, controlName);\n        return !isOptional || collection_1.StringMapWrapper.get(this._optionals, controlName);\n    };\n    return ControlGroup;\n}(AbstractControl);\nexports.ControlGroup = ControlGroup;\n/**\n * Defines a part of a form, of variable length, that can contain other controls.\n *\n * A `ControlArray` aggregates the values of each {@link Control} in the group.\n * The status of a `ControlArray` depends on the status of its children.\n * If one of the controls in a group is invalid, the entire array is invalid.\n * Similarly, if a control changes its value, the entire array changes as well.\n *\n * `ControlArray` is one of the three fundamental building blocks used to define forms in Angular,\n * along with {@link Control} and {@link ControlGroup}. {@link ControlGroup} can also contain\n * other controls, but is of fixed length.\n *\n * ## Adding or removing controls\n *\n * To change the controls in the array, use the `push`, `insert`, or `removeAt` methods\n * in `ControlArray` itself. These methods ensure the controls are properly tracked in the\n * form's hierarchy. Do not modify the array of `AbstractControl`s used to instantiate\n * the `ControlArray` directly, as that will result in strange and unexpected behavior such\n * as broken change detection.\n *\n * ### Example ([live demo](http://plnkr.co/edit/23DESOpbNnBpBHZt1BR4?p=preview))\n *\n * @experimental\n */\nvar ControlArray = function (_super) {\n    __extends(ControlArray, _super);\n    function ControlArray(controls, validator, asyncValidator) {\n        if (validator === void 0) {\n            validator = null;\n        }\n        if (asyncValidator === void 0) {\n            asyncValidator = null;\n        }\n        _super.call(this, validator, asyncValidator);\n        this.controls = controls;\n        this._initObservables();\n        this._setParentForControls();\n        this.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n    }\n    /**\n     * Get the {@link AbstractControl} at the given `index` in the array.\n     */\n    ControlArray.prototype.at = function (index) {\n        return this.controls[index];\n    };\n    /**\n     * Insert a new {@link AbstractControl} at the end of the array.\n     */\n    ControlArray.prototype.push = function (control) {\n        this.controls.push(control);\n        control.setParent(this);\n        this.updateValueAndValidity();\n    };\n    /**\n     * Insert a new {@link AbstractControl} at the given `index` in the array.\n     */\n    ControlArray.prototype.insert = function (index, control) {\n        collection_1.ListWrapper.insert(this.controls, index, control);\n        control.setParent(this);\n        this.updateValueAndValidity();\n    };\n    /**\n     * Remove the control at the given `index` in the array.\n     */\n    ControlArray.prototype.removeAt = function (index) {\n        collection_1.ListWrapper.removeAt(this.controls, index);\n        this.updateValueAndValidity();\n    };\n    Object.defineProperty(ControlArray.prototype, \"length\", {\n        /**\n         * Length of the control array.\n         */\n        get: function get() {\n            return this.controls.length;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @internal */\n    ControlArray.prototype._updateValue = function () {\n        this._value = this.controls.map(function (control) {\n            return control.value;\n        });\n    };\n    /** @internal */\n    ControlArray.prototype._anyControlsHaveStatus = function (status) {\n        return this.controls.some(function (c) {\n            return c.status == status;\n        });\n    };\n    /** @internal */\n    ControlArray.prototype._setParentForControls = function () {\n        var _this = this;\n        this.controls.forEach(function (control) {\n            control.setParent(_this);\n        });\n    };\n    return ControlArray;\n}(AbstractControl);\nexports.ControlArray = ControlArray;\n//# sourceMappingURL=model.js.map"},{"id":18,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/location_strategy.js","name":"./~/@angular/common/src/location/location_strategy.js","index":80,"index2":77,"size":1924,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":33,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/location.js","module":"./~/@angular/common/src/location/location.js","moduleName":"./~/@angular/common/src/location/location.js","type":"cjs require","userRequest":"./location_strategy","loc":"11:26-56"},{"moduleId":74,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","module":"./~/@angular/common/src/location.js","moduleName":"./~/@angular/common/src/location.js","type":"cjs require","userRequest":"./location/location_strategy","loc":"16:9-48"},{"moduleId":75,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/hash_location_strategy.js","module":"./~/@angular/common/src/location/hash_location_strategy.js","moduleName":"./~/@angular/common/src/location/hash_location_strategy.js","type":"cjs require","userRequest":"./location_strategy","loc":"21:26-56"},{"moduleId":76,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","module":"./~/@angular/common/src/location/path_location_strategy.js","moduleName":"./~/@angular/common/src/location/path_location_strategy.js","type":"cjs require","userRequest":"./location_strategy","loc":"22:26-56"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\n/**\n * `LocationStrategy` is responsible for representing and reading route state\n * from the browser's URL. Angular provides two strategies:\n * {@link HashLocationStrategy} and {@link PathLocationStrategy} (default).\n *\n * This is used under the hood of the {@link Location} service.\n *\n * Applications should use the {@link Router} or {@link Location} services to\n * interact with application route state.\n *\n * For instance, {@link HashLocationStrategy} produces URLs like\n * `http://example.com#/foo`, and {@link PathLocationStrategy} produces\n * `http://example.com/foo` as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @stable\n */\nvar LocationStrategy = function () {\n  function LocationStrategy() {}\n  return LocationStrategy;\n}();\nexports.LocationStrategy = LocationStrategy;\n/**\n * The `APP_BASE_HREF` token represents the base href to be used with the\n * {@link PathLocationStrategy}.\n *\n * If you're using {@link PathLocationStrategy}, you must provide a provider to a string\n * representing the URL prefix that should be preserved when generating and recognizing\n * URLs.\n *\n * ### Example\n *\n * ```\n * import {Component} from '@angular/core';\n * import {ROUTER_DIRECTIVES, ROUTER_PROVIDERS, RouteConfig} from '@angular/router';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @Component({directives: [ROUTER_DIRECTIVES]})\n * @RouteConfig([\n *  {...},\n * ])\n * class AppCmp {\n *   // ...\n * }\n *\n * bootstrap(AppCmp, [\n *   ROUTER_PROVIDERS,\n *   {provide: APP_BASE_HREF, useValue: '/my/app'}\n * ]);\n * ```\n * @stable\n */\nexports.APP_BASE_HREF = new core_1.OpaqueToken('appBaseHref');\n//# sourceMappingURL=location_strategy.js.map"},{"id":19,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/constants.js","name":"./core/src/constants.js","index":89,"index2":85,"size":132,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":38,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/utilities.js","module":"./core/src/utilities.js","moduleName":"./core/src/utilities.js","type":"cjs require","userRequest":"./constants.js","loc":"11:17-42"},{"moduleId":68,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/conformToMask.js","module":"./core/src/conformToMask.js","moduleName":"./core/src/conformToMask.js","type":"cjs require","userRequest":"./constants.js","loc":"10:17-42"},{"moduleId":69,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","module":"./core/src/createTextMaskInputElement.js","moduleName":"./core/src/createTextMaskInputElement.js","type":"cjs require","userRequest":"./constants.js","loc":"23:17-42"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar placeholderChar = exports.placeholderChar = '_';"},{"id":20,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_switch.js","name":"./~/@angular/common/src/directives/ng_switch.js","index":16,"index2":10,"size":6525,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_switch","loc":"28:18-51"},{"moduleId":44,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_plural.js","module":"./~/@angular/common/src/directives/ng_plural.js","moduleName":"./~/@angular/common/src/directives/ng_plural.js","type":"cjs require","userRequest":"./ng_switch","loc":"13:18-40"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_switch","loc":"15:18-40"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../facade/collection');\nvar lang_1 = require('../facade/lang');\nvar _CASE_DEFAULT = new Object();\n// TODO: remove when fully deprecated\nvar _warned = false;\nvar SwitchView = function () {\n    function SwitchView(_viewContainerRef, _templateRef) {\n        this._viewContainerRef = _viewContainerRef;\n        this._templateRef = _templateRef;\n    }\n    SwitchView.prototype.create = function () {\n        this._viewContainerRef.createEmbeddedView(this._templateRef);\n    };\n    SwitchView.prototype.destroy = function () {\n        this._viewContainerRef.clear();\n    };\n    return SwitchView;\n}();\nexports.SwitchView = SwitchView;\nvar NgSwitch = function () {\n    function NgSwitch() {\n        this._useDefault = false;\n        this._valueViews = new Map();\n        this._activeViews = [];\n    }\n    Object.defineProperty(NgSwitch.prototype, \"ngSwitch\", {\n        set: function set(value) {\n            // Empty the currently active ViewContainers\n            this._emptyAllActiveViews();\n            // Add the ViewContainers matching the value (with a fallback to default)\n            this._useDefault = false;\n            var views = this._valueViews.get(value);\n            if (lang_1.isBlank(views)) {\n                this._useDefault = true;\n                views = lang_1.normalizeBlank(this._valueViews.get(_CASE_DEFAULT));\n            }\n            this._activateViews(views);\n            this._switchValue = value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @internal */\n    NgSwitch.prototype._onCaseValueChanged = function (oldCase, newCase, view) {\n        this._deregisterView(oldCase, view);\n        this._registerView(newCase, view);\n        if (oldCase === this._switchValue) {\n            view.destroy();\n            collection_1.ListWrapper.remove(this._activeViews, view);\n        } else if (newCase === this._switchValue) {\n            if (this._useDefault) {\n                this._useDefault = false;\n                this._emptyAllActiveViews();\n            }\n            view.create();\n            this._activeViews.push(view);\n        }\n        // Switch to default when there is no more active ViewContainers\n        if (this._activeViews.length === 0 && !this._useDefault) {\n            this._useDefault = true;\n            this._activateViews(this._valueViews.get(_CASE_DEFAULT));\n        }\n    };\n    /** @internal */\n    NgSwitch.prototype._emptyAllActiveViews = function () {\n        var activeContainers = this._activeViews;\n        for (var i = 0; i < activeContainers.length; i++) {\n            activeContainers[i].destroy();\n        }\n        this._activeViews = [];\n    };\n    /** @internal */\n    NgSwitch.prototype._activateViews = function (views) {\n        // TODO(vicb): assert(this._activeViews.length === 0);\n        if (lang_1.isPresent(views)) {\n            for (var i = 0; i < views.length; i++) {\n                views[i].create();\n            }\n            this._activeViews = views;\n        }\n    };\n    /** @internal */\n    NgSwitch.prototype._registerView = function (value, view) {\n        var views = this._valueViews.get(value);\n        if (lang_1.isBlank(views)) {\n            views = [];\n            this._valueViews.set(value, views);\n        }\n        views.push(view);\n    };\n    /** @internal */\n    NgSwitch.prototype._deregisterView = function (value, view) {\n        // `_CASE_DEFAULT` is used a marker for non-registered cases\n        if (value === _CASE_DEFAULT) return;\n        var views = this._valueViews.get(value);\n        if (views.length == 1) {\n            this._valueViews.delete(value);\n        } else {\n            collection_1.ListWrapper.remove(views, view);\n        }\n    };\n    /** @nocollapse */\n    NgSwitch.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngSwitch]' }] }];\n    /** @nocollapse */\n    NgSwitch.propDecorators = {\n        'ngSwitch': [{ type: core_1.Input }]\n    };\n    return NgSwitch;\n}();\nexports.NgSwitch = NgSwitch;\nvar NgSwitchCase = function () {\n    function NgSwitchCase(viewContainer, templateRef, ngSwitch) {\n        // `_CASE_DEFAULT` is used as a marker for a not yet initialized value\n        /** @internal */\n        this._value = _CASE_DEFAULT;\n        this._switch = ngSwitch;\n        this._view = new SwitchView(viewContainer, templateRef);\n    }\n    Object.defineProperty(NgSwitchCase.prototype, \"ngSwitchCase\", {\n        set: function set(value) {\n            this._switch._onCaseValueChanged(this._value, value, this._view);\n            this._value = value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgSwitchCase.prototype, \"ngSwitchWhen\", {\n        set: function set(value) {\n            if (!_warned) {\n                _warned = true;\n                console.warn('*ngSwitchWhen is deprecated and will be removed. Use *ngSwitchCase instead');\n            }\n            this._switch._onCaseValueChanged(this._value, value, this._view);\n            this._value = value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @nocollapse */\n    NgSwitchCase.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngSwitchCase],[ngSwitchWhen]' }] }];\n    /** @nocollapse */\n    NgSwitchCase.ctorParameters = [{ type: core_1.ViewContainerRef }, { type: core_1.TemplateRef }, { type: NgSwitch, decorators: [{ type: core_1.Host }] }];\n    /** @nocollapse */\n    NgSwitchCase.propDecorators = {\n        'ngSwitchCase': [{ type: core_1.Input }],\n        'ngSwitchWhen': [{ type: core_1.Input }]\n    };\n    return NgSwitchCase;\n}();\nexports.NgSwitchCase = NgSwitchCase;\nvar NgSwitchDefault = function () {\n    function NgSwitchDefault(viewContainer, templateRef, sswitch) {\n        sswitch._registerView(_CASE_DEFAULT, new SwitchView(viewContainer, templateRef));\n    }\n    /** @nocollapse */\n    NgSwitchDefault.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngSwitchDefault]' }] }];\n    /** @nocollapse */\n    NgSwitchDefault.ctorParameters = [{ type: core_1.ViewContainerRef }, { type: core_1.TemplateRef }, { type: NgSwitch, decorators: [{ type: core_1.Host }] }];\n    return NgSwitchDefault;\n}();\nexports.NgSwitchDefault = NgSwitchDefault;\n//# sourceMappingURL=ng_switch.js.map"},{"id":21,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","name":"./~/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","index":43,"index2":37,"size":2898,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":8,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control.js","type":"cjs require","userRequest":"./abstract_control_directive","loc":"19:35-74"},{"moduleId":11,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/control_container.js","module":"./~/@angular/common/src/forms-deprecated/directives/control_container.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/control_container.js","type":"cjs require","userRequest":"./abstract_control_directive","loc":"18:35-74"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/abstract_control_directive","loc":"29:35-102"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar exceptions_1 = require('../../facade/exceptions');\nvar lang_1 = require('../../facade/lang');\n/**\n * Base class for control directives.\n *\n * Only used internally in the forms module.\n *\n * @experimental\n */\nvar AbstractControlDirective = function () {\n    function AbstractControlDirective() {}\n    Object.defineProperty(AbstractControlDirective.prototype, \"control\", {\n        get: function get() {\n            return exceptions_1.unimplemented();\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"value\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.value : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"valid\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.valid : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"errors\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.errors : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"pristine\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.pristine : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"dirty\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.dirty : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"touched\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.touched : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"untouched\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.untouched : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"path\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return AbstractControlDirective;\n}();\nexports.AbstractControlDirective = AbstractControlDirective;\n//# sourceMappingURL=abstract_control_directive.js.map"},{"id":22,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_group.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","index":38,"index2":46,"size":3689,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control_group","loc":"12:25-65"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control_group","loc":"30:25-65"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_control_group","loc":"41:25-82"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar validators_1 = require('../validators');\nvar control_container_1 = require('./control_container');\nvar shared_1 = require('./shared');\nexports.controlGroupProvider = {\n    provide: control_container_1.ControlContainer,\n    useExisting: core_1.forwardRef(function () {\n        return NgControlGroup;\n    })\n};\nvar NgControlGroup = function (_super) {\n    __extends(NgControlGroup, _super);\n    function NgControlGroup(parent, _validators, _asyncValidators) {\n        _super.call(this);\n        this._validators = _validators;\n        this._asyncValidators = _asyncValidators;\n        this._parent = parent;\n    }\n    NgControlGroup.prototype.ngOnInit = function () {\n        this.formDirective.addControlGroup(this);\n    };\n    NgControlGroup.prototype.ngOnDestroy = function () {\n        this.formDirective.removeControlGroup(this);\n    };\n    Object.defineProperty(NgControlGroup.prototype, \"control\", {\n        /**\n         * Get the {@link ControlGroup} backing this binding.\n         */\n        get: function get() {\n            return this.formDirective.getControlGroup(this);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlGroup.prototype, \"path\", {\n        /**\n         * Get the path to this control group.\n         */\n        get: function get() {\n            return shared_1.controlPath(this.name, this._parent);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlGroup.prototype, \"formDirective\", {\n        /**\n         * Get the {@link Form} to which this group belongs.\n         */\n        get: function get() {\n            return this._parent.formDirective;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlGroup.prototype, \"validator\", {\n        get: function get() {\n            return shared_1.composeValidators(this._validators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlGroup.prototype, \"asyncValidator\", {\n        get: function get() {\n            return shared_1.composeAsyncValidators(this._asyncValidators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @nocollapse */\n    NgControlGroup.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[ngControlGroup]',\n            providers: [exports.controlGroupProvider],\n            inputs: ['name: ngControlGroup'],\n            exportAs: 'ngForm'\n        }] }];\n    /** @nocollapse */\n    NgControlGroup.ctorParameters = [{ type: control_container_1.ControlContainer, decorators: [{ type: core_1.Host }, { type: core_1.SkipSelf }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_ASYNC_VALIDATORS] }] }];\n    return NgControlGroup;\n}(control_container_1.ControlContainer);\nexports.NgControlGroup = NgControlGroup;\n//# sourceMappingURL=ng_control_group.js.map"},{"id":23,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","index":51,"index2":64,"size":4369,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control_name","loc":"13:24-63"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control_name","loc":"32:24-63"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_control_name","loc":"43:24-80"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar async_1 = require('../../facade/async');\nvar validators_1 = require('../validators');\nvar control_container_1 = require('./control_container');\nvar control_value_accessor_1 = require('./control_value_accessor');\nvar ng_control_1 = require('./ng_control');\nvar shared_1 = require('./shared');\nexports.controlNameBinding = {\n    provide: ng_control_1.NgControl,\n    useExisting: core_1.forwardRef(function () {\n        return NgControlName;\n    })\n};\nvar NgControlName = function (_super) {\n    __extends(NgControlName, _super);\n    function NgControlName(_parent, _validators, _asyncValidators, valueAccessors) {\n        _super.call(this);\n        this._parent = _parent;\n        this._validators = _validators;\n        this._asyncValidators = _asyncValidators;\n        /** @internal */\n        this.update = new async_1.EventEmitter();\n        this._added = false;\n        this.valueAccessor = shared_1.selectValueAccessor(this, valueAccessors);\n    }\n    NgControlName.prototype.ngOnChanges = function (changes) {\n        if (!this._added) {\n            this.formDirective.addControl(this);\n            this._added = true;\n        }\n        if (shared_1.isPropertyUpdated(changes, this.viewModel)) {\n            this.viewModel = this.model;\n            this.formDirective.updateModel(this, this.model);\n        }\n    };\n    NgControlName.prototype.ngOnDestroy = function () {\n        this.formDirective.removeControl(this);\n    };\n    NgControlName.prototype.viewToModelUpdate = function (newValue) {\n        this.viewModel = newValue;\n        this.update.emit(newValue);\n    };\n    Object.defineProperty(NgControlName.prototype, \"path\", {\n        get: function get() {\n            return shared_1.controlPath(this.name, this._parent);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlName.prototype, \"formDirective\", {\n        get: function get() {\n            return this._parent.formDirective;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlName.prototype, \"validator\", {\n        get: function get() {\n            return shared_1.composeValidators(this._validators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlName.prototype, \"asyncValidator\", {\n        get: function get() {\n            return shared_1.composeAsyncValidators(this._asyncValidators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlName.prototype, \"control\", {\n        get: function get() {\n            return this.formDirective.getControl(this);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @nocollapse */\n    NgControlName.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[ngControl]',\n            providers: [exports.controlNameBinding],\n            inputs: ['name: ngControl', 'model: ngModel'],\n            outputs: ['update: ngModelChange'],\n            exportAs: 'ngForm'\n        }] }];\n    /** @nocollapse */\n    NgControlName.ctorParameters = [{ type: control_container_1.ControlContainer, decorators: [{ type: core_1.Host }, { type: core_1.SkipSelf }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_ASYNC_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [control_value_accessor_1.NG_VALUE_ACCESSOR] }] }];\n    return NgControlName;\n}(ng_control_1.NgControl);\nexports.NgControlName = NgControlName;\n//# sourceMappingURL=ng_control_name.js.map"},{"id":24,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_status.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","index":69,"index2":65,"size":2822,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control_status","loc":"14:26-67"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control_status","loc":"34:26-67"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_control_status","loc":"45:26-84"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../../facade/lang');\nvar ng_control_1 = require('./ng_control');\nvar NgControlStatus = function () {\n    function NgControlStatus(cd) {\n        this._cd = cd;\n    }\n    Object.defineProperty(NgControlStatus.prototype, \"ngClassUntouched\", {\n        get: function get() {\n            return lang_1.isPresent(this._cd.control) ? this._cd.control.untouched : false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlStatus.prototype, \"ngClassTouched\", {\n        get: function get() {\n            return lang_1.isPresent(this._cd.control) ? this._cd.control.touched : false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlStatus.prototype, \"ngClassPristine\", {\n        get: function get() {\n            return lang_1.isPresent(this._cd.control) ? this._cd.control.pristine : false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlStatus.prototype, \"ngClassDirty\", {\n        get: function get() {\n            return lang_1.isPresent(this._cd.control) ? this._cd.control.dirty : false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlStatus.prototype, \"ngClassValid\", {\n        get: function get() {\n            return lang_1.isPresent(this._cd.control) ? this._cd.control.valid : false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlStatus.prototype, \"ngClassInvalid\", {\n        get: function get() {\n            return lang_1.isPresent(this._cd.control) ? !this._cd.control.valid : false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @nocollapse */\n    NgControlStatus.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[ngControl],[ngModel],[ngFormControl]',\n            host: {\n                '[class.ng-untouched]': 'ngClassUntouched',\n                '[class.ng-touched]': 'ngClassTouched',\n                '[class.ng-pristine]': 'ngClassPristine',\n                '[class.ng-dirty]': 'ngClassDirty',\n                '[class.ng-valid]': 'ngClassValid',\n                '[class.ng-invalid]': 'ngClassInvalid'\n            }\n        }] }];\n    /** @nocollapse */\n    NgControlStatus.ctorParameters = [{ type: ng_control_1.NgControl, decorators: [{ type: core_1.Self }] }];\n    return NgControlStatus;\n}();\nexports.NgControlStatus = NgControlStatus;\n//# sourceMappingURL=ng_control_status.js.map"},{"id":25,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","index":70,"index2":68,"size":6113,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_form","loc":"15:16-47"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_form","loc":"36:16-47"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_form","loc":"47:16-64"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar async_1 = require('../../facade/async');\nvar collection_1 = require('../../facade/collection');\nvar lang_1 = require('../../facade/lang');\nvar model_1 = require('../model');\nvar validators_1 = require('../validators');\nvar control_container_1 = require('./control_container');\nvar shared_1 = require('./shared');\nexports.formDirectiveProvider = {\n    provide: control_container_1.ControlContainer,\n    useExisting: core_1.forwardRef(function () {\n        return NgForm;\n    })\n};\nvar _formWarningDisplayed = false;\nvar resolvedPromise = Promise.resolve(null);\nvar NgForm = function (_super) {\n    __extends(NgForm, _super);\n    function NgForm(validators, asyncValidators) {\n        _super.call(this);\n        this._submitted = false;\n        this.ngSubmit = new async_1.EventEmitter();\n        this._displayWarning();\n        this.form = new model_1.ControlGroup({}, null, shared_1.composeValidators(validators), shared_1.composeAsyncValidators(asyncValidators));\n    }\n    NgForm.prototype._displayWarning = function () {\n        // TODO(kara): Update this when the new forms module becomes the default\n        if (!_formWarningDisplayed) {\n            _formWarningDisplayed = true;\n            console.warn(\"\\n      *It looks like you're using the old forms module. This will be opt-in in the next RC, and\\n      will eventually be removed in favor of the new forms module. For more information, see:\\n      https://docs.google.com/document/d/1RIezQqE4aEhBRmArIAS1mRIZtWFf6JxN_7B4meyWK0Y/preview\\n    \");\n        }\n    };\n    Object.defineProperty(NgForm.prototype, \"submitted\", {\n        get: function get() {\n            return this._submitted;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForm.prototype, \"formDirective\", {\n        get: function get() {\n            return this;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForm.prototype, \"control\", {\n        get: function get() {\n            return this.form;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForm.prototype, \"path\", {\n        get: function get() {\n            return [];\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForm.prototype, \"controls\", {\n        get: function get() {\n            return this.form.controls;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgForm.prototype.addControl = function (dir) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var container = _this._findContainer(dir.path);\n            var ctrl = new model_1.Control();\n            shared_1.setUpControl(ctrl, dir);\n            container.registerControl(dir.name, ctrl);\n            ctrl.updateValueAndValidity({ emitEvent: false });\n        });\n    };\n    NgForm.prototype.getControl = function (dir) {\n        return this.form.find(dir.path);\n    };\n    NgForm.prototype.removeControl = function (dir) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var container = _this._findContainer(dir.path);\n            if (lang_1.isPresent(container)) {\n                container.removeControl(dir.name);\n            }\n        });\n    };\n    NgForm.prototype.addControlGroup = function (dir) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var container = _this._findContainer(dir.path);\n            var group = new model_1.ControlGroup({});\n            shared_1.setUpControlGroup(group, dir);\n            container.registerControl(dir.name, group);\n            group.updateValueAndValidity({ emitEvent: false });\n        });\n    };\n    NgForm.prototype.removeControlGroup = function (dir) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var container = _this._findContainer(dir.path);\n            if (lang_1.isPresent(container)) {\n                container.removeControl(dir.name);\n            }\n        });\n    };\n    NgForm.prototype.getControlGroup = function (dir) {\n        return this.form.find(dir.path);\n    };\n    NgForm.prototype.updateModel = function (dir, value) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var ctrl = _this.form.find(dir.path);\n            ctrl.updateValue(value);\n        });\n    };\n    NgForm.prototype.onSubmit = function () {\n        this._submitted = true;\n        this.ngSubmit.emit(null);\n        return false;\n    };\n    /** @internal */\n    NgForm.prototype._findContainer = function (path) {\n        path.pop();\n        return collection_1.ListWrapper.isEmpty(path) ? this.form : this.form.find(path);\n    };\n    /** @nocollapse */\n    NgForm.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'form:not([ngNoForm]):not([ngFormModel]),ngForm,[ngForm]',\n            providers: [exports.formDirectiveProvider],\n            host: {\n                '(submit)': 'onSubmit()'\n            },\n            outputs: ['ngSubmit'],\n            exportAs: 'ngForm'\n        }] }];\n    /** @nocollapse */\n    NgForm.ctorParameters = [{ type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_ASYNC_VALIDATORS] }] }];\n    return NgForm;\n}(control_container_1.ControlContainer);\nexports.NgForm = NgForm;\n//# sourceMappingURL=ng_form.js.map"},{"id":26,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","index":73,"index2":69,"size":3959,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_form_control","loc":"16:24-63"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_form_control","loc":"38:24-63"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_form_control","loc":"49:24-80"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar async_1 = require('../../facade/async');\nvar collection_1 = require('../../facade/collection');\nvar validators_1 = require('../validators');\nvar control_value_accessor_1 = require('./control_value_accessor');\nvar ng_control_1 = require('./ng_control');\nvar shared_1 = require('./shared');\nexports.formControlBinding = {\n    provide: ng_control_1.NgControl,\n    useExisting: core_1.forwardRef(function () {\n        return NgFormControl;\n    })\n};\nvar NgFormControl = function (_super) {\n    __extends(NgFormControl, _super);\n    function NgFormControl(_validators, _asyncValidators, valueAccessors) {\n        _super.call(this);\n        this._validators = _validators;\n        this._asyncValidators = _asyncValidators;\n        this.update = new async_1.EventEmitter();\n        this.valueAccessor = shared_1.selectValueAccessor(this, valueAccessors);\n    }\n    NgFormControl.prototype.ngOnChanges = function (changes) {\n        if (this._isControlChanged(changes)) {\n            shared_1.setUpControl(this.form, this);\n            this.form.updateValueAndValidity({ emitEvent: false });\n        }\n        if (shared_1.isPropertyUpdated(changes, this.viewModel)) {\n            this.form.updateValue(this.model);\n            this.viewModel = this.model;\n        }\n    };\n    Object.defineProperty(NgFormControl.prototype, \"path\", {\n        get: function get() {\n            return [];\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFormControl.prototype, \"validator\", {\n        get: function get() {\n            return shared_1.composeValidators(this._validators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFormControl.prototype, \"asyncValidator\", {\n        get: function get() {\n            return shared_1.composeAsyncValidators(this._asyncValidators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFormControl.prototype, \"control\", {\n        get: function get() {\n            return this.form;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgFormControl.prototype.viewToModelUpdate = function (newValue) {\n        this.viewModel = newValue;\n        this.update.emit(newValue);\n    };\n    NgFormControl.prototype._isControlChanged = function (changes) {\n        return collection_1.StringMapWrapper.contains(changes, 'form');\n    };\n    /** @nocollapse */\n    NgFormControl.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[ngFormControl]',\n            providers: [exports.formControlBinding],\n            inputs: ['form: ngFormControl', 'model: ngModel'],\n            outputs: ['update: ngModelChange'],\n            exportAs: 'ngForm'\n        }] }];\n    /** @nocollapse */\n    NgFormControl.ctorParameters = [{ type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_ASYNC_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [control_value_accessor_1.NG_VALUE_ACCESSOR] }] }];\n    return NgFormControl;\n}(ng_control_1.NgControl);\nexports.NgFormControl = NgFormControl;\n//# sourceMappingURL=ng_form_control.js.map"},{"id":27,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","index":74,"index2":70,"size":6074,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_form_model","loc":"17:22-59"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_form_model","loc":"40:22-59"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_form_model","loc":"51:22-76"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar async_1 = require('../../facade/async');\nvar collection_1 = require('../../facade/collection');\nvar exceptions_1 = require('../../facade/exceptions');\nvar lang_1 = require('../../facade/lang');\nvar validators_1 = require('../validators');\nvar control_container_1 = require('./control_container');\nvar shared_1 = require('./shared');\nexports.formDirectiveProvider = {\n    provide: control_container_1.ControlContainer,\n    useExisting: core_1.forwardRef(function () {\n        return NgFormModel;\n    })\n};\nvar _formModelWarningDisplayed = false;\nvar NgFormModel = function (_super) {\n    __extends(NgFormModel, _super);\n    function NgFormModel(_validators, _asyncValidators) {\n        _super.call(this);\n        this._validators = _validators;\n        this._asyncValidators = _asyncValidators;\n        this._submitted = false;\n        this.form = null;\n        this.directives = [];\n        this.ngSubmit = new async_1.EventEmitter();\n        this._displayWarning();\n    }\n    NgFormModel.prototype._displayWarning = function () {\n        // TODO(kara): Update this when the new forms module becomes the default\n        if (!_formModelWarningDisplayed) {\n            _formModelWarningDisplayed = true;\n            console.warn(\"\\n      *It looks like you're using the old forms module. This will be opt-in in the next RC, and\\n      will eventually be removed in favor of the new forms module. For more information, see:\\n      https://docs.google.com/document/d/1RIezQqE4aEhBRmArIAS1mRIZtWFf6JxN_7B4meyWK0Y/preview\\n    \");\n        }\n    };\n    NgFormModel.prototype.ngOnChanges = function (changes) {\n        this._checkFormPresent();\n        if (collection_1.StringMapWrapper.contains(changes, 'form')) {\n            var sync = shared_1.composeValidators(this._validators);\n            this.form.validator = validators_1.Validators.compose([this.form.validator, sync]);\n            var async = shared_1.composeAsyncValidators(this._asyncValidators);\n            this.form.asyncValidator = validators_1.Validators.composeAsync([this.form.asyncValidator, async]);\n            this.form.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n        }\n        this._updateDomValue();\n    };\n    Object.defineProperty(NgFormModel.prototype, \"submitted\", {\n        get: function get() {\n            return this._submitted;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFormModel.prototype, \"formDirective\", {\n        get: function get() {\n            return this;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFormModel.prototype, \"control\", {\n        get: function get() {\n            return this.form;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFormModel.prototype, \"path\", {\n        get: function get() {\n            return [];\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgFormModel.prototype.addControl = function (dir) {\n        var ctrl = this.form.find(dir.path);\n        shared_1.setUpControl(ctrl, dir);\n        ctrl.updateValueAndValidity({ emitEvent: false });\n        this.directives.push(dir);\n    };\n    NgFormModel.prototype.getControl = function (dir) {\n        return this.form.find(dir.path);\n    };\n    NgFormModel.prototype.removeControl = function (dir) {\n        collection_1.ListWrapper.remove(this.directives, dir);\n    };\n    NgFormModel.prototype.addControlGroup = function (dir) {\n        var ctrl = this.form.find(dir.path);\n        shared_1.setUpControlGroup(ctrl, dir);\n        ctrl.updateValueAndValidity({ emitEvent: false });\n    };\n    NgFormModel.prototype.removeControlGroup = function (dir) {};\n    NgFormModel.prototype.getControlGroup = function (dir) {\n        return this.form.find(dir.path);\n    };\n    NgFormModel.prototype.updateModel = function (dir, value) {\n        var ctrl = this.form.find(dir.path);\n        ctrl.updateValue(value);\n    };\n    NgFormModel.prototype.onSubmit = function () {\n        this._submitted = true;\n        this.ngSubmit.emit(null);\n        return false;\n    };\n    /** @internal */\n    NgFormModel.prototype._updateDomValue = function () {\n        var _this = this;\n        this.directives.forEach(function (dir) {\n            var ctrl = _this.form.find(dir.path);\n            dir.valueAccessor.writeValue(ctrl.value);\n        });\n    };\n    NgFormModel.prototype._checkFormPresent = function () {\n        if (lang_1.isBlank(this.form)) {\n            throw new exceptions_1.BaseException(\"ngFormModel expects a form. Please pass one in. Example: <form [ngFormModel]=\\\"myCoolForm\\\">\");\n        }\n    };\n    /** @nocollapse */\n    NgFormModel.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[ngFormModel]',\n            providers: [exports.formDirectiveProvider],\n            inputs: ['form: ngFormModel'],\n            host: { '(submit)': 'onSubmit()' },\n            outputs: ['ngSubmit'],\n            exportAs: 'ngForm'\n        }] }];\n    /** @nocollapse */\n    NgFormModel.ctorParameters = [{ type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_ASYNC_VALIDATORS] }] }];\n    return NgFormModel;\n}(control_container_1.ControlContainer);\nexports.NgFormModel = NgFormModel;\n//# sourceMappingURL=ng_form_model.js.map"},{"id":28,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","index":75,"index2":71,"size":3858,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_model","loc":"18:17-49"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_model","loc":"42:17-49"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_model","loc":"53:17-66"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar async_1 = require('../../facade/async');\nvar model_1 = require('../model');\nvar validators_1 = require('../validators');\nvar control_value_accessor_1 = require('./control_value_accessor');\nvar ng_control_1 = require('./ng_control');\nvar shared_1 = require('./shared');\nexports.formControlBinding = {\n    provide: ng_control_1.NgControl,\n    useExisting: core_1.forwardRef(function () {\n        return NgModel;\n    })\n};\nvar NgModel = function (_super) {\n    __extends(NgModel, _super);\n    function NgModel(_validators, _asyncValidators, valueAccessors) {\n        _super.call(this);\n        this._validators = _validators;\n        this._asyncValidators = _asyncValidators;\n        /** @internal */\n        this._control = new model_1.Control();\n        /** @internal */\n        this._added = false;\n        this.update = new async_1.EventEmitter();\n        this.valueAccessor = shared_1.selectValueAccessor(this, valueAccessors);\n    }\n    NgModel.prototype.ngOnChanges = function (changes) {\n        if (!this._added) {\n            shared_1.setUpControl(this._control, this);\n            this._control.updateValueAndValidity({ emitEvent: false });\n            this._added = true;\n        }\n        if (shared_1.isPropertyUpdated(changes, this.viewModel)) {\n            this._control.updateValue(this.model);\n            this.viewModel = this.model;\n        }\n    };\n    Object.defineProperty(NgModel.prototype, \"control\", {\n        get: function get() {\n            return this._control;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgModel.prototype, \"path\", {\n        get: function get() {\n            return [];\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgModel.prototype, \"validator\", {\n        get: function get() {\n            return shared_1.composeValidators(this._validators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgModel.prototype, \"asyncValidator\", {\n        get: function get() {\n            return shared_1.composeAsyncValidators(this._asyncValidators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgModel.prototype.viewToModelUpdate = function (newValue) {\n        this.viewModel = newValue;\n        this.update.emit(newValue);\n    };\n    /** @nocollapse */\n    NgModel.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[ngModel]:not([ngControl]):not([ngFormControl])',\n            providers: [exports.formControlBinding],\n            inputs: ['model: ngModel'],\n            outputs: ['update: ngModelChange'],\n            exportAs: 'ngForm'\n        }] }];\n    /** @nocollapse */\n    NgModel.ctorParameters = [{ type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_ASYNC_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [control_value_accessor_1.NG_VALUE_ACCESSOR] }] }];\n    return NgModel;\n}(ng_control_1.NgControl);\nexports.NgModel = NgModel;\n//# sourceMappingURL=ng_model.js.map"},{"id":29,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","index":46,"index2":40,"size":2218,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./number_value_accessor","loc":"17:30-64"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/number_value_accessor","loc":"19:30-75"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/number_value_accessor","loc":"44:30-75"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../../facade/lang');\nvar control_value_accessor_1 = require('./control_value_accessor');\nexports.NUMBER_VALUE_ACCESSOR = {\n    provide: control_value_accessor_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () {\n        return NumberValueAccessor;\n    }),\n    multi: true\n};\nvar NumberValueAccessor = function () {\n    function NumberValueAccessor(_renderer, _elementRef) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        this.onChange = function (_) {};\n        this.onTouched = function () {};\n    }\n    NumberValueAccessor.prototype.writeValue = function (value) {\n        // The value needs to be normalized for IE9, otherwise it is set to 'null' when null\n        var normalizedValue = lang_1.isBlank(value) ? '' : value;\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', normalizedValue);\n    };\n    NumberValueAccessor.prototype.registerOnChange = function (fn) {\n        this.onChange = function (value) {\n            fn(value == '' ? null : lang_1.NumberWrapper.parseFloat(value));\n        };\n    };\n    NumberValueAccessor.prototype.registerOnTouched = function (fn) {\n        this.onTouched = fn;\n    };\n    /** @nocollapse */\n    NumberValueAccessor.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'input[type=number][ngControl],input[type=number][ngFormControl],input[type=number][ngModel]',\n            host: {\n                '(change)': 'onChange($event.target.value)',\n                '(input)': 'onChange($event.target.value)',\n                '(blur)': 'onTouched()'\n            },\n            providers: [exports.NUMBER_VALUE_ACCESSOR]\n        }] }];\n    /** @nocollapse */\n    NumberValueAccessor.ctorParameters = [{ type: core_1.Renderer }, { type: core_1.ElementRef }];\n    return NumberValueAccessor;\n}();\nexports.NumberValueAccessor = NumberValueAccessor;\n//# sourceMappingURL=number_value_accessor.js.map"},{"id":30,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","index":50,"index2":44,"size":7029,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./select_multiple_control_value_accessor","loc":"20:47-98"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/select_multiple_control_value_accessor","loc":"22:47-109"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/select_multiple_control_value_accessor","loc":"52:47-109"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../../facade/collection');\nvar lang_1 = require('../../facade/lang');\nvar control_value_accessor_1 = require('./control_value_accessor');\nexports.SELECT_MULTIPLE_VALUE_ACCESSOR = {\n    provide: control_value_accessor_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () {\n        return SelectMultipleControlValueAccessor;\n    }),\n    multi: true\n};\nfunction _buildValueString(id, value) {\n    if (lang_1.isBlank(id)) return \"\" + value;\n    if (lang_1.isString(value)) value = \"'\" + value + \"'\";\n    if (!lang_1.isPrimitive(value)) value = 'Object';\n    return lang_1.StringWrapper.slice(id + \": \" + value, 0, 50);\n}\nfunction _extractId(valueString) {\n    return valueString.split(':')[0];\n}\n/** Mock interface for HTMLCollection */\nvar HTMLCollection = function () {\n    function HTMLCollection() {}\n    return HTMLCollection;\n}();\nvar SelectMultipleControlValueAccessor = function () {\n    function SelectMultipleControlValueAccessor() {\n        /** @internal */\n        this._optionMap = new Map();\n        /** @internal */\n        this._idCounter = 0;\n        this.onChange = function (_) {};\n        this.onTouched = function () {};\n    }\n    SelectMultipleControlValueAccessor.prototype.writeValue = function (value) {\n        var _this = this;\n        this.value = value;\n        if (value == null) return;\n        var values = value;\n        // convert values to ids\n        var ids = values.map(function (v) {\n            return _this._getOptionId(v);\n        });\n        this._optionMap.forEach(function (opt, o) {\n            opt._setSelected(ids.indexOf(o.toString()) > -1);\n        });\n    };\n    SelectMultipleControlValueAccessor.prototype.registerOnChange = function (fn) {\n        var _this = this;\n        this.onChange = function (_) {\n            var selected = [];\n            if (_.hasOwnProperty('selectedOptions')) {\n                var options = _.selectedOptions;\n                for (var i = 0; i < options.length; i++) {\n                    var opt = options.item(i);\n                    var val = _this._getOptionValue(opt.value);\n                    selected.push(val);\n                }\n            } else {\n                var options = _.options;\n                for (var i = 0; i < options.length; i++) {\n                    var opt = options.item(i);\n                    if (opt.selected) {\n                        var val = _this._getOptionValue(opt.value);\n                        selected.push(val);\n                    }\n                }\n            }\n            fn(selected);\n        };\n    };\n    SelectMultipleControlValueAccessor.prototype.registerOnTouched = function (fn) {\n        this.onTouched = fn;\n    };\n    /** @internal */\n    SelectMultipleControlValueAccessor.prototype._registerOption = function (value) {\n        var id = (this._idCounter++).toString();\n        this._optionMap.set(id, value);\n        return id;\n    };\n    /** @internal */\n    SelectMultipleControlValueAccessor.prototype._getOptionId = function (value) {\n        for (var _i = 0, _a = collection_1.MapWrapper.keys(this._optionMap); _i < _a.length; _i++) {\n            var id = _a[_i];\n            if (lang_1.looseIdentical(this._optionMap.get(id)._value, value)) return id;\n        }\n        return null;\n    };\n    /** @internal */\n    SelectMultipleControlValueAccessor.prototype._getOptionValue = function (valueString) {\n        var opt = this._optionMap.get(_extractId(valueString));\n        return lang_1.isPresent(opt) ? opt._value : valueString;\n    };\n    /** @nocollapse */\n    SelectMultipleControlValueAccessor.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'select[multiple][ngControl],select[multiple][ngFormControl],select[multiple][ngModel]',\n            host: { '(change)': 'onChange($event.target)', '(blur)': 'onTouched()' },\n            providers: [exports.SELECT_MULTIPLE_VALUE_ACCESSOR]\n        }] }];\n    /** @nocollapse */\n    SelectMultipleControlValueAccessor.ctorParameters = [];\n    return SelectMultipleControlValueAccessor;\n}();\nexports.SelectMultipleControlValueAccessor = SelectMultipleControlValueAccessor;\nvar NgSelectMultipleOption = function () {\n    function NgSelectMultipleOption(_element, _renderer, _select) {\n        this._element = _element;\n        this._renderer = _renderer;\n        this._select = _select;\n        if (lang_1.isPresent(this._select)) {\n            this.id = this._select._registerOption(this);\n        }\n    }\n    Object.defineProperty(NgSelectMultipleOption.prototype, \"ngValue\", {\n        set: function set(value) {\n            if (this._select == null) return;\n            this._value = value;\n            this._setElementValue(_buildValueString(this.id, value));\n            this._select.writeValue(this._select.value);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgSelectMultipleOption.prototype, \"value\", {\n        set: function set(value) {\n            if (lang_1.isPresent(this._select)) {\n                this._value = value;\n                this._setElementValue(_buildValueString(this.id, value));\n                this._select.writeValue(this._select.value);\n            } else {\n                this._setElementValue(value);\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @internal */\n    NgSelectMultipleOption.prototype._setElementValue = function (value) {\n        this._renderer.setElementProperty(this._element.nativeElement, 'value', value);\n    };\n    /** @internal */\n    NgSelectMultipleOption.prototype._setSelected = function (selected) {\n        this._renderer.setElementProperty(this._element.nativeElement, 'selected', selected);\n    };\n    NgSelectMultipleOption.prototype.ngOnDestroy = function () {\n        if (lang_1.isPresent(this._select)) {\n            this._select._optionMap.delete(this.id);\n            this._select.writeValue(this._select.value);\n        }\n    };\n    /** @nocollapse */\n    NgSelectMultipleOption.decorators = [{ type: core_1.Directive, args: [{ selector: 'option' }] }];\n    /** @nocollapse */\n    NgSelectMultipleOption.ctorParameters = [{ type: core_1.ElementRef }, { type: core_1.Renderer }, { type: SelectMultipleControlValueAccessor, decorators: [{ type: core_1.Optional }, { type: core_1.Host }] }];\n    /** @nocollapse */\n    NgSelectMultipleOption.propDecorators = {\n        'ngValue': [{ type: core_1.Input, args: ['ngValue'] }],\n        'value': [{ type: core_1.Input, args: ['value'] }]\n    };\n    return NgSelectMultipleOption;\n}();\nexports.NgSelectMultipleOption = NgSelectMultipleOption;\nexports.SELECT_DIRECTIVES = [SelectMultipleControlValueAccessor, NgSelectMultipleOption];\n//# sourceMappingURL=select_multiple_control_value_accessor.js.map"},{"id":31,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/validators.js","name":"./~/@angular/common/src/forms-deprecated/directives/validators.js","index":76,"index2":72,"size":4174,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/validators","loc":"23:19-53"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/validators","loc":"55:19-53"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/validators","loc":"58:19-70"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../../facade/lang');\nvar validators_1 = require('../validators');\nexports.REQUIRED = validators_1.Validators.required;\nexports.REQUIRED_VALIDATOR = {\n    provide: validators_1.NG_VALIDATORS,\n    useValue: exports.REQUIRED,\n    multi: true\n};\nvar RequiredValidator = function () {\n    function RequiredValidator() {}\n    /** @nocollapse */\n    RequiredValidator.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[required][ngControl],[required][ngFormControl],[required][ngModel]',\n            providers: [exports.REQUIRED_VALIDATOR]\n        }] }];\n    return RequiredValidator;\n}();\nexports.RequiredValidator = RequiredValidator;\n/**\n * Provivder which adds {@link MinLengthValidator} to {@link NG_VALIDATORS}.\n *\n * ## Example:\n *\n * {@example common/forms/ts/validators/validators.ts region='min'}\n */\nexports.MIN_LENGTH_VALIDATOR = {\n    provide: validators_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () {\n        return MinLengthValidator;\n    }),\n    multi: true\n};\nvar MinLengthValidator = function () {\n    function MinLengthValidator(minLength) {\n        this._validator = validators_1.Validators.minLength(lang_1.NumberWrapper.parseInt(minLength, 10));\n    }\n    MinLengthValidator.prototype.validate = function (c) {\n        return this._validator(c);\n    };\n    /** @nocollapse */\n    MinLengthValidator.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[minlength][ngControl],[minlength][ngFormControl],[minlength][ngModel]',\n            providers: [exports.MIN_LENGTH_VALIDATOR]\n        }] }];\n    /** @nocollapse */\n    MinLengthValidator.ctorParameters = [{ type: undefined, decorators: [{ type: core_1.Attribute, args: ['minlength'] }] }];\n    return MinLengthValidator;\n}();\nexports.MinLengthValidator = MinLengthValidator;\n/**\n * Provider which adds {@link MaxLengthValidator} to {@link NG_VALIDATORS}.\n *\n * ## Example:\n *\n * {@example common/forms/ts/validators/validators.ts region='max'}\n */\nexports.MAX_LENGTH_VALIDATOR = {\n    provide: validators_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () {\n        return MaxLengthValidator;\n    }),\n    multi: true\n};\nvar MaxLengthValidator = function () {\n    function MaxLengthValidator(maxLength) {\n        this._validator = validators_1.Validators.maxLength(lang_1.NumberWrapper.parseInt(maxLength, 10));\n    }\n    MaxLengthValidator.prototype.validate = function (c) {\n        return this._validator(c);\n    };\n    /** @nocollapse */\n    MaxLengthValidator.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[maxlength][ngControl],[maxlength][ngFormControl],[maxlength][ngModel]',\n            providers: [exports.MAX_LENGTH_VALIDATOR]\n        }] }];\n    /** @nocollapse */\n    MaxLengthValidator.ctorParameters = [{ type: undefined, decorators: [{ type: core_1.Attribute, args: ['maxlength'] }] }];\n    return MaxLengthValidator;\n}();\nexports.MaxLengthValidator = MaxLengthValidator;\nexports.PATTERN_VALIDATOR = {\n    provide: validators_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () {\n        return PatternValidator;\n    }),\n    multi: true\n};\nvar PatternValidator = function () {\n    function PatternValidator(pattern) {\n        this._validator = validators_1.Validators.pattern(pattern);\n    }\n    PatternValidator.prototype.validate = function (c) {\n        return this._validator(c);\n    };\n    /** @nocollapse */\n    PatternValidator.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[pattern][ngControl],[pattern][ngFormControl],[pattern][ngModel]',\n            providers: [exports.PATTERN_VALIDATOR]\n        }] }];\n    /** @nocollapse */\n    PatternValidator.ctorParameters = [{ type: undefined, decorators: [{ type: core_1.Attribute, args: ['pattern'] }] }];\n    return PatternValidator;\n}();\nexports.PatternValidator = PatternValidator;\n//# sourceMappingURL=validators.js.map"},{"id":32,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/localization.js","name":"./~/@angular/common/src/localization.js","index":15,"index2":9,"size":789,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":44,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_plural.js","module":"./~/@angular/common/src/directives/ng_plural.js","moduleName":"./~/@angular/common/src/directives/ng_plural.js","type":"cjs require","userRequest":"../localization","loc":"12:21-47"},{"moduleId":55,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_plural_pipe.js","module":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","type":"cjs require","userRequest":"../localization","loc":"12:21-47"},{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/localization","loc":"23:21-50"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n/**\n * @experimental\n */\n\nvar NgLocalization = function () {\n  function NgLocalization() {}\n  return NgLocalization;\n}();\nexports.NgLocalization = NgLocalization;\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n *\n * @internal\n */\nfunction getPluralCategory(value, cases, ngLocalization) {\n  var nbCase = \"=\" + value;\n  return cases.indexOf(nbCase) > -1 ? nbCase : ngLocalization.getPluralCategory(value);\n}\nexports.getPluralCategory = getPluralCategory;\n//# sourceMappingURL=localization.js.map"},{"id":33,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/location.js","name":"./~/@angular/common/src/location/location.js","index":82,"index2":78,"size":5708,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":74,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","module":"./~/@angular/common/src/location.js","moduleName":"./~/@angular/common/src/location.js","type":"cjs require","userRequest":"./location/location","loc":"19:9-39"},{"moduleId":75,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/hash_location_strategy.js","module":"./~/@angular/common/src/location/hash_location_strategy.js","moduleName":"./~/@angular/common/src/location/hash_location_strategy.js","type":"cjs require","userRequest":"./location","loc":"20:17-38"},{"moduleId":76,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","module":"./~/@angular/common/src/location/path_location_strategy.js","moduleName":"./~/@angular/common/src/location/path_location_strategy.js","type":"cjs require","userRequest":"./location","loc":"21:17-38"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar location_strategy_1 = require('./location_strategy');\nvar Location = function () {\n    function Location(platformStrategy) {\n        var _this = this;\n        /** @internal */\n        this._subject = new core_1.EventEmitter();\n        this._platformStrategy = platformStrategy;\n        var browserBaseHref = this._platformStrategy.getBaseHref();\n        this._baseHref = Location.stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n        this._platformStrategy.onPopState(function (ev) {\n            _this._subject.emit({ 'url': _this.path(true), 'pop': true, 'type': ev.type });\n        });\n    }\n    /**\n     * Returns the normalized URL path.\n     */\n    // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n    // removed.\n    Location.prototype.path = function (includeHash) {\n        if (includeHash === void 0) {\n            includeHash = false;\n        }\n        return this.normalize(this._platformStrategy.path(includeHash));\n    };\n    /**\n     * Normalizes the given path and compares to the current normalized path.\n     */\n    Location.prototype.isCurrentPathEqualTo = function (path, query) {\n        if (query === void 0) {\n            query = '';\n        }\n        return this.path() == this.normalize(path + Location.normalizeQueryParams(query));\n    };\n    /**\n     * Given a string representing a URL, returns the normalized URL path without leading or\n     * trailing slashes\n     */\n    Location.prototype.normalize = function (url) {\n        return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n    };\n    /**\n     * Given a string representing a URL, returns the platform-specific external URL path.\n     * If the given URL doesn't begin with a leading slash (`'/'`), this method adds one\n     * before normalizing. This method will also add a hash if `HashLocationStrategy` is\n     * used, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n     */\n    Location.prototype.prepareExternalUrl = function (url) {\n        if (url.length > 0 && !url.startsWith('/')) {\n            url = '/' + url;\n        }\n        return this._platformStrategy.prepareExternalUrl(url);\n    };\n    // TODO: rename this method to pushState\n    /**\n     * Changes the browsers URL to the normalized version of the given URL, and pushes a\n     * new item onto the platform's history.\n     */\n    Location.prototype.go = function (path, query) {\n        if (query === void 0) {\n            query = '';\n        }\n        this._platformStrategy.pushState(null, '', path, query);\n    };\n    /**\n     * Changes the browsers URL to the normalized version of the given URL, and replaces\n     * the top item on the platform's history stack.\n     */\n    Location.prototype.replaceState = function (path, query) {\n        if (query === void 0) {\n            query = '';\n        }\n        this._platformStrategy.replaceState(null, '', path, query);\n    };\n    /**\n     * Navigates forward in the platform's history.\n     */\n    Location.prototype.forward = function () {\n        this._platformStrategy.forward();\n    };\n    /**\n     * Navigates back in the platform's history.\n     */\n    Location.prototype.back = function () {\n        this._platformStrategy.back();\n    };\n    /**\n     * Subscribe to the platform's `popState` events.\n     */\n    Location.prototype.subscribe = function (onNext, onThrow, onReturn) {\n        if (onThrow === void 0) {\n            onThrow = null;\n        }\n        if (onReturn === void 0) {\n            onReturn = null;\n        }\n        return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });\n    };\n    /**\n     * Given a string of url parameters, prepend with '?' if needed, otherwise return parameters as\n     * is.\n     */\n    Location.normalizeQueryParams = function (params) {\n        return params.length > 0 && params.substring(0, 1) != '?' ? '?' + params : params;\n    };\n    /**\n     * Given 2 parts of a url, join them with a slash if needed.\n     */\n    Location.joinWithSlash = function (start, end) {\n        if (start.length == 0) {\n            return end;\n        }\n        if (end.length == 0) {\n            return start;\n        }\n        var slashes = 0;\n        if (start.endsWith('/')) {\n            slashes++;\n        }\n        if (end.startsWith('/')) {\n            slashes++;\n        }\n        if (slashes == 2) {\n            return start + end.substring(1);\n        }\n        if (slashes == 1) {\n            return start + end;\n        }\n        return start + '/' + end;\n    };\n    /**\n     * If url has a trailing slash, remove it, otherwise return url as is.\n     */\n    Location.stripTrailingSlash = function (url) {\n        if (/\\/$/g.test(url)) {\n            url = url.substring(0, url.length - 1);\n        }\n        return url;\n    };\n    /** @nocollapse */\n    Location.decorators = [{ type: core_1.Injectable }];\n    /** @nocollapse */\n    Location.ctorParameters = [{ type: location_strategy_1.LocationStrategy }];\n    return Location;\n}();\nexports.Location = Location;\nfunction _stripBaseHref(baseHref, url) {\n    if (baseHref.length > 0 && url.startsWith(baseHref)) {\n        return url.substring(baseHref.length);\n    }\n    return url;\n}\nfunction _stripIndexHtml(url) {\n    if (/\\/index.html$/g.test(url)) {\n        // '/index.html'.length == 11\n        return url.substring(0, url.length - 11);\n    }\n    return url;\n}\n//# sourceMappingURL=location.js.map"},{"id":34,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/platform_location.js","name":"./~/@angular/common/src/location/platform_location.js","index":79,"index2":76,"size":2090,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":74,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","module":"./~/@angular/common/src/location.js","moduleName":"./~/@angular/common/src/location.js","type":"cjs require","userRequest":"./location/platform_location","loc":"15:9-48"},{"moduleId":75,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/hash_location_strategy.js","module":"./~/@angular/common/src/location/hash_location_strategy.js","moduleName":"./~/@angular/common/src/location/hash_location_strategy.js","type":"cjs require","userRequest":"./platform_location","loc":"22:26-56"},{"moduleId":76,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","module":"./~/@angular/common/src/location/path_location_strategy.js","moduleName":"./~/@angular/common/src/location/path_location_strategy.js","type":"cjs require","userRequest":"./platform_location","loc":"23:26-56"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM apis, which allows the Router to be platform\n * agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms\n * that angular supports. For example, the default `PlatformLocation` is {@link\n * BrowserPlatformLocation},\n * however when you run your app in a WebWorker you use {@link WebWorkerPlatformLocation}.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when\n * they need to interact with the DOM apis like pushState, popState, etc...\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by\n * the {@link Router} in order to navigate between routes. Since all interactions between {@link\n * Router} /\n * {@link Location} / {@link LocationStrategy} and DOM apis flow through the `PlatformLocation`\n * class\n * they are all platform independent.\n *\n * @stable\n */\n\nvar PlatformLocation = function () {\n    function PlatformLocation() {}\n    Object.defineProperty(PlatformLocation.prototype, \"pathname\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(PlatformLocation.prototype, \"search\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(PlatformLocation.prototype, \"hash\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return PlatformLocation;\n}();\nexports.PlatformLocation = PlatformLocation;\n//# sourceMappingURL=platform_location.js.map"},{"id":35,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observable.js","name":"./~/rxjs/Observable.js","index":54,"index2":59,"size":5978,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/async.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":9,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/async.js","module":"./~/@angular/common/src/facade/async.js","moduleName":"./~/@angular/common/src/facade/async.js","type":"cjs require","userRequest":"rxjs/Observable","loc":"21:19-45"},{"moduleId":63,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","module":"./~/rxjs/Subject.js","moduleName":"./~/rxjs/Subject.js","type":"cjs require","userRequest":"./Observable","loc":"11:19-42"},{"moduleId":80,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/observable/PromiseObservable.js","module":"./~/rxjs/observable/PromiseObservable.js","moduleName":"./~/rxjs/observable/PromiseObservable.js","type":"cjs require","userRequest":"../Observable","loc":"12:19-43"}],"source":"\"use strict\";\n\nvar root_1 = require('./util/root');\nvar toSubscriber_1 = require('./util/toSubscriber');\nvar observable_1 = require('./symbol/observable');\n/**\n * A representation of any set of values over any amount of time. This the most basic building block\n * of RxJS.\n *\n * @class Observable<T>\n */\nvar Observable = function () {\n    /**\n     * @constructor\n     * @param {Function} subscribe the function that is  called when the Observable is\n     * initially subscribed to. This function is given a Subscriber, to which new values\n     * can be `next`ed, or an `error` method can be called to raise an error, or\n     * `complete` can be called to notify of a successful completion.\n     */\n    function Observable(subscribe) {\n        this._isScalar = false;\n        if (subscribe) {\n            this._subscribe = subscribe;\n        }\n    }\n    /**\n     * Creates a new Observable, with this Observable as the source, and the passed\n     * operator defined as the new observable's operator.\n     * @method lift\n     * @param {Operator} operator the operator defining the operation to take on the observable\n     * @return {Observable} a new observable with the Operator applied\n     */\n    Observable.prototype.lift = function (operator) {\n        var observable = new Observable();\n        observable.source = this;\n        observable.operator = operator;\n        return observable;\n    };\n    /**\n     * Registers handlers for handling emitted values, error and completions from the observable, and\n     *  executes the observable's subscriber function, which will take action to set up the underlying data stream\n     * @method subscribe\n     * @param {PartialObserver|Function} observerOrNext (optional) either an observer defining all functions to be called,\n     *  or the first of three possible handlers, which is the handler for each value emitted from the observable.\n     * @param {Function} error (optional) a handler for a terminal event resulting from an error. If no error handler is provided,\n     *  the error will be thrown as unhandled\n     * @param {Function} complete (optional) a handler for a terminal event resulting from successful completion.\n     * @return {ISubscription} a subscription reference to the registered handlers\n     */\n    Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n        var operator = this.operator;\n        var sink = toSubscriber_1.toSubscriber(observerOrNext, error, complete);\n        if (operator) {\n            operator.call(sink, this);\n        } else {\n            sink.add(this._subscribe(sink));\n        }\n        if (sink.syncErrorThrowable) {\n            sink.syncErrorThrowable = false;\n            if (sink.syncErrorThrown) {\n                throw sink.syncErrorValue;\n            }\n        }\n        return sink;\n    };\n    /**\n     * @method forEach\n     * @param {Function} next a handler for each value emitted by the observable\n     * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise\n     * @return {Promise} a promise that either resolves on observable completion or\n     *  rejects with the handled error\n     */\n    Observable.prototype.forEach = function (next, PromiseCtor) {\n        var _this = this;\n        if (!PromiseCtor) {\n            if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {\n                PromiseCtor = root_1.root.Rx.config.Promise;\n            } else if (root_1.root.Promise) {\n                PromiseCtor = root_1.root.Promise;\n            }\n        }\n        if (!PromiseCtor) {\n            throw new Error('no Promise impl found');\n        }\n        return new PromiseCtor(function (resolve, reject) {\n            var subscription = _this.subscribe(function (value) {\n                if (subscription) {\n                    // if there is a subscription, then we can surmise\n                    // the next handling is asynchronous. Any errors thrown\n                    // need to be rejected explicitly and unsubscribe must be\n                    // called manually\n                    try {\n                        next(value);\n                    } catch (err) {\n                        reject(err);\n                        subscription.unsubscribe();\n                    }\n                } else {\n                    // if there is NO subscription, then we're getting a nexted\n                    // value synchronously during subscription. We can just call it.\n                    // If it errors, Observable's `subscribe` will ensure the\n                    // unsubscription logic is called, then synchronously rethrow the error.\n                    // After that, Promise will trap the error and send it\n                    // down the rejection path.\n                    next(value);\n                }\n            }, reject, resolve);\n        });\n    };\n    Observable.prototype._subscribe = function (subscriber) {\n        return this.source.subscribe(subscriber);\n    };\n    /**\n     * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n     * @method Symbol.observable\n     * @return {Observable} this instance of the observable\n     */\n    Observable.prototype[observable_1.$$observable] = function () {\n        return this;\n    };\n    // HACK: Since TypeScript inherits static properties too, we have to\n    // fight against TypeScript here so Subject can have a different static create signature\n    /**\n     * Creates a new cold Observable by calling the Observable constructor\n     * @static true\n     * @owner Observable\n     * @method create\n     * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n     * @return {Observable} a new cold observable\n     */\n    Observable.create = function (subscribe) {\n        return new Observable(subscribe);\n    };\n    return Observable;\n}();\nexports.Observable = Observable;\n//# sourceMappingURL=Observable.js.map"},{"id":36,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","name":"./~/rxjs/Subscription.js","index":58,"index2":53,"size":6244,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":63,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","module":"./~/rxjs/Subject.js","moduleName":"./~/rxjs/Subject.js","type":"cjs require","userRequest":"./Subscription","loc":"13:21-46"},{"moduleId":64,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscriber.js","module":"./~/rxjs/Subscriber.js","moduleName":"./~/rxjs/Subscriber.js","type":"cjs require","userRequest":"./Subscription","loc":"14:21-46"},{"moduleId":79,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/SubjectSubscription.js","module":"./~/rxjs/SubjectSubscription.js","moduleName":"./~/rxjs/SubjectSubscription.js","type":"cjs require","userRequest":"./Subscription","loc":"11:21-46"}],"source":"\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar isArray_1 = require('./util/isArray');\nvar isObject_1 = require('./util/isObject');\nvar isFunction_1 = require('./util/isFunction');\nvar tryCatch_1 = require('./util/tryCatch');\nvar errorObject_1 = require('./util/errorObject');\nvar UnsubscriptionError_1 = require('./util/UnsubscriptionError');\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nvar Subscription = function () {\n    /**\n     * @param {function(): void} [unsubscribe] A function describing how to\n     * perform the disposal of resources when the `unsubscribe` method is called.\n     */\n    function Subscription(unsubscribe) {\n        /**\n         * A flag to indicate whether this Subscription has already been unsubscribed.\n         * @type {boolean}\n         */\n        this.closed = false;\n        if (unsubscribe) {\n            this._unsubscribe = unsubscribe;\n        }\n    }\n    /**\n     * Disposes the resources held by the subscription. May, for instance, cancel\n     * an ongoing Observable execution or cancel any other type of work that\n     * started when the Subscription was created.\n     * @return {void}\n     */\n    Subscription.prototype.unsubscribe = function () {\n        var hasErrors = false;\n        var errors;\n        if (this.closed) {\n            return;\n        }\n        this.closed = true;\n        var _a = this,\n            _unsubscribe = _a._unsubscribe,\n            _subscriptions = _a._subscriptions;\n        this._subscriptions = null;\n        if (isFunction_1.isFunction(_unsubscribe)) {\n            var trial = tryCatch_1.tryCatch(_unsubscribe).call(this);\n            if (trial === errorObject_1.errorObject) {\n                hasErrors = true;\n                (errors = errors || []).push(errorObject_1.errorObject.e);\n            }\n        }\n        if (isArray_1.isArray(_subscriptions)) {\n            var index = -1;\n            var len = _subscriptions.length;\n            while (++index < len) {\n                var sub = _subscriptions[index];\n                if (isObject_1.isObject(sub)) {\n                    var trial = tryCatch_1.tryCatch(sub.unsubscribe).call(sub);\n                    if (trial === errorObject_1.errorObject) {\n                        hasErrors = true;\n                        errors = errors || [];\n                        var err = errorObject_1.errorObject.e;\n                        if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {\n                            errors = errors.concat(err.errors);\n                        } else {\n                            errors.push(err);\n                        }\n                    }\n                }\n            }\n        }\n        if (hasErrors) {\n            throw new UnsubscriptionError_1.UnsubscriptionError(errors);\n        }\n    };\n    /**\n     * Adds a tear down to be called during the unsubscribe() of this\n     * Subscription.\n     *\n     * If the tear down being added is a subscription that is already\n     * unsubscribed, is the same reference `add` is being called on, or is\n     * `Subscription.EMPTY`, it will not be added.\n     *\n     * If this subscription is already in an `closed` state, the passed\n     * tear down logic will be executed immediately.\n     *\n     * @param {TeardownLogic} teardown The additional logic to execute on\n     * teardown.\n     * @return {Subscription} Returns the Subscription used or created to be\n     * added to the inner subscriptions list. This Subscription can be used with\n     * `remove()` to remove the passed teardown logic from the inner subscriptions\n     * list.\n     */\n    Subscription.prototype.add = function (teardown) {\n        if (!teardown || teardown === Subscription.EMPTY) {\n            return Subscription.EMPTY;\n        }\n        if (teardown === this) {\n            return this;\n        }\n        var sub = teardown;\n        switch (typeof teardown === 'undefined' ? 'undefined' : _typeof(teardown)) {\n            case 'function':\n                sub = new Subscription(teardown);\n            case 'object':\n                if (sub.closed || typeof sub.unsubscribe !== 'function') {\n                    break;\n                } else if (this.closed) {\n                    sub.unsubscribe();\n                } else {\n                    (this._subscriptions || (this._subscriptions = [])).push(sub);\n                }\n                break;\n            default:\n                throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n        }\n        return sub;\n    };\n    /**\n     * Removes a Subscription from the internal list of subscriptions that will\n     * unsubscribe during the unsubscribe process of this Subscription.\n     * @param {Subscription} subscription The subscription to remove.\n     * @return {void}\n     */\n    Subscription.prototype.remove = function (subscription) {\n        // HACK: This might be redundant because of the logic in `add()`\n        if (subscription == null || subscription === this || subscription === Subscription.EMPTY) {\n            return;\n        }\n        var subscriptions = this._subscriptions;\n        if (subscriptions) {\n            var subscriptionIndex = subscriptions.indexOf(subscription);\n            if (subscriptionIndex !== -1) {\n                subscriptions.splice(subscriptionIndex, 1);\n            }\n        }\n    };\n    Subscription.EMPTY = function (empty) {\n        empty.closed = true;\n        return empty;\n    }(new Subscription());\n    return Subscription;\n}();\nexports.Subscription = Subscription;\n//# sourceMappingURL=Subscription.js.map"},{"id":37,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/symbol/rxSubscriber.js","name":"./~/rxjs/symbol/rxSubscriber.js","index":65,"index2":55,"size":269,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":63,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","module":"./~/rxjs/Subject.js","moduleName":"./~/rxjs/Subject.js","type":"cjs require","userRequest":"./symbol/rxSubscriber","loc":"16:21-53"},{"moduleId":64,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscriber.js","module":"./~/rxjs/Subscriber.js","moduleName":"./~/rxjs/Subscriber.js","type":"cjs require","userRequest":"./symbol/rxSubscriber","loc":"16:21-53"},{"moduleId":87,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/toSubscriber.js","module":"./~/rxjs/util/toSubscriber.js","moduleName":"./~/rxjs/util/toSubscriber.js","type":"cjs require","userRequest":"../symbol/rxSubscriber","loc":"4:21-54"}],"source":"\"use strict\";\n\nvar root_1 = require('../util/root');\nvar _Symbol = root_1.root.Symbol;\nexports.$$rxSubscriber = typeof _Symbol === 'function' && typeof _Symbol.for === 'function' ? _Symbol.for('rxSubscriber') : '@@rxSubscriber';\n//# sourceMappingURL=rxSubscriber.js.map"},{"id":38,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/utilities.js","name":"./core/src/utilities.js","index":88,"index2":86,"size":1647,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":68,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/conformToMask.js","module":"./core/src/conformToMask.js","moduleName":"./core/src/conformToMask.js","type":"cjs require","userRequest":"./utilities.js","loc":"8:17-42"},{"moduleId":69,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","module":"./core/src/createTextMaskInputElement.js","moduleName":"./core/src/createTextMaskInputElement.js","type":"cjs require","userRequest":"./utilities.js","loc":"21:17-42"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.convertMaskToPlaceholder = convertMaskToPlaceholder;\nexports.isString = isString;\nexports.isNumber = isNumber;\nexports.processCaretTraps = processCaretTraps;\n\nvar _constants = require('./constants.js');\n\nvar emptyArray = [];\n\nfunction convertMaskToPlaceholder() {\n  var mask = arguments.length <= 0 || arguments[0] === undefined ? emptyArray : arguments[0];\n  var placeholderChar = arguments.length <= 1 || arguments[1] === undefined ? _constants.placeholderChar : arguments[1];\n\n  if (mask.indexOf(placeholderChar) !== -1) {\n    throw new Error('Placeholder character must not be used as part of the mask. Please specify a character ' + 'that is not present in your mask as your placeholder character.\\n\\n' + ('The placeholder character that was received is: ' + JSON.stringify(placeholderChar) + '\\n\\n') + ('The mask that was received is: ' + JSON.stringify(mask)));\n  }\n\n  return mask.map(function (char) {\n    return char instanceof RegExp ? placeholderChar : char;\n  }).join('');\n}\n\nfunction isString(value) {\n  return typeof value === 'string' || value instanceof String;\n}\n\nfunction isNumber(value) {\n  return typeof value === 'number' && value.length === undefined && !isNaN(value);\n}\n\nvar strCaretTrap = '[]';\nfunction processCaretTraps(mask) {\n  var indexes = [];\n\n  var indexOfCaretTrap = void 0;\n  while (indexOfCaretTrap = mask.indexOf(strCaretTrap), indexOfCaretTrap !== -1) {\n    // eslint-disable-line\n    indexes.push(indexOfCaretTrap);\n\n    mask.splice(indexOfCaretTrap, 1);\n  }\n\n  return { maskWithoutCaretTraps: mask, indexes: indexes };\n}"},{"id":39,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/common_directives.js","name":"./~/@angular/common/src/common_directives.js","index":3,"index2":16,"size":1658,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/common_directives","loc":"16:26-60"},{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/common_directives","loc":"21:9-43"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar directives_1 = require('./directives');\n/**\n * A collection of Angular core directives that are likely to be used in each and every Angular\n * application. This includes core directives (e.g., NgIf and NgFor), and forms directives (e.g.,\n * NgModel).\n *\n * This collection can be used to quickly enumerate all the built-in directives in the `directives`\n * property of the `@Component` decorator.\n *\n * ### Example\n *\n * Instead of writing:\n *\n * ```typescript\n * import {NgClass, NgIf, NgFor, NgSwitch, NgSwitchWhen, NgSwitchDefault, NgModel, NgForm} from\n * '@angular/common';\n * import {OtherDirective} from './myDirectives';\n *\n * @Component({\n *   selector: 'my-component',\n *   templateUrl: 'myComponent.html',\n *   directives: [NgClass, NgIf, NgFor, NgSwitch, NgSwitchWhen, NgSwitchDefault, NgModel, NgForm,\n * OtherDirective]\n * })\n * export class MyComponent {\n *   ...\n * }\n * ```\n * one could import all the common directives at once:\n *\n * ```typescript\n * import {COMMON_DIRECTIVES} from '@angular/common';\n * import {OtherDirective} from './myDirectives';\n *\n * @Component({\n *   selector: 'my-component',\n *   templateUrl: 'myComponent.html',\n *   directives: [COMMON_DIRECTIVES, OtherDirective]\n * })\n * export class MyComponent {\n *   ...\n * }\n * ```\n *\n * @experimental Contains forms which are experimental.\n */\nexports.COMMON_DIRECTIVES = [directives_1.CORE_DIRECTIVES];\n//# sourceMappingURL=common_directives.js.map"},{"id":40,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","name":"./~/@angular/common/src/directives.js","index":4,"index2":15,"size":1269,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":39,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/common_directives.js","module":"./~/@angular/common/src/common_directives.js","moduleName":"./~/@angular/common/src/common_directives.js","type":"cjs require","userRequest":"./directives","loc":"10:19-42"},{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/directives","loc":"19:9-36"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n/**\n * @module\n * @description\n * Common directives shipped with Angular.\n */\n\nvar core_directives_1 = require('./directives/core_directives');\nexports.CORE_DIRECTIVES = core_directives_1.CORE_DIRECTIVES;\nvar ng_class_1 = require('./directives/ng_class');\nexports.NgClass = ng_class_1.NgClass;\nvar ng_for_1 = require('./directives/ng_for');\nexports.NgFor = ng_for_1.NgFor;\nvar ng_if_1 = require('./directives/ng_if');\nexports.NgIf = ng_if_1.NgIf;\nvar ng_plural_1 = require('./directives/ng_plural');\nexports.NgPlural = ng_plural_1.NgPlural;\nexports.NgPluralCase = ng_plural_1.NgPluralCase;\nvar ng_style_1 = require('./directives/ng_style');\nexports.NgStyle = ng_style_1.NgStyle;\nvar ng_switch_1 = require('./directives/ng_switch');\nexports.NgSwitch = ng_switch_1.NgSwitch;\nexports.NgSwitchCase = ng_switch_1.NgSwitchCase;\nexports.NgSwitchDefault = ng_switch_1.NgSwitchDefault;\nvar ng_template_outlet_1 = require('./directives/ng_template_outlet');\nexports.NgTemplateOutlet = ng_template_outlet_1.NgTemplateOutlet;\n//# sourceMappingURL=directives.js.map"},{"id":41,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_class.js","name":"./~/@angular/common/src/directives/ng_class.js","index":6,"index2":3,"size":5561,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_class","loc":"17:17-49"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_class","loc":"10:17-38"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../facade/collection');\nvar lang_1 = require('../facade/lang');\nvar NgClass = function () {\n    function NgClass(_iterableDiffers, _keyValueDiffers, _ngEl, _renderer) {\n        this._iterableDiffers = _iterableDiffers;\n        this._keyValueDiffers = _keyValueDiffers;\n        this._ngEl = _ngEl;\n        this._renderer = _renderer;\n        this._initialClasses = [];\n    }\n    Object.defineProperty(NgClass.prototype, \"initialClasses\", {\n        set: function set(v) {\n            this._applyInitialClasses(true);\n            this._initialClasses = lang_1.isPresent(v) && lang_1.isString(v) ? v.split(' ') : [];\n            this._applyInitialClasses(false);\n            this._applyClasses(this._rawClass, false);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgClass.prototype, \"ngClass\", {\n        set: function set(v) {\n            this._cleanupClasses(this._rawClass);\n            if (lang_1.isString(v)) {\n                v = v.split(' ');\n            }\n            this._rawClass = v;\n            this._iterableDiffer = null;\n            this._keyValueDiffer = null;\n            if (lang_1.isPresent(v)) {\n                if (collection_1.isListLikeIterable(v)) {\n                    this._iterableDiffer = this._iterableDiffers.find(v).create(null);\n                } else {\n                    this._keyValueDiffer = this._keyValueDiffers.find(v).create(null);\n                }\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgClass.prototype.ngDoCheck = function () {\n        if (lang_1.isPresent(this._iterableDiffer)) {\n            var changes = this._iterableDiffer.diff(this._rawClass);\n            if (lang_1.isPresent(changes)) {\n                this._applyIterableChanges(changes);\n            }\n        }\n        if (lang_1.isPresent(this._keyValueDiffer)) {\n            var changes = this._keyValueDiffer.diff(this._rawClass);\n            if (lang_1.isPresent(changes)) {\n                this._applyKeyValueChanges(changes);\n            }\n        }\n    };\n    NgClass.prototype._cleanupClasses = function (rawClassVal) {\n        this._applyClasses(rawClassVal, true);\n        this._applyInitialClasses(false);\n    };\n    NgClass.prototype._applyKeyValueChanges = function (changes) {\n        var _this = this;\n        changes.forEachAddedItem(function (record) {\n            _this._toggleClass(record.key, record.currentValue);\n        });\n        changes.forEachChangedItem(function (record) {\n            _this._toggleClass(record.key, record.currentValue);\n        });\n        changes.forEachRemovedItem(function (record) {\n            if (record.previousValue) {\n                _this._toggleClass(record.key, false);\n            }\n        });\n    };\n    NgClass.prototype._applyIterableChanges = function (changes) {\n        var _this = this;\n        changes.forEachAddedItem(function (record) {\n            _this._toggleClass(record.item, true);\n        });\n        changes.forEachRemovedItem(function (record) {\n            _this._toggleClass(record.item, false);\n        });\n    };\n    NgClass.prototype._applyInitialClasses = function (isCleanup) {\n        var _this = this;\n        this._initialClasses.forEach(function (className) {\n            return _this._toggleClass(className, !isCleanup);\n        });\n    };\n    NgClass.prototype._applyClasses = function (rawClassVal, isCleanup) {\n        var _this = this;\n        if (lang_1.isPresent(rawClassVal)) {\n            if (lang_1.isArray(rawClassVal)) {\n                rawClassVal.forEach(function (className) {\n                    return _this._toggleClass(className, !isCleanup);\n                });\n            } else if (rawClassVal instanceof Set) {\n                rawClassVal.forEach(function (className) {\n                    return _this._toggleClass(className, !isCleanup);\n                });\n            } else {\n                collection_1.StringMapWrapper.forEach(rawClassVal, function (expVal, className) {\n                    if (lang_1.isPresent(expVal)) _this._toggleClass(className, !isCleanup);\n                });\n            }\n        }\n    };\n    NgClass.prototype._toggleClass = function (className, enabled) {\n        className = className.trim();\n        if (className.length > 0) {\n            if (className.indexOf(' ') > -1) {\n                var classes = className.split(/\\s+/g);\n                for (var i = 0, len = classes.length; i < len; i++) {\n                    this._renderer.setElementClass(this._ngEl.nativeElement, classes[i], enabled);\n                }\n            } else {\n                this._renderer.setElementClass(this._ngEl.nativeElement, className, enabled);\n            }\n        }\n    };\n    /** @nocollapse */\n    NgClass.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngClass]' }] }];\n    /** @nocollapse */\n    NgClass.ctorParameters = [{ type: core_1.IterableDiffers }, { type: core_1.KeyValueDiffers }, { type: core_1.ElementRef }, { type: core_1.Renderer }];\n    /** @nocollapse */\n    NgClass.propDecorators = {\n        'initialClasses': [{ type: core_1.Input, args: ['class'] }],\n        'ngClass': [{ type: core_1.Input }]\n    };\n    return NgClass;\n}();\nexports.NgClass = NgClass;\n//# sourceMappingURL=ng_class.js.map"},{"id":42,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_for.js","name":"./~/@angular/common/src/directives/ng_for.js","index":9,"index2":7,"size":5234,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_for","loc":"19:15-45"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_for","loc":"11:15-34"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar exceptions_1 = require('../facade/exceptions');\nvar lang_1 = require('../facade/lang');\nvar NgForRow = function () {\n    function NgForRow($implicit, index, count) {\n        this.$implicit = $implicit;\n        this.index = index;\n        this.count = count;\n    }\n    Object.defineProperty(NgForRow.prototype, \"first\", {\n        get: function get() {\n            return this.index === 0;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForRow.prototype, \"last\", {\n        get: function get() {\n            return this.index === this.count - 1;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForRow.prototype, \"even\", {\n        get: function get() {\n            return this.index % 2 === 0;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForRow.prototype, \"odd\", {\n        get: function get() {\n            return !this.even;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return NgForRow;\n}();\nexports.NgForRow = NgForRow;\nvar NgFor = function () {\n    function NgFor(_viewContainer, _templateRef, _iterableDiffers, _cdr) {\n        this._viewContainer = _viewContainer;\n        this._templateRef = _templateRef;\n        this._iterableDiffers = _iterableDiffers;\n        this._cdr = _cdr;\n    }\n    Object.defineProperty(NgFor.prototype, \"ngForTemplate\", {\n        set: function set(value) {\n            if (lang_1.isPresent(value)) {\n                this._templateRef = value;\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgFor.prototype.ngOnChanges = function (changes) {\n        if ('ngForOf' in changes) {\n            // React on ngForOf changes only once all inputs have been initialized\n            var value = changes['ngForOf'].currentValue;\n            if (lang_1.isBlank(this._differ) && lang_1.isPresent(value)) {\n                try {\n                    this._differ = this._iterableDiffers.find(value).create(this._cdr, this.ngForTrackBy);\n                } catch (e) {\n                    throw new exceptions_1.BaseException(\"Cannot find a differ supporting object '\" + value + \"' of type '\" + lang_1.getTypeNameForDebugging(value) + \"'. NgFor only supports binding to Iterables such as Arrays.\");\n                }\n            }\n        }\n    };\n    NgFor.prototype.ngDoCheck = function () {\n        if (lang_1.isPresent(this._differ)) {\n            var changes = this._differ.diff(this.ngForOf);\n            if (lang_1.isPresent(changes)) this._applyChanges(changes);\n        }\n    };\n    NgFor.prototype._applyChanges = function (changes) {\n        var _this = this;\n        var insertTuples = [];\n        changes.forEachOperation(function (item, adjustedPreviousIndex, currentIndex) {\n            if (item.previousIndex == null) {\n                var view = _this._viewContainer.createEmbeddedView(_this._templateRef, new NgForRow(null, null, null), currentIndex);\n                var tuple = new RecordViewTuple(item, view);\n                insertTuples.push(tuple);\n            } else if (currentIndex == null) {\n                _this._viewContainer.remove(adjustedPreviousIndex);\n            } else {\n                var view = _this._viewContainer.get(adjustedPreviousIndex);\n                _this._viewContainer.move(view, currentIndex);\n                var tuple = new RecordViewTuple(item, view);\n                insertTuples.push(tuple);\n            }\n        });\n        for (var i = 0; i < insertTuples.length; i++) {\n            this._perViewChange(insertTuples[i].view, insertTuples[i].record);\n        }\n        for (var i = 0, ilen = this._viewContainer.length; i < ilen; i++) {\n            var viewRef = this._viewContainer.get(i);\n            viewRef.context.index = i;\n            viewRef.context.count = ilen;\n        }\n        changes.forEachIdentityChange(function (record) {\n            var viewRef = _this._viewContainer.get(record.currentIndex);\n            viewRef.context.$implicit = record.item;\n        });\n    };\n    NgFor.prototype._perViewChange = function (view, record) {\n        view.context.$implicit = record.item;\n    };\n    /** @nocollapse */\n    NgFor.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngFor][ngForOf]' }] }];\n    /** @nocollapse */\n    NgFor.ctorParameters = [{ type: core_1.ViewContainerRef }, { type: core_1.TemplateRef }, { type: core_1.IterableDiffers }, { type: core_1.ChangeDetectorRef }];\n    /** @nocollapse */\n    NgFor.propDecorators = {\n        'ngForOf': [{ type: core_1.Input }],\n        'ngForTrackBy': [{ type: core_1.Input }],\n        'ngForTemplate': [{ type: core_1.Input }]\n    };\n    return NgFor;\n}();\nexports.NgFor = NgFor;\nvar RecordViewTuple = function () {\n    function RecordViewTuple(record, view) {\n        this.record = record;\n        this.view = view;\n    }\n    return RecordViewTuple;\n}();\n//# sourceMappingURL=ng_for.js.map"},{"id":43,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_if.js","name":"./~/@angular/common/src/directives/ng_if.js","index":13,"index2":8,"size":1490,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_if","loc":"21:14-43"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_if","loc":"12:14-32"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar NgIf = function () {\n    function NgIf(_viewContainer, _templateRef) {\n        this._viewContainer = _viewContainer;\n        this._templateRef = _templateRef;\n        this._prevCondition = null;\n    }\n    Object.defineProperty(NgIf.prototype, \"ngIf\", {\n        set: function set(newCondition) {\n            if (newCondition && (lang_1.isBlank(this._prevCondition) || !this._prevCondition)) {\n                this._prevCondition = true;\n                this._viewContainer.createEmbeddedView(this._templateRef);\n            } else if (!newCondition && (lang_1.isBlank(this._prevCondition) || this._prevCondition)) {\n                this._prevCondition = false;\n                this._viewContainer.clear();\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @nocollapse */\n    NgIf.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngIf]' }] }];\n    /** @nocollapse */\n    NgIf.ctorParameters = [{ type: core_1.ViewContainerRef }, { type: core_1.TemplateRef }];\n    /** @nocollapse */\n    NgIf.propDecorators = {\n        'ngIf': [{ type: core_1.Input }]\n    };\n    return NgIf;\n}();\nexports.NgIf = NgIf;\n//# sourceMappingURL=ng_if.js.map"},{"id":44,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_plural.js","name":"./~/@angular/common/src/directives/ng_plural.js","index":14,"index2":11,"size":2612,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_plural","loc":"23:18-51"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_plural","loc":"13:18-40"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar localization_1 = require('../localization');\nvar ng_switch_1 = require('./ng_switch');\nvar NgPlural = function () {\n    function NgPlural(_localization) {\n        this._localization = _localization;\n        this._caseViews = {};\n    }\n    Object.defineProperty(NgPlural.prototype, \"ngPlural\", {\n        set: function set(value) {\n            this._switchValue = value;\n            this._updateView();\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgPlural.prototype.addCase = function (value, switchView) {\n        this._caseViews[value] = switchView;\n    };\n    /** @internal */\n    NgPlural.prototype._updateView = function () {\n        this._clearViews();\n        var key = localization_1.getPluralCategory(this._switchValue, Object.keys(this._caseViews), this._localization);\n        this._activateView(this._caseViews[key]);\n    };\n    /** @internal */\n    NgPlural.prototype._clearViews = function () {\n        if (lang_1.isPresent(this._activeView)) this._activeView.destroy();\n    };\n    /** @internal */\n    NgPlural.prototype._activateView = function (view) {\n        if (!lang_1.isPresent(view)) return;\n        this._activeView = view;\n        this._activeView.create();\n    };\n    /** @nocollapse */\n    NgPlural.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngPlural]' }] }];\n    /** @nocollapse */\n    NgPlural.ctorParameters = [{ type: localization_1.NgLocalization }];\n    /** @nocollapse */\n    NgPlural.propDecorators = {\n        'ngPlural': [{ type: core_1.Input }]\n    };\n    return NgPlural;\n}();\nexports.NgPlural = NgPlural;\nvar NgPluralCase = function () {\n    function NgPluralCase(value, template, viewContainer, ngPlural) {\n        this.value = value;\n        ngPlural.addCase(value, new ng_switch_1.SwitchView(viewContainer, template));\n    }\n    /** @nocollapse */\n    NgPluralCase.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngPluralCase]' }] }];\n    /** @nocollapse */\n    NgPluralCase.ctorParameters = [{ type: undefined, decorators: [{ type: core_1.Attribute, args: ['ngPluralCase'] }] }, { type: core_1.TemplateRef }, { type: core_1.ViewContainerRef }, { type: NgPlural, decorators: [{ type: core_1.Host }] }];\n    return NgPluralCase;\n}();\nexports.NgPluralCase = NgPluralCase;\n//# sourceMappingURL=ng_plural.js.map"},{"id":45,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_style.js","name":"./~/@angular/common/src/directives/ng_style.js","index":17,"index2":12,"size":2357,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_style","loc":"26:17-49"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_style","loc":"14:17-38"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar NgStyle = function () {\n    function NgStyle(_differs, _ngEl, _renderer) {\n        this._differs = _differs;\n        this._ngEl = _ngEl;\n        this._renderer = _renderer;\n    }\n    Object.defineProperty(NgStyle.prototype, \"ngStyle\", {\n        set: function set(v) {\n            this._ngStyle = v;\n            if (lang_1.isBlank(this._differ) && lang_1.isPresent(v)) {\n                this._differ = this._differs.find(this._ngStyle).create(null);\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgStyle.prototype.ngDoCheck = function () {\n        if (lang_1.isPresent(this._differ)) {\n            var changes = this._differ.diff(this._ngStyle);\n            if (lang_1.isPresent(changes)) {\n                this._applyChanges(changes);\n            }\n        }\n    };\n    NgStyle.prototype._applyChanges = function (changes) {\n        var _this = this;\n        changes.forEachRemovedItem(function (record) {\n            _this._setStyle(record.key, null);\n        });\n        changes.forEachAddedItem(function (record) {\n            _this._setStyle(record.key, record.currentValue);\n        });\n        changes.forEachChangedItem(function (record) {\n            _this._setStyle(record.key, record.currentValue);\n        });\n    };\n    NgStyle.prototype._setStyle = function (name, val) {\n        var nameParts = name.split('.');\n        var nameToSet = nameParts[0];\n        var valToSet = lang_1.isPresent(val) && nameParts.length === 2 ? \"\" + val + nameParts[1] : val;\n        this._renderer.setElementStyle(this._ngEl.nativeElement, nameToSet, valToSet);\n    };\n    /** @nocollapse */\n    NgStyle.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngStyle]' }] }];\n    /** @nocollapse */\n    NgStyle.ctorParameters = [{ type: core_1.KeyValueDiffers }, { type: core_1.ElementRef }, { type: core_1.Renderer }];\n    /** @nocollapse */\n    NgStyle.propDecorators = {\n        'ngStyle': [{ type: core_1.Input }]\n    };\n    return NgStyle;\n}();\nexports.NgStyle = NgStyle;\n//# sourceMappingURL=ng_style.js.map"},{"id":46,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_template_outlet.js","name":"./~/@angular/common/src/directives/ng_template_outlet.js","index":18,"index2":13,"size":1731,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_template_outlet","loc":"32:27-69"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_template_outlet","loc":"16:27-58"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar NgTemplateOutlet = function () {\n    function NgTemplateOutlet(_viewContainerRef) {\n        this._viewContainerRef = _viewContainerRef;\n    }\n    Object.defineProperty(NgTemplateOutlet.prototype, \"ngOutletContext\", {\n        set: function set(context) {\n            this._context = context;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgTemplateOutlet.prototype, \"ngTemplateOutlet\", {\n        set: function set(templateRef) {\n            this._templateRef = templateRef;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgTemplateOutlet.prototype.ngOnChanges = function () {\n        if (this._viewRef) {\n            this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._viewRef));\n        }\n        if (this._templateRef) {\n            this._viewRef = this._viewContainerRef.createEmbeddedView(this._templateRef, this._context);\n        }\n    };\n    /** @nocollapse */\n    NgTemplateOutlet.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngTemplateOutlet]' }] }];\n    /** @nocollapse */\n    NgTemplateOutlet.ctorParameters = [{ type: core_1.ViewContainerRef }];\n    /** @nocollapse */\n    NgTemplateOutlet.propDecorators = {\n        'ngOutletContext': [{ type: core_1.Input }],\n        'ngTemplateOutlet': [{ type: core_1.Input }]\n    };\n    return NgTemplateOutlet;\n}();\nexports.NgTemplateOutlet = NgTemplateOutlet;\n//# sourceMappingURL=ng_template_outlet.js.map"},{"id":47,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/base_wrapped_exception.js","name":"./~/@angular/common/src/facade/base_wrapped_exception.js","index":11,"index2":4,"size":2205,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exceptions.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":7,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exceptions.js","module":"./~/@angular/common/src/facade/exceptions.js","moduleName":"./~/@angular/common/src/facade/exceptions.js","type":"cjs require","userRequest":"./base_wrapped_exception","loc":"18:31-66"},{"moduleId":48,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exception_handler.js","module":"./~/@angular/common/src/facade/exception_handler.js","moduleName":"./~/@angular/common/src/facade/exception_handler.js","type":"cjs require","userRequest":"./base_wrapped_exception","loc":"10:31-66"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * A base class for the WrappedException that can be used to identify\n * a WrappedException from ExceptionHandler without adding circular\n * dependency.\n */\nvar BaseWrappedException = function (_super) {\n    __extends(BaseWrappedException, _super);\n    function BaseWrappedException(message) {\n        _super.call(this, message);\n    }\n    Object.defineProperty(BaseWrappedException.prototype, \"wrapperMessage\", {\n        get: function get() {\n            return '';\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseWrappedException.prototype, \"wrapperStack\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseWrappedException.prototype, \"originalException\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseWrappedException.prototype, \"originalStack\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseWrappedException.prototype, \"context\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseWrappedException.prototype, \"message\", {\n        get: function get() {\n            return '';\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return BaseWrappedException;\n}(Error);\nexports.BaseWrappedException = BaseWrappedException;\n//# sourceMappingURL=base_wrapped_exception.js.map"},{"id":48,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exception_handler.js","name":"./~/@angular/common/src/facade/exception_handler.js","index":12,"index2":5,"size":5798,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exceptions.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":7,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exceptions.js","module":"./~/@angular/common/src/facade/exceptions.js","moduleName":"./~/@angular/common/src/facade/exceptions.js","type":"cjs require","userRequest":"./exception_handler","loc":"19:26-56"},{"moduleId":7,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exceptions.js","module":"./~/@angular/common/src/facade/exceptions.js","moduleName":"./~/@angular/common/src/facade/exceptions.js","type":"cjs require","userRequest":"./exception_handler","loc":"20:26-56"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar base_wrapped_exception_1 = require('./base_wrapped_exception');\nvar collection_1 = require('./collection');\nvar lang_1 = require('./lang');\nvar _ArrayLogger = function () {\n    function _ArrayLogger() {\n        this.res = [];\n    }\n    _ArrayLogger.prototype.log = function (s) {\n        this.res.push(s);\n    };\n    _ArrayLogger.prototype.logError = function (s) {\n        this.res.push(s);\n    };\n    _ArrayLogger.prototype.logGroup = function (s) {\n        this.res.push(s);\n    };\n    _ArrayLogger.prototype.logGroupEnd = function () {};\n    ;\n    return _ArrayLogger;\n}();\n/**\n * Provides a hook for centralized exception handling.\n *\n * The default implementation of `ExceptionHandler` prints error messages to the `Console`. To\n * intercept error handling,\n * write a custom exception handler that replaces this default as appropriate for your app.\n *\n * ### Example\n *\n * ```javascript\n *\n * class MyExceptionHandler implements ExceptionHandler {\n *   call(error, stackTrace = null, reason = null) {\n *     // do something with the exception\n *   }\n * }\n *\n * bootstrap(MyApp, [{provide: ExceptionHandler, useClass: MyExceptionHandler}])\n *\n * ```\n * @stable\n */\nvar ExceptionHandler = function () {\n    function ExceptionHandler(_logger, _rethrowException) {\n        if (_rethrowException === void 0) {\n            _rethrowException = true;\n        }\n        this._logger = _logger;\n        this._rethrowException = _rethrowException;\n    }\n    ExceptionHandler.exceptionToString = function (exception, stackTrace, reason) {\n        if (stackTrace === void 0) {\n            stackTrace = null;\n        }\n        if (reason === void 0) {\n            reason = null;\n        }\n        var l = new _ArrayLogger();\n        var e = new ExceptionHandler(l, false);\n        e.call(exception, stackTrace, reason);\n        return l.res.join('\\n');\n    };\n    ExceptionHandler.prototype.call = function (exception, stackTrace, reason) {\n        if (stackTrace === void 0) {\n            stackTrace = null;\n        }\n        if (reason === void 0) {\n            reason = null;\n        }\n        var originalException = this._findOriginalException(exception);\n        var originalStack = this._findOriginalStack(exception);\n        var context = this._findContext(exception);\n        this._logger.logGroup(\"EXCEPTION: \" + this._extractMessage(exception));\n        if (lang_1.isPresent(stackTrace) && lang_1.isBlank(originalStack)) {\n            this._logger.logError('STACKTRACE:');\n            this._logger.logError(this._longStackTrace(stackTrace));\n        }\n        if (lang_1.isPresent(reason)) {\n            this._logger.logError(\"REASON: \" + reason);\n        }\n        if (lang_1.isPresent(originalException)) {\n            this._logger.logError(\"ORIGINAL EXCEPTION: \" + this._extractMessage(originalException));\n        }\n        if (lang_1.isPresent(originalStack)) {\n            this._logger.logError('ORIGINAL STACKTRACE:');\n            this._logger.logError(this._longStackTrace(originalStack));\n        }\n        if (lang_1.isPresent(context)) {\n            this._logger.logError('ERROR CONTEXT:');\n            this._logger.logError(context);\n        }\n        this._logger.logGroupEnd();\n        // We rethrow exceptions, so operations like 'bootstrap' will result in an error\n        // when an exception happens. If we do not rethrow, bootstrap will always succeed.\n        if (this._rethrowException) throw exception;\n    };\n    /** @internal */\n    ExceptionHandler.prototype._extractMessage = function (exception) {\n        return exception instanceof base_wrapped_exception_1.BaseWrappedException ? exception.wrapperMessage : exception.toString();\n    };\n    /** @internal */\n    ExceptionHandler.prototype._longStackTrace = function (stackTrace) {\n        return collection_1.isListLikeIterable(stackTrace) ? stackTrace.join('\\n\\n-----async gap-----\\n') : stackTrace.toString();\n    };\n    /** @internal */\n    ExceptionHandler.prototype._findContext = function (exception) {\n        try {\n            if (!(exception instanceof base_wrapped_exception_1.BaseWrappedException)) return null;\n            return lang_1.isPresent(exception.context) ? exception.context : this._findContext(exception.originalException);\n        } catch (e) {\n            // exception.context can throw an exception. if it happens, we ignore the context.\n            return null;\n        }\n    };\n    /** @internal */\n    ExceptionHandler.prototype._findOriginalException = function (exception) {\n        if (!(exception instanceof base_wrapped_exception_1.BaseWrappedException)) return null;\n        var e = exception.originalException;\n        while (e instanceof base_wrapped_exception_1.BaseWrappedException && lang_1.isPresent(e.originalException)) {\n            e = e.originalException;\n        }\n        return e;\n    };\n    /** @internal */\n    ExceptionHandler.prototype._findOriginalStack = function (exception) {\n        if (!(exception instanceof base_wrapped_exception_1.BaseWrappedException)) return null;\n        var e = exception;\n        var stack = exception.originalStack;\n        while (e instanceof base_wrapped_exception_1.BaseWrappedException && lang_1.isPresent(e.originalException)) {\n            e = e.originalException;\n            if (e instanceof base_wrapped_exception_1.BaseWrappedException && lang_1.isPresent(e.originalException)) {\n                stack = e.originalStack;\n            }\n        }\n        return stack;\n    };\n    return ExceptionHandler;\n}();\nexports.ExceptionHandler = ExceptionHandler;\n//# sourceMappingURL=exception_handler.js.map"},{"id":49,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/intl.js","name":"./~/@angular/common/src/facade/intl.js","index":24,"index2":19,"size":8434,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":54,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","module":"./~/@angular/common/src/pipes/date_pipe.js","moduleName":"./~/@angular/common/src/pipes/date_pipe.js","type":"cjs require","userRequest":"../facade/intl","loc":"12:13-38"},{"moduleId":59,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/number_pipe.js","module":"./~/@angular/common/src/pipes/number_pipe.js","moduleName":"./~/@angular/common/src/pipes/number_pipe.js","type":"cjs require","userRequest":"../facade/intl","loc":"11:13-38"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\n(function (NumberFormatStyle) {\n    NumberFormatStyle[NumberFormatStyle[\"Decimal\"] = 0] = \"Decimal\";\n    NumberFormatStyle[NumberFormatStyle[\"Percent\"] = 1] = \"Percent\";\n    NumberFormatStyle[NumberFormatStyle[\"Currency\"] = 2] = \"Currency\";\n})(exports.NumberFormatStyle || (exports.NumberFormatStyle = {}));\nvar NumberFormatStyle = exports.NumberFormatStyle;\nvar NumberFormatter = function () {\n    function NumberFormatter() {}\n    NumberFormatter.format = function (num, locale, style, _a) {\n        var _b = _a === void 0 ? {} : _a,\n            minimumIntegerDigits = _b.minimumIntegerDigits,\n            minimumFractionDigits = _b.minimumFractionDigits,\n            maximumFractionDigits = _b.maximumFractionDigits,\n            currency = _b.currency,\n            _c = _b.currencyAsSymbol,\n            currencyAsSymbol = _c === void 0 ? false : _c;\n        var options = {\n            minimumIntegerDigits: minimumIntegerDigits,\n            minimumFractionDigits: minimumFractionDigits,\n            maximumFractionDigits: maximumFractionDigits,\n            style: NumberFormatStyle[style].toLowerCase()\n        };\n        if (style == NumberFormatStyle.Currency) {\n            options.currency = currency;\n            options.currencyDisplay = currencyAsSymbol ? 'symbol' : 'code';\n        }\n        return new Intl.NumberFormat(locale, options).format(num);\n    };\n    return NumberFormatter;\n}();\nexports.NumberFormatter = NumberFormatter;\nvar DATE_FORMATS_SPLIT = /((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/;\nvar PATTERN_ALIASES = {\n    yMMMdjms: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 3), digitCondition('day', 1), digitCondition('hour', 1), digitCondition('minute', 1), digitCondition('second', 1)])),\n    yMdjm: datePartGetterFactory(combine([digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1), digitCondition('hour', 1), digitCondition('minute', 1)])),\n    yMMMMEEEEd: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 4), nameCondition('weekday', 4), digitCondition('day', 1)])),\n    yMMMMd: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 4), digitCondition('day', 1)])),\n    yMMMd: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 3), digitCondition('day', 1)])),\n    yMd: datePartGetterFactory(combine([digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1)])),\n    jms: datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('second', 1), digitCondition('minute', 1)])),\n    jm: datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('minute', 1)]))\n};\nvar DATE_FORMATS = {\n    yyyy: datePartGetterFactory(digitCondition('year', 4)),\n    yy: datePartGetterFactory(digitCondition('year', 2)),\n    y: datePartGetterFactory(digitCondition('year', 1)),\n    MMMM: datePartGetterFactory(nameCondition('month', 4)),\n    MMM: datePartGetterFactory(nameCondition('month', 3)),\n    MM: datePartGetterFactory(digitCondition('month', 2)),\n    M: datePartGetterFactory(digitCondition('month', 1)),\n    LLLL: datePartGetterFactory(nameCondition('month', 4)),\n    dd: datePartGetterFactory(digitCondition('day', 2)),\n    d: datePartGetterFactory(digitCondition('day', 1)),\n    HH: digitModifier(hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), false)))),\n    H: hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), false))),\n    hh: digitModifier(hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), true)))),\n    h: hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), true))),\n    jj: datePartGetterFactory(digitCondition('hour', 2)),\n    j: datePartGetterFactory(digitCondition('hour', 1)),\n    mm: digitModifier(datePartGetterFactory(digitCondition('minute', 2))),\n    m: datePartGetterFactory(digitCondition('minute', 1)),\n    ss: digitModifier(datePartGetterFactory(digitCondition('second', 2))),\n    s: datePartGetterFactory(digitCondition('second', 1)),\n    // while ISO 8601 requires fractions to be prefixed with `.` or `,`\n    // we can be just safely rely on using `sss` since we currently don't support single or two digit\n    // fractions\n    sss: datePartGetterFactory(digitCondition('second', 3)),\n    EEEE: datePartGetterFactory(nameCondition('weekday', 4)),\n    EEE: datePartGetterFactory(nameCondition('weekday', 3)),\n    EE: datePartGetterFactory(nameCondition('weekday', 2)),\n    E: datePartGetterFactory(nameCondition('weekday', 1)),\n    a: hourClockExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), true))),\n    Z: timeZoneGetter('short'),\n    z: timeZoneGetter('long'),\n    ww: datePartGetterFactory({}),\n    // first Thursday of the year. not support ?\n    w: datePartGetterFactory({}),\n    // of the year not support ?\n    G: datePartGetterFactory(nameCondition('era', 1)),\n    GG: datePartGetterFactory(nameCondition('era', 2)),\n    GGG: datePartGetterFactory(nameCondition('era', 3)),\n    GGGG: datePartGetterFactory(nameCondition('era', 4))\n};\nfunction digitModifier(inner) {\n    return function (date, locale) {\n        var result = inner(date, locale);\n        return result.length == 1 ? '0' + result : result;\n    };\n}\nfunction hourClockExtracter(inner) {\n    return function (date, locale) {\n        var result = inner(date, locale);\n        return result.split(' ')[1];\n    };\n}\nfunction hourExtracter(inner) {\n    return function (date, locale) {\n        var result = inner(date, locale);\n        return result.split(' ')[0];\n    };\n}\nfunction timeZoneGetter(timezone) {\n    // To workaround `Intl` API restriction for single timezone let format with 24 hours\n    var format = { hour: '2-digit', hour12: false, timeZoneName: timezone };\n    return function (date, locale) {\n        var result = new Intl.DateTimeFormat(locale, format).format(date);\n        // Then extract first 3 letters that related to hours\n        return result ? result.substring(3) : '';\n    };\n}\nfunction hour12Modify(options, value) {\n    options.hour12 = value;\n    return options;\n}\nfunction digitCondition(prop, len) {\n    var result = {};\n    result[prop] = len == 2 ? '2-digit' : 'numeric';\n    return result;\n}\nfunction nameCondition(prop, len) {\n    var result = {};\n    result[prop] = len < 4 ? 'short' : 'long';\n    return result;\n}\nfunction combine(options) {\n    var result = {};\n    options.forEach(function (option) {\n        Object.assign(result, option);\n    });\n    return result;\n}\nfunction datePartGetterFactory(ret) {\n    return function (date, locale) {\n        return new Intl.DateTimeFormat(locale, ret).format(date);\n    };\n}\nvar datePartsFormatterCache = new Map();\nfunction dateFormatter(format, date, locale) {\n    var text = '';\n    var match;\n    var fn;\n    var parts = [];\n    if (PATTERN_ALIASES[format]) {\n        return PATTERN_ALIASES[format](date, locale);\n    }\n    if (datePartsFormatterCache.has(format)) {\n        parts = datePartsFormatterCache.get(format);\n    } else {\n        var matches = DATE_FORMATS_SPLIT.exec(format);\n        while (format) {\n            match = DATE_FORMATS_SPLIT.exec(format);\n            if (match) {\n                parts = concat(parts, match, 1);\n                format = parts.pop();\n            } else {\n                parts.push(format);\n                format = null;\n            }\n        }\n        datePartsFormatterCache.set(format, parts);\n    }\n    parts.forEach(function (part) {\n        fn = DATE_FORMATS[part];\n        text += fn ? fn(date, locale) : part === '\\'\\'' ? '\\'' : part.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n    });\n    return text;\n}\nvar slice = [].slice;\nfunction concat(array1 /** TODO #9100 */, array2 /** TODO #9100 */, index /** TODO #9100 */) {\n    return array1.concat(slice.call(array2, index));\n}\nvar DateFormatter = function () {\n    function DateFormatter() {}\n    DateFormatter.format = function (date, locale, pattern) {\n        return dateFormatter(pattern, date, locale);\n    };\n    return DateFormatter;\n}();\nexports.DateFormatter = DateFormatter;\n//# sourceMappingURL=intl.js.map"},{"id":50,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","name":"./~/@angular/common/src/forms-deprecated/directives.js","index":34,"index2":73,"size":4930,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives","loc":"23:19-59"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives","loc":"26:19-59"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar checkbox_value_accessor_1 = require('./directives/checkbox_value_accessor');\nvar default_value_accessor_1 = require('./directives/default_value_accessor');\nvar ng_control_group_1 = require('./directives/ng_control_group');\nvar ng_control_name_1 = require('./directives/ng_control_name');\nvar ng_control_status_1 = require('./directives/ng_control_status');\nvar ng_form_1 = require('./directives/ng_form');\nvar ng_form_control_1 = require('./directives/ng_form_control');\nvar ng_form_model_1 = require('./directives/ng_form_model');\nvar ng_model_1 = require('./directives/ng_model');\nvar number_value_accessor_1 = require('./directives/number_value_accessor');\nvar radio_control_value_accessor_1 = require('./directives/radio_control_value_accessor');\nvar select_control_value_accessor_1 = require('./directives/select_control_value_accessor');\nvar select_multiple_control_value_accessor_1 = require('./directives/select_multiple_control_value_accessor');\nvar validators_1 = require('./directives/validators');\nvar checkbox_value_accessor_2 = require('./directives/checkbox_value_accessor');\nexports.CheckboxControlValueAccessor = checkbox_value_accessor_2.CheckboxControlValueAccessor;\nvar default_value_accessor_2 = require('./directives/default_value_accessor');\nexports.DefaultValueAccessor = default_value_accessor_2.DefaultValueAccessor;\nvar ng_control_1 = require('./directives/ng_control');\nexports.NgControl = ng_control_1.NgControl;\nvar ng_control_group_2 = require('./directives/ng_control_group');\nexports.NgControlGroup = ng_control_group_2.NgControlGroup;\nvar ng_control_name_2 = require('./directives/ng_control_name');\nexports.NgControlName = ng_control_name_2.NgControlName;\nvar ng_control_status_2 = require('./directives/ng_control_status');\nexports.NgControlStatus = ng_control_status_2.NgControlStatus;\nvar ng_form_2 = require('./directives/ng_form');\nexports.NgForm = ng_form_2.NgForm;\nvar ng_form_control_2 = require('./directives/ng_form_control');\nexports.NgFormControl = ng_form_control_2.NgFormControl;\nvar ng_form_model_2 = require('./directives/ng_form_model');\nexports.NgFormModel = ng_form_model_2.NgFormModel;\nvar ng_model_2 = require('./directives/ng_model');\nexports.NgModel = ng_model_2.NgModel;\nvar number_value_accessor_2 = require('./directives/number_value_accessor');\nexports.NumberValueAccessor = number_value_accessor_2.NumberValueAccessor;\nvar radio_control_value_accessor_2 = require('./directives/radio_control_value_accessor');\nexports.RadioButtonState = radio_control_value_accessor_2.RadioButtonState;\nexports.RadioControlValueAccessor = radio_control_value_accessor_2.RadioControlValueAccessor;\nvar select_control_value_accessor_2 = require('./directives/select_control_value_accessor');\nexports.NgSelectOption = select_control_value_accessor_2.NgSelectOption;\nexports.SelectControlValueAccessor = select_control_value_accessor_2.SelectControlValueAccessor;\nvar select_multiple_control_value_accessor_2 = require('./directives/select_multiple_control_value_accessor');\nexports.NgSelectMultipleOption = select_multiple_control_value_accessor_2.NgSelectMultipleOption;\nexports.SelectMultipleControlValueAccessor = select_multiple_control_value_accessor_2.SelectMultipleControlValueAccessor;\nvar validators_2 = require('./directives/validators');\nexports.MaxLengthValidator = validators_2.MaxLengthValidator;\nexports.MinLengthValidator = validators_2.MinLengthValidator;\nexports.PatternValidator = validators_2.PatternValidator;\nexports.RequiredValidator = validators_2.RequiredValidator;\n/**\n *\n * A list of all the form directives used as part of a `@Component` annotation.\n *\n *  This is a shorthand for importing them each individually.\n *\n * ### Example\n *\n * ```typescript\n * @Component({\n *   selector: 'my-app',\n *   directives: [FORM_DIRECTIVES]\n * })\n * class MyApp {}\n * ```\n * @experimental\n */\nexports.FORM_DIRECTIVES = [ng_control_name_1.NgControlName, ng_control_group_1.NgControlGroup, ng_form_control_1.NgFormControl, ng_model_1.NgModel, ng_form_model_1.NgFormModel, ng_form_1.NgForm, select_control_value_accessor_1.NgSelectOption, select_multiple_control_value_accessor_1.NgSelectMultipleOption, default_value_accessor_1.DefaultValueAccessor, number_value_accessor_1.NumberValueAccessor, checkbox_value_accessor_1.CheckboxControlValueAccessor, select_control_value_accessor_1.SelectControlValueAccessor, select_multiple_control_value_accessor_1.SelectMultipleControlValueAccessor, radio_control_value_accessor_1.RadioControlValueAccessor, ng_control_status_1.NgControlStatus, validators_1.RequiredValidator, validators_1.MinLengthValidator, validators_1.MaxLengthValidator, validators_1.PatternValidator];\n//# sourceMappingURL=directives.js.map"},{"id":51,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/form_builder.js","name":"./~/@angular/common/src/forms-deprecated/form_builder.js","index":77,"index2":74,"size":3667,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/form_builder","loc":"25:21-63"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/form_builder","loc":"63:21-63"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../facade/collection');\nvar lang_1 = require('../facade/lang');\nvar model_1 = require('./model');\nvar FormBuilder = function () {\n    function FormBuilder() {}\n    /**\n     * Construct a new {@link ControlGroup} with the given map of configuration.\n     * Valid keys for the `extra` parameter map are `optionals` and `validator`.\n     *\n     * See the {@link ControlGroup} constructor for more details.\n     */\n    FormBuilder.prototype.group = function (controlsConfig, extra) {\n        if (extra === void 0) {\n            extra = null;\n        }\n        var controls = this._reduceControls(controlsConfig);\n        var optionals = lang_1.isPresent(extra) ? collection_1.StringMapWrapper.get(extra, 'optionals') : null;\n        var validator = lang_1.isPresent(extra) ? collection_1.StringMapWrapper.get(extra, 'validator') : null;\n        var asyncValidator = lang_1.isPresent(extra) ? collection_1.StringMapWrapper.get(extra, 'asyncValidator') : null;\n        return new model_1.ControlGroup(controls, optionals, validator, asyncValidator);\n    };\n    /**\n     * Construct a new {@link Control} with the given `value`,`validator`, and `asyncValidator`.\n     */\n    FormBuilder.prototype.control = function (value, validator, asyncValidator) {\n        if (validator === void 0) {\n            validator = null;\n        }\n        if (asyncValidator === void 0) {\n            asyncValidator = null;\n        }\n        return new model_1.Control(value, validator, asyncValidator);\n    };\n    /**\n     * Construct an array of {@link Control}s from the given `controlsConfig` array of\n     * configuration, with the given optional `validator` and `asyncValidator`.\n     */\n    FormBuilder.prototype.array = function (controlsConfig, validator, asyncValidator) {\n        var _this = this;\n        if (validator === void 0) {\n            validator = null;\n        }\n        if (asyncValidator === void 0) {\n            asyncValidator = null;\n        }\n        var controls = controlsConfig.map(function (c) {\n            return _this._createControl(c);\n        });\n        return new model_1.ControlArray(controls, validator, asyncValidator);\n    };\n    /** @internal */\n    FormBuilder.prototype._reduceControls = function (controlsConfig) {\n        var _this = this;\n        var controls = {};\n        collection_1.StringMapWrapper.forEach(controlsConfig, function (controlConfig, controlName) {\n            controls[controlName] = _this._createControl(controlConfig);\n        });\n        return controls;\n    };\n    /** @internal */\n    FormBuilder.prototype._createControl = function (controlConfig) {\n        if (controlConfig instanceof model_1.Control || controlConfig instanceof model_1.ControlGroup || controlConfig instanceof model_1.ControlArray) {\n            return controlConfig;\n        } else if (lang_1.isArray(controlConfig)) {\n            var value = controlConfig[0];\n            var validator = controlConfig.length > 1 ? controlConfig[1] : null;\n            var asyncValidator = controlConfig.length > 2 ? controlConfig[2] : null;\n            return this.control(value, validator, asyncValidator);\n        } else {\n            return this.control(controlConfig);\n        }\n    };\n    /** @nocollapse */\n    FormBuilder.decorators = [{ type: core_1.Injectable }];\n    return FormBuilder;\n}();\nexports.FormBuilder = FormBuilder;\n//# sourceMappingURL=form_builder.js.map"},{"id":52,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","name":"./~/@angular/common/src/pipes.js","index":19,"index2":30,"size":1582,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/pipes","loc":"17:14-36"},{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/pipes","loc":"18:9-31"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n/**\n * @module\n * @description\n * This module provides a set of common Pipes.\n */\n\nvar async_pipe_1 = require('./pipes/async_pipe');\nexports.AsyncPipe = async_pipe_1.AsyncPipe;\nvar common_pipes_1 = require('./pipes/common_pipes');\nexports.COMMON_PIPES = common_pipes_1.COMMON_PIPES;\nvar date_pipe_1 = require('./pipes/date_pipe');\nexports.DatePipe = date_pipe_1.DatePipe;\nvar i18n_plural_pipe_1 = require('./pipes/i18n_plural_pipe');\nexports.I18nPluralPipe = i18n_plural_pipe_1.I18nPluralPipe;\nvar i18n_select_pipe_1 = require('./pipes/i18n_select_pipe');\nexports.I18nSelectPipe = i18n_select_pipe_1.I18nSelectPipe;\nvar json_pipe_1 = require('./pipes/json_pipe');\nexports.JsonPipe = json_pipe_1.JsonPipe;\nvar lowercase_pipe_1 = require('./pipes/lowercase_pipe');\nexports.LowerCasePipe = lowercase_pipe_1.LowerCasePipe;\nvar number_pipe_1 = require('./pipes/number_pipe');\nexports.CurrencyPipe = number_pipe_1.CurrencyPipe;\nexports.DecimalPipe = number_pipe_1.DecimalPipe;\nexports.PercentPipe = number_pipe_1.PercentPipe;\nvar replace_pipe_1 = require('./pipes/replace_pipe');\nexports.ReplacePipe = replace_pipe_1.ReplacePipe;\nvar slice_pipe_1 = require('./pipes/slice_pipe');\nexports.SlicePipe = slice_pipe_1.SlicePipe;\nvar uppercase_pipe_1 = require('./pipes/uppercase_pipe');\nexports.UpperCasePipe = uppercase_pipe_1.UpperCasePipe;\n//# sourceMappingURL=pipes.js.map"},{"id":53,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/async_pipe.js","name":"./~/@angular/common/src/pipes/async_pipe.js","index":20,"index2":18,"size":4170,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/async_pipe","loc":"15:19-48"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./async_pipe","loc":"15:19-42"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar ObservableStrategy = function () {\n    function ObservableStrategy() {}\n    ObservableStrategy.prototype.createSubscription = function (async, updateLatestValue) {\n        return async.subscribe({ next: updateLatestValue, error: function error(e) {\n                throw e;\n            } });\n    };\n    ObservableStrategy.prototype.dispose = function (subscription) {\n        subscription.unsubscribe();\n    };\n    ObservableStrategy.prototype.onDestroy = function (subscription) {\n        subscription.unsubscribe();\n    };\n    return ObservableStrategy;\n}();\nvar PromiseStrategy = function () {\n    function PromiseStrategy() {}\n    PromiseStrategy.prototype.createSubscription = function (async, updateLatestValue) {\n        return async.then(updateLatestValue, function (e) {\n            throw e;\n        });\n    };\n    PromiseStrategy.prototype.dispose = function (subscription) {};\n    PromiseStrategy.prototype.onDestroy = function (subscription) {};\n    return PromiseStrategy;\n}();\nvar _promiseStrategy = new PromiseStrategy();\nvar _observableStrategy = new ObservableStrategy();\nvar __unused;\nvar AsyncPipe = function () {\n    function AsyncPipe(_ref) {\n        /** @internal */\n        this._latestValue = null;\n        /** @internal */\n        this._latestReturnedValue = null;\n        /** @internal */\n        this._subscription = null;\n        /** @internal */\n        this._obj = null;\n        this._strategy = null;\n        this._ref = _ref;\n    }\n    AsyncPipe.prototype.ngOnDestroy = function () {\n        if (lang_1.isPresent(this._subscription)) {\n            this._dispose();\n        }\n    };\n    AsyncPipe.prototype.transform = function (obj) {\n        if (lang_1.isBlank(this._obj)) {\n            if (lang_1.isPresent(obj)) {\n                this._subscribe(obj);\n            }\n            this._latestReturnedValue = this._latestValue;\n            return this._latestValue;\n        }\n        if (obj !== this._obj) {\n            this._dispose();\n            return this.transform(obj);\n        }\n        if (this._latestValue === this._latestReturnedValue) {\n            return this._latestReturnedValue;\n        } else {\n            this._latestReturnedValue = this._latestValue;\n            return core_1.WrappedValue.wrap(this._latestValue);\n        }\n    };\n    /** @internal */\n    AsyncPipe.prototype._subscribe = function (obj) {\n        var _this = this;\n        this._obj = obj;\n        this._strategy = this._selectStrategy(obj);\n        this._subscription = this._strategy.createSubscription(obj, function (value) {\n            return _this._updateLatestValue(obj, value);\n        });\n    };\n    /** @internal */\n    AsyncPipe.prototype._selectStrategy = function (obj) {\n        if (lang_1.isPromise(obj)) {\n            return _promiseStrategy;\n        } else if (obj.subscribe) {\n            return _observableStrategy;\n        } else {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(AsyncPipe, obj);\n        }\n    };\n    /** @internal */\n    AsyncPipe.prototype._dispose = function () {\n        this._strategy.dispose(this._subscription);\n        this._latestValue = null;\n        this._latestReturnedValue = null;\n        this._subscription = null;\n        this._obj = null;\n    };\n    /** @internal */\n    AsyncPipe.prototype._updateLatestValue = function (async, value) {\n        if (async === this._obj) {\n            this._latestValue = value;\n            this._ref.markForCheck();\n        }\n    };\n    /** @nocollapse */\n    AsyncPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'async', pure: false }] }];\n    /** @nocollapse */\n    AsyncPipe.ctorParameters = [{ type: core_1.ChangeDetectorRef }];\n    return AsyncPipe;\n}();\nexports.AsyncPipe = AsyncPipe;\n//# sourceMappingURL=async_pipe.js.map"},{"id":54,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","name":"./~/@angular/common/src/pipes/date_pipe.js","index":23,"index2":20,"size":2311,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/date_pipe","loc":"19:18-46"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./date_pipe","loc":"16:18-40"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../facade/collection');\nvar intl_1 = require('../facade/intl');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\n// TODO: move to a global configurable location along with other i18n components.\nvar defaultLocale = 'en-US';\nvar DatePipe = function () {\n    function DatePipe() {}\n    DatePipe.prototype.transform = function (value, pattern) {\n        if (pattern === void 0) {\n            pattern = 'mediumDate';\n        }\n        if (lang_1.isBlank(value)) return null;\n        if (!this.supports(value)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(DatePipe, value);\n        }\n        if (lang_1.NumberWrapper.isNumeric(value)) {\n            value = lang_1.DateWrapper.fromMillis(lang_1.NumberWrapper.parseInt(value, 10));\n        } else if (lang_1.isString(value)) {\n            value = lang_1.DateWrapper.fromISOString(value);\n        }\n        if (collection_1.StringMapWrapper.contains(DatePipe._ALIASES, pattern)) {\n            pattern = collection_1.StringMapWrapper.get(DatePipe._ALIASES, pattern);\n        }\n        return intl_1.DateFormatter.format(value, defaultLocale, pattern);\n    };\n    DatePipe.prototype.supports = function (obj) {\n        if (lang_1.isDate(obj) || lang_1.NumberWrapper.isNumeric(obj)) {\n            return true;\n        }\n        if (lang_1.isString(obj) && lang_1.isDate(lang_1.DateWrapper.fromISOString(obj))) {\n            return true;\n        }\n        return false;\n    };\n    /** @internal */\n    DatePipe._ALIASES = {\n        'medium': 'yMMMdjms',\n        'short': 'yMdjm',\n        'fullDate': 'yMMMMEEEEd',\n        'longDate': 'yMMMMd',\n        'mediumDate': 'yMMMd',\n        'shortDate': 'yMd',\n        'mediumTime': 'jms',\n        'shortTime': 'jm'\n    };\n    /** @nocollapse */\n    DatePipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'date', pure: true }] }];\n    return DatePipe;\n}();\nexports.DatePipe = DatePipe;\n//# sourceMappingURL=date_pipe.js.map"},{"id":55,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_plural_pipe.js","name":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","index":25,"index2":21,"size":1440,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/i18n_plural_pipe","loc":"21:25-60"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./i18n_plural_pipe","loc":"17:25-54"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar localization_1 = require('../localization');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar _INTERPOLATION_REGEXP = /#/g;\nvar I18nPluralPipe = function () {\n    function I18nPluralPipe(_localization) {\n        this._localization = _localization;\n    }\n    I18nPluralPipe.prototype.transform = function (value, pluralMap) {\n        if (lang_1.isBlank(value)) return '';\n        if (!lang_1.isStringMap(pluralMap)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(I18nPluralPipe, pluralMap);\n        }\n        var key = localization_1.getPluralCategory(value, Object.keys(pluralMap), this._localization);\n        return lang_1.StringWrapper.replaceAll(pluralMap[key], _INTERPOLATION_REGEXP, value.toString());\n    };\n    /** @nocollapse */\n    I18nPluralPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'i18nPlural', pure: true }] }];\n    /** @nocollapse */\n    I18nPluralPipe.ctorParameters = [{ type: localization_1.NgLocalization }];\n    return I18nPluralPipe;\n}();\nexports.I18nPluralPipe = I18nPluralPipe;\n//# sourceMappingURL=i18n_plural_pipe.js.map"},{"id":56,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_select_pipe.js","name":"./~/@angular/common/src/pipes/i18n_select_pipe.js","index":26,"index2":22,"size":1047,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/i18n_select_pipe","loc":"23:25-60"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./i18n_select_pipe","loc":"18:25-54"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar I18nSelectPipe = function () {\n    function I18nSelectPipe() {}\n    I18nSelectPipe.prototype.transform = function (value, mapping) {\n        if (lang_1.isBlank(value)) return '';\n        if (!lang_1.isStringMap(mapping)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(I18nSelectPipe, mapping);\n        }\n        return mapping.hasOwnProperty(value) ? mapping[value] : '';\n    };\n    /** @nocollapse */\n    I18nSelectPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'i18nSelect', pure: true }] }];\n    return I18nSelectPipe;\n}();\nexports.I18nSelectPipe = I18nSelectPipe;\n//# sourceMappingURL=i18n_select_pipe.js.map"},{"id":57,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/json_pipe.js","name":"./~/@angular/common/src/pipes/json_pipe.js","index":27,"index2":23,"size":664,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/json_pipe","loc":"25:18-46"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./json_pipe","loc":"19:18-40"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar JsonPipe = function () {\n    function JsonPipe() {}\n    JsonPipe.prototype.transform = function (value) {\n        return lang_1.Json.stringify(value);\n    };\n    /** @nocollapse */\n    JsonPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'json', pure: false }] }];\n    return JsonPipe;\n}();\nexports.JsonPipe = JsonPipe;\n//# sourceMappingURL=json_pipe.js.map"},{"id":58,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/lowercase_pipe.js","name":"./~/@angular/common/src/pipes/lowercase_pipe.js","index":28,"index2":24,"size":979,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/lowercase_pipe","loc":"27:23-56"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./lowercase_pipe","loc":"20:23-50"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar LowerCasePipe = function () {\n    function LowerCasePipe() {}\n    LowerCasePipe.prototype.transform = function (value) {\n        if (lang_1.isBlank(value)) return value;\n        if (!lang_1.isString(value)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(LowerCasePipe, value);\n        }\n        return value.toLowerCase();\n    };\n    /** @nocollapse */\n    LowerCasePipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'lowercase' }] }];\n    return LowerCasePipe;\n}();\nexports.LowerCasePipe = LowerCasePipe;\n//# sourceMappingURL=lowercase_pipe.js.map"},{"id":59,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/number_pipe.js","name":"./~/@angular/common/src/pipes/number_pipe.js","index":29,"index2":25,"size":3826,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/number_pipe","loc":"29:20-50"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./number_pipe","loc":"21:20-44"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar intl_1 = require('../facade/intl');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar defaultLocale = 'en-US';\nvar _NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(\\-(\\d+))?)?$/;\nfunction formatNumber(pipe, value, style, digits, currency, currencyAsSymbol) {\n    if (currency === void 0) {\n        currency = null;\n    }\n    if (currencyAsSymbol === void 0) {\n        currencyAsSymbol = false;\n    }\n    if (lang_1.isBlank(value)) return null;\n    // Convert strings to numbers\n    value = lang_1.isString(value) && lang_1.NumberWrapper.isNumeric(value) ? +value : value;\n    if (!lang_1.isNumber(value)) {\n        throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(pipe, value);\n    }\n    var minInt;\n    var minFraction;\n    var maxFraction;\n    if (style !== intl_1.NumberFormatStyle.Currency) {\n        // rely on Intl default for currency\n        minInt = 1;\n        minFraction = 0;\n        maxFraction = 3;\n    }\n    if (lang_1.isPresent(digits)) {\n        var parts = digits.match(_NUMBER_FORMAT_REGEXP);\n        if (parts === null) {\n            throw new Error(digits + \" is not a valid digit info for number pipes\");\n        }\n        if (lang_1.isPresent(parts[1])) {\n            minInt = lang_1.NumberWrapper.parseIntAutoRadix(parts[1]);\n        }\n        if (lang_1.isPresent(parts[3])) {\n            minFraction = lang_1.NumberWrapper.parseIntAutoRadix(parts[3]);\n        }\n        if (lang_1.isPresent(parts[5])) {\n            maxFraction = lang_1.NumberWrapper.parseIntAutoRadix(parts[5]);\n        }\n    }\n    return intl_1.NumberFormatter.format(value, defaultLocale, style, {\n        minimumIntegerDigits: minInt,\n        minimumFractionDigits: minFraction,\n        maximumFractionDigits: maxFraction,\n        currency: currency,\n        currencyAsSymbol: currencyAsSymbol\n    });\n}\nvar DecimalPipe = function () {\n    function DecimalPipe() {}\n    DecimalPipe.prototype.transform = function (value, digits) {\n        if (digits === void 0) {\n            digits = null;\n        }\n        return formatNumber(DecimalPipe, value, intl_1.NumberFormatStyle.Decimal, digits);\n    };\n    /** @nocollapse */\n    DecimalPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'number' }] }];\n    return DecimalPipe;\n}();\nexports.DecimalPipe = DecimalPipe;\nvar PercentPipe = function () {\n    function PercentPipe() {}\n    PercentPipe.prototype.transform = function (value, digits) {\n        if (digits === void 0) {\n            digits = null;\n        }\n        return formatNumber(PercentPipe, value, intl_1.NumberFormatStyle.Percent, digits);\n    };\n    /** @nocollapse */\n    PercentPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'percent' }] }];\n    return PercentPipe;\n}();\nexports.PercentPipe = PercentPipe;\nvar CurrencyPipe = function () {\n    function CurrencyPipe() {}\n    CurrencyPipe.prototype.transform = function (value, currencyCode, symbolDisplay, digits) {\n        if (currencyCode === void 0) {\n            currencyCode = 'USD';\n        }\n        if (symbolDisplay === void 0) {\n            symbolDisplay = false;\n        }\n        if (digits === void 0) {\n            digits = null;\n        }\n        return formatNumber(CurrencyPipe, value, intl_1.NumberFormatStyle.Currency, digits, currencyCode, symbolDisplay);\n    };\n    /** @nocollapse */\n    CurrencyPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'currency' }] }];\n    return CurrencyPipe;\n}();\nexports.CurrencyPipe = CurrencyPipe;\n//# sourceMappingURL=number_pipe.js.map"},{"id":60,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/replace_pipe.js","name":"./~/@angular/common/src/pipes/replace_pipe.js","index":30,"index2":26,"size":2282,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/replace_pipe","loc":"33:21-52"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./replace_pipe","loc":"22:21-46"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar ReplacePipe = function () {\n    function ReplacePipe() {}\n    ReplacePipe.prototype.transform = function (value, pattern, replacement) {\n        if (lang_1.isBlank(value)) {\n            return value;\n        }\n        if (!this._supportedInput(value)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(ReplacePipe, value);\n        }\n        var input = value.toString();\n        if (!this._supportedPattern(pattern)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(ReplacePipe, pattern);\n        }\n        if (!this._supportedReplacement(replacement)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(ReplacePipe, replacement);\n        }\n        if (lang_1.isFunction(replacement)) {\n            var rgxPattern = lang_1.isString(pattern) ? new RegExp(pattern, 'g') : pattern;\n            return lang_1.StringWrapper.replaceAllMapped(input, rgxPattern, replacement);\n        }\n        if (pattern instanceof RegExp) {\n            // use the replaceAll variant\n            return lang_1.StringWrapper.replaceAll(input, pattern, replacement);\n        }\n        return lang_1.StringWrapper.replace(input, pattern, replacement);\n    };\n    ReplacePipe.prototype._supportedInput = function (input) {\n        return lang_1.isString(input) || lang_1.isNumber(input);\n    };\n    ReplacePipe.prototype._supportedPattern = function (pattern) {\n        return lang_1.isString(pattern) || pattern instanceof RegExp;\n    };\n    ReplacePipe.prototype._supportedReplacement = function (replacement) {\n        return lang_1.isString(replacement) || lang_1.isFunction(replacement);\n    };\n    /** @nocollapse */\n    ReplacePipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'replace' }] }];\n    return ReplacePipe;\n}();\nexports.ReplacePipe = ReplacePipe;\n//# sourceMappingURL=replace_pipe.js.map"},{"id":61,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/slice_pipe.js","name":"./~/@angular/common/src/pipes/slice_pipe.js","index":31,"index2":27,"size":1341,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/slice_pipe","loc":"35:19-48"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./slice_pipe","loc":"23:19-42"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../facade/collection');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar SlicePipe = function () {\n    function SlicePipe() {}\n    SlicePipe.prototype.transform = function (value, start, end) {\n        if (end === void 0) {\n            end = null;\n        }\n        if (lang_1.isBlank(value)) return value;\n        if (!this.supports(value)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(SlicePipe, value);\n        }\n        if (lang_1.isString(value)) {\n            return lang_1.StringWrapper.slice(value, start, end);\n        }\n        return collection_1.ListWrapper.slice(value, start, end);\n    };\n    SlicePipe.prototype.supports = function (obj) {\n        return lang_1.isString(obj) || lang_1.isArray(obj);\n    };\n    /** @nocollapse */\n    SlicePipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'slice', pure: false }] }];\n    return SlicePipe;\n}();\nexports.SlicePipe = SlicePipe;\n//# sourceMappingURL=slice_pipe.js.map"},{"id":62,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/uppercase_pipe.js","name":"./~/@angular/common/src/pipes/uppercase_pipe.js","index":32,"index2":28,"size":979,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/uppercase_pipe","loc":"37:23-56"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./uppercase_pipe","loc":"24:23-50"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar UpperCasePipe = function () {\n    function UpperCasePipe() {}\n    UpperCasePipe.prototype.transform = function (value) {\n        if (lang_1.isBlank(value)) return value;\n        if (!lang_1.isString(value)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(UpperCasePipe, value);\n        }\n        return value.toUpperCase();\n    };\n    /** @nocollapse */\n    UpperCasePipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'uppercase' }] }];\n    return UpperCasePipe;\n}();\nexports.UpperCasePipe = UpperCasePipe;\n//# sourceMappingURL=uppercase_pipe.js.map"},{"id":63,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","name":"./~/rxjs/Subject.js","index":53,"index2":62,"size":5329,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/async.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":9,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/async.js","module":"./~/@angular/common/src/facade/async.js","moduleName":"./~/@angular/common/src/facade/async.js","type":"cjs require","userRequest":"rxjs/Subject","loc":"20:16-39"},{"moduleId":9,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/async.js","module":"./~/@angular/common/src/facade/async.js","moduleName":"./~/@angular/common/src/facade/async.js","type":"cjs require","userRequest":"rxjs/Subject","loc":"23:16-39"}],"source":"\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('./Observable');\nvar Subscriber_1 = require('./Subscriber');\nvar Subscription_1 = require('./Subscription');\nvar ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError');\nvar SubjectSubscription_1 = require('./SubjectSubscription');\nvar rxSubscriber_1 = require('./symbol/rxSubscriber');\n/**\n * @class SubjectSubscriber<T>\n */\nvar SubjectSubscriber = function (_super) {\n    __extends(SubjectSubscriber, _super);\n    function SubjectSubscriber(destination) {\n        _super.call(this, destination);\n        this.destination = destination;\n    }\n    return SubjectSubscriber;\n}(Subscriber_1.Subscriber);\nexports.SubjectSubscriber = SubjectSubscriber;\n/**\n * @class Subject<T>\n */\nvar Subject = function (_super) {\n    __extends(Subject, _super);\n    function Subject() {\n        _super.call(this);\n        this.observers = [];\n        this.closed = false;\n        this.isStopped = false;\n        this.hasError = false;\n        this.thrownError = null;\n    }\n    Subject.prototype[rxSubscriber_1.$$rxSubscriber] = function () {\n        return new SubjectSubscriber(this);\n    };\n    Subject.prototype.lift = function (operator) {\n        var subject = new AnonymousSubject(this, this);\n        subject.operator = operator;\n        return subject;\n    };\n    Subject.prototype.next = function (value) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n        }\n        if (!this.isStopped) {\n            var observers = this.observers;\n            var len = observers.length;\n            var copy = observers.slice();\n            for (var i = 0; i < len; i++) {\n                copy[i].next(value);\n            }\n        }\n    };\n    Subject.prototype.error = function (err) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n        }\n        this.hasError = true;\n        this.thrownError = err;\n        this.isStopped = true;\n        var observers = this.observers;\n        var len = observers.length;\n        var copy = observers.slice();\n        for (var i = 0; i < len; i++) {\n            copy[i].error(err);\n        }\n        this.observers.length = 0;\n    };\n    Subject.prototype.complete = function () {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n        }\n        this.isStopped = true;\n        var observers = this.observers;\n        var len = observers.length;\n        var copy = observers.slice();\n        for (var i = 0; i < len; i++) {\n            copy[i].complete();\n        }\n        this.observers.length = 0;\n    };\n    Subject.prototype.unsubscribe = function () {\n        this.isStopped = true;\n        this.closed = true;\n        this.observers = null;\n    };\n    Subject.prototype._subscribe = function (subscriber) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n        } else if (this.hasError) {\n            subscriber.error(this.thrownError);\n            return Subscription_1.Subscription.EMPTY;\n        } else if (this.isStopped) {\n            subscriber.complete();\n            return Subscription_1.Subscription.EMPTY;\n        } else {\n            this.observers.push(subscriber);\n            return new SubjectSubscription_1.SubjectSubscription(this, subscriber);\n        }\n    };\n    Subject.prototype.asObservable = function () {\n        var observable = new Observable_1.Observable();\n        observable.source = this;\n        return observable;\n    };\n    Subject.create = function (destination, source) {\n        return new AnonymousSubject(destination, source);\n    };\n    return Subject;\n}(Observable_1.Observable);\nexports.Subject = Subject;\n/**\n * @class AnonymousSubject<T>\n */\nvar AnonymousSubject = function (_super) {\n    __extends(AnonymousSubject, _super);\n    function AnonymousSubject(destination, source) {\n        _super.call(this);\n        this.destination = destination;\n        this.source = source;\n    }\n    AnonymousSubject.prototype.next = function (value) {\n        var destination = this.destination;\n        if (destination && destination.next) {\n            destination.next(value);\n        }\n    };\n    AnonymousSubject.prototype.error = function (err) {\n        var destination = this.destination;\n        if (destination && destination.error) {\n            this.destination.error(err);\n        }\n    };\n    AnonymousSubject.prototype.complete = function () {\n        var destination = this.destination;\n        if (destination && destination.complete) {\n            this.destination.complete();\n        }\n    };\n    AnonymousSubject.prototype._subscribe = function (subscriber) {\n        var source = this.source;\n        if (source) {\n            return this.source.subscribe(subscriber);\n        } else {\n            return Subscription_1.Subscription.EMPTY;\n        }\n    };\n    return AnonymousSubject;\n}(Subject);\nexports.AnonymousSubject = AnonymousSubject;\n//# sourceMappingURL=Subject.js.map"},{"id":64,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscriber.js","name":"./~/rxjs/Subscriber.js","index":56,"index2":56,"size":9090,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":63,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","module":"./~/rxjs/Subject.js","moduleName":"./~/rxjs/Subject.js","type":"cjs require","userRequest":"./Subscriber","loc":"12:19-42"},{"moduleId":87,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/toSubscriber.js","module":"./~/rxjs/util/toSubscriber.js","moduleName":"./~/rxjs/util/toSubscriber.js","type":"cjs require","userRequest":"../Subscriber","loc":"3:19-43"}],"source":"\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isFunction_1 = require('./util/isFunction');\nvar Subscription_1 = require('./Subscription');\nvar Observer_1 = require('./Observer');\nvar rxSubscriber_1 = require('./symbol/rxSubscriber');\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber<T>\n */\nvar Subscriber = function (_super) {\n    __extends(Subscriber, _super);\n    /**\n     * @param {Observer|function(value: T): void} [destinationOrNext] A partially\n     * defined Observer or a `next` callback function.\n     * @param {function(e: ?any): void} [error] The `error` callback of an\n     * Observer.\n     * @param {function(): void} [complete] The `complete` callback of an\n     * Observer.\n     */\n    function Subscriber(destinationOrNext, error, complete) {\n        _super.call(this);\n        this.syncErrorValue = null;\n        this.syncErrorThrown = false;\n        this.syncErrorThrowable = false;\n        this.isStopped = false;\n        switch (arguments.length) {\n            case 0:\n                this.destination = Observer_1.empty;\n                break;\n            case 1:\n                if (!destinationOrNext) {\n                    this.destination = Observer_1.empty;\n                    break;\n                }\n                if ((typeof destinationOrNext === 'undefined' ? 'undefined' : _typeof(destinationOrNext)) === 'object') {\n                    if (destinationOrNext instanceof Subscriber) {\n                        this.destination = destinationOrNext;\n                        this.destination.add(this);\n                    } else {\n                        this.syncErrorThrowable = true;\n                        this.destination = new SafeSubscriber(this, destinationOrNext);\n                    }\n                    break;\n                }\n            default:\n                this.syncErrorThrowable = true;\n                this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n                break;\n        }\n    }\n    Subscriber.prototype[rxSubscriber_1.$$rxSubscriber] = function () {\n        return this;\n    };\n    /**\n     * A static factory for a Subscriber, given a (potentially partial) definition\n     * of an Observer.\n     * @param {function(x: ?T): void} [next] The `next` callback of an Observer.\n     * @param {function(e: ?any): void} [error] The `error` callback of an\n     * Observer.\n     * @param {function(): void} [complete] The `complete` callback of an\n     * Observer.\n     * @return {Subscriber<T>} A Subscriber wrapping the (partially defined)\n     * Observer represented by the given arguments.\n     */\n    Subscriber.create = function (next, error, complete) {\n        var subscriber = new Subscriber(next, error, complete);\n        subscriber.syncErrorThrowable = false;\n        return subscriber;\n    };\n    /**\n     * The {@link Observer} callback to receive notifications of type `next` from\n     * the Observable, with a value. The Observable may call this method 0 or more\n     * times.\n     * @param {T} [value] The `next` value.\n     * @return {void}\n     */\n    Subscriber.prototype.next = function (value) {\n        if (!this.isStopped) {\n            this._next(value);\n        }\n    };\n    /**\n     * The {@link Observer} callback to receive notifications of type `error` from\n     * the Observable, with an attached {@link Error}. Notifies the Observer that\n     * the Observable has experienced an error condition.\n     * @param {any} [err] The `error` exception.\n     * @return {void}\n     */\n    Subscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            this.isStopped = true;\n            this._error(err);\n        }\n    };\n    /**\n     * The {@link Observer} callback to receive a valueless notification of type\n     * `complete` from the Observable. Notifies the Observer that the Observable\n     * has finished sending push-based notifications.\n     * @return {void}\n     */\n    Subscriber.prototype.complete = function () {\n        if (!this.isStopped) {\n            this.isStopped = true;\n            this._complete();\n        }\n    };\n    Subscriber.prototype.unsubscribe = function () {\n        if (this.closed) {\n            return;\n        }\n        this.isStopped = true;\n        _super.prototype.unsubscribe.call(this);\n    };\n    Subscriber.prototype._next = function (value) {\n        this.destination.next(value);\n    };\n    Subscriber.prototype._error = function (err) {\n        this.destination.error(err);\n        this.unsubscribe();\n    };\n    Subscriber.prototype._complete = function () {\n        this.destination.complete();\n        this.unsubscribe();\n    };\n    return Subscriber;\n}(Subscription_1.Subscription);\nexports.Subscriber = Subscriber;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SafeSubscriber = function (_super) {\n    __extends(SafeSubscriber, _super);\n    function SafeSubscriber(_parent, observerOrNext, error, complete) {\n        _super.call(this);\n        this._parent = _parent;\n        var next;\n        var context = this;\n        if (isFunction_1.isFunction(observerOrNext)) {\n            next = observerOrNext;\n        } else if (observerOrNext) {\n            context = observerOrNext;\n            next = observerOrNext.next;\n            error = observerOrNext.error;\n            complete = observerOrNext.complete;\n            if (isFunction_1.isFunction(context.unsubscribe)) {\n                this.add(context.unsubscribe.bind(context));\n            }\n            context.unsubscribe = this.unsubscribe.bind(this);\n        }\n        this._context = context;\n        this._next = next;\n        this._error = error;\n        this._complete = complete;\n    }\n    SafeSubscriber.prototype.next = function (value) {\n        if (!this.isStopped && this._next) {\n            var _parent = this._parent;\n            if (!_parent.syncErrorThrowable) {\n                this.__tryOrUnsub(this._next, value);\n            } else if (this.__tryOrSetError(_parent, this._next, value)) {\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            var _parent = this._parent;\n            if (this._error) {\n                if (!_parent.syncErrorThrowable) {\n                    this.__tryOrUnsub(this._error, err);\n                    this.unsubscribe();\n                } else {\n                    this.__tryOrSetError(_parent, this._error, err);\n                    this.unsubscribe();\n                }\n            } else if (!_parent.syncErrorThrowable) {\n                this.unsubscribe();\n                throw err;\n            } else {\n                _parent.syncErrorValue = err;\n                _parent.syncErrorThrown = true;\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.complete = function () {\n        if (!this.isStopped) {\n            var _parent = this._parent;\n            if (this._complete) {\n                if (!_parent.syncErrorThrowable) {\n                    this.__tryOrUnsub(this._complete);\n                    this.unsubscribe();\n                } else {\n                    this.__tryOrSetError(_parent, this._complete);\n                    this.unsubscribe();\n                }\n            } else {\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n        try {\n            fn.call(this._context, value);\n        } catch (err) {\n            this.unsubscribe();\n            throw err;\n        }\n    };\n    SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n        try {\n            fn.call(this._context, value);\n        } catch (err) {\n            parent.syncErrorValue = err;\n            parent.syncErrorThrown = true;\n            return true;\n        }\n        return false;\n    };\n    SafeSubscriber.prototype._unsubscribe = function () {\n        var _parent = this._parent;\n        this._context = null;\n        this._parent = null;\n        _parent.unsubscribe();\n    };\n    return SafeSubscriber;\n}(Subscriber);\n//# sourceMappingURL=Subscriber.js.map"},{"id":65,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/errorObject.js","name":"./~/rxjs/util/errorObject.js","index":62,"index2":50,"size":178,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":36,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","module":"./~/rxjs/Subscription.js","moduleName":"./~/rxjs/Subscription.js","type":"cjs require","userRequest":"./util/errorObject","loc":"9:20-49"},{"moduleId":88,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/tryCatch.js","module":"./~/rxjs/util/tryCatch.js","moduleName":"./~/rxjs/util/tryCatch.js","type":"cjs require","userRequest":"./errorObject","loc":"3:20-44"}],"source":"\"use strict\";\n// typeof any so that it we don't have to cast when comparing a result to the error object\n\nexports.errorObject = { e: {} };\n//# sourceMappingURL=errorObject.js.map"},{"id":66,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/isFunction.js","name":"./~/rxjs/util/isFunction.js","index":57,"index2":47,"size":149,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":36,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","module":"./~/rxjs/Subscription.js","moduleName":"./~/rxjs/Subscription.js","type":"cjs require","userRequest":"./util/isFunction","loc":"7:19-47"},{"moduleId":64,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscriber.js","module":"./~/rxjs/Subscriber.js","moduleName":"./~/rxjs/Subscriber.js","type":"cjs require","userRequest":"./util/isFunction","loc":"13:19-47"}],"source":"\"use strict\";\n\nfunction isFunction(x) {\n    return typeof x === 'function';\n}\nexports.isFunction = isFunction;\n//# sourceMappingURL=isFunction.js.map"},{"id":67,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/adjustCaretPosition.js","name":"./core/src/adjustCaretPosition.js","index":86,"index2":84,"size":9417,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":69,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","module":"./core/src/createTextMaskInputElement.js","moduleName":"./core/src/createTextMaskInputElement.js","type":"cjs require","userRequest":"./adjustCaretPosition.js","loc":"13:27-62"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = adjustCaretPosition;\nvar defaultArray = [];\nvar emptyString = '';\n\nfunction adjustCaretPosition(_ref) {\n  var _ref$previousConforme = _ref.previousConformedValue;\n  var previousConformedValue = _ref$previousConforme === undefined ? emptyString : _ref$previousConforme;\n  var _ref$currentCaretPosi = _ref.currentCaretPosition;\n  var currentCaretPosition = _ref$currentCaretPosi === undefined ? 0 : _ref$currentCaretPosi;\n  var conformedValue = _ref.conformedValue;\n  var rawValue = _ref.rawValue;\n  var placeholderChar = _ref.placeholderChar;\n  var placeholder = _ref.placeholder;\n  var _ref$indexesOfPipedCh = _ref.indexesOfPipedChars;\n  var indexesOfPipedChars = _ref$indexesOfPipedCh === undefined ? defaultArray : _ref$indexesOfPipedCh;\n  var _ref$caretTrapIndexes = _ref.caretTrapIndexes;\n  var caretTrapIndexes = _ref$caretTrapIndexes === undefined ? defaultArray : _ref$caretTrapIndexes;\n\n  if (currentCaretPosition === 0) {\n    return 0;\n  }\n\n  // Store lengths for faster performance?\n  var rawValueLength = rawValue.length;\n  var previousConformedValueLength = previousConformedValue.length;\n  var placeholderLength = placeholder.length;\n  var conformedValueLength = conformedValue.length;\n\n  // This tells us how long the edit is. If user modified input from `(2__)` to `(243__)`,\n  // we know the user in this instance pasted two characters\n  var editLength = rawValueLength - previousConformedValueLength;\n\n  // If the edit length is positive, that means the user is adding characters, not deleting.\n  var isAddition = editLength > 0;\n\n  // This is the first raw value the user entered that needs to be conformed to mask\n  var isFirstRawValue = previousConformedValueLength === 0;\n\n  // A partial multi-character edit happens when the user makes a partial selection in their\n  // input and edits that selection. That is going from `(123) 432-4348` to `() 432-4348` by\n  // selecting the first 3 digits and pressing backspace.\n  //\n  // Such cases can also happen when the user presses the backspace while holding down the ALT\n  // key.\n  var isPartialMultiCharEdit = editLength > 1 && !isAddition && !isFirstRawValue;\n\n  // This algorithm doesn't support all cases of multi-character edits, so we just return\n  // the current caret position.\n  //\n  // This works fine for most cases.\n  if (isPartialMultiCharEdit) {\n    return currentCaretPosition;\n  }\n\n  // For a mask like (111), if the `previousConformedValue` is (1__) and user attempts to enter\n  // `f` so the `rawValue` becomes (1f__), the new `conformedValue` would be (1__), which is the\n  // same as the original `previousConformedValue`. We handle this case differently for caret\n  // positioning.\n  var possiblyHasRejectedChar = isAddition && (previousConformedValue === conformedValue || conformedValue === placeholder);\n\n  var startingSearchIndex = 0;\n\n  if (possiblyHasRejectedChar) {\n    startingSearchIndex = currentCaretPosition - editLength;\n  } else {\n    (function () {\n      // At this point in the algorithm, we want to know where the caret is right before the raw input\n      // has been conformed, and then see if we can find that same spot in the conformed input.\n      //\n      // We do that by seeing what character lies immediately before the caret, and then look for that\n      // same character in the conformed input and place the caret there.\n\n      // First, we need to normalize the inputs so that letter capitalization between raw input and\n      // conformed input wouldn't matter.\n      var normalizedConformedValue = conformedValue.toLowerCase();\n      var normalizedRawValue = rawValue.toLowerCase();\n\n      // Then we take all characters that come before where the caret currently is.\n      var leftHalfChars = normalizedRawValue.substr(0, currentCaretPosition).split(emptyString);\n\n      // Now we find all the characters in the left half that exist in the conformed input\n      // This step ensures that we don't look for a character that was filtered out or rejected by `conformToMask`.\n      var intersection = leftHalfChars.filter(function (char) {\n        return normalizedConformedValue.indexOf(char) !== -1;\n      });\n\n      // The last character in the intersection is the character we want to look for in the conformed\n      // value and the one we want to adjust the caret close to\n      var targetChar = intersection[intersection.length - 1];\n\n      // It is possible that `targetChar` will appear multiple times in the conformed value.\n      // We need to know not to select a character that looks like our target character from the placeholder or\n      // the piped characters, so we inspect the piped characters and the placeholder to see if they contain\n      // characters that match our target character.\n\n      // If the `conformedValue` got piped, we need to know which characters were piped in so that when we look for\n      // our `targetChar`, we don't select a piped char by mistake\n      var pipedChars = indexesOfPipedChars.map(function (index) {\n        return normalizedConformedValue[index];\n      });\n\n      // We need to know how many times the `targetChar` occurs in the piped characters.\n      var countTargetCharInPipedChars = pipedChars.filter(function (char) {\n        return char === targetChar;\n      }).length;\n\n      // We need to know how many times it occurs in the intersection\n      var countTargetCharInIntersection = intersection.filter(function (char) {\n        return char === targetChar;\n      }).length;\n\n      // We need to know if the placeholder contains characters that look like\n      // our `targetChar`, so we don't select one of those by mistake.\n      var countTargetCharInPlaceholder = placeholder.substr(0, placeholder.indexOf(placeholderChar)).split(emptyString).filter(function (char, index) {\n        return (\n          // Check if `char` is the same as our `targetChar`, so we account for it\n          char === targetChar &&\n\n          // but also make sure that both the `rawValue` and placeholder don't have the same character at the same\n          // index because if they are equal, that means we are already counting those characters in\n          // `countTargetCharInIntersection`\n          rawValue[index] !== char\n        );\n      }).length;\n\n      // The number of times we need to see occurrences of the `targetChar` before we know it is the one we're looking\n      // for is:\n      var requiredNumberOfMatches = countTargetCharInPlaceholder + countTargetCharInIntersection + countTargetCharInPipedChars;\n\n      // Now we start looking for the location of the `targetChar`.\n      // We keep looping forward and store the index in every iteration. Once we have encountered\n      // enough occurrences of the target character, we break out of the loop\n      var numberOfEncounteredMatches = 0;\n      for (var i = 0; i < conformedValueLength; i++) {\n        var conformedValueChar = normalizedConformedValue[i];\n\n        startingSearchIndex = i + 1;\n\n        if (conformedValueChar === targetChar) {\n          numberOfEncounteredMatches++;\n        }\n\n        if (numberOfEncounteredMatches >= requiredNumberOfMatches) {\n          break;\n        }\n      }\n    })();\n  }\n\n  // At this point, if we simply return `startingSearchIndex` as the adjusted caret position,\n  // most cases would be handled. However, we want to fast forward or rewind the caret to the\n  // closest placeholder character if it happens to be in a non-editable spot. That's what the next\n  // logic is for.\n\n  // In case of addition, we fast forward.\n  if (isAddition) {\n    // We want to remember the last placeholder character encountered so that if the mask\n    // contains more characters after the last placeholder character, we don't forward the caret\n    // that far to the right. Instead, we stop it at the last encountered placeholder character.\n    var lastPlaceholderChar = startingSearchIndex;\n\n    for (var i = startingSearchIndex; i <= placeholderLength; i++) {\n      if (placeholder[i] === placeholderChar) {\n        lastPlaceholderChar = i;\n      }\n\n      if (\n      // If we're adding, we can position the caret at the next placeholder character.\n      placeholder[i] === placeholderChar ||\n\n      // If a caret trap was set by a mask function, we need to stop at the trap.\n      caretTrapIndexes.indexOf(i) !== -1 ||\n\n      // This is the end of the placeholder. We cannot move any further. Let's put the caret there.\n      i === placeholderLength) {\n        return lastPlaceholderChar;\n      }\n    }\n  } else {\n    // In case of deletion, we rewind.\n    for (var _i = startingSearchIndex; _i >= 0; _i--) {\n      // If we're deleting, we stop the caret right before the placeholder character.\n      // For example, for mask `(111) 11`, current conformed input `(456) 86`. If user\n      // modifies input to `(456 86`. That is, they deleted the `)`, we place the caret\n      // right after the first `6`\n      if (\n      // If we're deleting, we can position the caret right before the placeholder character\n      placeholder[_i - 1] === placeholderChar ||\n\n      // If a caret trap was set by a mask function, we need to stop at the trap.\n      caretTrapIndexes.indexOf(_i) !== -1 ||\n\n      // This is the beginning of the placeholder. We cannot move any further.\n      // Let's put the caret there.\n      _i === 0) {\n        return _i;\n      }\n    }\n  }\n}"},{"id":68,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/conformToMask.js","name":"./core/src/conformToMask.js","index":87,"index2":87,"size":12076,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":69,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","module":"./core/src/createTextMaskInputElement.js","moduleName":"./core/src/createTextMaskInputElement.js","type":"cjs require","userRequest":"./conformToMask.js","loc":"17:22-51"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = conformToMask;\n\nvar _utilities = require('./utilities.js');\n\nvar _constants = require('./constants.js');\n\nvar emptyString = '';\n\nfunction conformToMask() {\n  var rawValue = arguments.length <= 0 || arguments[0] === undefined ? emptyString : arguments[0];\n  var mask = arguments.length <= 1 || arguments[1] === undefined ? emptyString : arguments[1];\n  var config = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n  // These configurations tell us how to conform the mask\n  var _config$guide = config.guide;\n  var guide = _config$guide === undefined ? true : _config$guide;\n  var _config$previousConfo = config.previousConformedValue;\n  var previousConformedValue = _config$previousConfo === undefined ? emptyString : _config$previousConfo;\n  var _config$placeholderCh = config.placeholderChar;\n  var placeholderChar = _config$placeholderCh === undefined ? _constants.placeholderChar : _config$placeholderCh;\n  var _config$placeholder = config.placeholder;\n  var placeholder = _config$placeholder === undefined ? (0, _utilities.convertMaskToPlaceholder)(mask, placeholderChar) : _config$placeholder;\n  var currentCaretPosition = config.currentCaretPosition;\n  var keepCharPositions = config.keepCharPositions;\n\n  // The configs below indicate that the user wants the algorithm to work in *no guide* mode\n\n  var suppressGuide = guide === false && previousConformedValue !== undefined;\n\n  // Calculate lengths once for performance\n  var rawValueLength = rawValue.length;\n  var previousConformedValueLength = previousConformedValue.length;\n  var placeholderLength = placeholder.length;\n  var maskLength = mask.length;\n\n  // This tells us the number of edited characters and the direction in which they were edited (+/-)\n  var editDistance = rawValueLength - previousConformedValueLength;\n\n  // In *no guide* mode, we need to know if the user is trying to add a character or not\n  var isAddition = editDistance > 0;\n\n  // Tells us the index of the first change. For (438) 394-4938 to (38) 394-4938, that would be 1\n  var indexOfFirstChange = currentCaretPosition + (isAddition ? -editDistance : 0);\n\n  // We're also gonna need the index of last change, which we can derive as follows...\n  var indexOfLastChange = indexOfFirstChange + Math.abs(editDistance);\n\n  // If `conformToMask` is configured to keep character positions, that is, for mask 111, previous value\n  // _2_ and raw value 3_2_, the new conformed value should be 32_, not 3_2 (default behavior). That's in the case of\n  // addition. And in the case of deletion, previous value _23, raw value _3, the new conformed string should be\n  // __3, not _3_ (default behavior)\n  //\n  // The next block of logic handles keeping character positions for the case of deletion. (Keeping\n  // character positions for the case of addition is further down since it is handled differently.)\n  // To do this, we want to compensate for all characters that were deleted\n  if (keepCharPositions === true && !isAddition) {\n    // We will be storing the new placeholder characters in this variable.\n    var compensatingPlaceholderChars = emptyString;\n\n    // For every character that was deleted from a placeholder position, we add a placeholder char\n    for (var i = indexOfFirstChange; i < indexOfLastChange; i++) {\n      if (placeholder[i] === placeholderChar) {\n        compensatingPlaceholderChars += placeholderChar;\n      }\n    }\n\n    // Now we trick our algorithm by modifying the raw value to make it contain additional placeholder characters\n    // That way when the we start laying the characters again on the mask, it will keep the non-deleted characters\n    // in their positions.\n    rawValue = rawValue.slice(0, indexOfFirstChange) + compensatingPlaceholderChars + rawValue.slice(indexOfFirstChange, rawValueLength);\n  }\n\n  // Convert `rawValue` string to an array, and mark characters based on whether they are newly added or have\n  // existed in the previous conformed value. Identifying new and old characters is needed for `conformToMask`\n  // to work if it is configured to keep character positions.\n  var rawValueArr = rawValue.split(emptyString).map(function (char, i) {\n    return { char: char, isNew: i >= indexOfFirstChange && i < indexOfLastChange };\n  });\n\n  // The loop below removes masking characters from user input. For example, for mask\n  // `00 (111)`, the placeholder would be `00 (___)`. If user input is `00 (234)`, the loop below\n  // would remove all characters but `234` from the `rawValueArr`. The rest of the algorithm\n  // then would lay `234` on top of the available placeholder positions in the mask.\n  for (var _i = rawValueLength - 1; _i >= 0; _i--) {\n    var char = rawValueArr[_i].char;\n\n\n    if (char !== placeholderChar) {\n      var shouldOffset = _i >= indexOfFirstChange && previousConformedValueLength === maskLength;\n\n      if (char === placeholder[shouldOffset ? _i - editDistance : _i]) {\n        rawValueArr.splice(_i, 1);\n      }\n    }\n  }\n\n  // This is the variable that we will be filling with characters as we figure them out\n  // in the algorithm below\n  var conformedValue = emptyString;\n  var someCharsRejected = false;\n\n  // Ok, so first we loop through the placeholder looking for placeholder characters to fill up.\n  placeholderLoop: for (var _i2 = 0; _i2 < placeholderLength; _i2++) {\n    var charInPlaceholder = placeholder[_i2];\n\n    // We see one. Let's find out what we can put in it.\n    if (charInPlaceholder === placeholderChar) {\n      // But before that, do we actually have any user characters that need a place?\n      if (rawValueArr.length > 0) {\n        // We will keep chipping away at user input until either we run out of characters\n        // or we find at least one character that we can map.\n        while (rawValueArr.length > 0) {\n          // Let's retrieve the first user character in the queue of characters we have left\n          var _rawValueArr$shift = rawValueArr.shift();\n\n          var rawValueChar = _rawValueArr$shift.char;\n          var isNew = _rawValueArr$shift.isNew;\n\n          // If the character we got from the user input is a placeholder character (which happens\n          // regularly because user input could be something like (540) 90_-____, which includes\n          // a bunch of `_` which are placeholder characters) and we are not in *no guide* mode,\n          // then we map this placeholder character to the current spot in the placeholder\n\n          if (rawValueChar === placeholderChar && suppressGuide !== true) {\n            conformedValue += placeholderChar;\n\n            // And we go to find the next placeholder character that needs filling\n            continue placeholderLoop;\n\n            // Else if, the character we got from the user input is not a placeholder, let's see\n            // if the current position in the mask can accept it.\n          } else if (mask[_i2].test(rawValueChar)) {\n            // we map the character differently based on whether we are keeping character positions or not.\n            // If any of the conditions below are met, we simply map the raw value character to the\n            // placeholder position.\n            if (keepCharPositions !== true || isNew === false || previousConformedValue === emptyString || guide === false || !isAddition) {\n              conformedValue += rawValueChar;\n            } else {\n              // We enter this block of code if we are trying to keep character positions and none of the conditions\n              // above is met. In this case, we need to see if there's an available spot for the raw value character\n              // to be mapped to. If we couldn't find a spot, we will discard the character.\n              //\n              // For example, for mask `1111`, previous conformed value `_2__`, raw value `942_2__`. We can map the\n              // `9`, to the first available placeholder position, but then, there are no more spots available for the\n              // `4` and `2`. So, we discard them and end up with a conformed value of `92__`.\n              var rawValueArrLength = rawValueArr.length;\n              var indexOfNextAvailablePlaceholderChar = null;\n\n              // Let's loop through the remaining raw value characters. We are looking for either a suitable spot, ie,\n              // a placeholder character or a non-suitable spot, ie, a non-placeholder character that is not new.\n              // If we see a suitable spot first, we store its position and exit the loop. If we see a non-suitable\n              // spot first, we exit the loop and our `indexOfNextAvailablePlaceholderChar` will stay as `null`.\n              for (var _i3 = 0; _i3 < rawValueArrLength; _i3++) {\n                var charData = rawValueArr[_i3];\n\n                if (charData.char !== placeholderChar && charData.isNew === false) {\n                  break;\n                }\n\n                if (charData.char === placeholderChar) {\n                  indexOfNextAvailablePlaceholderChar = _i3;\n                  break;\n                }\n              }\n\n              // If `indexOfNextAvailablePlaceholderChar` is not `null`, that means the character is not blocked.\n              // We can map it. And to keep the character positions, we remove the placeholder character\n              // from the remaining characters\n              if (indexOfNextAvailablePlaceholderChar !== null) {\n                conformedValue += rawValueChar;\n                rawValueArr.splice(indexOfNextAvailablePlaceholderChar, 1);\n\n                // If `indexOfNextAvailablePlaceholderChar` is `null`, that means the character is blocked. We have to\n                // discard it.\n              } else {\n                _i2--;\n              }\n            }\n\n            // Since we've mapped this placeholder position. We move on to the next one.\n            continue placeholderLoop;\n          } else {\n            someCharsRejected = true;\n          }\n        }\n      }\n\n      // We reach this point when we've mapped all the user input characters to placeholder\n      // positions in the mask. In *guide* mode, we append the left over characters in the\n      // placeholder to the `conformedString`, but in *no guide* mode, we don't wanna do that.\n      //\n      // That is, for mask `(111)` and user input `2`, we want to return `(2`, not `(2__)`.\n      if (suppressGuide === false) {\n        conformedValue += placeholder.substr(_i2, placeholderLength);\n      }\n\n      // And we break\n      break;\n\n      // Else, the charInPlaceholder is not a placeholderChar. That is, we cannot fill it\n      // with user input. So we just map it to the final output\n    } else {\n      conformedValue += charInPlaceholder;\n    }\n  }\n\n  // The following logic is needed to deal with the case of deletion in *no guide* mode.\n  //\n  // Consider the silly mask `(111) /// 1`. What if user tries to delete the last placeholder\n  // position? Something like `(589) /// `. We want to conform that to `(589`. Not `(589) /// `.\n  // That's why the logic below finds the last filled placeholder character, and removes everything\n  // from that point on.\n  if (suppressGuide && isAddition === false) {\n    var indexOfLastFilledPlaceholderChar = null;\n\n    // Find the last filled placeholder position and substring from there\n    for (var _i4 = 0; _i4 < conformedValue.length; _i4++) {\n      if (placeholder[_i4] === placeholderChar) {\n        indexOfLastFilledPlaceholderChar = _i4;\n      }\n    }\n\n    if (indexOfLastFilledPlaceholderChar !== null) {\n      // We substring from the beginning until the position after the last filled placeholder char.\n      conformedValue = conformedValue.substr(0, indexOfLastFilledPlaceholderChar + 1);\n    } else {\n      // If we couldn't find `indexOfLastFilledPlaceholderChar` that means the user deleted\n      // the first character in the mask. So we return an empty string.\n      conformedValue = emptyString;\n    }\n  }\n\n  return { conformedValue: conformedValue, meta: { someCharsRejected: someCharsRejected } };\n}"},{"id":69,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","name":"./core/src/createTextMaskInputElement.js","index":85,"index2":88,"size":12636,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":0,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","module":"./angular2/src/angular2TextMask.ts","moduleName":"./angular2/src/angular2TextMask.ts","type":"cjs require","userRequest":"../../core/src/createTextMaskInputElement","loc":"14:35-87"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nexports.default = createTextMaskInputElement;\n\nvar _adjustCaretPosition = require('./adjustCaretPosition.js');\n\nvar _adjustCaretPosition2 = _interopRequireDefault(_adjustCaretPosition);\n\nvar _conformToMask2 = require('./conformToMask.js');\n\nvar _conformToMask3 = _interopRequireDefault(_conformToMask2);\n\nvar _utilities = require('./utilities.js');\n\nvar _constants = require('./constants.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar strFunction = 'function';\nvar emptyString = '';\nvar strNone = 'none';\nvar strObject = 'object';\n\nfunction createTextMaskInputElement(_ref) {\n  var inputElement = _ref.inputElement;\n  var providedMask = _ref.mask;\n  var guide = _ref.guide;\n  var pipe = _ref.pipe;\n  var _ref$placeholderChar = _ref.placeholderChar;\n  var placeholderChar = _ref$placeholderChar === undefined ? _constants.placeholderChar : _ref$placeholderChar;\n  var onAccept = _ref.onAccept;\n  var onReject = _ref.onReject;\n  var _ref$keepCharPosition = _ref.keepCharPositions;\n  var keepCharPositions = _ref$keepCharPosition === undefined ? false : _ref$keepCharPosition;\n\n  // Text Mask accepts masks that are a combination of a `mask` and a `pipe` that work together. If such a `mask` is\n  // passed, we destructure it below, so the rest of the code can work normally as if a separate `mask` and a `pipe`\n  // were passed.\n  if ((typeof providedMask === 'undefined' ? 'undefined' : _typeof(providedMask)) === strObject && providedMask.pipe !== undefined && providedMask.mask !== undefined) {\n    pipe = providedMask.pipe;\n    providedMask = providedMask.mask;\n  }\n\n  // Anything that we will need to keep between `update` calls, we will store in this `state` object.\n  var state = { previousConformedValue: emptyString, previousOnRejectRawValue: emptyString };\n\n  // The `placeholder` is an essential piece of how Text Mask works. For a mask like `(111)`, the placeholder would be\n  // `(___)` if the `placeholderChar` is set to `_`.\n  var placeholder = void 0;\n\n  // We don't know what the mask would be yet. If it is an array, we take it as is, but if it's a function, we will\n  // have to call that function to get the mask array.\n  var mask = void 0;\n\n  // If the provided mask is an array, we can call `convertMaskToPlaceholder` here once and we'll always have the\n  // correct `placeholder`.\n  if (providedMask instanceof Array) {\n    placeholder = (0, _utilities.convertMaskToPlaceholder)(providedMask, placeholderChar);\n  }\n\n  return {\n    state: state,\n\n    // `update` is called by framework components whenever they want to update the `value` of the input element.\n    // The caller can send a `rawValue` to be conformed and set on the input element. However, the default use-case\n    // is for this to be read from the `inputElement` directly.\n    update: function update() {\n      var rawValue = arguments.length <= 0 || arguments[0] === undefined ? inputElement.value : arguments[0];\n\n      // If `rawValue` equals `state.previousConformedValue`, we don't need to change anything. So, we return.\n      // This check is here to handle controlled framework components that repeat the `update` call on every render.\n      if (rawValue === state.previousConformedValue) {\n        return;\n      }\n\n      // We check the provided `rawValue` before moving further.\n      // If it's something we can't work with `getSafeRawValue` will throw.\n      var safeRawValue = getSafeRawValue(rawValue);\n\n      // `selectionStart` indicates to us where the caret position is after the user has typed into the input\n      var currentCaretPosition = inputElement.selectionStart;\n\n      // We need to know what the `previousConformedValue` is from the previous `update` call\n\n      var previousConformedValue = state.previousConformedValue;\n\n\n      var caretTrapIndexes = void 0;\n\n      // If the `providedMask` is a function. We need to call it at every `update` to get the `mask` array.\n      // Then we also need to get the `placeholder`\n      if ((typeof providedMask === 'undefined' ? 'undefined' : _typeof(providedMask)) === strFunction) {\n        mask = providedMask(safeRawValue, { currentCaretPosition: currentCaretPosition, previousConformedValue: previousConformedValue, placeholderChar: placeholderChar });\n\n        // mask functions can setup caret traps to have some control over how the caret moves. We need to process\n        // the mask for any caret traps. `processCaretTraps` will remove the caret traps from the mask and return\n        // the indexes of the caret traps.\n\n        var _processCaretTraps = (0, _utilities.processCaretTraps)(mask);\n\n        var maskWithoutCaretTraps = _processCaretTraps.maskWithoutCaretTraps;\n        var indexes = _processCaretTraps.indexes;\n\n\n        mask = maskWithoutCaretTraps; // The processed mask is what we're interested in\n        caretTrapIndexes = indexes; // And we need to store these indexes because they're needed by `adjustCaretPosition`\n\n        placeholder = (0, _utilities.convertMaskToPlaceholder)(mask, placeholderChar);\n\n        // If the `providedMask` is not a function, we just use it as-is.\n      } else {\n        mask = providedMask;\n      }\n\n      // The following object will be passed to `conformToMask` to determine how the `rawValue` will be conformed\n      var conformToMaskConfig = {\n        previousConformedValue: previousConformedValue,\n        guide: guide,\n        placeholderChar: placeholderChar,\n        pipe: pipe,\n        placeholder: placeholder,\n        currentCaretPosition: currentCaretPosition,\n        keepCharPositions: keepCharPositions\n      };\n\n      // `conformToMask` returns the information below: we need the `conformedValue` and we need to know whether\n      // some characters were rejected. We'll use `someCharsRejected` to know whether we should call the `onReject`\n      // callback\n\n      var _conformToMask = (0, _conformToMask3.default)(safeRawValue, mask, conformToMaskConfig);\n\n      var conformedValue = _conformToMask.conformedValue;\n      var someCharsRejected = _conformToMask.meta.someCharsRejected;\n\n      // The following few lines are to support the `pipe` feature.\n\n      var piped = (typeof pipe === 'undefined' ? 'undefined' : _typeof(pipe)) === strFunction;\n\n      var pipeResults = {};\n\n      // If `pipe` is a function, we call it.\n      if (piped) {\n        // `pipe` receives the `conformedValue` and the configurations with which `conformToMask` was called.\n        pipeResults = pipe(conformedValue, _extends({ rawValue: safeRawValue }, conformToMaskConfig));\n\n        // `pipeResults` should be an object. But as a convenience, we allow the pipe author to just return `false` to\n        // indicate rejection. Or return just a string when there are no piped characters.\n        // If the `pipe` returns `false` or a string, the block below turns it into an object that the rest\n        // of the code can work with.\n        if (pipeResults === false) {\n          // If the `pipe` rejects `conformedValue`, we use the `previousConformedValue`, and set `rejected` to `true`.\n          pipeResults = { value: previousConformedValue, rejected: true };\n        } else if ((0, _utilities.isString)(pipeResults)) {\n          pipeResults = { value: pipeResults };\n        }\n      }\n\n      // Before we proceed, we need to know which conformed value to use, the one returned by the pipe or the one\n      // returned by `conformToMask`.\n      var finalConformedValue = piped ? pipeResults.value : conformedValue;\n\n      // After determining the conformed value, we will need to know where to set\n      // the caret position. `adjustCaretPosition` will tell us.\n      var adjustedCaretPosition = (0, _adjustCaretPosition2.default)({\n        previousConformedValue: previousConformedValue,\n        conformedValue: finalConformedValue,\n        placeholder: placeholder,\n        rawValue: safeRawValue,\n        currentCaretPosition: currentCaretPosition,\n        placeholderChar: placeholderChar,\n        indexesOfPipedChars: pipeResults.indexesOfPipedChars,\n        caretTrapIndexes: caretTrapIndexes\n      });\n\n      // Text Mask sets the input value to an empty string when the condition below is set. It provides a better UX.\n      var inputValueShouldBeEmpty = finalConformedValue === placeholder && adjustedCaretPosition === 0;\n      var inputElementValue = inputValueShouldBeEmpty ? emptyString : finalConformedValue;\n\n      state.previousConformedValue = inputElementValue; // store value for access for next time\n\n      // In some cases, this `update` method will be repeatedly called with a raw value that has already been conformed\n      // and set to `inputElement.value`. The below check guards against needlessly readjusting the input state.\n      // See https://github.com/text-mask/text-mask/issues/231\n      if (inputElement.value === inputElementValue) {\n        return;\n      }\n\n      inputElement.value = inputElementValue; // set the input value\n      safeSetSelection(inputElement, adjustedCaretPosition); // adjust caret position\n\n      // If we set a value to the input element that's different form `previousConformedValue`, it means user input\n      // was accepted, and we call the `onAccept` callback if it's a function. However, there's an exception. When\n      // the first character is rejected, the input might go from empty string to placeholder. We don't want to call\n      // `onAccept` in that case.\n      if ((typeof onAccept === 'undefined' ? 'undefined' : _typeof(onAccept)) === strFunction && inputElementValue !== previousConformedValue && inputElementValue !== placeholder) {\n        state.previousOnRejectRawValue = null; // See `onReject` comments for explanation for this\n\n        onAccept();\n      }\n\n      // Now we need to figure out if user input was rejected to decide whether to call `onReject` callback or not.\n      // We need to know if the operation is deletion, because if it is, then we definitely don't need to call\n      // `onReject` in that case.\n      var isDeletion = safeRawValue.length < previousConformedValue.length;\n\n      // To call `onReject`\n      if (\n      // `onReject` has to be a function\n      (typeof onReject === 'undefined' ? 'undefined' : _typeof(onReject)) === strFunction && (\n\n      // `someCharsRejected` or `pipeResults.rejected` has to be true\n      someCharsRejected || pipeResults.rejected) &&\n\n      // the operation needs to be addition, not deletion\n      isDeletion === false &&\n\n      // the `rawValue` should not be the same as the previous rejected `rawValue`. We have this check to prevent\n      // an infinite loop where `onReject` causes `update` to be called, So we end-up with:\n      // `onReject` -> `update` -> `onReject` -> `update` -> etc...\n      state.previousOnRejectRawValue !== rawValue) {\n        // So, remember the `rawValue` which was rejected. `state.previousOnRejectRawValue` is also reset to `null`\n        // when the value is accepted, as you can see `onAccept` above.\n        state.previousOnRejectRawValue = rawValue;\n\n        // `onReject` receives the `finalConformedValue` and booleans for `pipeRejection` and `maskRejection`\n        // so know whether the user input was rejected by the mask pattern or by the pipe.\n        onReject({\n          conformedValue: finalConformedValue,\n          pipeRejection: pipeResults.rejected,\n          maskRejection: someCharsRejected\n        });\n      }\n    }\n  };\n}\n\nfunction safeSetSelection(element, selectionPosition) {\n  if (document.activeElement === element) {\n    element.setSelectionRange(selectionPosition, selectionPosition, strNone);\n  }\n}\n\nfunction getSafeRawValue(inputValue) {\n  if ((0, _utilities.isString)(inputValue)) {\n    return inputValue;\n  } else if ((0, _utilities.isNumber)(inputValue)) {\n    return String(inputValue);\n  } else if (inputValue === undefined || inputValue === null) {\n    return emptyString;\n  } else {\n    throw new Error(\"The 'value' provided to Text Mask needs to be a string or a number. The value \" + ('received was:\\n\\n ' + JSON.stringify(inputValue)));\n  }\n}"},{"id":70,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","name":"./~/@angular/common/index.js","index":2,"index2":82,"size":1186,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":0,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","module":"./angular2/src/angular2TextMask.ts","moduleName":"./angular2/src/angular2TextMask.ts","type":"cjs require","userRequest":"@angular/common","loc":"12:15-41"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nfunction __export(m) {\n    for (var p in m) {\n        if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n    }\n}\nvar core_1 = require('@angular/core');\nvar common_directives_1 = require('./src/common_directives');\nvar pipes_1 = require('./src/pipes');\n__export(require('./src/pipes'));\n__export(require('./src/directives'));\n__export(require('./src/forms-deprecated'));\n__export(require('./src/common_directives'));\n__export(require('./src/location'));\nvar localization_1 = require('./src/localization');\nexports.NgLocalization = localization_1.NgLocalization;\nvar CommonModule = function () {\n    function CommonModule() {}\n    /** @nocollapse */\n    CommonModule.decorators = [{ type: core_1.NgModule, args: [{ declarations: [common_directives_1.COMMON_DIRECTIVES, pipes_1.COMMON_PIPES], exports: [common_directives_1.COMMON_DIRECTIVES, pipes_1.COMMON_PIPES] }] }];\n    return CommonModule;\n}();\nexports.CommonModule = CommonModule;\n//# sourceMappingURL=index.js.map"},{"id":71,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","name":"./~/@angular/common/src/directives/core_directives.js","index":5,"index2":14,"size":1990,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/core_directives","loc":"15:24-63"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar ng_class_1 = require('./ng_class');\nvar ng_for_1 = require('./ng_for');\nvar ng_if_1 = require('./ng_if');\nvar ng_plural_1 = require('./ng_plural');\nvar ng_style_1 = require('./ng_style');\nvar ng_switch_1 = require('./ng_switch');\nvar ng_template_outlet_1 = require('./ng_template_outlet');\n/**\n * A collection of Angular core directives that are likely to be used in each and every Angular\n * application.\n *\n * This collection can be used to quickly enumerate all the built-in directives in the `directives`\n * property of the `@Component` annotation.\n *\n * ### Example ([live demo](http://plnkr.co/edit/yakGwpCdUkg0qfzX5m8g?p=preview))\n *\n * Instead of writing:\n *\n * ```typescript\n * import {NgClass, NgIf, NgFor, NgSwitch, NgSwitchWhen, NgSwitchDefault} from '@angular/common';\n * import {OtherDirective} from './myDirectives';\n *\n * @Component({\n *   selector: 'my-component',\n *   templateUrl: 'myComponent.html',\n *   directives: [NgClass, NgIf, NgFor, NgSwitch, NgSwitchWhen, NgSwitchDefault, OtherDirective]\n * })\n * export class MyComponent {\n *   ...\n * }\n * ```\n * one could import all the core directives at once:\n *\n * ```typescript\n * import {CORE_DIRECTIVES} from '@angular/common';\n * import {OtherDirective} from './myDirectives';\n *\n * @Component({\n *   selector: 'my-component',\n *   templateUrl: 'myComponent.html',\n *   directives: [CORE_DIRECTIVES, OtherDirective]\n * })\n * export class MyComponent {\n *   ...\n * }\n * ```\n *\n * @stable\n */\nexports.CORE_DIRECTIVES = [ng_class_1.NgClass, ng_for_1.NgFor, ng_if_1.NgIf, ng_template_outlet_1.NgTemplateOutlet, ng_style_1.NgStyle, ng_switch_1.NgSwitch, ng_switch_1.NgSwitchCase, ng_switch_1.NgSwitchDefault, ng_plural_1.NgPlural, ng_plural_1.NgPluralCase];\n//# sourceMappingURL=core_directives.js.map"},{"id":72,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","name":"./~/@angular/common/src/forms-deprecated.js","index":33,"index2":75,"size":4881,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/forms-deprecated","loc":"20:9-42"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n/**\n * @module\n * @description\n * This module is used for handling user input, by defining and building a {@link ControlGroup} that\n * consists of\n * {@link Control} objects, and mapping them onto the DOM. {@link Control} objects can then be used\n * to read information\n * from the form DOM elements.\n *\n * Forms providers are not included in default providers; you must import these providers\n * explicitly.\n */\n\nvar core_1 = require('@angular/core');\nvar directives_1 = require('./forms-deprecated/directives');\nvar radio_control_value_accessor_1 = require('./forms-deprecated/directives/radio_control_value_accessor');\nvar form_builder_1 = require('./forms-deprecated/form_builder');\nvar directives_2 = require('./forms-deprecated/directives');\nexports.FORM_DIRECTIVES = directives_2.FORM_DIRECTIVES;\nexports.RadioButtonState = directives_2.RadioButtonState;\nvar abstract_control_directive_1 = require('./forms-deprecated/directives/abstract_control_directive');\nexports.AbstractControlDirective = abstract_control_directive_1.AbstractControlDirective;\nvar checkbox_value_accessor_1 = require('./forms-deprecated/directives/checkbox_value_accessor');\nexports.CheckboxControlValueAccessor = checkbox_value_accessor_1.CheckboxControlValueAccessor;\nvar control_container_1 = require('./forms-deprecated/directives/control_container');\nexports.ControlContainer = control_container_1.ControlContainer;\nvar control_value_accessor_1 = require('./forms-deprecated/directives/control_value_accessor');\nexports.NG_VALUE_ACCESSOR = control_value_accessor_1.NG_VALUE_ACCESSOR;\nvar default_value_accessor_1 = require('./forms-deprecated/directives/default_value_accessor');\nexports.DefaultValueAccessor = default_value_accessor_1.DefaultValueAccessor;\nvar ng_control_1 = require('./forms-deprecated/directives/ng_control');\nexports.NgControl = ng_control_1.NgControl;\nvar ng_control_group_1 = require('./forms-deprecated/directives/ng_control_group');\nexports.NgControlGroup = ng_control_group_1.NgControlGroup;\nvar ng_control_name_1 = require('./forms-deprecated/directives/ng_control_name');\nexports.NgControlName = ng_control_name_1.NgControlName;\nvar ng_control_status_1 = require('./forms-deprecated/directives/ng_control_status');\nexports.NgControlStatus = ng_control_status_1.NgControlStatus;\nvar ng_form_1 = require('./forms-deprecated/directives/ng_form');\nexports.NgForm = ng_form_1.NgForm;\nvar ng_form_control_1 = require('./forms-deprecated/directives/ng_form_control');\nexports.NgFormControl = ng_form_control_1.NgFormControl;\nvar ng_form_model_1 = require('./forms-deprecated/directives/ng_form_model');\nexports.NgFormModel = ng_form_model_1.NgFormModel;\nvar ng_model_1 = require('./forms-deprecated/directives/ng_model');\nexports.NgModel = ng_model_1.NgModel;\nvar select_control_value_accessor_1 = require('./forms-deprecated/directives/select_control_value_accessor');\nexports.NgSelectOption = select_control_value_accessor_1.NgSelectOption;\nexports.SelectControlValueAccessor = select_control_value_accessor_1.SelectControlValueAccessor;\nvar validators_1 = require('./forms-deprecated/directives/validators');\nexports.MaxLengthValidator = validators_1.MaxLengthValidator;\nexports.MinLengthValidator = validators_1.MinLengthValidator;\nexports.PatternValidator = validators_1.PatternValidator;\nexports.RequiredValidator = validators_1.RequiredValidator;\nvar form_builder_2 = require('./forms-deprecated/form_builder');\nexports.FormBuilder = form_builder_2.FormBuilder;\nvar model_1 = require('./forms-deprecated/model');\nexports.AbstractControl = model_1.AbstractControl;\nexports.Control = model_1.Control;\nexports.ControlArray = model_1.ControlArray;\nexports.ControlGroup = model_1.ControlGroup;\nvar validators_2 = require('./forms-deprecated/validators');\nexports.NG_ASYNC_VALIDATORS = validators_2.NG_ASYNC_VALIDATORS;\nexports.NG_VALIDATORS = validators_2.NG_VALIDATORS;\nexports.Validators = validators_2.Validators;\n/**\n * Shorthand set of providers used for building Angular forms.\n *\n * ### Example\n *\n * ```typescript\n * bootstrap(MyApp, [FORM_PROVIDERS]);\n * ```\n *\n * @experimental\n */\nexports.FORM_PROVIDERS = [form_builder_1.FormBuilder, radio_control_value_accessor_1.RadioControlRegistry];\nvar DeprecatedFormsModule = function () {\n  function DeprecatedFormsModule() {}\n  /** @nocollapse */\n  DeprecatedFormsModule.decorators = [{ type: core_1.NgModule, args: [{\n      providers: [exports.FORM_PROVIDERS],\n      declarations: directives_1.FORM_DIRECTIVES,\n      exports: directives_1.FORM_DIRECTIVES\n    }] }];\n  return DeprecatedFormsModule;\n}();\nexports.DeprecatedFormsModule = DeprecatedFormsModule;\n//# sourceMappingURL=forms-deprecated.js.map"},{"id":73,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/normalize_validator.js","name":"./~/@angular/common/src/forms-deprecated/directives/normalize_validator.js","index":45,"index2":39,"size":808,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./normalize_validator","loc":"16:28-60"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nfunction normalizeValidator(validator) {\n    if (validator.validate !== undefined) {\n        return function (c) {\n            return validator.validate(c);\n        };\n    } else {\n        return validator;\n    }\n}\nexports.normalizeValidator = normalizeValidator;\nfunction normalizeAsyncValidator(validator) {\n    if (validator.validate !== undefined) {\n        return function (c) {\n            return validator.validate(c);\n        };\n    } else {\n        return validator;\n    }\n}\nexports.normalizeAsyncValidator = normalizeAsyncValidator;\n//# sourceMappingURL=normalize_validator.js.map"},{"id":74,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","name":"./~/@angular/common/src/location.js","index":78,"index2":81,"size":615,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/location","loc":"22:9-34"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nfunction __export(m) {\n  for (var p in m) {\n    if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n  }\n}\n__export(require('./location/platform_location'));\n__export(require('./location/location_strategy'));\n__export(require('./location/hash_location_strategy'));\n__export(require('./location/path_location_strategy'));\n__export(require('./location/location'));\n//# sourceMappingURL=location.js.map"},{"id":75,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/hash_location_strategy.js","name":"./~/@angular/common/src/location/hash_location_strategy.js","index":81,"index2":79,"size":3453,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":74,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","module":"./~/@angular/common/src/location.js","moduleName":"./~/@angular/common/src/location.js","type":"cjs require","userRequest":"./location/hash_location_strategy","loc":"17:9-53"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar location_1 = require('./location');\nvar location_strategy_1 = require('./location_strategy');\nvar platform_location_1 = require('./platform_location');\nvar HashLocationStrategy = function (_super) {\n    __extends(HashLocationStrategy, _super);\n    function HashLocationStrategy(_platformLocation, _baseHref) {\n        _super.call(this);\n        this._platformLocation = _platformLocation;\n        this._baseHref = '';\n        if (lang_1.isPresent(_baseHref)) {\n            this._baseHref = _baseHref;\n        }\n    }\n    HashLocationStrategy.prototype.onPopState = function (fn) {\n        this._platformLocation.onPopState(fn);\n        this._platformLocation.onHashChange(fn);\n    };\n    HashLocationStrategy.prototype.getBaseHref = function () {\n        return this._baseHref;\n    };\n    HashLocationStrategy.prototype.path = function (includeHash) {\n        if (includeHash === void 0) {\n            includeHash = false;\n        }\n        // the hash value is always prefixed with a `#`\n        // and if it is empty then it will stay empty\n        var path = this._platformLocation.hash;\n        if (!lang_1.isPresent(path)) path = '#';\n        return path.length > 0 ? path.substring(1) : path;\n    };\n    HashLocationStrategy.prototype.prepareExternalUrl = function (internal) {\n        var url = location_1.Location.joinWithSlash(this._baseHref, internal);\n        return url.length > 0 ? '#' + url : url;\n    };\n    HashLocationStrategy.prototype.pushState = function (state, title, path, queryParams) {\n        var url = this.prepareExternalUrl(path + location_1.Location.normalizeQueryParams(queryParams));\n        if (url.length == 0) {\n            url = this._platformLocation.pathname;\n        }\n        this._platformLocation.pushState(state, title, url);\n    };\n    HashLocationStrategy.prototype.replaceState = function (state, title, path, queryParams) {\n        var url = this.prepareExternalUrl(path + location_1.Location.normalizeQueryParams(queryParams));\n        if (url.length == 0) {\n            url = this._platformLocation.pathname;\n        }\n        this._platformLocation.replaceState(state, title, url);\n    };\n    HashLocationStrategy.prototype.forward = function () {\n        this._platformLocation.forward();\n    };\n    HashLocationStrategy.prototype.back = function () {\n        this._platformLocation.back();\n    };\n    /** @nocollapse */\n    HashLocationStrategy.decorators = [{ type: core_1.Injectable }];\n    /** @nocollapse */\n    HashLocationStrategy.ctorParameters = [{ type: platform_location_1.PlatformLocation }, { type: undefined, decorators: [{ type: core_1.Optional }, { type: core_1.Inject, args: [location_strategy_1.APP_BASE_HREF] }] }];\n    return HashLocationStrategy;\n}(location_strategy_1.LocationStrategy);\nexports.HashLocationStrategy = HashLocationStrategy;\n//# sourceMappingURL=hash_location_strategy.js.map"},{"id":76,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","name":"./~/@angular/common/src/location/path_location_strategy.js","index":83,"index2":80,"size":3500,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":74,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","module":"./~/@angular/common/src/location.js","moduleName":"./~/@angular/common/src/location.js","type":"cjs require","userRequest":"./location/path_location_strategy","loc":"18:9-53"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar exceptions_1 = require('../facade/exceptions');\nvar lang_1 = require('../facade/lang');\nvar location_1 = require('./location');\nvar location_strategy_1 = require('./location_strategy');\nvar platform_location_1 = require('./platform_location');\nvar PathLocationStrategy = function (_super) {\n    __extends(PathLocationStrategy, _super);\n    function PathLocationStrategy(_platformLocation, href) {\n        _super.call(this);\n        this._platformLocation = _platformLocation;\n        if (lang_1.isBlank(href)) {\n            href = this._platformLocation.getBaseHrefFromDOM();\n        }\n        if (lang_1.isBlank(href)) {\n            throw new exceptions_1.BaseException(\"No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.\");\n        }\n        this._baseHref = href;\n    }\n    PathLocationStrategy.prototype.onPopState = function (fn) {\n        this._platformLocation.onPopState(fn);\n        this._platformLocation.onHashChange(fn);\n    };\n    PathLocationStrategy.prototype.getBaseHref = function () {\n        return this._baseHref;\n    };\n    PathLocationStrategy.prototype.prepareExternalUrl = function (internal) {\n        return location_1.Location.joinWithSlash(this._baseHref, internal);\n    };\n    PathLocationStrategy.prototype.path = function (includeHash) {\n        if (includeHash === void 0) {\n            includeHash = false;\n        }\n        var pathname = this._platformLocation.pathname + location_1.Location.normalizeQueryParams(this._platformLocation.search);\n        var hash = this._platformLocation.hash;\n        return hash && includeHash ? \"\" + pathname + hash : pathname;\n    };\n    PathLocationStrategy.prototype.pushState = function (state, title, url, queryParams) {\n        var externalUrl = this.prepareExternalUrl(url + location_1.Location.normalizeQueryParams(queryParams));\n        this._platformLocation.pushState(state, title, externalUrl);\n    };\n    PathLocationStrategy.prototype.replaceState = function (state, title, url, queryParams) {\n        var externalUrl = this.prepareExternalUrl(url + location_1.Location.normalizeQueryParams(queryParams));\n        this._platformLocation.replaceState(state, title, externalUrl);\n    };\n    PathLocationStrategy.prototype.forward = function () {\n        this._platformLocation.forward();\n    };\n    PathLocationStrategy.prototype.back = function () {\n        this._platformLocation.back();\n    };\n    /** @nocollapse */\n    PathLocationStrategy.decorators = [{ type: core_1.Injectable }];\n    /** @nocollapse */\n    PathLocationStrategy.ctorParameters = [{ type: platform_location_1.PlatformLocation }, { type: undefined, decorators: [{ type: core_1.Optional }, { type: core_1.Inject, args: [location_strategy_1.APP_BASE_HREF] }] }];\n    return PathLocationStrategy;\n}(location_strategy_1.LocationStrategy);\nexports.PathLocationStrategy = PathLocationStrategy;\n//# sourceMappingURL=path_location_strategy.js.map"},{"id":77,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","name":"./~/@angular/common/src/pipes/common_pipes.js","index":22,"index2":29,"size":1489,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/common_pipes","loc":"17:21-52"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n/**\n * @module\n * @description\n * This module provides a set of common Pipes.\n */\n\nvar async_pipe_1 = require('./async_pipe');\nvar date_pipe_1 = require('./date_pipe');\nvar i18n_plural_pipe_1 = require('./i18n_plural_pipe');\nvar i18n_select_pipe_1 = require('./i18n_select_pipe');\nvar json_pipe_1 = require('./json_pipe');\nvar lowercase_pipe_1 = require('./lowercase_pipe');\nvar number_pipe_1 = require('./number_pipe');\nvar replace_pipe_1 = require('./replace_pipe');\nvar slice_pipe_1 = require('./slice_pipe');\nvar uppercase_pipe_1 = require('./uppercase_pipe');\n/**\n * A collection of Angular core pipes that are likely to be used in each and every\n * application.\n *\n * This collection can be used to quickly enumerate all the built-in pipes in the `pipes`\n * property of the `@Component` decorator.\n *\n * @experimental Contains i18n pipes which are experimental\n */\nexports.COMMON_PIPES = [async_pipe_1.AsyncPipe, uppercase_pipe_1.UpperCasePipe, lowercase_pipe_1.LowerCasePipe, json_pipe_1.JsonPipe, slice_pipe_1.SlicePipe, number_pipe_1.DecimalPipe, number_pipe_1.PercentPipe, number_pipe_1.CurrencyPipe, date_pipe_1.DatePipe, replace_pipe_1.ReplacePipe, i18n_plural_pipe_1.I18nPluralPipe, i18n_select_pipe_1.I18nSelectPipe];\n//# sourceMappingURL=common_pipes.js.map"},{"id":78,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observer.js","name":"./~/rxjs/Observer.js","index":64,"index2":54,"size":221,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscriber.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":64,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscriber.js","module":"./~/rxjs/Subscriber.js","moduleName":"./~/rxjs/Subscriber.js","type":"cjs require","userRequest":"./Observer","loc":"15:17-38"}],"source":"\"use strict\";\n\nexports.empty = {\n    closed: true,\n    next: function next(value) {},\n    error: function error(err) {\n        throw err;\n    },\n    complete: function complete() {}\n};\n//# sourceMappingURL=Observer.js.map"},{"id":79,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/SubjectSubscription.js","name":"./~/rxjs/SubjectSubscription.js","index":68,"index2":61,"size":1431,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":63,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","module":"./~/rxjs/Subject.js","moduleName":"./~/rxjs/Subject.js","type":"cjs require","userRequest":"./SubjectSubscription","loc":"15:28-60"}],"source":"\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscription_1 = require('./Subscription');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SubjectSubscription = function (_super) {\n    __extends(SubjectSubscription, _super);\n    function SubjectSubscription(subject, subscriber) {\n        _super.call(this);\n        this.subject = subject;\n        this.subscriber = subscriber;\n        this.closed = false;\n    }\n    SubjectSubscription.prototype.unsubscribe = function () {\n        if (this.closed) {\n            return;\n        }\n        this.closed = true;\n        var subject = this.subject;\n        var observers = subject.observers;\n        this.subject = null;\n        if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n            return;\n        }\n        var subscriberIndex = observers.indexOf(this.subscriber);\n        if (subscriberIndex !== -1) {\n            observers.splice(subscriberIndex, 1);\n        }\n    };\n    return SubjectSubscription;\n}(Subscription_1.Subscription);\nexports.SubjectSubscription = SubjectSubscription;\n//# sourceMappingURL=SubjectSubscription.js.map"},{"id":80,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/observable/PromiseObservable.js","name":"./~/rxjs/observable/PromiseObservable.js","index":72,"index2":66,"size":4731,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/model.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":17,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/model.js","module":"./~/@angular/common/src/forms-deprecated/model.js","moduleName":"./~/@angular/common/src/forms-deprecated/model.js","type":"cjs require","userRequest":"rxjs/observable/PromiseObservable","loc":"18:26-70"}],"source":"\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = require('../util/root');\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar PromiseObservable = function (_super) {\n    __extends(PromiseObservable, _super);\n    function PromiseObservable(promise, scheduler) {\n        _super.call(this);\n        this.promise = promise;\n        this.scheduler = scheduler;\n    }\n    /**\n     * Converts a Promise to an Observable.\n     *\n     * <span class=\"informal\">Returns an Observable that just emits the Promise's\n     * resolved value, then completes.</span>\n     *\n     * Converts an ES2015 Promise or a Promises/A+ spec compliant Promise to an\n     * Observable. If the Promise resolves with a value, the output Observable\n     * emits that resolved value as a `next`, and then completes. If the Promise\n     * is rejected, then the output Observable emits the corresponding Error.\n     *\n     * @example <caption>Convert the Promise returned by Fetch to an Observable</caption>\n     * var result = Rx.Observable.fromPromise(fetch('http://myserver.com/'));\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @see {@link bindCallback}\n     * @see {@link from}\n     *\n     * @param {Promise<T>} promise The promise to be converted.\n     * @param {Scheduler} [scheduler] An optional Scheduler to use for scheduling\n     * the delivery of the resolved value (or the rejection).\n     * @return {Observable<T>} An Observable which wraps the Promise.\n     * @static true\n     * @name fromPromise\n     * @owner Observable\n     */\n    PromiseObservable.create = function (promise, scheduler) {\n        return new PromiseObservable(promise, scheduler);\n    };\n    PromiseObservable.prototype._subscribe = function (subscriber) {\n        var _this = this;\n        var promise = this.promise;\n        var scheduler = this.scheduler;\n        if (scheduler == null) {\n            if (this._isScalar) {\n                if (!subscriber.closed) {\n                    subscriber.next(this.value);\n                    subscriber.complete();\n                }\n            } else {\n                promise.then(function (value) {\n                    _this.value = value;\n                    _this._isScalar = true;\n                    if (!subscriber.closed) {\n                        subscriber.next(value);\n                        subscriber.complete();\n                    }\n                }, function (err) {\n                    if (!subscriber.closed) {\n                        subscriber.error(err);\n                    }\n                }).then(null, function (err) {\n                    // escape the promise trap, throw unhandled errors\n                    root_1.root.setTimeout(function () {\n                        throw err;\n                    });\n                });\n            }\n        } else {\n            if (this._isScalar) {\n                if (!subscriber.closed) {\n                    return scheduler.schedule(dispatchNext, 0, { value: this.value, subscriber: subscriber });\n                }\n            } else {\n                promise.then(function (value) {\n                    _this.value = value;\n                    _this._isScalar = true;\n                    if (!subscriber.closed) {\n                        subscriber.add(scheduler.schedule(dispatchNext, 0, { value: value, subscriber: subscriber }));\n                    }\n                }, function (err) {\n                    if (!subscriber.closed) {\n                        subscriber.add(scheduler.schedule(dispatchError, 0, { err: err, subscriber: subscriber }));\n                    }\n                }).then(null, function (err) {\n                    // escape the promise trap, throw unhandled errors\n                    root_1.root.setTimeout(function () {\n                        throw err;\n                    });\n                });\n            }\n        }\n    };\n    return PromiseObservable;\n}(Observable_1.Observable);\nexports.PromiseObservable = PromiseObservable;\nfunction dispatchNext(arg) {\n    var value = arg.value,\n        subscriber = arg.subscriber;\n    if (!subscriber.closed) {\n        subscriber.next(value);\n        subscriber.complete();\n    }\n}\nfunction dispatchError(arg) {\n    var err = arg.err,\n        subscriber = arg.subscriber;\n    if (!subscriber.closed) {\n        subscriber.error(err);\n    }\n}\n//# sourceMappingURL=PromiseObservable.js.map"},{"id":81,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/operator/toPromise.js","name":"./~/rxjs/operator/toPromise.js","index":40,"index2":35,"size":913,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/validators.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":5,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/validators.js","module":"./~/@angular/common/src/forms-deprecated/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/validators.js","type":"cjs require","userRequest":"rxjs/operator/toPromise","loc":"11:18-52"}],"source":"\"use strict\";\n\nvar root_1 = require('../util/root');\n/**\n * @param PromiseCtor\n * @return {Promise<T>}\n * @method toPromise\n * @owner Observable\n */\nfunction toPromise(PromiseCtor) {\n    var _this = this;\n    if (!PromiseCtor) {\n        if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {\n            PromiseCtor = root_1.root.Rx.config.Promise;\n        } else if (root_1.root.Promise) {\n            PromiseCtor = root_1.root.Promise;\n        }\n    }\n    if (!PromiseCtor) {\n        throw new Error('no Promise impl found');\n    }\n    return new PromiseCtor(function (resolve, reject) {\n        var value;\n        _this.subscribe(function (x) {\n            return value = x;\n        }, function (err) {\n            return reject(err);\n        }, function () {\n            return resolve(value);\n        });\n    });\n}\nexports.toPromise = toPromise;\n//# sourceMappingURL=toPromise.js.map"},{"id":82,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/symbol/observable.js","name":"./~/rxjs/symbol/observable.js","index":66,"index2":58,"size":626,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observable.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":35,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observable.js","module":"./~/rxjs/Observable.js","moduleName":"./~/rxjs/Observable.js","type":"cjs require","userRequest":"./symbol/observable","loc":"5:19-49"}],"source":"\"use strict\";\n\nvar root_1 = require('../util/root');\nfunction getSymbolObservable(context) {\n    var $$observable;\n    var _Symbol = context.Symbol;\n    if (typeof _Symbol === 'function') {\n        if (_Symbol.observable) {\n            $$observable = _Symbol.observable;\n        } else {\n            $$observable = _Symbol('observable');\n            _Symbol.observable = $$observable;\n        }\n    } else {\n        $$observable = '@@observable';\n    }\n    return $$observable;\n}\nexports.getSymbolObservable = getSymbolObservable;\nexports.$$observable = getSymbolObservable(root_1.root);\n//# sourceMappingURL=observable.js.map"},{"id":83,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/ObjectUnsubscribedError.js","name":"./~/rxjs/util/ObjectUnsubscribedError.js","index":67,"index2":60,"size":985,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":63,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","module":"./~/rxjs/Subject.js","moduleName":"./~/rxjs/Subject.js","type":"cjs require","userRequest":"./util/ObjectUnsubscribedError","loc":"14:32-73"}],"source":"\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nvar ObjectUnsubscribedError = function (_super) {\n    __extends(ObjectUnsubscribedError, _super);\n    function ObjectUnsubscribedError() {\n        var err = _super.call(this, 'object unsubscribed');\n        this.name = err.name = 'ObjectUnsubscribedError';\n        this.stack = err.stack;\n        this.message = err.message;\n    }\n    return ObjectUnsubscribedError;\n}(Error);\nexports.ObjectUnsubscribedError = ObjectUnsubscribedError;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map"},{"id":84,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/UnsubscriptionError.js","name":"./~/rxjs/util/UnsubscriptionError.js","index":63,"index2":52,"size":1102,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":36,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","module":"./~/rxjs/Subscription.js","moduleName":"./~/rxjs/Subscription.js","type":"cjs require","userRequest":"./util/UnsubscriptionError","loc":"10:28-65"}],"source":"\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nvar UnsubscriptionError = function (_super) {\n    __extends(UnsubscriptionError, _super);\n    function UnsubscriptionError(errors) {\n        _super.call(this);\n        this.errors = errors;\n        var err = Error.call(this, errors ? errors.length + \" errors occurred during unsubscription:\\n  \" + errors.map(function (err, i) {\n            return i + 1 + \") \" + err.toString();\n        }).join('\\n  ') : '');\n        this.name = err.name = 'UnsubscriptionError';\n        this.stack = err.stack;\n        this.message = err.message;\n    }\n    return UnsubscriptionError;\n}(Error);\nexports.UnsubscriptionError = UnsubscriptionError;\n//# sourceMappingURL=UnsubscriptionError.js.map"},{"id":85,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/isArray.js","name":"./~/rxjs/util/isArray.js","index":59,"index2":48,"size":147,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":36,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","module":"./~/rxjs/Subscription.js","moduleName":"./~/rxjs/Subscription.js","type":"cjs require","userRequest":"./util/isArray","loc":"5:16-41"}],"source":"\"use strict\";\n\nexports.isArray = Array.isArray || function (x) {\n  return x && typeof x.length === 'number';\n};\n//# sourceMappingURL=isArray.js.map"},{"id":86,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/isObject.js","name":"./~/rxjs/util/isObject.js","index":60,"index2":49,"size":440,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":36,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","module":"./~/rxjs/Subscription.js","moduleName":"./~/rxjs/Subscription.js","type":"cjs require","userRequest":"./util/isObject","loc":"6:17-43"}],"source":"\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nfunction isObject(x) {\n    return x != null && (typeof x === \"undefined\" ? \"undefined\" : _typeof(x)) === 'object';\n}\nexports.isObject = isObject;\n//# sourceMappingURL=isObject.js.map"},{"id":87,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/toSubscriber.js","name":"./~/rxjs/util/toSubscriber.js","index":55,"index2":57,"size":708,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observable.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":35,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observable.js","module":"./~/rxjs/Observable.js","moduleName":"./~/rxjs/Observable.js","type":"cjs require","userRequest":"./util/toSubscriber","loc":"4:21-51"}],"source":"\"use strict\";\n\nvar Subscriber_1 = require('../Subscriber');\nvar rxSubscriber_1 = require('../symbol/rxSubscriber');\nfunction toSubscriber(nextOrObserver, error, complete) {\n    if (nextOrObserver) {\n        if (nextOrObserver instanceof Subscriber_1.Subscriber) {\n            return nextOrObserver;\n        }\n        if (nextOrObserver[rxSubscriber_1.$$rxSubscriber]) {\n            return nextOrObserver[rxSubscriber_1.$$rxSubscriber]();\n        }\n    }\n    if (!nextOrObserver && !error && !complete) {\n        return new Subscriber_1.Subscriber();\n    }\n    return new Subscriber_1.Subscriber(nextOrObserver, error, complete);\n}\nexports.toSubscriber = toSubscriber;\n//# sourceMappingURL=toSubscriber.js.map"},{"id":88,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/tryCatch.js","name":"./~/rxjs/util/tryCatch.js","index":61,"index2":51,"size":419,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":36,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","module":"./~/rxjs/Subscription.js","moduleName":"./~/rxjs/Subscription.js","type":"cjs require","userRequest":"./util/tryCatch","loc":"8:17-43"}],"source":"\"use strict\";\n\nvar errorObject_1 = require('./errorObject');\nvar tryCatchTarget;\nfunction tryCatcher() {\n    try {\n        return tryCatchTarget.apply(this, arguments);\n    } catch (e) {\n        errorObject_1.errorObject.e = e;\n        return errorObject_1.errorObject;\n    }\n}\nfunction tryCatch(fn) {\n    tryCatchTarget = fn;\n    return tryCatcher;\n}\nexports.tryCatch = tryCatch;\n;\n//# sourceMappingURL=tryCatch.js.map"},{"id":89,"identifier":"external {\"root\":[\"ng\",\"forms\"],\"commonjs\":\"@angular/forms\",\"commonjs2\":\"@angular/forms\",\"amd\":\"@angular/forms\"}","name":"external {\"root\":[\"ng\",\"forms\"],\"commonjs\":\"@angular/forms\",\"commonjs2\":\"@angular/forms\",\"amd\":\"@angular/forms\"}","index":84,"index2":83,"size":42,"cacheable":false,"built":false,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":0,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","module":"./angular2/src/angular2TextMask.ts","moduleName":"./angular2/src/angular2TextMask.ts","type":"cjs require","userRequest":"@angular/forms","loc":"13:14-39"}]}],"filteredModules":0,"origins":[{"moduleId":0,"module":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","moduleName":"./angular2/src/angular2TextMask.ts","loc":"","name":"main","reasons":[]}]}],"modules":[{"id":0,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","name":"./angular2/src/angular2TextMask.ts","index":0,"index2":89,"size":4218,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":["angular2/src/angular2TextMask.d.ts"],"issuer":null,"failed":false,"errors":0,"warnings":0,"reasons":[],"source":"\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar core_1 = require('@angular/core');\r\nvar common_1 = require('@angular/common');\r\nvar forms_1 = require('@angular/forms');\r\nvar createTextMaskInputElement_1 = require('../../core/src/createTextMaskInputElement');\r\nvar MaskedInputDirective = (function () {\r\n    function MaskedInputDirective(renderer, element) {\r\n        this.renderer = renderer;\r\n        this.element = element;\r\n        this.textMaskConfig = {\r\n            mask: '',\r\n            guide: true,\r\n            placeholderChar: '_',\r\n            pipe: undefined,\r\n            keepCharPositions: false,\r\n            onReject: undefined,\r\n            onAccept: undefined\r\n        };\r\n        this._onTouched = function () { };\r\n        this._onChange = function (_) { };\r\n    }\r\n    MaskedInputDirective.prototype.ngOnInit = function () {\r\n        if (this.element.nativeElement.tagName === 'INPUT') {\r\n            // `textMask` directive is used directly on an input element\r\n            this.inputElement = this.element.nativeElement;\r\n        }\r\n        else {\r\n            // `textMask` directive is used on an abstracted input element, `ion-input`, `md-input`, etc\r\n            this.inputElement = this.element.nativeElement.getElementsByTagName('INPUT')[0];\r\n        }\r\n        this.textMaskInputElement = createTextMaskInputElement_1.default(Object.assign({ inputElement: this.inputElement }, this.textMaskConfig));\r\n    };\r\n    MaskedInputDirective.prototype.writeValue = function (value) {\r\n        if (this.textMaskInputElement !== undefined) {\r\n            this.textMaskInputElement.update(value);\r\n        }\r\n    };\r\n    MaskedInputDirective.prototype.registerOnChange = function (fn) { this._onChange = fn; };\r\n    MaskedInputDirective.prototype.registerOnTouched = function (fn) { this._onTouched = fn; };\r\n    MaskedInputDirective.prototype.onInput = function ($event) {\r\n        this.textMaskInputElement.update($event.target.value);\r\n        this._onChange($event.target.value);\r\n    };\r\n    MaskedInputDirective.prototype.setDisabledState = function (isDisabled) {\r\n        this.renderer.setElementProperty(this.element.nativeElement, 'disabled', isDisabled);\r\n    };\r\n    __decorate([\r\n        core_1.Input('textMask'), \r\n        __metadata('design:type', Object)\r\n    ], MaskedInputDirective.prototype, \"textMaskConfig\", void 0);\r\n    MaskedInputDirective = __decorate([\r\n        core_1.Directive({\r\n            host: {\r\n                '(input)': 'onInput($event)',\r\n                '(blur)': '_onTouched()'\r\n            },\r\n            selector: '[textMask]',\r\n            providers: [{\r\n                    provide: forms_1.NG_VALUE_ACCESSOR,\r\n                    useExisting: core_1.forwardRef(function () { return MaskedInputDirective; }),\r\n                    multi: true\r\n                }]\r\n        }), \r\n        __metadata('design:paramtypes', [core_1.Renderer, core_1.ElementRef])\r\n    ], MaskedInputDirective);\r\n    return MaskedInputDirective;\r\n}());\r\nexports.MaskedInputDirective = MaskedInputDirective;\r\nvar TextMaskModule = (function () {\r\n    function TextMaskModule() {\r\n    }\r\n    TextMaskModule = __decorate([\r\n        core_1.NgModule({\r\n            declarations: [MaskedInputDirective],\r\n            exports: [MaskedInputDirective],\r\n            imports: [common_1.CommonModule]\r\n        }), \r\n        __metadata('design:paramtypes', [])\r\n    ], TextMaskModule);\r\n    return TextMaskModule;\r\n}());\r\nexports.TextMaskModule = TextMaskModule;\r\n"},{"id":1,"identifier":"external {\"root\":[\"ng\",\"core\"],\"commonjs\":\"@angular/core\",\"commonjs2\":\"@angular/core\",\"amd\":\"@angular/core\"}","name":"external {\"root\":[\"ng\",\"core\"],\"commonjs\":\"@angular/core\",\"commonjs2\":\"@angular/core\",\"amd\":\"@angular/core\"}","index":1,"index2":0,"size":42,"cacheable":false,"built":false,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":0,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","module":"./angular2/src/angular2TextMask.ts","moduleName":"./angular2/src/angular2TextMask.ts","type":"cjs require","userRequest":"@angular/core","loc":"11:13-37"},{"moduleId":4,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/control_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":5,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/validators.js","module":"./~/@angular/common/src/forms-deprecated/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/validators.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":13,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":14,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":15,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":16,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":18,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/location_strategy.js","module":"./~/@angular/common/src/location/location_strategy.js","moduleName":"./~/@angular/common/src/location/location_strategy.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":20,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_switch.js","module":"./~/@angular/common/src/directives/ng_switch.js","moduleName":"./~/@angular/common/src/directives/ng_switch.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":22,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_group.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":24,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_status.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":29,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":30,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":31,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/validators.js","module":"./~/@angular/common/src/forms-deprecated/directives/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/validators.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":33,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/location.js","module":"./~/@angular/common/src/location/location.js","moduleName":"./~/@angular/common/src/location/location.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":41,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_class.js","module":"./~/@angular/common/src/directives/ng_class.js","moduleName":"./~/@angular/common/src/directives/ng_class.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":42,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_for.js","module":"./~/@angular/common/src/directives/ng_for.js","moduleName":"./~/@angular/common/src/directives/ng_for.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":43,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_if.js","module":"./~/@angular/common/src/directives/ng_if.js","moduleName":"./~/@angular/common/src/directives/ng_if.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":44,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_plural.js","module":"./~/@angular/common/src/directives/ng_plural.js","moduleName":"./~/@angular/common/src/directives/ng_plural.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":45,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_style.js","module":"./~/@angular/common/src/directives/ng_style.js","moduleName":"./~/@angular/common/src/directives/ng_style.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":46,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_template_outlet.js","module":"./~/@angular/common/src/directives/ng_template_outlet.js","moduleName":"./~/@angular/common/src/directives/ng_template_outlet.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":51,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/form_builder.js","module":"./~/@angular/common/src/forms-deprecated/form_builder.js","moduleName":"./~/@angular/common/src/forms-deprecated/form_builder.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":53,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/async_pipe.js","module":"./~/@angular/common/src/pipes/async_pipe.js","moduleName":"./~/@angular/common/src/pipes/async_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":54,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","module":"./~/@angular/common/src/pipes/date_pipe.js","moduleName":"./~/@angular/common/src/pipes/date_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":55,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_plural_pipe.js","module":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":56,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_select_pipe.js","module":"./~/@angular/common/src/pipes/i18n_select_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_select_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":57,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/json_pipe.js","module":"./~/@angular/common/src/pipes/json_pipe.js","moduleName":"./~/@angular/common/src/pipes/json_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":58,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/lowercase_pipe.js","module":"./~/@angular/common/src/pipes/lowercase_pipe.js","moduleName":"./~/@angular/common/src/pipes/lowercase_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":59,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/number_pipe.js","module":"./~/@angular/common/src/pipes/number_pipe.js","moduleName":"./~/@angular/common/src/pipes/number_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":60,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/replace_pipe.js","module":"./~/@angular/common/src/pipes/replace_pipe.js","moduleName":"./~/@angular/common/src/pipes/replace_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":61,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/slice_pipe.js","module":"./~/@angular/common/src/pipes/slice_pipe.js","moduleName":"./~/@angular/common/src/pipes/slice_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":62,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/uppercase_pipe.js","module":"./~/@angular/common/src/pipes/uppercase_pipe.js","moduleName":"./~/@angular/common/src/pipes/uppercase_pipe.js","type":"cjs require","userRequest":"@angular/core","loc":"10:13-37"},{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"@angular/core","loc":"15:13-37"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"@angular/core","loc":"22:13-37"},{"moduleId":75,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/hash_location_strategy.js","module":"./~/@angular/common/src/location/hash_location_strategy.js","moduleName":"./~/@angular/common/src/location/hash_location_strategy.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"},{"moduleId":76,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","module":"./~/@angular/common/src/location/path_location_strategy.js","moduleName":"./~/@angular/common/src/location/path_location_strategy.js","type":"cjs require","userRequest":"@angular/core","loc":"18:13-37"}]},{"id":2,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/lang.js","name":"./~/@angular/common/src/facade/lang.js","index":8,"index2":1,"size":14602,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_if.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":3,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/collection.js","module":"./~/@angular/common/src/facade/collection.js","moduleName":"./~/@angular/common/src/facade/collection.js","type":"cjs require","userRequest":"./lang","loc":"10:13-30"},{"moduleId":5,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/validators.js","module":"./~/@angular/common/src/forms-deprecated/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/validators.js","type":"cjs require","userRequest":"../facade/lang","loc":"13:13-38"},{"moduleId":6,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/invalid_pipe_argument_exception.js","module":"./~/@angular/common/src/pipes/invalid_pipe_argument_exception.js","moduleName":"./~/@angular/common/src/pipes/invalid_pipe_argument_exception.js","type":"cjs require","userRequest":"../facade/lang","loc":"19:13-38"},{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"../../facade/lang","loc":"12:13-41"},{"moduleId":14,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","type":"cjs require","userRequest":"../../facade/lang","loc":"11:13-41"},{"moduleId":15,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","type":"cjs require","userRequest":"../../facade/lang","loc":"12:13-41"},{"moduleId":16,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","type":"cjs require","userRequest":"../../facade/lang","loc":"12:13-41"},{"moduleId":17,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/model.js","module":"./~/@angular/common/src/forms-deprecated/model.js","moduleName":"./~/@angular/common/src/forms-deprecated/model.js","type":"cjs require","userRequest":"../facade/lang","loc":"21:13-38"},{"moduleId":20,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_switch.js","module":"./~/@angular/common/src/directives/ng_switch.js","moduleName":"./~/@angular/common/src/directives/ng_switch.js","type":"cjs require","userRequest":"../facade/lang","loc":"12:13-38"},{"moduleId":21,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","module":"./~/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","type":"cjs require","userRequest":"../../facade/lang","loc":"11:13-41"},{"moduleId":24,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_status.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","type":"cjs require","userRequest":"../../facade/lang","loc":"11:13-41"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"../../facade/lang","loc":"21:13-41"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"../../facade/lang","loc":"22:13-41"},{"moduleId":29,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","type":"cjs require","userRequest":"../../facade/lang","loc":"11:13-41"},{"moduleId":30,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","type":"cjs require","userRequest":"../../facade/lang","loc":"12:13-41"},{"moduleId":31,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/validators.js","module":"./~/@angular/common/src/forms-deprecated/directives/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/validators.js","type":"cjs require","userRequest":"../../facade/lang","loc":"11:13-41"},{"moduleId":41,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_class.js","module":"./~/@angular/common/src/directives/ng_class.js","moduleName":"./~/@angular/common/src/directives/ng_class.js","type":"cjs require","userRequest":"../facade/lang","loc":"12:13-38"},{"moduleId":42,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_for.js","module":"./~/@angular/common/src/directives/ng_for.js","moduleName":"./~/@angular/common/src/directives/ng_for.js","type":"cjs require","userRequest":"../facade/lang","loc":"12:13-38"},{"moduleId":43,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_if.js","module":"./~/@angular/common/src/directives/ng_if.js","moduleName":"./~/@angular/common/src/directives/ng_if.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":44,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_plural.js","module":"./~/@angular/common/src/directives/ng_plural.js","moduleName":"./~/@angular/common/src/directives/ng_plural.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":45,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_style.js","module":"./~/@angular/common/src/directives/ng_style.js","moduleName":"./~/@angular/common/src/directives/ng_style.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":48,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exception_handler.js","module":"./~/@angular/common/src/facade/exception_handler.js","moduleName":"./~/@angular/common/src/facade/exception_handler.js","type":"cjs require","userRequest":"./lang","loc":"12:13-30"},{"moduleId":51,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/form_builder.js","module":"./~/@angular/common/src/forms-deprecated/form_builder.js","moduleName":"./~/@angular/common/src/forms-deprecated/form_builder.js","type":"cjs require","userRequest":"../facade/lang","loc":"12:13-38"},{"moduleId":53,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/async_pipe.js","module":"./~/@angular/common/src/pipes/async_pipe.js","moduleName":"./~/@angular/common/src/pipes/async_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":54,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","module":"./~/@angular/common/src/pipes/date_pipe.js","moduleName":"./~/@angular/common/src/pipes/date_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"13:13-38"},{"moduleId":55,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_plural_pipe.js","module":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":56,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_select_pipe.js","module":"./~/@angular/common/src/pipes/i18n_select_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_select_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":57,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/json_pipe.js","module":"./~/@angular/common/src/pipes/json_pipe.js","moduleName":"./~/@angular/common/src/pipes/json_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":58,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/lowercase_pipe.js","module":"./~/@angular/common/src/pipes/lowercase_pipe.js","moduleName":"./~/@angular/common/src/pipes/lowercase_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":59,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/number_pipe.js","module":"./~/@angular/common/src/pipes/number_pipe.js","moduleName":"./~/@angular/common/src/pipes/number_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"12:13-38"},{"moduleId":60,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/replace_pipe.js","module":"./~/@angular/common/src/pipes/replace_pipe.js","moduleName":"./~/@angular/common/src/pipes/replace_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":61,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/slice_pipe.js","module":"./~/@angular/common/src/pipes/slice_pipe.js","moduleName":"./~/@angular/common/src/pipes/slice_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"12:13-38"},{"moduleId":62,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/uppercase_pipe.js","module":"./~/@angular/common/src/pipes/uppercase_pipe.js","moduleName":"./~/@angular/common/src/pipes/uppercase_pipe.js","type":"cjs require","userRequest":"../facade/lang","loc":"11:13-38"},{"moduleId":75,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/hash_location_strategy.js","module":"./~/@angular/common/src/location/hash_location_strategy.js","moduleName":"./~/@angular/common/src/location/hash_location_strategy.js","type":"cjs require","userRequest":"../facade/lang","loc":"19:13-38"},{"moduleId":76,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","module":"./~/@angular/common/src/location/path_location_strategy.js","moduleName":"./~/@angular/common/src/location/path_location_strategy.js","type":"cjs require","userRequest":"../facade/lang","loc":"20:13-38"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar globalScope;\nif (typeof window === 'undefined') {\n    if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n        // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492\n        globalScope = self;\n    } else {\n        globalScope = global;\n    }\n} else {\n    globalScope = window;\n}\nfunction scheduleMicroTask(fn) {\n    Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\nexports.scheduleMicroTask = scheduleMicroTask;\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nvar _global = globalScope;\nexports.global = _global;\n/**\n * Runtime representation a type that a Component or other object is instances of.\n *\n * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by\n * the `MyCustomComponent` constructor function.\n *\n * @stable\n */\nexports.Type = Function;\nfunction getTypeNameForDebugging(type) {\n    if (type['name']) {\n        return type['name'];\n    }\n    return typeof type === 'undefined' ? 'undefined' : _typeof(type);\n}\nexports.getTypeNameForDebugging = getTypeNameForDebugging;\nexports.Math = _global.Math;\nexports.Date = _global.Date;\n// TODO: remove calls to assert in production environment\n// Note: Can't just export this and import in in other files\n// as `assert` is a reserved keyword in Dart\n_global.assert = function assert(condition) {\n    // TODO: to be fixed properly via #2830, noop for now\n};\nfunction isPresent(obj) {\n    return obj !== undefined && obj !== null;\n}\nexports.isPresent = isPresent;\nfunction isBlank(obj) {\n    return obj === undefined || obj === null;\n}\nexports.isBlank = isBlank;\nfunction isBoolean(obj) {\n    return typeof obj === 'boolean';\n}\nexports.isBoolean = isBoolean;\nfunction isNumber(obj) {\n    return typeof obj === 'number';\n}\nexports.isNumber = isNumber;\nfunction isString(obj) {\n    return typeof obj === 'string';\n}\nexports.isString = isString;\nfunction isFunction(obj) {\n    return typeof obj === 'function';\n}\nexports.isFunction = isFunction;\nfunction isType(obj) {\n    return isFunction(obj);\n}\nexports.isType = isType;\nfunction isStringMap(obj) {\n    return (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && obj !== null;\n}\nexports.isStringMap = isStringMap;\nvar STRING_MAP_PROTO = Object.getPrototypeOf({});\nfunction isStrictStringMap(obj) {\n    return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\nexports.isStrictStringMap = isStrictStringMap;\nfunction isPromise(obj) {\n    // allow any Promise/A+ compliant thenable.\n    // It's up to the caller to ensure that obj.then conforms to the spec\n    return isPresent(obj) && isFunction(obj.then);\n}\nexports.isPromise = isPromise;\nfunction isArray(obj) {\n    return Array.isArray(obj);\n}\nexports.isArray = isArray;\nfunction isDate(obj) {\n    return obj instanceof exports.Date && !isNaN(obj.valueOf());\n}\nexports.isDate = isDate;\nfunction noop() {}\nexports.noop = noop;\nfunction stringify(token) {\n    if (typeof token === 'string') {\n        return token;\n    }\n    if (token === undefined || token === null) {\n        return '' + token;\n    }\n    if (token.overriddenName) {\n        return token.overriddenName;\n    }\n    if (token.name) {\n        return token.name;\n    }\n    var res = token.toString();\n    var newLineIndex = res.indexOf('\\n');\n    return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\nexports.stringify = stringify;\n// serialize / deserialize enum exist only for consistency with dart API\n// enums in typescript don't need to be serialized\nfunction serializeEnum(val) {\n    return val;\n}\nexports.serializeEnum = serializeEnum;\nfunction deserializeEnum(val, values) {\n    return val;\n}\nexports.deserializeEnum = deserializeEnum;\nfunction resolveEnumToken(enumValue, val) {\n    return enumValue[val];\n}\nexports.resolveEnumToken = resolveEnumToken;\nvar StringWrapper = function () {\n    function StringWrapper() {}\n    StringWrapper.fromCharCode = function (code) {\n        return String.fromCharCode(code);\n    };\n    StringWrapper.charCodeAt = function (s, index) {\n        return s.charCodeAt(index);\n    };\n    StringWrapper.split = function (s, regExp) {\n        return s.split(regExp);\n    };\n    StringWrapper.equals = function (s, s2) {\n        return s === s2;\n    };\n    StringWrapper.stripLeft = function (s, charVal) {\n        if (s && s.length) {\n            var pos = 0;\n            for (var i = 0; i < s.length; i++) {\n                if (s[i] != charVal) break;\n                pos++;\n            }\n            s = s.substring(pos);\n        }\n        return s;\n    };\n    StringWrapper.stripRight = function (s, charVal) {\n        if (s && s.length) {\n            var pos = s.length;\n            for (var i = s.length - 1; i >= 0; i--) {\n                if (s[i] != charVal) break;\n                pos--;\n            }\n            s = s.substring(0, pos);\n        }\n        return s;\n    };\n    StringWrapper.replace = function (s, from, replace) {\n        return s.replace(from, replace);\n    };\n    StringWrapper.replaceAll = function (s, from, replace) {\n        return s.replace(from, replace);\n    };\n    StringWrapper.slice = function (s, from, to) {\n        if (from === void 0) {\n            from = 0;\n        }\n        if (to === void 0) {\n            to = null;\n        }\n        return s.slice(from, to === null ? undefined : to);\n    };\n    StringWrapper.replaceAllMapped = function (s, from, cb) {\n        return s.replace(from, function () {\n            var matches = [];\n            for (var _i = 0; _i < arguments.length; _i++) {\n                matches[_i - 0] = arguments[_i];\n            }\n            // Remove offset & string from the result array\n            matches.splice(-2, 2);\n            // The callback receives match, p1, ..., pn\n            return cb(matches);\n        });\n    };\n    StringWrapper.contains = function (s, substr) {\n        return s.indexOf(substr) != -1;\n    };\n    StringWrapper.compare = function (a, b) {\n        if (a < b) {\n            return -1;\n        } else if (a > b) {\n            return 1;\n        } else {\n            return 0;\n        }\n    };\n    return StringWrapper;\n}();\nexports.StringWrapper = StringWrapper;\nvar StringJoiner = function () {\n    function StringJoiner(parts) {\n        if (parts === void 0) {\n            parts = [];\n        }\n        this.parts = parts;\n    }\n    StringJoiner.prototype.add = function (part) {\n        this.parts.push(part);\n    };\n    StringJoiner.prototype.toString = function () {\n        return this.parts.join('');\n    };\n    return StringJoiner;\n}();\nexports.StringJoiner = StringJoiner;\nvar NumberParseError = function (_super) {\n    __extends(NumberParseError, _super);\n    function NumberParseError(message) {\n        _super.call(this);\n        this.message = message;\n    }\n    NumberParseError.prototype.toString = function () {\n        return this.message;\n    };\n    return NumberParseError;\n}(Error);\nexports.NumberParseError = NumberParseError;\nvar NumberWrapper = function () {\n    function NumberWrapper() {}\n    NumberWrapper.toFixed = function (n, fractionDigits) {\n        return n.toFixed(fractionDigits);\n    };\n    NumberWrapper.equal = function (a, b) {\n        return a === b;\n    };\n    NumberWrapper.parseIntAutoRadix = function (text) {\n        var result = parseInt(text);\n        if (isNaN(result)) {\n            throw new NumberParseError('Invalid integer literal when parsing ' + text);\n        }\n        return result;\n    };\n    NumberWrapper.parseInt = function (text, radix) {\n        if (radix == 10) {\n            if (/^(\\-|\\+)?[0-9]+$/.test(text)) {\n                return parseInt(text, radix);\n            }\n        } else if (radix == 16) {\n            if (/^(\\-|\\+)?[0-9ABCDEFabcdef]+$/.test(text)) {\n                return parseInt(text, radix);\n            }\n        } else {\n            var result = parseInt(text, radix);\n            if (!isNaN(result)) {\n                return result;\n            }\n        }\n        throw new NumberParseError('Invalid integer literal when parsing ' + text + ' in base ' + radix);\n    };\n    // TODO: NaN is a valid literal but is returned by parseFloat to indicate an error.\n    NumberWrapper.parseFloat = function (text) {\n        return parseFloat(text);\n    };\n    Object.defineProperty(NumberWrapper, \"NaN\", {\n        get: function get() {\n            return NaN;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NumberWrapper.isNumeric = function (value) {\n        return !isNaN(value - parseFloat(value));\n    };\n    NumberWrapper.isNaN = function (value) {\n        return isNaN(value);\n    };\n    NumberWrapper.isInteger = function (value) {\n        return Number.isInteger(value);\n    };\n    return NumberWrapper;\n}();\nexports.NumberWrapper = NumberWrapper;\nexports.RegExp = _global.RegExp;\nvar FunctionWrapper = function () {\n    function FunctionWrapper() {}\n    FunctionWrapper.apply = function (fn, posArgs) {\n        return fn.apply(null, posArgs);\n    };\n    FunctionWrapper.bind = function (fn, scope) {\n        return fn.bind(scope);\n    };\n    return FunctionWrapper;\n}();\nexports.FunctionWrapper = FunctionWrapper;\n// JS has NaN !== NaN\nfunction looseIdentical(a, b) {\n    return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);\n}\nexports.looseIdentical = looseIdentical;\n// JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)\n// see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\nfunction getMapKey(value) {\n    return value;\n}\nexports.getMapKey = getMapKey;\nfunction normalizeBlank(obj) {\n    return isBlank(obj) ? null : obj;\n}\nexports.normalizeBlank = normalizeBlank;\nfunction normalizeBool(obj) {\n    return isBlank(obj) ? false : obj;\n}\nexports.normalizeBool = normalizeBool;\nfunction isJsObject(o) {\n    return o !== null && (typeof o === 'function' || (typeof o === 'undefined' ? 'undefined' : _typeof(o)) === 'object');\n}\nexports.isJsObject = isJsObject;\nfunction print(obj) {\n    console.log(obj);\n}\nexports.print = print;\nfunction warn(obj) {\n    console.warn(obj);\n}\nexports.warn = warn;\n// Can't be all uppercase as our transpiler would think it is a special directive...\nvar Json = function () {\n    function Json() {}\n    Json.parse = function (s) {\n        return _global.JSON.parse(s);\n    };\n    Json.stringify = function (data) {\n        // Dart doesn't take 3 arguments\n        return _global.JSON.stringify(data, null, 2);\n    };\n    return Json;\n}();\nexports.Json = Json;\nvar DateWrapper = function () {\n    function DateWrapper() {}\n    DateWrapper.create = function (year, month, day, hour, minutes, seconds, milliseconds) {\n        if (month === void 0) {\n            month = 1;\n        }\n        if (day === void 0) {\n            day = 1;\n        }\n        if (hour === void 0) {\n            hour = 0;\n        }\n        if (minutes === void 0) {\n            minutes = 0;\n        }\n        if (seconds === void 0) {\n            seconds = 0;\n        }\n        if (milliseconds === void 0) {\n            milliseconds = 0;\n        }\n        return new exports.Date(year, month - 1, day, hour, minutes, seconds, milliseconds);\n    };\n    DateWrapper.fromISOString = function (str) {\n        return new exports.Date(str);\n    };\n    DateWrapper.fromMillis = function (ms) {\n        return new exports.Date(ms);\n    };\n    DateWrapper.toMillis = function (date) {\n        return date.getTime();\n    };\n    DateWrapper.now = function () {\n        return new exports.Date();\n    };\n    DateWrapper.toJson = function (date) {\n        return date.toJSON();\n    };\n    return DateWrapper;\n}();\nexports.DateWrapper = DateWrapper;\nfunction setValueOnPath(global, path, value) {\n    var parts = path.split('.');\n    var obj = global;\n    while (parts.length > 1) {\n        var name = parts.shift();\n        if (obj.hasOwnProperty(name) && isPresent(obj[name])) {\n            obj = obj[name];\n        } else {\n            obj = obj[name] = {};\n        }\n    }\n    if (obj === undefined || obj === null) {\n        obj = {};\n    }\n    obj[parts.shift()] = value;\n}\nexports.setValueOnPath = setValueOnPath;\nvar _symbolIterator = null;\nfunction getSymbolIterator() {\n    if (isBlank(_symbolIterator)) {\n        if (isPresent(globalScope.Symbol) && isPresent(Symbol.iterator)) {\n            _symbolIterator = Symbol.iterator;\n        } else {\n            // es6-shim specific logic\n            var keys = Object.getOwnPropertyNames(Map.prototype);\n            for (var i = 0; i < keys.length; ++i) {\n                var key = keys[i];\n                if (key !== 'entries' && key !== 'size' && Map.prototype[key] === Map.prototype['entries']) {\n                    _symbolIterator = key;\n                }\n            }\n        }\n    }\n    return _symbolIterator;\n}\nexports.getSymbolIterator = getSymbolIterator;\nfunction evalExpression(sourceUrl, expr, declarations, vars) {\n    var fnBody = declarations + \"\\nreturn \" + expr + \"\\n//# sourceURL=\" + sourceUrl;\n    var fnArgNames = [];\n    var fnArgValues = [];\n    for (var argName in vars) {\n        fnArgNames.push(argName);\n        fnArgValues.push(vars[argName]);\n    }\n    return new (Function.bind.apply(Function, [void 0].concat(fnArgNames.concat(fnBody))))().apply(void 0, fnArgValues);\n}\nexports.evalExpression = evalExpression;\nfunction isPrimitive(obj) {\n    return !isJsObject(obj);\n}\nexports.isPrimitive = isPrimitive;\nfunction hasConstructor(value, type) {\n    return value.constructor === type;\n}\nexports.hasConstructor = hasConstructor;\nfunction escape(s) {\n    return _global.encodeURI(s);\n}\nexports.escape = escape;\nfunction escapeRegExp(s) {\n    return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\nexports.escapeRegExp = escapeRegExp;\n//# sourceMappingURL=lang.js.map"},{"id":3,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/collection.js","name":"./~/@angular/common/src/facade/collection.js","index":7,"index2":2,"size":12583,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_class.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":5,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/validators.js","module":"./~/@angular/common/src/forms-deprecated/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/validators.js","type":"cjs require","userRequest":"../facade/collection","loc":"12:19-50"},{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"../../facade/collection","loc":"10:19-53"},{"moduleId":15,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","type":"cjs require","userRequest":"../../facade/collection","loc":"11:19-53"},{"moduleId":16,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","type":"cjs require","userRequest":"../../facade/collection","loc":"11:19-53"},{"moduleId":17,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/model.js","module":"./~/@angular/common/src/forms-deprecated/model.js","moduleName":"./~/@angular/common/src/forms-deprecated/model.js","type":"cjs require","userRequest":"../facade/collection","loc":"20:19-50"},{"moduleId":20,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_switch.js","module":"./~/@angular/common/src/directives/ng_switch.js","moduleName":"./~/@angular/common/src/directives/ng_switch.js","type":"cjs require","userRequest":"../facade/collection","loc":"11:19-50"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"../../facade/collection","loc":"20:19-53"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"../../facade/collection","loc":"20:19-53"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"../../facade/collection","loc":"20:19-53"},{"moduleId":30,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","type":"cjs require","userRequest":"../../facade/collection","loc":"11:19-53"},{"moduleId":41,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_class.js","module":"./~/@angular/common/src/directives/ng_class.js","moduleName":"./~/@angular/common/src/directives/ng_class.js","type":"cjs require","userRequest":"../facade/collection","loc":"11:19-50"},{"moduleId":48,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exception_handler.js","module":"./~/@angular/common/src/facade/exception_handler.js","moduleName":"./~/@angular/common/src/facade/exception_handler.js","type":"cjs require","userRequest":"./collection","loc":"11:19-42"},{"moduleId":51,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/form_builder.js","module":"./~/@angular/common/src/forms-deprecated/form_builder.js","moduleName":"./~/@angular/common/src/forms-deprecated/form_builder.js","type":"cjs require","userRequest":"../facade/collection","loc":"11:19-50"},{"moduleId":54,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","module":"./~/@angular/common/src/pipes/date_pipe.js","moduleName":"./~/@angular/common/src/pipes/date_pipe.js","type":"cjs require","userRequest":"../facade/collection","loc":"11:19-50"},{"moduleId":61,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/slice_pipe.js","module":"./~/@angular/common/src/pipes/slice_pipe.js","moduleName":"./~/@angular/common/src/pipes/slice_pipe.js","type":"cjs require","userRequest":"../facade/collection","loc":"11:19-50"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar lang_1 = require('./lang');\nexports.Map = lang_1.global.Map;\nexports.Set = lang_1.global.Set;\n// Safari and Internet Explorer do not support the iterable parameter to the\n// Map constructor.  We work around that by manually adding the items.\nvar createMapFromPairs = function () {\n    try {\n        if (new exports.Map([[1, 2]]).size === 1) {\n            return function createMapFromPairs(pairs) {\n                return new exports.Map(pairs);\n            };\n        }\n    } catch (e) {}\n    return function createMapAndPopulateFromPairs(pairs) {\n        var map = new exports.Map();\n        for (var i = 0; i < pairs.length; i++) {\n            var pair = pairs[i];\n            map.set(pair[0], pair[1]);\n        }\n        return map;\n    };\n}();\nvar createMapFromMap = function () {\n    try {\n        if (new exports.Map(new exports.Map())) {\n            return function createMapFromMap(m) {\n                return new exports.Map(m);\n            };\n        }\n    } catch (e) {}\n    return function createMapAndPopulateFromMap(m) {\n        var map = new exports.Map();\n        m.forEach(function (v, k) {\n            map.set(k, v);\n        });\n        return map;\n    };\n}();\nvar _clearValues = function () {\n    if (new exports.Map().keys().next) {\n        return function _clearValues(m) {\n            var keyIterator = m.keys();\n            var k;\n            while (!(k = keyIterator.next()).done) {\n                m.set(k.value, null);\n            }\n        };\n    } else {\n        return function _clearValuesWithForeEach(m) {\n            m.forEach(function (v, k) {\n                m.set(k, null);\n            });\n        };\n    }\n}();\n// Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from\n// TODO(mlaval): remove the work around once we have a working polyfill of Array.from\nvar _arrayFromMap = function () {\n    try {\n        if (new exports.Map().values().next) {\n            return function createArrayFromMap(m, getValues) {\n                return getValues ? Array.from(m.values()) : Array.from(m.keys());\n            };\n        }\n    } catch (e) {}\n    return function createArrayFromMapWithForeach(m, getValues) {\n        var res = ListWrapper.createFixedSize(m.size),\n            i = 0;\n        m.forEach(function (v, k) {\n            res[i] = getValues ? v : k;\n            i++;\n        });\n        return res;\n    };\n}();\nvar MapWrapper = function () {\n    function MapWrapper() {}\n    MapWrapper.clone = function (m) {\n        return createMapFromMap(m);\n    };\n    MapWrapper.createFromStringMap = function (stringMap) {\n        var result = new exports.Map();\n        for (var prop in stringMap) {\n            result.set(prop, stringMap[prop]);\n        }\n        return result;\n    };\n    MapWrapper.toStringMap = function (m) {\n        var r = {};\n        m.forEach(function (v, k) {\n            return r[k] = v;\n        });\n        return r;\n    };\n    MapWrapper.createFromPairs = function (pairs) {\n        return createMapFromPairs(pairs);\n    };\n    MapWrapper.clearValues = function (m) {\n        _clearValues(m);\n    };\n    MapWrapper.iterable = function (m) {\n        return m;\n    };\n    MapWrapper.keys = function (m) {\n        return _arrayFromMap(m, false);\n    };\n    MapWrapper.values = function (m) {\n        return _arrayFromMap(m, true);\n    };\n    return MapWrapper;\n}();\nexports.MapWrapper = MapWrapper;\n/**\n * Wraps Javascript Objects\n */\nvar StringMapWrapper = function () {\n    function StringMapWrapper() {}\n    StringMapWrapper.create = function () {\n        // Note: We are not using Object.create(null) here due to\n        // performance!\n        // http://jsperf.com/ng2-object-create-null\n        return {};\n    };\n    StringMapWrapper.contains = function (map, key) {\n        return map.hasOwnProperty(key);\n    };\n    StringMapWrapper.get = function (map, key) {\n        return map.hasOwnProperty(key) ? map[key] : undefined;\n    };\n    StringMapWrapper.set = function (map, key, value) {\n        map[key] = value;\n    };\n    StringMapWrapper.keys = function (map) {\n        return Object.keys(map);\n    };\n    StringMapWrapper.values = function (map) {\n        return Object.keys(map).map(function (k) {\n            return map[k];\n        });\n    };\n    StringMapWrapper.isEmpty = function (map) {\n        for (var prop in map) {\n            return false;\n        }\n        return true;\n    };\n    StringMapWrapper.delete = function (map, key) {\n        delete map[key];\n    };\n    StringMapWrapper.forEach = function (map, callback) {\n        for (var _i = 0, _a = Object.keys(map); _i < _a.length; _i++) {\n            var k = _a[_i];\n            callback(map[k], k);\n        }\n    };\n    StringMapWrapper.merge = function (m1, m2) {\n        var m = {};\n        for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {\n            var k = _a[_i];\n            m[k] = m1[k];\n        }\n        for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {\n            var k = _c[_b];\n            m[k] = m2[k];\n        }\n        return m;\n    };\n    StringMapWrapper.equals = function (m1, m2) {\n        var k1 = Object.keys(m1);\n        var k2 = Object.keys(m2);\n        if (k1.length != k2.length) {\n            return false;\n        }\n        var key;\n        for (var i = 0; i < k1.length; i++) {\n            key = k1[i];\n            if (m1[key] !== m2[key]) {\n                return false;\n            }\n        }\n        return true;\n    };\n    return StringMapWrapper;\n}();\nexports.StringMapWrapper = StringMapWrapper;\nvar ListWrapper = function () {\n    function ListWrapper() {}\n    // JS has no way to express a statically fixed size list, but dart does so we\n    // keep both methods.\n    ListWrapper.createFixedSize = function (size) {\n        return new Array(size);\n    };\n    ListWrapper.createGrowableSize = function (size) {\n        return new Array(size);\n    };\n    ListWrapper.clone = function (array) {\n        return array.slice(0);\n    };\n    ListWrapper.forEachWithIndex = function (array, fn) {\n        for (var i = 0; i < array.length; i++) {\n            fn(array[i], i);\n        }\n    };\n    ListWrapper.first = function (array) {\n        if (!array) return null;\n        return array[0];\n    };\n    ListWrapper.last = function (array) {\n        if (!array || array.length == 0) return null;\n        return array[array.length - 1];\n    };\n    ListWrapper.indexOf = function (array, value, startIndex) {\n        if (startIndex === void 0) {\n            startIndex = 0;\n        }\n        return array.indexOf(value, startIndex);\n    };\n    ListWrapper.contains = function (list, el) {\n        return list.indexOf(el) !== -1;\n    };\n    ListWrapper.reversed = function (array) {\n        var a = ListWrapper.clone(array);\n        return a.reverse();\n    };\n    ListWrapper.concat = function (a, b) {\n        return a.concat(b);\n    };\n    ListWrapper.insert = function (list, index, value) {\n        list.splice(index, 0, value);\n    };\n    ListWrapper.removeAt = function (list, index) {\n        var res = list[index];\n        list.splice(index, 1);\n        return res;\n    };\n    ListWrapper.removeAll = function (list, items) {\n        for (var i = 0; i < items.length; ++i) {\n            var index = list.indexOf(items[i]);\n            list.splice(index, 1);\n        }\n    };\n    ListWrapper.remove = function (list, el) {\n        var index = list.indexOf(el);\n        if (index > -1) {\n            list.splice(index, 1);\n            return true;\n        }\n        return false;\n    };\n    ListWrapper.clear = function (list) {\n        list.length = 0;\n    };\n    ListWrapper.isEmpty = function (list) {\n        return list.length == 0;\n    };\n    ListWrapper.fill = function (list, value, start, end) {\n        if (start === void 0) {\n            start = 0;\n        }\n        if (end === void 0) {\n            end = null;\n        }\n        list.fill(value, start, end === null ? list.length : end);\n    };\n    ListWrapper.equals = function (a, b) {\n        if (a.length != b.length) return false;\n        for (var i = 0; i < a.length; ++i) {\n            if (a[i] !== b[i]) return false;\n        }\n        return true;\n    };\n    ListWrapper.slice = function (l, from, to) {\n        if (from === void 0) {\n            from = 0;\n        }\n        if (to === void 0) {\n            to = null;\n        }\n        return l.slice(from, to === null ? undefined : to);\n    };\n    ListWrapper.splice = function (l, from, length) {\n        return l.splice(from, length);\n    };\n    ListWrapper.sort = function (l, compareFn) {\n        if (lang_1.isPresent(compareFn)) {\n            l.sort(compareFn);\n        } else {\n            l.sort();\n        }\n    };\n    ListWrapper.toString = function (l) {\n        return l.toString();\n    };\n    ListWrapper.toJSON = function (l) {\n        return JSON.stringify(l);\n    };\n    ListWrapper.maximum = function (list, predicate) {\n        if (list.length == 0) {\n            return null;\n        }\n        var solution = null;\n        var maxValue = -Infinity;\n        for (var index = 0; index < list.length; index++) {\n            var candidate = list[index];\n            if (lang_1.isBlank(candidate)) {\n                continue;\n            }\n            var candidateValue = predicate(candidate);\n            if (candidateValue > maxValue) {\n                solution = candidate;\n                maxValue = candidateValue;\n            }\n        }\n        return solution;\n    };\n    ListWrapper.flatten = function (list) {\n        var target = [];\n        _flattenArray(list, target);\n        return target;\n    };\n    ListWrapper.addAll = function (list, source) {\n        for (var i = 0; i < source.length; i++) {\n            list.push(source[i]);\n        }\n    };\n    return ListWrapper;\n}();\nexports.ListWrapper = ListWrapper;\nfunction _flattenArray(source, target) {\n    if (lang_1.isPresent(source)) {\n        for (var i = 0; i < source.length; i++) {\n            var item = source[i];\n            if (lang_1.isArray(item)) {\n                _flattenArray(item, target);\n            } else {\n                target.push(item);\n            }\n        }\n    }\n    return target;\n}\nfunction isListLikeIterable(obj) {\n    if (!lang_1.isJsObject(obj)) return false;\n    return lang_1.isArray(obj) || !(obj instanceof exports.Map) && lang_1.getSymbolIterator() in obj; // JS Iterable have a Symbol.iterator prop\n}\nexports.isListLikeIterable = isListLikeIterable;\nfunction areIterablesEqual(a, b, comparator) {\n    var iterator1 = a[lang_1.getSymbolIterator()]();\n    var iterator2 = b[lang_1.getSymbolIterator()]();\n    while (true) {\n        var item1 = iterator1.next();\n        var item2 = iterator2.next();\n        if (item1.done && item2.done) return true;\n        if (item1.done || item2.done) return false;\n        if (!comparator(item1.value, item2.value)) return false;\n    }\n}\nexports.areIterablesEqual = areIterablesEqual;\nfunction iterateListLike(obj, fn) {\n    if (lang_1.isArray(obj)) {\n        for (var i = 0; i < obj.length; i++) {\n            fn(obj[i]);\n        }\n    } else {\n        var iterator = obj[lang_1.getSymbolIterator()]();\n        var item;\n        while (!(item = iterator.next()).done) {\n            fn(item.value);\n        }\n    }\n}\nexports.iterateListLike = iterateListLike;\n// Safari and Internet Explorer do not support the iterable parameter to the\n// Set constructor.  We work around that by manually adding the items.\nvar createSetFromList = function () {\n    var test = new exports.Set([1, 2, 3]);\n    if (test.size === 3) {\n        return function createSetFromList(lst) {\n            return new exports.Set(lst);\n        };\n    } else {\n        return function createSetAndPopulateFromList(lst) {\n            var res = new exports.Set(lst);\n            if (res.size !== lst.length) {\n                for (var i = 0; i < lst.length; i++) {\n                    res.add(lst[i]);\n                }\n            }\n            return res;\n        };\n    }\n}();\nvar SetWrapper = function () {\n    function SetWrapper() {}\n    SetWrapper.createFromList = function (lst) {\n        return createSetFromList(lst);\n    };\n    SetWrapper.has = function (s, key) {\n        return s.has(key);\n    };\n    SetWrapper.delete = function (m, k) {\n        m.delete(k);\n    };\n    return SetWrapper;\n}();\nexports.SetWrapper = SetWrapper;\n//# sourceMappingURL=collection.js.map"},{"id":4,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/control_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/control_value_accessor.js","index":36,"index2":31,"size":537,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":13,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"11:31-66"},{"moduleId":14,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"12:31-66"},{"moduleId":15,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"13:31-66"},{"moduleId":16,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"13:31-66"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"22:31-66"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"22:31-66"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"22:31-66"},{"moduleId":29,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"12:31-66"},{"moduleId":30,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","type":"cjs require","userRequest":"./control_value_accessor","loc":"13:31-66"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/control_value_accessor","loc":"35:31-94"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\n/**\n * Used to provide a {@link ControlValueAccessor} for form controls.\n *\n * See {@link DefaultValueAccessor} for how to implement one.\n * @experimental\n */\nexports.NG_VALUE_ACCESSOR = new core_1.OpaqueToken('NgValueAccessor');\n//# sourceMappingURL=control_value_accessor.js.map"},{"id":5,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/validators.js","name":"./~/@angular/common/src/forms-deprecated/validators.js","index":39,"index2":36,"size":4862,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"../validators","loc":"13:19-43"},{"moduleId":22,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_group.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","type":"cjs require","userRequest":"../validators","loc":"19:19-43"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"../validators","loc":"20:19-43"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"../validators","loc":"23:19-43"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"../validators","loc":"21:19-43"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"../validators","loc":"23:19-43"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"../validators","loc":"21:19-43"},{"moduleId":31,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/validators.js","module":"./~/@angular/common/src/forms-deprecated/directives/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/validators.js","type":"cjs require","userRequest":"../validators","loc":"12:19-43"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/validators","loc":"70:19-59"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar toPromise_1 = require('rxjs/operator/toPromise');\nvar collection_1 = require('../facade/collection');\nvar lang_1 = require('../facade/lang');\n/**\n * Providers for validators to be used for {@link Control}s in a form.\n *\n * Provide this using `multi: true` to add validators.\n *\n * ### Example\n *\n * {@example core/forms/ts/ng_validators/ng_validators.ts region='ng_validators'}\n * @experimental\n */\nexports.NG_VALIDATORS = new core_1.OpaqueToken('NgValidators');\n/**\n * Providers for asynchronous validators to be used for {@link Control}s\n * in a form.\n *\n * Provide this using `multi: true` to add validators.\n *\n * See {@link NG_VALIDATORS} for more details.\n *\n * @experimental\n */\nexports.NG_ASYNC_VALIDATORS = new core_1.OpaqueToken('NgAsyncValidators');\n/**\n * Provides a set of validators used by form controls.\n *\n * A validator is a function that processes a {@link Control} or collection of\n * controls and returns a map of errors. A null map means that validation has passed.\n *\n * ### Example\n *\n * ```typescript\n * var loginControl = new Control(\"\", Validators.required)\n * ```\n *\n * @experimental\n */\nvar Validators = function () {\n    function Validators() {}\n    /**\n     * Validator that requires controls to have a non-empty value.\n     */\n    Validators.required = function (control) {\n        return lang_1.isBlank(control.value) || lang_1.isString(control.value) && control.value == '' ? { 'required': true } : null;\n    };\n    /**\n     * Validator that requires controls to have a value of a minimum length.\n     */\n    Validators.minLength = function (minLength) {\n        return function (control) {\n            if (lang_1.isPresent(Validators.required(control))) return null;\n            var v = control.value;\n            return v.length < minLength ? { 'minlength': { 'requiredLength': minLength, 'actualLength': v.length } } : null;\n        };\n    };\n    /**\n     * Validator that requires controls to have a value of a maximum length.\n     */\n    Validators.maxLength = function (maxLength) {\n        return function (control) {\n            if (lang_1.isPresent(Validators.required(control))) return null;\n            var v = control.value;\n            return v.length > maxLength ? { 'maxlength': { 'requiredLength': maxLength, 'actualLength': v.length } } : null;\n        };\n    };\n    /**\n     * Validator that requires a control to match a regex to its value.\n     */\n    Validators.pattern = function (pattern) {\n        return function (control) {\n            if (lang_1.isPresent(Validators.required(control))) return null;\n            var regex = new RegExp(\"^\" + pattern + \"$\");\n            var v = control.value;\n            return regex.test(v) ? null : { 'pattern': { 'requiredPattern': \"^\" + pattern + \"$\", 'actualValue': v } };\n        };\n    };\n    /**\n     * No-op validator.\n     */\n    Validators.nullValidator = function (c) {\n        return null;\n    };\n    /**\n     * Compose multiple validators into a single function that returns the union\n     * of the individual error maps.\n     */\n    Validators.compose = function (validators) {\n        if (lang_1.isBlank(validators)) return null;\n        var presentValidators = validators.filter(lang_1.isPresent);\n        if (presentValidators.length == 0) return null;\n        return function (control) {\n            return _mergeErrors(_executeValidators(control, presentValidators));\n        };\n    };\n    Validators.composeAsync = function (validators) {\n        if (lang_1.isBlank(validators)) return null;\n        var presentValidators = validators.filter(lang_1.isPresent);\n        if (presentValidators.length == 0) return null;\n        return function (control) {\n            var promises = _executeAsyncValidators(control, presentValidators).map(_convertToPromise);\n            return Promise.all(promises).then(_mergeErrors);\n        };\n    };\n    return Validators;\n}();\nexports.Validators = Validators;\nfunction _convertToPromise(obj) {\n    return lang_1.isPromise(obj) ? obj : toPromise_1.toPromise.call(obj);\n}\nfunction _executeValidators(control, validators) {\n    return validators.map(function (v) {\n        return v(control);\n    });\n}\nfunction _executeAsyncValidators(control, validators) {\n    return validators.map(function (v) {\n        return v(control);\n    });\n}\nfunction _mergeErrors(arrayOfErrors) {\n    var res = arrayOfErrors.reduce(function (res, errors) {\n        return lang_1.isPresent(errors) ? collection_1.StringMapWrapper.merge(res, errors) : res;\n    }, {});\n    return collection_1.StringMapWrapper.isEmpty(res) ? null : res;\n}\n//# sourceMappingURL=validators.js.map"},{"id":6,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/invalid_pipe_argument_exception.js","name":"./~/@angular/common/src/pipes/invalid_pipe_argument_exception.js","index":21,"index2":17,"size":1075,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":53,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/async_pipe.js","module":"./~/@angular/common/src/pipes/async_pipe.js","moduleName":"./~/@angular/common/src/pipes/async_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"12:40-84"},{"moduleId":54,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","module":"./~/@angular/common/src/pipes/date_pipe.js","moduleName":"./~/@angular/common/src/pipes/date_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"14:40-84"},{"moduleId":55,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_plural_pipe.js","module":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"13:40-84"},{"moduleId":56,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_select_pipe.js","module":"./~/@angular/common/src/pipes/i18n_select_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_select_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"12:40-84"},{"moduleId":58,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/lowercase_pipe.js","module":"./~/@angular/common/src/pipes/lowercase_pipe.js","moduleName":"./~/@angular/common/src/pipes/lowercase_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"12:40-84"},{"moduleId":59,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/number_pipe.js","module":"./~/@angular/common/src/pipes/number_pipe.js","moduleName":"./~/@angular/common/src/pipes/number_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"13:40-84"},{"moduleId":60,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/replace_pipe.js","module":"./~/@angular/common/src/pipes/replace_pipe.js","moduleName":"./~/@angular/common/src/pipes/replace_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"12:40-84"},{"moduleId":61,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/slice_pipe.js","module":"./~/@angular/common/src/pipes/slice_pipe.js","moduleName":"./~/@angular/common/src/pipes/slice_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"13:40-84"},{"moduleId":62,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/uppercase_pipe.js","module":"./~/@angular/common/src/pipes/uppercase_pipe.js","moduleName":"./~/@angular/common/src/pipes/uppercase_pipe.js","type":"cjs require","userRequest":"./invalid_pipe_argument_exception","loc":"12:40-84"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar exceptions_1 = require('../facade/exceptions');\nvar lang_1 = require('../facade/lang');\nvar InvalidPipeArgumentException = function (_super) {\n    __extends(InvalidPipeArgumentException, _super);\n    function InvalidPipeArgumentException(type, value) {\n        _super.call(this, \"Invalid argument '\" + value + \"' for pipe '\" + lang_1.stringify(type) + \"'\");\n    }\n    return InvalidPipeArgumentException;\n}(exceptions_1.BaseException);\nexports.InvalidPipeArgumentException = InvalidPipeArgumentException;\n//# sourceMappingURL=invalid_pipe_argument_exception.js.map"},{"id":7,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exceptions.js","name":"./~/@angular/common/src/facade/exceptions.js","index":10,"index2":6,"size":3664,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_for.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":6,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/invalid_pipe_argument_exception.js","module":"./~/@angular/common/src/pipes/invalid_pipe_argument_exception.js","moduleName":"./~/@angular/common/src/pipes/invalid_pipe_argument_exception.js","type":"cjs require","userRequest":"../facade/exceptions","loc":"18:19-50"},{"moduleId":8,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control.js","type":"cjs require","userRequest":"../../facade/exceptions","loc":"18:19-53"},{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"../../facade/exceptions","loc":"11:19-53"},{"moduleId":21,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","module":"./~/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","type":"cjs require","userRequest":"../../facade/exceptions","loc":"10:19-53"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"../../facade/exceptions","loc":"21:19-53"},{"moduleId":42,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_for.js","module":"./~/@angular/common/src/directives/ng_for.js","moduleName":"./~/@angular/common/src/directives/ng_for.js","type":"cjs require","userRequest":"../facade/exceptions","loc":"11:19-50"},{"moduleId":76,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","module":"./~/@angular/common/src/location/path_location_strategy.js","moduleName":"./~/@angular/common/src/location/path_location_strategy.js","type":"cjs require","userRequest":"../facade/exceptions","loc":"19:19-50"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar base_wrapped_exception_1 = require('./base_wrapped_exception');\nvar exception_handler_1 = require('./exception_handler');\nvar exception_handler_2 = require('./exception_handler');\nexports.ExceptionHandler = exception_handler_2.ExceptionHandler;\n/**\n * @stable\n */\nvar BaseException = function (_super) {\n    __extends(BaseException, _super);\n    function BaseException(message) {\n        if (message === void 0) {\n            message = '--';\n        }\n        _super.call(this, message);\n        this.message = message;\n        this.stack = new Error(message).stack;\n    }\n    BaseException.prototype.toString = function () {\n        return this.message;\n    };\n    return BaseException;\n}(Error);\nexports.BaseException = BaseException;\n/**\n * Wraps an exception and provides additional context or information.\n * @stable\n */\nvar WrappedException = function (_super) {\n    __extends(WrappedException, _super);\n    function WrappedException(_wrapperMessage, _originalException /** TODO #9100 */, _originalStack /** TODO #9100 */, _context /** TODO #9100 */) {\n        _super.call(this, _wrapperMessage);\n        this._wrapperMessage = _wrapperMessage;\n        this._originalException = _originalException;\n        this._originalStack = _originalStack;\n        this._context = _context;\n        this._wrapperStack = new Error(_wrapperMessage).stack;\n    }\n    Object.defineProperty(WrappedException.prototype, \"wrapperMessage\", {\n        get: function get() {\n            return this._wrapperMessage;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(WrappedException.prototype, \"wrapperStack\", {\n        get: function get() {\n            return this._wrapperStack;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(WrappedException.prototype, \"originalException\", {\n        get: function get() {\n            return this._originalException;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(WrappedException.prototype, \"originalStack\", {\n        get: function get() {\n            return this._originalStack;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(WrappedException.prototype, \"context\", {\n        get: function get() {\n            return this._context;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(WrappedException.prototype, \"message\", {\n        get: function get() {\n            return exception_handler_1.ExceptionHandler.exceptionToString(this);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    WrappedException.prototype.toString = function () {\n        return this.message;\n    };\n    return WrappedException;\n}(base_wrapped_exception_1.BaseWrappedException);\nexports.WrappedException = WrappedException;\nfunction makeTypeError(message) {\n    return new TypeError(message);\n}\nexports.makeTypeError = makeTypeError;\nfunction unimplemented() {\n    throw new BaseException('unimplemented');\n}\nexports.unimplemented = unimplemented;\n//# sourceMappingURL=exceptions.js.map"},{"id":8,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_control.js","index":48,"index2":41,"size":1595,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":15,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","module":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","type":"cjs require","userRequest":"./ng_control","loc":"14:19-42"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"./ng_control","loc":"23:19-42"},{"moduleId":24,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_status.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","type":"cjs require","userRequest":"./ng_control","loc":"12:19-42"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"./ng_control","loc":"23:19-42"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"./ng_control","loc":"23:19-42"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control","loc":"28:19-53"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_control","loc":"39:19-70"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar exceptions_1 = require('../../facade/exceptions');\nvar abstract_control_directive_1 = require('./abstract_control_directive');\n/**\n * A base class that all control directive extend.\n * It binds a {@link Control} object to a DOM element.\n *\n * Used internally by Angular forms.\n *\n * @experimental\n */\nvar NgControl = function (_super) {\n    __extends(NgControl, _super);\n    function NgControl() {\n        _super.apply(this, arguments);\n        this.name = null;\n        this.valueAccessor = null;\n    }\n    Object.defineProperty(NgControl.prototype, \"validator\", {\n        get: function get() {\n            return exceptions_1.unimplemented();\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControl.prototype, \"asyncValidator\", {\n        get: function get() {\n            return exceptions_1.unimplemented();\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return NgControl;\n}(abstract_control_directive_1.AbstractControlDirective);\nexports.NgControl = NgControl;\n//# sourceMappingURL=ng_control.js.map"},{"id":9,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/async.js","name":"./~/@angular/common/src/facade/async.js","index":52,"index2":63,"size":5408,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":17,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/model.js","module":"./~/@angular/common/src/forms-deprecated/model.js","moduleName":"./~/@angular/common/src/forms-deprecated/model.js","type":"cjs require","userRequest":"../facade/async","loc":"19:14-40"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"../../facade/async","loc":"19:14-43"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"../../facade/async","loc":"19:14-43"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"../../facade/async","loc":"19:14-43"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"../../facade/async","loc":"19:14-43"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"../../facade/async","loc":"19:14-43"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('rxjs/Subject');\nvar Observable_1 = require('rxjs/Observable');\nexports.Observable = Observable_1.Observable;\nvar Subject_2 = require('rxjs/Subject');\nexports.Subject = Subject_2.Subject;\n/**\n * Use by directives and components to emit custom Events.\n *\n * ### Examples\n *\n * In the following example, `Zippy` alternatively emits `open` and `close` events when its\n * title gets clicked:\n *\n * ```\n * @Component({\n *   selector: 'zippy',\n *   template: `\n *   <div class=\"zippy\">\n *     <div (click)=\"toggle()\">Toggle</div>\n *     <div [hidden]=\"!visible\">\n *       <ng-content></ng-content>\n *     </div>\n *  </div>`})\n * export class Zippy {\n *   visible: boolean = true;\n *   @Output() open: EventEmitter<any> = new EventEmitter();\n *   @Output() close: EventEmitter<any> = new EventEmitter();\n *\n *   toggle() {\n *     this.visible = !this.visible;\n *     if (this.visible) {\n *       this.open.emit(null);\n *     } else {\n *       this.close.emit(null);\n *     }\n *   }\n * }\n * ```\n *\n * The events payload can be accessed by the parameter `$event` on the components output event\n * handler:\n *\n * ```\n * <zippy (open)=\"onOpen($event)\" (close)=\"onClose($event)\"></zippy>\n * ```\n *\n * Uses Rx.Observable but provides an adapter to make it work as specified here:\n * https://github.com/jhusain/observable-spec\n *\n * Once a reference implementation of the spec is available, switch to it.\n * @stable\n */\nvar EventEmitter = function (_super) {\n    __extends(EventEmitter, _super);\n    /**\n     * Creates an instance of [EventEmitter], which depending on [isAsync],\n     * delivers events synchronously or asynchronously.\n     */\n    function EventEmitter(isAsync) {\n        if (isAsync === void 0) {\n            isAsync = false;\n        }\n        _super.call(this);\n        this.__isAsync = isAsync;\n    }\n    EventEmitter.prototype.emit = function (value) {\n        _super.prototype.next.call(this, value);\n    };\n    /**\n     * @deprecated - use .emit(value) instead\n     */\n    EventEmitter.prototype.next = function (value) {\n        _super.prototype.next.call(this, value);\n    };\n    EventEmitter.prototype.subscribe = function (generatorOrNext, error, complete) {\n        var schedulerFn;\n        var errorFn = function errorFn(err) {\n            return null;\n        };\n        var completeFn = function completeFn() {\n            return null;\n        };\n        if (generatorOrNext && (typeof generatorOrNext === 'undefined' ? 'undefined' : _typeof(generatorOrNext)) === 'object') {\n            schedulerFn = this.__isAsync ? function (value /** TODO #9100 */) {\n                setTimeout(function () {\n                    return generatorOrNext.next(value);\n                });\n            } : function (value /** TODO #9100 */) {\n                generatorOrNext.next(value);\n            };\n            if (generatorOrNext.error) {\n                errorFn = this.__isAsync ? function (err) {\n                    setTimeout(function () {\n                        return generatorOrNext.error(err);\n                    });\n                } : function (err) {\n                    generatorOrNext.error(err);\n                };\n            }\n            if (generatorOrNext.complete) {\n                completeFn = this.__isAsync ? function () {\n                    setTimeout(function () {\n                        return generatorOrNext.complete();\n                    });\n                } : function () {\n                    generatorOrNext.complete();\n                };\n            }\n        } else {\n            schedulerFn = this.__isAsync ? function (value /** TODO #9100 */) {\n                setTimeout(function () {\n                    return generatorOrNext(value);\n                });\n            } : function (value /** TODO #9100 */) {\n                generatorOrNext(value);\n            };\n            if (error) {\n                errorFn = this.__isAsync ? function (err) {\n                    setTimeout(function () {\n                        return error(err);\n                    });\n                } : function (err) {\n                    error(err);\n                };\n            }\n            if (complete) {\n                completeFn = this.__isAsync ? function () {\n                    setTimeout(function () {\n                        return complete();\n                    });\n                } : function () {\n                    complete();\n                };\n            }\n        }\n        return _super.prototype.subscribe.call(this, schedulerFn, errorFn, completeFn);\n    };\n    return EventEmitter;\n}(Subject_1.Subject);\nexports.EventEmitter = EventEmitter;\n//# sourceMappingURL=async.js.map"},{"id":10,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","name":"./~/@angular/common/src/forms-deprecated/directives/shared.js","index":44,"index2":45,"size":5291,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":22,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_group.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","type":"cjs require","userRequest":"./shared","loc":"21:15-34"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"./shared","loc":"24:15-34"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"./shared","loc":"25:15-34"},{"moduleId":26,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","type":"cjs require","userRequest":"./shared","loc":"24:15-34"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"./shared","loc":"25:15-34"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"./shared","loc":"24:15-34"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar collection_1 = require('../../facade/collection');\nvar exceptions_1 = require('../../facade/exceptions');\nvar lang_1 = require('../../facade/lang');\nvar validators_1 = require('../validators');\nvar checkbox_value_accessor_1 = require('./checkbox_value_accessor');\nvar default_value_accessor_1 = require('./default_value_accessor');\nvar normalize_validator_1 = require('./normalize_validator');\nvar number_value_accessor_1 = require('./number_value_accessor');\nvar radio_control_value_accessor_1 = require('./radio_control_value_accessor');\nvar select_control_value_accessor_1 = require('./select_control_value_accessor');\nvar select_multiple_control_value_accessor_1 = require('./select_multiple_control_value_accessor');\nfunction controlPath(name, parent) {\n    var p = collection_1.ListWrapper.clone(parent.path);\n    p.push(name);\n    return p;\n}\nexports.controlPath = controlPath;\nfunction setUpControl(control, dir) {\n    if (lang_1.isBlank(control)) _throwError(dir, 'Cannot find control with');\n    if (lang_1.isBlank(dir.valueAccessor)) _throwError(dir, 'No value accessor for form control with');\n    control.validator = validators_1.Validators.compose([control.validator, dir.validator]);\n    control.asyncValidator = validators_1.Validators.composeAsync([control.asyncValidator, dir.asyncValidator]);\n    dir.valueAccessor.writeValue(control.value);\n    // view -> model\n    dir.valueAccessor.registerOnChange(function (newValue) {\n        dir.viewToModelUpdate(newValue);\n        control.updateValue(newValue, { emitModelToViewChange: false });\n        control.markAsDirty();\n    });\n    // model -> view\n    control.registerOnChange(function (newValue) {\n        return dir.valueAccessor.writeValue(newValue);\n    });\n    // touched\n    dir.valueAccessor.registerOnTouched(function () {\n        return control.markAsTouched();\n    });\n}\nexports.setUpControl = setUpControl;\nfunction setUpControlGroup(control, dir) {\n    if (lang_1.isBlank(control)) _throwError(dir, 'Cannot find control with');\n    control.validator = validators_1.Validators.compose([control.validator, dir.validator]);\n    control.asyncValidator = validators_1.Validators.composeAsync([control.asyncValidator, dir.asyncValidator]);\n}\nexports.setUpControlGroup = setUpControlGroup;\nfunction _throwError(dir, message) {\n    var messageEnd;\n    if (dir.path.length > 1) {\n        messageEnd = \"path: '\" + dir.path.join(' -> ') + \"'\";\n    } else if (dir.path[0]) {\n        messageEnd = \"name: '\" + dir.path + \"'\";\n    } else {\n        messageEnd = 'unspecified name';\n    }\n    throw new exceptions_1.BaseException(message + \" \" + messageEnd);\n}\nfunction composeValidators(validators) {\n    return lang_1.isPresent(validators) ? validators_1.Validators.compose(validators.map(normalize_validator_1.normalizeValidator)) : null;\n}\nexports.composeValidators = composeValidators;\nfunction composeAsyncValidators(validators) {\n    return lang_1.isPresent(validators) ? validators_1.Validators.composeAsync(validators.map(normalize_validator_1.normalizeAsyncValidator)) : null;\n}\nexports.composeAsyncValidators = composeAsyncValidators;\nfunction isPropertyUpdated(changes, viewModel) {\n    if (!collection_1.StringMapWrapper.contains(changes, 'model')) return false;\n    var change = changes['model'];\n    if (change.isFirstChange()) return true;\n    return !lang_1.looseIdentical(viewModel, change.currentValue);\n}\nexports.isPropertyUpdated = isPropertyUpdated;\n// TODO: vsavkin remove it once https://github.com/angular/angular/issues/3011 is implemented\nfunction selectValueAccessor(dir, valueAccessors) {\n    if (lang_1.isBlank(valueAccessors)) return null;\n    var defaultAccessor;\n    var builtinAccessor;\n    var customAccessor;\n    valueAccessors.forEach(function (v) {\n        if (lang_1.hasConstructor(v, default_value_accessor_1.DefaultValueAccessor)) {\n            defaultAccessor = v;\n        } else if (lang_1.hasConstructor(v, checkbox_value_accessor_1.CheckboxControlValueAccessor) || lang_1.hasConstructor(v, number_value_accessor_1.NumberValueAccessor) || lang_1.hasConstructor(v, select_control_value_accessor_1.SelectControlValueAccessor) || lang_1.hasConstructor(v, select_multiple_control_value_accessor_1.SelectMultipleControlValueAccessor) || lang_1.hasConstructor(v, radio_control_value_accessor_1.RadioControlValueAccessor)) {\n            if (lang_1.isPresent(builtinAccessor)) _throwError(dir, 'More than one built-in value accessor matches form control with');\n            builtinAccessor = v;\n        } else {\n            if (lang_1.isPresent(customAccessor)) _throwError(dir, 'More than one custom value accessor matches form control with');\n            customAccessor = v;\n        }\n    });\n    if (lang_1.isPresent(customAccessor)) return customAccessor;\n    if (lang_1.isPresent(builtinAccessor)) return builtinAccessor;\n    if (lang_1.isPresent(defaultAccessor)) return defaultAccessor;\n    _throwError(dir, 'No valid value accessor for form control with');\n    return null;\n}\nexports.selectValueAccessor = selectValueAccessor;\n//# sourceMappingURL=shared.js.map"},{"id":11,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/control_container.js","name":"./~/@angular/common/src/forms-deprecated/directives/control_container.js","index":42,"index2":38,"size":1585,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":22,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_group.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","type":"cjs require","userRequest":"./control_container","loc":"20:26-56"},{"moduleId":23,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","type":"cjs require","userRequest":"./control_container","loc":"21:26-56"},{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"./control_container","loc":"24:26-56"},{"moduleId":27,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","type":"cjs require","userRequest":"./control_container","loc":"24:26-56"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/control_container","loc":"33:26-84"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar abstract_control_directive_1 = require('./abstract_control_directive');\n/**\n * A directive that contains multiple {@link NgControl}s.\n *\n * Only used by the forms module.\n *\n * @experimental\n */\nvar ControlContainer = function (_super) {\n    __extends(ControlContainer, _super);\n    function ControlContainer() {\n        _super.apply(this, arguments);\n    }\n    Object.defineProperty(ControlContainer.prototype, \"formDirective\", {\n        /**\n         * Get the form to which this container belongs.\n         */\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(ControlContainer.prototype, \"path\", {\n        /**\n         * Get the path to this container.\n         */\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return ControlContainer;\n}(abstract_control_directive_1.AbstractControlDirective);\nexports.ControlContainer = ControlContainer;\n//# sourceMappingURL=control_container.js.map"},{"id":12,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/root.js","name":"./~/rxjs/util/root.js","index":41,"index2":34,"size":853,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/observable/PromiseObservable.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":35,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observable.js","module":"./~/rxjs/Observable.js","moduleName":"./~/rxjs/Observable.js","type":"cjs require","userRequest":"./util/root","loc":"3:13-35"},{"moduleId":37,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/symbol/rxSubscriber.js","module":"./~/rxjs/symbol/rxSubscriber.js","moduleName":"./~/rxjs/symbol/rxSubscriber.js","type":"cjs require","userRequest":"../util/root","loc":"3:13-36"},{"moduleId":80,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/observable/PromiseObservable.js","module":"./~/rxjs/observable/PromiseObservable.js","moduleName":"./~/rxjs/observable/PromiseObservable.js","type":"cjs require","userRequest":"../util/root","loc":"11:13-36"},{"moduleId":81,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/operator/toPromise.js","module":"./~/rxjs/operator/toPromise.js","moduleName":"./~/rxjs/operator/toPromise.js","type":"cjs require","userRequest":"../util/root","loc":"3:13-36"},{"moduleId":82,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/symbol/observable.js","module":"./~/rxjs/symbol/observable.js","moduleName":"./~/rxjs/symbol/observable.js","type":"cjs require","userRequest":"../util/root","loc":"3:13-36"}],"source":"\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar objectTypes = {\n    'boolean': false,\n    'function': true,\n    'object': true,\n    'number': false,\n    'string': false,\n    'undefined': false\n};\nexports.root = objectTypes[typeof self === 'undefined' ? 'undefined' : _typeof(self)] && self || objectTypes[typeof window === 'undefined' ? 'undefined' : _typeof(window)] && window;\nvar freeGlobal = objectTypes[typeof global === 'undefined' ? 'undefined' : _typeof(global)] && global;\nif (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {\n    exports.root = freeGlobal;\n}\n//# sourceMappingURL=root.js.map"},{"id":13,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/checkbox_value_accessor.js","index":35,"index2":32,"size":1914,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./checkbox_value_accessor","loc":"14:32-68"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/checkbox_value_accessor","loc":"10:32-79"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/checkbox_value_accessor","loc":"24:32-79"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/checkbox_value_accessor","loc":"31:32-96"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar control_value_accessor_1 = require('./control_value_accessor');\nexports.CHECKBOX_VALUE_ACCESSOR = {\n    provide: control_value_accessor_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () {\n        return CheckboxControlValueAccessor;\n    }),\n    multi: true\n};\nvar CheckboxControlValueAccessor = function () {\n    function CheckboxControlValueAccessor(_renderer, _elementRef) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        this.onChange = function (_) {};\n        this.onTouched = function () {};\n    }\n    CheckboxControlValueAccessor.prototype.writeValue = function (value) {\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'checked', value);\n    };\n    CheckboxControlValueAccessor.prototype.registerOnChange = function (fn) {\n        this.onChange = fn;\n    };\n    CheckboxControlValueAccessor.prototype.registerOnTouched = function (fn) {\n        this.onTouched = fn;\n    };\n    /** @nocollapse */\n    CheckboxControlValueAccessor.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'input[type=checkbox][ngControl],input[type=checkbox][ngFormControl],input[type=checkbox][ngModel]',\n            host: { '(change)': 'onChange($event.target.checked)', '(blur)': 'onTouched()' },\n            providers: [exports.CHECKBOX_VALUE_ACCESSOR]\n        }] }];\n    /** @nocollapse */\n    CheckboxControlValueAccessor.ctorParameters = [{ type: core_1.Renderer }, { type: core_1.ElementRef }];\n    return CheckboxControlValueAccessor;\n}();\nexports.CheckboxControlValueAccessor = CheckboxControlValueAccessor;\n//# sourceMappingURL=checkbox_value_accessor.js.map"},{"id":14,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/default_value_accessor.js","index":37,"index2":33,"size":2262,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./default_value_accessor","loc":"15:31-66"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/default_value_accessor","loc":"11:31-77"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/default_value_accessor","loc":"26:31-77"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/default_value_accessor","loc":"37:31-94"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../../facade/lang');\nvar control_value_accessor_1 = require('./control_value_accessor');\nexports.DEFAULT_VALUE_ACCESSOR = {\n    provide: control_value_accessor_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () {\n        return DefaultValueAccessor;\n    }),\n    multi: true\n};\nvar DefaultValueAccessor = function () {\n    function DefaultValueAccessor(_renderer, _elementRef) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        this.onChange = function (_) {};\n        this.onTouched = function () {};\n    }\n    DefaultValueAccessor.prototype.writeValue = function (value) {\n        var normalizedValue = lang_1.isBlank(value) ? '' : value;\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', normalizedValue);\n    };\n    DefaultValueAccessor.prototype.registerOnChange = function (fn) {\n        this.onChange = fn;\n    };\n    DefaultValueAccessor.prototype.registerOnTouched = function (fn) {\n        this.onTouched = fn;\n    };\n    /** @nocollapse */\n    DefaultValueAccessor.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'input:not([type=checkbox])[ngControl],textarea[ngControl],input:not([type=checkbox])[ngFormControl],textarea[ngFormControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]',\n            // TODO: vsavkin replace the above selector with the one below it once\n            // https://github.com/angular/angular/issues/3011 is implemented\n            // selector: '[ngControl],[ngModel],[ngFormControl]',\n            host: { '(input)': 'onChange($event.target.value)', '(blur)': 'onTouched()' },\n            providers: [exports.DEFAULT_VALUE_ACCESSOR]\n        }] }];\n    /** @nocollapse */\n    DefaultValueAccessor.ctorParameters = [{ type: core_1.Renderer }, { type: core_1.ElementRef }];\n    return DefaultValueAccessor;\n}();\nexports.DefaultValueAccessor = DefaultValueAccessor;\n//# sourceMappingURL=default_value_accessor.js.map"},{"id":15,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/radio_control_value_accessor.js","index":47,"index2":42,"size":4569,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./radio_control_value_accessor","loc":"18:37-78"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/radio_control_value_accessor","loc":"20:37-89"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/radio_control_value_accessor","loc":"46:37-89"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/radio_control_value_accessor","loc":"24:37-106"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../../facade/collection');\nvar lang_1 = require('../../facade/lang');\nvar control_value_accessor_1 = require('./control_value_accessor');\nvar ng_control_1 = require('./ng_control');\nexports.RADIO_VALUE_ACCESSOR = {\n    provide: control_value_accessor_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () {\n        return RadioControlValueAccessor;\n    }),\n    multi: true\n};\nvar RadioControlRegistry = function () {\n    function RadioControlRegistry() {\n        this._accessors = [];\n    }\n    RadioControlRegistry.prototype.add = function (control, accessor) {\n        this._accessors.push([control, accessor]);\n    };\n    RadioControlRegistry.prototype.remove = function (accessor) {\n        var indexToRemove = -1;\n        for (var i = 0; i < this._accessors.length; ++i) {\n            if (this._accessors[i][1] === accessor) {\n                indexToRemove = i;\n            }\n        }\n        collection_1.ListWrapper.removeAt(this._accessors, indexToRemove);\n    };\n    RadioControlRegistry.prototype.select = function (accessor) {\n        var _this = this;\n        this._accessors.forEach(function (c) {\n            if (_this._isSameGroup(c, accessor) && c[1] !== accessor) {\n                c[1].fireUncheck();\n            }\n        });\n    };\n    RadioControlRegistry.prototype._isSameGroup = function (controlPair, accessor) {\n        return controlPair[0].control.root === accessor._control.control.root && controlPair[1].name === accessor.name;\n    };\n    /** @nocollapse */\n    RadioControlRegistry.decorators = [{ type: core_1.Injectable }];\n    return RadioControlRegistry;\n}();\nexports.RadioControlRegistry = RadioControlRegistry;\n/**\n * The value provided by the forms API for radio buttons.\n *\n * @experimental\n */\nvar RadioButtonState = function () {\n    function RadioButtonState(checked, value) {\n        this.checked = checked;\n        this.value = value;\n    }\n    return RadioButtonState;\n}();\nexports.RadioButtonState = RadioButtonState;\nvar RadioControlValueAccessor = function () {\n    function RadioControlValueAccessor(_renderer, _elementRef, _registry, _injector) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        this._registry = _registry;\n        this._injector = _injector;\n        this.onChange = function () {};\n        this.onTouched = function () {};\n    }\n    RadioControlValueAccessor.prototype.ngOnInit = function () {\n        this._control = this._injector.get(ng_control_1.NgControl);\n        this._registry.add(this._control, this);\n    };\n    RadioControlValueAccessor.prototype.ngOnDestroy = function () {\n        this._registry.remove(this);\n    };\n    RadioControlValueAccessor.prototype.writeValue = function (value) {\n        this._state = value;\n        if (lang_1.isPresent(value) && value.checked) {\n            this._renderer.setElementProperty(this._elementRef.nativeElement, 'checked', true);\n        }\n    };\n    RadioControlValueAccessor.prototype.registerOnChange = function (fn) {\n        var _this = this;\n        this._fn = fn;\n        this.onChange = function () {\n            fn(new RadioButtonState(true, _this._state.value));\n            _this._registry.select(_this);\n        };\n    };\n    RadioControlValueAccessor.prototype.fireUncheck = function () {\n        this._fn(new RadioButtonState(false, this._state.value));\n    };\n    RadioControlValueAccessor.prototype.registerOnTouched = function (fn) {\n        this.onTouched = fn;\n    };\n    /** @nocollapse */\n    RadioControlValueAccessor.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'input[type=radio][ngControl],input[type=radio][ngFormControl],input[type=radio][ngModel]',\n            host: { '(change)': 'onChange()', '(blur)': 'onTouched()' },\n            providers: [exports.RADIO_VALUE_ACCESSOR]\n        }] }];\n    /** @nocollapse */\n    RadioControlValueAccessor.ctorParameters = [{ type: core_1.Renderer }, { type: core_1.ElementRef }, { type: RadioControlRegistry }, { type: core_1.Injector }];\n    /** @nocollapse */\n    RadioControlValueAccessor.propDecorators = {\n        'name': [{ type: core_1.Input }]\n    };\n    return RadioControlValueAccessor;\n}();\nexports.RadioControlValueAccessor = RadioControlValueAccessor;\n//# sourceMappingURL=radio_control_value_accessor.js.map"},{"id":16,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/select_control_value_accessor.js","index":49,"index2":43,"size":5397,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./select_control_value_accessor","loc":"19:38-80"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/select_control_value_accessor","loc":"21:38-91"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/select_control_value_accessor","loc":"49:38-91"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/select_control_value_accessor","loc":"55:38-108"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../../facade/collection');\nvar lang_1 = require('../../facade/lang');\nvar control_value_accessor_1 = require('./control_value_accessor');\nexports.SELECT_VALUE_ACCESSOR = {\n    provide: control_value_accessor_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () {\n        return SelectControlValueAccessor;\n    }),\n    multi: true\n};\nfunction _buildValueString(id, value) {\n    if (lang_1.isBlank(id)) return \"\" + value;\n    if (!lang_1.isPrimitive(value)) value = 'Object';\n    return lang_1.StringWrapper.slice(id + \": \" + value, 0, 50);\n}\nfunction _extractId(valueString) {\n    return valueString.split(':')[0];\n}\nvar SelectControlValueAccessor = function () {\n    function SelectControlValueAccessor(_renderer, _elementRef) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        /** @internal */\n        this._optionMap = new Map();\n        /** @internal */\n        this._idCounter = 0;\n        this.onChange = function (_) {};\n        this.onTouched = function () {};\n    }\n    SelectControlValueAccessor.prototype.writeValue = function (value) {\n        this.value = value;\n        var valueString = _buildValueString(this._getOptionId(value), value);\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', valueString);\n    };\n    SelectControlValueAccessor.prototype.registerOnChange = function (fn) {\n        var _this = this;\n        this.onChange = function (valueString) {\n            _this.value = valueString;\n            fn(_this._getOptionValue(valueString));\n        };\n    };\n    SelectControlValueAccessor.prototype.registerOnTouched = function (fn) {\n        this.onTouched = fn;\n    };\n    /** @internal */\n    SelectControlValueAccessor.prototype._registerOption = function () {\n        return (this._idCounter++).toString();\n    };\n    /** @internal */\n    SelectControlValueAccessor.prototype._getOptionId = function (value) {\n        for (var _i = 0, _a = collection_1.MapWrapper.keys(this._optionMap); _i < _a.length; _i++) {\n            var id = _a[_i];\n            if (lang_1.looseIdentical(this._optionMap.get(id), value)) return id;\n        }\n        return null;\n    };\n    /** @internal */\n    SelectControlValueAccessor.prototype._getOptionValue = function (valueString) {\n        var value = this._optionMap.get(_extractId(valueString));\n        return lang_1.isPresent(value) ? value : valueString;\n    };\n    /** @nocollapse */\n    SelectControlValueAccessor.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'select:not([multiple])[ngControl],select:not([multiple])[ngFormControl],select:not([multiple])[ngModel]',\n            host: { '(change)': 'onChange($event.target.value)', '(blur)': 'onTouched()' },\n            providers: [exports.SELECT_VALUE_ACCESSOR]\n        }] }];\n    /** @nocollapse */\n    SelectControlValueAccessor.ctorParameters = [{ type: core_1.Renderer }, { type: core_1.ElementRef }];\n    return SelectControlValueAccessor;\n}();\nexports.SelectControlValueAccessor = SelectControlValueAccessor;\nvar NgSelectOption = function () {\n    function NgSelectOption(_element, _renderer, _select) {\n        this._element = _element;\n        this._renderer = _renderer;\n        this._select = _select;\n        if (lang_1.isPresent(this._select)) this.id = this._select._registerOption();\n    }\n    Object.defineProperty(NgSelectOption.prototype, \"ngValue\", {\n        set: function set(value) {\n            if (this._select == null) return;\n            this._select._optionMap.set(this.id, value);\n            this._setElementValue(_buildValueString(this.id, value));\n            this._select.writeValue(this._select.value);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgSelectOption.prototype, \"value\", {\n        set: function set(value) {\n            this._setElementValue(value);\n            if (lang_1.isPresent(this._select)) this._select.writeValue(this._select.value);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @internal */\n    NgSelectOption.prototype._setElementValue = function (value) {\n        this._renderer.setElementProperty(this._element.nativeElement, 'value', value);\n    };\n    NgSelectOption.prototype.ngOnDestroy = function () {\n        if (lang_1.isPresent(this._select)) {\n            this._select._optionMap.delete(this.id);\n            this._select.writeValue(this._select.value);\n        }\n    };\n    /** @nocollapse */\n    NgSelectOption.decorators = [{ type: core_1.Directive, args: [{ selector: 'option' }] }];\n    /** @nocollapse */\n    NgSelectOption.ctorParameters = [{ type: core_1.ElementRef }, { type: core_1.Renderer }, { type: SelectControlValueAccessor, decorators: [{ type: core_1.Optional }, { type: core_1.Host }] }];\n    /** @nocollapse */\n    NgSelectOption.propDecorators = {\n        'ngValue': [{ type: core_1.Input, args: ['ngValue'] }],\n        'value': [{ type: core_1.Input, args: ['value'] }]\n    };\n    return NgSelectOption;\n}();\nexports.NgSelectOption = NgSelectOption;\n//# sourceMappingURL=select_control_value_accessor.js.map"},{"id":17,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/model.js","name":"./~/@angular/common/src/forms-deprecated/model.js","index":71,"index2":67,"size":21430,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":25,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","type":"cjs require","userRequest":"../model","loc":"22:14-33"},{"moduleId":28,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","type":"cjs require","userRequest":"../model","loc":"20:14-33"},{"moduleId":51,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/form_builder.js","module":"./~/@angular/common/src/forms-deprecated/form_builder.js","moduleName":"./~/@angular/common/src/forms-deprecated/form_builder.js","type":"cjs require","userRequest":"./model","loc":"13:14-32"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/model","loc":"65:14-49"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar PromiseObservable_1 = require('rxjs/observable/PromiseObservable');\nvar async_1 = require('../facade/async');\nvar collection_1 = require('../facade/collection');\nvar lang_1 = require('../facade/lang');\n/**\n * Indicates that a Control is valid, i.e. that no errors exist in the input value.\n */\nexports.VALID = 'VALID';\n/**\n * Indicates that a Control is invalid, i.e. that an error exists in the input value.\n */\nexports.INVALID = 'INVALID';\n/**\n * Indicates that a Control is pending, i.e. that async validation is occurring and\n * errors are not yet available for the input value.\n */\nexports.PENDING = 'PENDING';\nfunction isControl(control) {\n    return control instanceof AbstractControl;\n}\nexports.isControl = isControl;\nfunction _find(control, path) {\n    if (lang_1.isBlank(path)) return null;\n    if (!(path instanceof Array)) {\n        path = path.split('/');\n    }\n    if (path instanceof Array && collection_1.ListWrapper.isEmpty(path)) return null;\n    return path.reduce(function (v, name) {\n        if (v instanceof ControlGroup) {\n            return lang_1.isPresent(v.controls[name]) ? v.controls[name] : null;\n        } else if (v instanceof ControlArray) {\n            var index = name;\n            return lang_1.isPresent(v.at(index)) ? v.at(index) : null;\n        } else {\n            return null;\n        }\n    }, control);\n}\nfunction toObservable(r) {\n    return lang_1.isPromise(r) ? PromiseObservable_1.PromiseObservable.create(r) : r;\n}\n/**\n * @experimental\n */\nvar AbstractControl = function () {\n    function AbstractControl(validator, asyncValidator) {\n        this.validator = validator;\n        this.asyncValidator = asyncValidator;\n        this._pristine = true;\n        this._touched = false;\n    }\n    Object.defineProperty(AbstractControl.prototype, \"value\", {\n        get: function get() {\n            return this._value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"status\", {\n        get: function get() {\n            return this._status;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"valid\", {\n        get: function get() {\n            return this._status === exports.VALID;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"errors\", {\n        /**\n         * Returns the errors of this control.\n         */\n        get: function get() {\n            return this._errors;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"pristine\", {\n        get: function get() {\n            return this._pristine;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"dirty\", {\n        get: function get() {\n            return !this.pristine;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"touched\", {\n        get: function get() {\n            return this._touched;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"untouched\", {\n        get: function get() {\n            return !this._touched;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"valueChanges\", {\n        get: function get() {\n            return this._valueChanges;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"statusChanges\", {\n        get: function get() {\n            return this._statusChanges;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControl.prototype, \"pending\", {\n        get: function get() {\n            return this._status == exports.PENDING;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    AbstractControl.prototype.markAsTouched = function () {\n        this._touched = true;\n    };\n    AbstractControl.prototype.markAsDirty = function (_a) {\n        var onlySelf = (_a === void 0 ? {} : _a).onlySelf;\n        onlySelf = lang_1.normalizeBool(onlySelf);\n        this._pristine = false;\n        if (lang_1.isPresent(this._parent) && !onlySelf) {\n            this._parent.markAsDirty({ onlySelf: onlySelf });\n        }\n    };\n    AbstractControl.prototype.markAsPending = function (_a) {\n        var onlySelf = (_a === void 0 ? {} : _a).onlySelf;\n        onlySelf = lang_1.normalizeBool(onlySelf);\n        this._status = exports.PENDING;\n        if (lang_1.isPresent(this._parent) && !onlySelf) {\n            this._parent.markAsPending({ onlySelf: onlySelf });\n        }\n    };\n    AbstractControl.prototype.setParent = function (parent) {\n        this._parent = parent;\n    };\n    AbstractControl.prototype.updateValueAndValidity = function (_a) {\n        var _b = _a === void 0 ? {} : _a,\n            onlySelf = _b.onlySelf,\n            emitEvent = _b.emitEvent;\n        onlySelf = lang_1.normalizeBool(onlySelf);\n        emitEvent = lang_1.isPresent(emitEvent) ? emitEvent : true;\n        this._updateValue();\n        this._errors = this._runValidator();\n        this._status = this._calculateStatus();\n        if (this._status == exports.VALID || this._status == exports.PENDING) {\n            this._runAsyncValidator(emitEvent);\n        }\n        if (emitEvent) {\n            this._valueChanges.emit(this._value);\n            this._statusChanges.emit(this._status);\n        }\n        if (lang_1.isPresent(this._parent) && !onlySelf) {\n            this._parent.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });\n        }\n    };\n    AbstractControl.prototype._runValidator = function () {\n        return lang_1.isPresent(this.validator) ? this.validator(this) : null;\n    };\n    AbstractControl.prototype._runAsyncValidator = function (emitEvent) {\n        var _this = this;\n        if (lang_1.isPresent(this.asyncValidator)) {\n            this._status = exports.PENDING;\n            this._cancelExistingSubscription();\n            var obs = toObservable(this.asyncValidator(this));\n            this._asyncValidationSubscription = obs.subscribe({ next: function next(res) {\n                    return _this.setErrors(res, { emitEvent: emitEvent });\n                } });\n        }\n    };\n    AbstractControl.prototype._cancelExistingSubscription = function () {\n        if (lang_1.isPresent(this._asyncValidationSubscription)) {\n            this._asyncValidationSubscription.unsubscribe();\n        }\n    };\n    /**\n     * Sets errors on a control.\n     *\n     * This is used when validations are run not automatically, but manually by the user.\n     *\n     * Calling `setErrors` will also update the validity of the parent control.\n     *\n     * ## Usage\n     *\n     * ```\n     * var login = new Control(\"someLogin\");\n     * login.setErrors({\n     *   \"notUnique\": true\n     * });\n     *\n     * expect(login.valid).toEqual(false);\n     * expect(login.errors).toEqual({\"notUnique\": true});\n     *\n     * login.updateValue(\"someOtherLogin\");\n     *\n     * expect(login.valid).toEqual(true);\n     * ```\n     */\n    AbstractControl.prototype.setErrors = function (errors, _a) {\n        var emitEvent = (_a === void 0 ? {} : _a).emitEvent;\n        emitEvent = lang_1.isPresent(emitEvent) ? emitEvent : true;\n        this._errors = errors;\n        this._status = this._calculateStatus();\n        if (emitEvent) {\n            this._statusChanges.emit(this._status);\n        }\n        if (lang_1.isPresent(this._parent)) {\n            this._parent._updateControlsErrors();\n        }\n    };\n    AbstractControl.prototype.find = function (path) {\n        return _find(this, path);\n    };\n    AbstractControl.prototype.getError = function (errorCode, path) {\n        if (path === void 0) {\n            path = null;\n        }\n        var control = lang_1.isPresent(path) && !collection_1.ListWrapper.isEmpty(path) ? this.find(path) : this;\n        if (lang_1.isPresent(control) && lang_1.isPresent(control._errors)) {\n            return collection_1.StringMapWrapper.get(control._errors, errorCode);\n        } else {\n            return null;\n        }\n    };\n    AbstractControl.prototype.hasError = function (errorCode, path) {\n        if (path === void 0) {\n            path = null;\n        }\n        return lang_1.isPresent(this.getError(errorCode, path));\n    };\n    Object.defineProperty(AbstractControl.prototype, \"root\", {\n        get: function get() {\n            var x = this;\n            while (lang_1.isPresent(x._parent)) {\n                x = x._parent;\n            }\n            return x;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @internal */\n    AbstractControl.prototype._updateControlsErrors = function () {\n        this._status = this._calculateStatus();\n        if (lang_1.isPresent(this._parent)) {\n            this._parent._updateControlsErrors();\n        }\n    };\n    /** @internal */\n    AbstractControl.prototype._initObservables = function () {\n        this._valueChanges = new async_1.EventEmitter();\n        this._statusChanges = new async_1.EventEmitter();\n    };\n    AbstractControl.prototype._calculateStatus = function () {\n        if (lang_1.isPresent(this._errors)) return exports.INVALID;\n        if (this._anyControlsHaveStatus(exports.PENDING)) return exports.PENDING;\n        if (this._anyControlsHaveStatus(exports.INVALID)) return exports.INVALID;\n        return exports.VALID;\n    };\n    return AbstractControl;\n}();\nexports.AbstractControl = AbstractControl;\n/**\n * Defines a part of a form that cannot be divided into other controls. `Control`s have values and\n * validation state, which is determined by an optional validation function.\n *\n * `Control` is one of the three fundamental building blocks used to define forms in Angular, along\n * with {@link ControlGroup} and {@link ControlArray}.\n *\n * ## Usage\n *\n * By default, a `Control` is created for every `<input>` or other form component.\n * With {@link NgFormControl} or {@link NgFormModel} an existing {@link Control} can be\n * bound to a DOM element instead. This `Control` can be configured with a custom\n * validation function.\n *\n * ### Example ([live demo](http://plnkr.co/edit/23DESOpbNnBpBHZt1BR4?p=preview))\n *\n * @experimental\n */\nvar Control = function (_super) {\n    __extends(Control, _super);\n    function Control(value, validator, asyncValidator) {\n        if (value === void 0) {\n            value = null;\n        }\n        if (validator === void 0) {\n            validator = null;\n        }\n        if (asyncValidator === void 0) {\n            asyncValidator = null;\n        }\n        _super.call(this, validator, asyncValidator);\n        this._value = value;\n        this.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n        this._initObservables();\n    }\n    /**\n     * Set the value of the control to `value`.\n     *\n     * If `onlySelf` is `true`, this change will only affect the validation of this `Control`\n     * and not its parent component. If `emitEvent` is `true`, this change will cause a\n     * `valueChanges` event on the `Control` to be emitted. Both of these options default to\n     * `false`.\n     *\n     * If `emitModelToViewChange` is `true`, the view will be notified about the new value\n     * via an `onChange` event. This is the default behavior if `emitModelToViewChange` is not\n     * specified.\n     */\n    Control.prototype.updateValue = function (value, _a) {\n        var _b = _a === void 0 ? {} : _a,\n            onlySelf = _b.onlySelf,\n            emitEvent = _b.emitEvent,\n            emitModelToViewChange = _b.emitModelToViewChange;\n        emitModelToViewChange = lang_1.isPresent(emitModelToViewChange) ? emitModelToViewChange : true;\n        this._value = value;\n        if (lang_1.isPresent(this._onChange) && emitModelToViewChange) this._onChange(this._value);\n        this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });\n    };\n    /**\n     * @internal\n     */\n    Control.prototype._updateValue = function () {};\n    /**\n     * @internal\n     */\n    Control.prototype._anyControlsHaveStatus = function (status) {\n        return false;\n    };\n    /**\n     * Register a listener for change events.\n     */\n    Control.prototype.registerOnChange = function (fn) {\n        this._onChange = fn;\n    };\n    return Control;\n}(AbstractControl);\nexports.Control = Control;\n/**\n * Defines a part of a form, of fixed length, that can contain other controls.\n *\n * A `ControlGroup` aggregates the values of each {@link Control} in the group.\n * The status of a `ControlGroup` depends on the status of its children.\n * If one of the controls in a group is invalid, the entire group is invalid.\n * Similarly, if a control changes its value, the entire group changes as well.\n *\n * `ControlGroup` is one of the three fundamental building blocks used to define forms in Angular,\n * along with {@link Control} and {@link ControlArray}. {@link ControlArray} can also contain other\n * controls, but is of variable length.\n *\n * ### Example ([live demo](http://plnkr.co/edit/23DESOpbNnBpBHZt1BR4?p=preview))\n *\n * @experimental\n */\nvar ControlGroup = function (_super) {\n    __extends(ControlGroup, _super);\n    function ControlGroup(controls, optionals, validator, asyncValidator) {\n        if (optionals === void 0) {\n            optionals = null;\n        }\n        if (validator === void 0) {\n            validator = null;\n        }\n        if (asyncValidator === void 0) {\n            asyncValidator = null;\n        }\n        _super.call(this, validator, asyncValidator);\n        this.controls = controls;\n        this._optionals = lang_1.isPresent(optionals) ? optionals : {};\n        this._initObservables();\n        this._setParentForControls();\n        this.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n    }\n    /**\n     * Register a control with the group's list of controls.\n     */\n    ControlGroup.prototype.registerControl = function (name, control) {\n        this.controls[name] = control;\n        control.setParent(this);\n    };\n    /**\n     * Add a control to this group.\n     */\n    ControlGroup.prototype.addControl = function (name, control) {\n        this.registerControl(name, control);\n        this.updateValueAndValidity();\n    };\n    /**\n     * Remove a control from this group.\n     */\n    ControlGroup.prototype.removeControl = function (name) {\n        collection_1.StringMapWrapper.delete(this.controls, name);\n        this.updateValueAndValidity();\n    };\n    /**\n     * Mark the named control as non-optional.\n     */\n    ControlGroup.prototype.include = function (controlName) {\n        collection_1.StringMapWrapper.set(this._optionals, controlName, true);\n        this.updateValueAndValidity();\n    };\n    /**\n     * Mark the named control as optional.\n     */\n    ControlGroup.prototype.exclude = function (controlName) {\n        collection_1.StringMapWrapper.set(this._optionals, controlName, false);\n        this.updateValueAndValidity();\n    };\n    /**\n     * Check whether there is a control with the given name in the group.\n     */\n    ControlGroup.prototype.contains = function (controlName) {\n        var c = collection_1.StringMapWrapper.contains(this.controls, controlName);\n        return c && this._included(controlName);\n    };\n    /** @internal */\n    ControlGroup.prototype._setParentForControls = function () {\n        var _this = this;\n        collection_1.StringMapWrapper.forEach(this.controls, function (control, name) {\n            control.setParent(_this);\n        });\n    };\n    /** @internal */\n    ControlGroup.prototype._updateValue = function () {\n        this._value = this._reduceValue();\n    };\n    /** @internal */\n    ControlGroup.prototype._anyControlsHaveStatus = function (status) {\n        var _this = this;\n        var res = false;\n        collection_1.StringMapWrapper.forEach(this.controls, function (control, name) {\n            res = res || _this.contains(name) && control.status == status;\n        });\n        return res;\n    };\n    /** @internal */\n    ControlGroup.prototype._reduceValue = function () {\n        return this._reduceChildren({}, function (acc, control, name) {\n            acc[name] = control.value;\n            return acc;\n        });\n    };\n    /** @internal */\n    ControlGroup.prototype._reduceChildren = function (initValue, fn) {\n        var _this = this;\n        var res = initValue;\n        collection_1.StringMapWrapper.forEach(this.controls, function (control, name) {\n            if (_this._included(name)) {\n                res = fn(res, control, name);\n            }\n        });\n        return res;\n    };\n    /** @internal */\n    ControlGroup.prototype._included = function (controlName) {\n        var isOptional = collection_1.StringMapWrapper.contains(this._optionals, controlName);\n        return !isOptional || collection_1.StringMapWrapper.get(this._optionals, controlName);\n    };\n    return ControlGroup;\n}(AbstractControl);\nexports.ControlGroup = ControlGroup;\n/**\n * Defines a part of a form, of variable length, that can contain other controls.\n *\n * A `ControlArray` aggregates the values of each {@link Control} in the group.\n * The status of a `ControlArray` depends on the status of its children.\n * If one of the controls in a group is invalid, the entire array is invalid.\n * Similarly, if a control changes its value, the entire array changes as well.\n *\n * `ControlArray` is one of the three fundamental building blocks used to define forms in Angular,\n * along with {@link Control} and {@link ControlGroup}. {@link ControlGroup} can also contain\n * other controls, but is of fixed length.\n *\n * ## Adding or removing controls\n *\n * To change the controls in the array, use the `push`, `insert`, or `removeAt` methods\n * in `ControlArray` itself. These methods ensure the controls are properly tracked in the\n * form's hierarchy. Do not modify the array of `AbstractControl`s used to instantiate\n * the `ControlArray` directly, as that will result in strange and unexpected behavior such\n * as broken change detection.\n *\n * ### Example ([live demo](http://plnkr.co/edit/23DESOpbNnBpBHZt1BR4?p=preview))\n *\n * @experimental\n */\nvar ControlArray = function (_super) {\n    __extends(ControlArray, _super);\n    function ControlArray(controls, validator, asyncValidator) {\n        if (validator === void 0) {\n            validator = null;\n        }\n        if (asyncValidator === void 0) {\n            asyncValidator = null;\n        }\n        _super.call(this, validator, asyncValidator);\n        this.controls = controls;\n        this._initObservables();\n        this._setParentForControls();\n        this.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n    }\n    /**\n     * Get the {@link AbstractControl} at the given `index` in the array.\n     */\n    ControlArray.prototype.at = function (index) {\n        return this.controls[index];\n    };\n    /**\n     * Insert a new {@link AbstractControl} at the end of the array.\n     */\n    ControlArray.prototype.push = function (control) {\n        this.controls.push(control);\n        control.setParent(this);\n        this.updateValueAndValidity();\n    };\n    /**\n     * Insert a new {@link AbstractControl} at the given `index` in the array.\n     */\n    ControlArray.prototype.insert = function (index, control) {\n        collection_1.ListWrapper.insert(this.controls, index, control);\n        control.setParent(this);\n        this.updateValueAndValidity();\n    };\n    /**\n     * Remove the control at the given `index` in the array.\n     */\n    ControlArray.prototype.removeAt = function (index) {\n        collection_1.ListWrapper.removeAt(this.controls, index);\n        this.updateValueAndValidity();\n    };\n    Object.defineProperty(ControlArray.prototype, \"length\", {\n        /**\n         * Length of the control array.\n         */\n        get: function get() {\n            return this.controls.length;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @internal */\n    ControlArray.prototype._updateValue = function () {\n        this._value = this.controls.map(function (control) {\n            return control.value;\n        });\n    };\n    /** @internal */\n    ControlArray.prototype._anyControlsHaveStatus = function (status) {\n        return this.controls.some(function (c) {\n            return c.status == status;\n        });\n    };\n    /** @internal */\n    ControlArray.prototype._setParentForControls = function () {\n        var _this = this;\n        this.controls.forEach(function (control) {\n            control.setParent(_this);\n        });\n    };\n    return ControlArray;\n}(AbstractControl);\nexports.ControlArray = ControlArray;\n//# sourceMappingURL=model.js.map"},{"id":18,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/location_strategy.js","name":"./~/@angular/common/src/location/location_strategy.js","index":80,"index2":77,"size":1924,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":33,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/location.js","module":"./~/@angular/common/src/location/location.js","moduleName":"./~/@angular/common/src/location/location.js","type":"cjs require","userRequest":"./location_strategy","loc":"11:26-56"},{"moduleId":74,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","module":"./~/@angular/common/src/location.js","moduleName":"./~/@angular/common/src/location.js","type":"cjs require","userRequest":"./location/location_strategy","loc":"16:9-48"},{"moduleId":75,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/hash_location_strategy.js","module":"./~/@angular/common/src/location/hash_location_strategy.js","moduleName":"./~/@angular/common/src/location/hash_location_strategy.js","type":"cjs require","userRequest":"./location_strategy","loc":"21:26-56"},{"moduleId":76,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","module":"./~/@angular/common/src/location/path_location_strategy.js","moduleName":"./~/@angular/common/src/location/path_location_strategy.js","type":"cjs require","userRequest":"./location_strategy","loc":"22:26-56"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\n/**\n * `LocationStrategy` is responsible for representing and reading route state\n * from the browser's URL. Angular provides two strategies:\n * {@link HashLocationStrategy} and {@link PathLocationStrategy} (default).\n *\n * This is used under the hood of the {@link Location} service.\n *\n * Applications should use the {@link Router} or {@link Location} services to\n * interact with application route state.\n *\n * For instance, {@link HashLocationStrategy} produces URLs like\n * `http://example.com#/foo`, and {@link PathLocationStrategy} produces\n * `http://example.com/foo` as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @stable\n */\nvar LocationStrategy = function () {\n  function LocationStrategy() {}\n  return LocationStrategy;\n}();\nexports.LocationStrategy = LocationStrategy;\n/**\n * The `APP_BASE_HREF` token represents the base href to be used with the\n * {@link PathLocationStrategy}.\n *\n * If you're using {@link PathLocationStrategy}, you must provide a provider to a string\n * representing the URL prefix that should be preserved when generating and recognizing\n * URLs.\n *\n * ### Example\n *\n * ```\n * import {Component} from '@angular/core';\n * import {ROUTER_DIRECTIVES, ROUTER_PROVIDERS, RouteConfig} from '@angular/router';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @Component({directives: [ROUTER_DIRECTIVES]})\n * @RouteConfig([\n *  {...},\n * ])\n * class AppCmp {\n *   // ...\n * }\n *\n * bootstrap(AppCmp, [\n *   ROUTER_PROVIDERS,\n *   {provide: APP_BASE_HREF, useValue: '/my/app'}\n * ]);\n * ```\n * @stable\n */\nexports.APP_BASE_HREF = new core_1.OpaqueToken('appBaseHref');\n//# sourceMappingURL=location_strategy.js.map"},{"id":19,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/constants.js","name":"./core/src/constants.js","index":89,"index2":85,"size":132,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":38,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/utilities.js","module":"./core/src/utilities.js","moduleName":"./core/src/utilities.js","type":"cjs require","userRequest":"./constants.js","loc":"11:17-42"},{"moduleId":68,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/conformToMask.js","module":"./core/src/conformToMask.js","moduleName":"./core/src/conformToMask.js","type":"cjs require","userRequest":"./constants.js","loc":"10:17-42"},{"moduleId":69,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","module":"./core/src/createTextMaskInputElement.js","moduleName":"./core/src/createTextMaskInputElement.js","type":"cjs require","userRequest":"./constants.js","loc":"23:17-42"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nvar placeholderChar = exports.placeholderChar = '_';"},{"id":20,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_switch.js","name":"./~/@angular/common/src/directives/ng_switch.js","index":16,"index2":10,"size":6525,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_switch","loc":"28:18-51"},{"moduleId":44,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_plural.js","module":"./~/@angular/common/src/directives/ng_plural.js","moduleName":"./~/@angular/common/src/directives/ng_plural.js","type":"cjs require","userRequest":"./ng_switch","loc":"13:18-40"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_switch","loc":"15:18-40"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../facade/collection');\nvar lang_1 = require('../facade/lang');\nvar _CASE_DEFAULT = new Object();\n// TODO: remove when fully deprecated\nvar _warned = false;\nvar SwitchView = function () {\n    function SwitchView(_viewContainerRef, _templateRef) {\n        this._viewContainerRef = _viewContainerRef;\n        this._templateRef = _templateRef;\n    }\n    SwitchView.prototype.create = function () {\n        this._viewContainerRef.createEmbeddedView(this._templateRef);\n    };\n    SwitchView.prototype.destroy = function () {\n        this._viewContainerRef.clear();\n    };\n    return SwitchView;\n}();\nexports.SwitchView = SwitchView;\nvar NgSwitch = function () {\n    function NgSwitch() {\n        this._useDefault = false;\n        this._valueViews = new Map();\n        this._activeViews = [];\n    }\n    Object.defineProperty(NgSwitch.prototype, \"ngSwitch\", {\n        set: function set(value) {\n            // Empty the currently active ViewContainers\n            this._emptyAllActiveViews();\n            // Add the ViewContainers matching the value (with a fallback to default)\n            this._useDefault = false;\n            var views = this._valueViews.get(value);\n            if (lang_1.isBlank(views)) {\n                this._useDefault = true;\n                views = lang_1.normalizeBlank(this._valueViews.get(_CASE_DEFAULT));\n            }\n            this._activateViews(views);\n            this._switchValue = value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @internal */\n    NgSwitch.prototype._onCaseValueChanged = function (oldCase, newCase, view) {\n        this._deregisterView(oldCase, view);\n        this._registerView(newCase, view);\n        if (oldCase === this._switchValue) {\n            view.destroy();\n            collection_1.ListWrapper.remove(this._activeViews, view);\n        } else if (newCase === this._switchValue) {\n            if (this._useDefault) {\n                this._useDefault = false;\n                this._emptyAllActiveViews();\n            }\n            view.create();\n            this._activeViews.push(view);\n        }\n        // Switch to default when there is no more active ViewContainers\n        if (this._activeViews.length === 0 && !this._useDefault) {\n            this._useDefault = true;\n            this._activateViews(this._valueViews.get(_CASE_DEFAULT));\n        }\n    };\n    /** @internal */\n    NgSwitch.prototype._emptyAllActiveViews = function () {\n        var activeContainers = this._activeViews;\n        for (var i = 0; i < activeContainers.length; i++) {\n            activeContainers[i].destroy();\n        }\n        this._activeViews = [];\n    };\n    /** @internal */\n    NgSwitch.prototype._activateViews = function (views) {\n        // TODO(vicb): assert(this._activeViews.length === 0);\n        if (lang_1.isPresent(views)) {\n            for (var i = 0; i < views.length; i++) {\n                views[i].create();\n            }\n            this._activeViews = views;\n        }\n    };\n    /** @internal */\n    NgSwitch.prototype._registerView = function (value, view) {\n        var views = this._valueViews.get(value);\n        if (lang_1.isBlank(views)) {\n            views = [];\n            this._valueViews.set(value, views);\n        }\n        views.push(view);\n    };\n    /** @internal */\n    NgSwitch.prototype._deregisterView = function (value, view) {\n        // `_CASE_DEFAULT` is used a marker for non-registered cases\n        if (value === _CASE_DEFAULT) return;\n        var views = this._valueViews.get(value);\n        if (views.length == 1) {\n            this._valueViews.delete(value);\n        } else {\n            collection_1.ListWrapper.remove(views, view);\n        }\n    };\n    /** @nocollapse */\n    NgSwitch.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngSwitch]' }] }];\n    /** @nocollapse */\n    NgSwitch.propDecorators = {\n        'ngSwitch': [{ type: core_1.Input }]\n    };\n    return NgSwitch;\n}();\nexports.NgSwitch = NgSwitch;\nvar NgSwitchCase = function () {\n    function NgSwitchCase(viewContainer, templateRef, ngSwitch) {\n        // `_CASE_DEFAULT` is used as a marker for a not yet initialized value\n        /** @internal */\n        this._value = _CASE_DEFAULT;\n        this._switch = ngSwitch;\n        this._view = new SwitchView(viewContainer, templateRef);\n    }\n    Object.defineProperty(NgSwitchCase.prototype, \"ngSwitchCase\", {\n        set: function set(value) {\n            this._switch._onCaseValueChanged(this._value, value, this._view);\n            this._value = value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgSwitchCase.prototype, \"ngSwitchWhen\", {\n        set: function set(value) {\n            if (!_warned) {\n                _warned = true;\n                console.warn('*ngSwitchWhen is deprecated and will be removed. Use *ngSwitchCase instead');\n            }\n            this._switch._onCaseValueChanged(this._value, value, this._view);\n            this._value = value;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @nocollapse */\n    NgSwitchCase.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngSwitchCase],[ngSwitchWhen]' }] }];\n    /** @nocollapse */\n    NgSwitchCase.ctorParameters = [{ type: core_1.ViewContainerRef }, { type: core_1.TemplateRef }, { type: NgSwitch, decorators: [{ type: core_1.Host }] }];\n    /** @nocollapse */\n    NgSwitchCase.propDecorators = {\n        'ngSwitchCase': [{ type: core_1.Input }],\n        'ngSwitchWhen': [{ type: core_1.Input }]\n    };\n    return NgSwitchCase;\n}();\nexports.NgSwitchCase = NgSwitchCase;\nvar NgSwitchDefault = function () {\n    function NgSwitchDefault(viewContainer, templateRef, sswitch) {\n        sswitch._registerView(_CASE_DEFAULT, new SwitchView(viewContainer, templateRef));\n    }\n    /** @nocollapse */\n    NgSwitchDefault.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngSwitchDefault]' }] }];\n    /** @nocollapse */\n    NgSwitchDefault.ctorParameters = [{ type: core_1.ViewContainerRef }, { type: core_1.TemplateRef }, { type: NgSwitch, decorators: [{ type: core_1.Host }] }];\n    return NgSwitchDefault;\n}();\nexports.NgSwitchDefault = NgSwitchDefault;\n//# sourceMappingURL=ng_switch.js.map"},{"id":21,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","name":"./~/@angular/common/src/forms-deprecated/directives/abstract_control_directive.js","index":43,"index2":37,"size":2898,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":8,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control.js","module":"./~/@angular/common/src/forms-deprecated/directives/ng_control.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/ng_control.js","type":"cjs require","userRequest":"./abstract_control_directive","loc":"19:35-74"},{"moduleId":11,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/control_container.js","module":"./~/@angular/common/src/forms-deprecated/directives/control_container.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/control_container.js","type":"cjs require","userRequest":"./abstract_control_directive","loc":"18:35-74"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/abstract_control_directive","loc":"29:35-102"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar exceptions_1 = require('../../facade/exceptions');\nvar lang_1 = require('../../facade/lang');\n/**\n * Base class for control directives.\n *\n * Only used internally in the forms module.\n *\n * @experimental\n */\nvar AbstractControlDirective = function () {\n    function AbstractControlDirective() {}\n    Object.defineProperty(AbstractControlDirective.prototype, \"control\", {\n        get: function get() {\n            return exceptions_1.unimplemented();\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"value\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.value : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"valid\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.valid : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"errors\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.errors : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"pristine\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.pristine : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"dirty\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.dirty : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"touched\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.touched : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"untouched\", {\n        get: function get() {\n            return lang_1.isPresent(this.control) ? this.control.untouched : null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(AbstractControlDirective.prototype, \"path\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return AbstractControlDirective;\n}();\nexports.AbstractControlDirective = AbstractControlDirective;\n//# sourceMappingURL=abstract_control_directive.js.map"},{"id":22,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_group.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_control_group.js","index":38,"index2":46,"size":3689,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control_group","loc":"12:25-65"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control_group","loc":"30:25-65"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_control_group","loc":"41:25-82"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar validators_1 = require('../validators');\nvar control_container_1 = require('./control_container');\nvar shared_1 = require('./shared');\nexports.controlGroupProvider = {\n    provide: control_container_1.ControlContainer,\n    useExisting: core_1.forwardRef(function () {\n        return NgControlGroup;\n    })\n};\nvar NgControlGroup = function (_super) {\n    __extends(NgControlGroup, _super);\n    function NgControlGroup(parent, _validators, _asyncValidators) {\n        _super.call(this);\n        this._validators = _validators;\n        this._asyncValidators = _asyncValidators;\n        this._parent = parent;\n    }\n    NgControlGroup.prototype.ngOnInit = function () {\n        this.formDirective.addControlGroup(this);\n    };\n    NgControlGroup.prototype.ngOnDestroy = function () {\n        this.formDirective.removeControlGroup(this);\n    };\n    Object.defineProperty(NgControlGroup.prototype, \"control\", {\n        /**\n         * Get the {@link ControlGroup} backing this binding.\n         */\n        get: function get() {\n            return this.formDirective.getControlGroup(this);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlGroup.prototype, \"path\", {\n        /**\n         * Get the path to this control group.\n         */\n        get: function get() {\n            return shared_1.controlPath(this.name, this._parent);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlGroup.prototype, \"formDirective\", {\n        /**\n         * Get the {@link Form} to which this group belongs.\n         */\n        get: function get() {\n            return this._parent.formDirective;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlGroup.prototype, \"validator\", {\n        get: function get() {\n            return shared_1.composeValidators(this._validators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlGroup.prototype, \"asyncValidator\", {\n        get: function get() {\n            return shared_1.composeAsyncValidators(this._asyncValidators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @nocollapse */\n    NgControlGroup.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[ngControlGroup]',\n            providers: [exports.controlGroupProvider],\n            inputs: ['name: ngControlGroup'],\n            exportAs: 'ngForm'\n        }] }];\n    /** @nocollapse */\n    NgControlGroup.ctorParameters = [{ type: control_container_1.ControlContainer, decorators: [{ type: core_1.Host }, { type: core_1.SkipSelf }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_ASYNC_VALIDATORS] }] }];\n    return NgControlGroup;\n}(control_container_1.ControlContainer);\nexports.NgControlGroup = NgControlGroup;\n//# sourceMappingURL=ng_control_group.js.map"},{"id":23,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_name.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_control_name.js","index":51,"index2":64,"size":4369,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control_name","loc":"13:24-63"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control_name","loc":"32:24-63"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_control_name","loc":"43:24-80"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar async_1 = require('../../facade/async');\nvar validators_1 = require('../validators');\nvar control_container_1 = require('./control_container');\nvar control_value_accessor_1 = require('./control_value_accessor');\nvar ng_control_1 = require('./ng_control');\nvar shared_1 = require('./shared');\nexports.controlNameBinding = {\n    provide: ng_control_1.NgControl,\n    useExisting: core_1.forwardRef(function () {\n        return NgControlName;\n    })\n};\nvar NgControlName = function (_super) {\n    __extends(NgControlName, _super);\n    function NgControlName(_parent, _validators, _asyncValidators, valueAccessors) {\n        _super.call(this);\n        this._parent = _parent;\n        this._validators = _validators;\n        this._asyncValidators = _asyncValidators;\n        /** @internal */\n        this.update = new async_1.EventEmitter();\n        this._added = false;\n        this.valueAccessor = shared_1.selectValueAccessor(this, valueAccessors);\n    }\n    NgControlName.prototype.ngOnChanges = function (changes) {\n        if (!this._added) {\n            this.formDirective.addControl(this);\n            this._added = true;\n        }\n        if (shared_1.isPropertyUpdated(changes, this.viewModel)) {\n            this.viewModel = this.model;\n            this.formDirective.updateModel(this, this.model);\n        }\n    };\n    NgControlName.prototype.ngOnDestroy = function () {\n        this.formDirective.removeControl(this);\n    };\n    NgControlName.prototype.viewToModelUpdate = function (newValue) {\n        this.viewModel = newValue;\n        this.update.emit(newValue);\n    };\n    Object.defineProperty(NgControlName.prototype, \"path\", {\n        get: function get() {\n            return shared_1.controlPath(this.name, this._parent);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlName.prototype, \"formDirective\", {\n        get: function get() {\n            return this._parent.formDirective;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlName.prototype, \"validator\", {\n        get: function get() {\n            return shared_1.composeValidators(this._validators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlName.prototype, \"asyncValidator\", {\n        get: function get() {\n            return shared_1.composeAsyncValidators(this._asyncValidators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlName.prototype, \"control\", {\n        get: function get() {\n            return this.formDirective.getControl(this);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @nocollapse */\n    NgControlName.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[ngControl]',\n            providers: [exports.controlNameBinding],\n            inputs: ['name: ngControl', 'model: ngModel'],\n            outputs: ['update: ngModelChange'],\n            exportAs: 'ngForm'\n        }] }];\n    /** @nocollapse */\n    NgControlName.ctorParameters = [{ type: control_container_1.ControlContainer, decorators: [{ type: core_1.Host }, { type: core_1.SkipSelf }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_ASYNC_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [control_value_accessor_1.NG_VALUE_ACCESSOR] }] }];\n    return NgControlName;\n}(ng_control_1.NgControl);\nexports.NgControlName = NgControlName;\n//# sourceMappingURL=ng_control_name.js.map"},{"id":24,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_control_status.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_control_status.js","index":69,"index2":65,"size":2822,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control_status","loc":"14:26-67"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_control_status","loc":"34:26-67"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_control_status","loc":"45:26-84"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../../facade/lang');\nvar ng_control_1 = require('./ng_control');\nvar NgControlStatus = function () {\n    function NgControlStatus(cd) {\n        this._cd = cd;\n    }\n    Object.defineProperty(NgControlStatus.prototype, \"ngClassUntouched\", {\n        get: function get() {\n            return lang_1.isPresent(this._cd.control) ? this._cd.control.untouched : false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlStatus.prototype, \"ngClassTouched\", {\n        get: function get() {\n            return lang_1.isPresent(this._cd.control) ? this._cd.control.touched : false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlStatus.prototype, \"ngClassPristine\", {\n        get: function get() {\n            return lang_1.isPresent(this._cd.control) ? this._cd.control.pristine : false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlStatus.prototype, \"ngClassDirty\", {\n        get: function get() {\n            return lang_1.isPresent(this._cd.control) ? this._cd.control.dirty : false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlStatus.prototype, \"ngClassValid\", {\n        get: function get() {\n            return lang_1.isPresent(this._cd.control) ? this._cd.control.valid : false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgControlStatus.prototype, \"ngClassInvalid\", {\n        get: function get() {\n            return lang_1.isPresent(this._cd.control) ? !this._cd.control.valid : false;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @nocollapse */\n    NgControlStatus.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[ngControl],[ngModel],[ngFormControl]',\n            host: {\n                '[class.ng-untouched]': 'ngClassUntouched',\n                '[class.ng-touched]': 'ngClassTouched',\n                '[class.ng-pristine]': 'ngClassPristine',\n                '[class.ng-dirty]': 'ngClassDirty',\n                '[class.ng-valid]': 'ngClassValid',\n                '[class.ng-invalid]': 'ngClassInvalid'\n            }\n        }] }];\n    /** @nocollapse */\n    NgControlStatus.ctorParameters = [{ type: ng_control_1.NgControl, decorators: [{ type: core_1.Self }] }];\n    return NgControlStatus;\n}();\nexports.NgControlStatus = NgControlStatus;\n//# sourceMappingURL=ng_control_status.js.map"},{"id":25,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_form.js","index":70,"index2":68,"size":6113,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_form","loc":"15:16-47"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_form","loc":"36:16-47"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_form","loc":"47:16-64"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar async_1 = require('../../facade/async');\nvar collection_1 = require('../../facade/collection');\nvar lang_1 = require('../../facade/lang');\nvar model_1 = require('../model');\nvar validators_1 = require('../validators');\nvar control_container_1 = require('./control_container');\nvar shared_1 = require('./shared');\nexports.formDirectiveProvider = {\n    provide: control_container_1.ControlContainer,\n    useExisting: core_1.forwardRef(function () {\n        return NgForm;\n    })\n};\nvar _formWarningDisplayed = false;\nvar resolvedPromise = Promise.resolve(null);\nvar NgForm = function (_super) {\n    __extends(NgForm, _super);\n    function NgForm(validators, asyncValidators) {\n        _super.call(this);\n        this._submitted = false;\n        this.ngSubmit = new async_1.EventEmitter();\n        this._displayWarning();\n        this.form = new model_1.ControlGroup({}, null, shared_1.composeValidators(validators), shared_1.composeAsyncValidators(asyncValidators));\n    }\n    NgForm.prototype._displayWarning = function () {\n        // TODO(kara): Update this when the new forms module becomes the default\n        if (!_formWarningDisplayed) {\n            _formWarningDisplayed = true;\n            console.warn(\"\\n      *It looks like you're using the old forms module. This will be opt-in in the next RC, and\\n      will eventually be removed in favor of the new forms module. For more information, see:\\n      https://docs.google.com/document/d/1RIezQqE4aEhBRmArIAS1mRIZtWFf6JxN_7B4meyWK0Y/preview\\n    \");\n        }\n    };\n    Object.defineProperty(NgForm.prototype, \"submitted\", {\n        get: function get() {\n            return this._submitted;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForm.prototype, \"formDirective\", {\n        get: function get() {\n            return this;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForm.prototype, \"control\", {\n        get: function get() {\n            return this.form;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForm.prototype, \"path\", {\n        get: function get() {\n            return [];\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForm.prototype, \"controls\", {\n        get: function get() {\n            return this.form.controls;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgForm.prototype.addControl = function (dir) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var container = _this._findContainer(dir.path);\n            var ctrl = new model_1.Control();\n            shared_1.setUpControl(ctrl, dir);\n            container.registerControl(dir.name, ctrl);\n            ctrl.updateValueAndValidity({ emitEvent: false });\n        });\n    };\n    NgForm.prototype.getControl = function (dir) {\n        return this.form.find(dir.path);\n    };\n    NgForm.prototype.removeControl = function (dir) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var container = _this._findContainer(dir.path);\n            if (lang_1.isPresent(container)) {\n                container.removeControl(dir.name);\n            }\n        });\n    };\n    NgForm.prototype.addControlGroup = function (dir) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var container = _this._findContainer(dir.path);\n            var group = new model_1.ControlGroup({});\n            shared_1.setUpControlGroup(group, dir);\n            container.registerControl(dir.name, group);\n            group.updateValueAndValidity({ emitEvent: false });\n        });\n    };\n    NgForm.prototype.removeControlGroup = function (dir) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var container = _this._findContainer(dir.path);\n            if (lang_1.isPresent(container)) {\n                container.removeControl(dir.name);\n            }\n        });\n    };\n    NgForm.prototype.getControlGroup = function (dir) {\n        return this.form.find(dir.path);\n    };\n    NgForm.prototype.updateModel = function (dir, value) {\n        var _this = this;\n        resolvedPromise.then(function () {\n            var ctrl = _this.form.find(dir.path);\n            ctrl.updateValue(value);\n        });\n    };\n    NgForm.prototype.onSubmit = function () {\n        this._submitted = true;\n        this.ngSubmit.emit(null);\n        return false;\n    };\n    /** @internal */\n    NgForm.prototype._findContainer = function (path) {\n        path.pop();\n        return collection_1.ListWrapper.isEmpty(path) ? this.form : this.form.find(path);\n    };\n    /** @nocollapse */\n    NgForm.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'form:not([ngNoForm]):not([ngFormModel]),ngForm,[ngForm]',\n            providers: [exports.formDirectiveProvider],\n            host: {\n                '(submit)': 'onSubmit()'\n            },\n            outputs: ['ngSubmit'],\n            exportAs: 'ngForm'\n        }] }];\n    /** @nocollapse */\n    NgForm.ctorParameters = [{ type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_ASYNC_VALIDATORS] }] }];\n    return NgForm;\n}(control_container_1.ControlContainer);\nexports.NgForm = NgForm;\n//# sourceMappingURL=ng_form.js.map"},{"id":26,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_control.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_form_control.js","index":73,"index2":69,"size":3959,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_form_control","loc":"16:24-63"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_form_control","loc":"38:24-63"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_form_control","loc":"49:24-80"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar async_1 = require('../../facade/async');\nvar collection_1 = require('../../facade/collection');\nvar validators_1 = require('../validators');\nvar control_value_accessor_1 = require('./control_value_accessor');\nvar ng_control_1 = require('./ng_control');\nvar shared_1 = require('./shared');\nexports.formControlBinding = {\n    provide: ng_control_1.NgControl,\n    useExisting: core_1.forwardRef(function () {\n        return NgFormControl;\n    })\n};\nvar NgFormControl = function (_super) {\n    __extends(NgFormControl, _super);\n    function NgFormControl(_validators, _asyncValidators, valueAccessors) {\n        _super.call(this);\n        this._validators = _validators;\n        this._asyncValidators = _asyncValidators;\n        this.update = new async_1.EventEmitter();\n        this.valueAccessor = shared_1.selectValueAccessor(this, valueAccessors);\n    }\n    NgFormControl.prototype.ngOnChanges = function (changes) {\n        if (this._isControlChanged(changes)) {\n            shared_1.setUpControl(this.form, this);\n            this.form.updateValueAndValidity({ emitEvent: false });\n        }\n        if (shared_1.isPropertyUpdated(changes, this.viewModel)) {\n            this.form.updateValue(this.model);\n            this.viewModel = this.model;\n        }\n    };\n    Object.defineProperty(NgFormControl.prototype, \"path\", {\n        get: function get() {\n            return [];\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFormControl.prototype, \"validator\", {\n        get: function get() {\n            return shared_1.composeValidators(this._validators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFormControl.prototype, \"asyncValidator\", {\n        get: function get() {\n            return shared_1.composeAsyncValidators(this._asyncValidators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFormControl.prototype, \"control\", {\n        get: function get() {\n            return this.form;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgFormControl.prototype.viewToModelUpdate = function (newValue) {\n        this.viewModel = newValue;\n        this.update.emit(newValue);\n    };\n    NgFormControl.prototype._isControlChanged = function (changes) {\n        return collection_1.StringMapWrapper.contains(changes, 'form');\n    };\n    /** @nocollapse */\n    NgFormControl.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[ngFormControl]',\n            providers: [exports.formControlBinding],\n            inputs: ['form: ngFormControl', 'model: ngModel'],\n            outputs: ['update: ngModelChange'],\n            exportAs: 'ngForm'\n        }] }];\n    /** @nocollapse */\n    NgFormControl.ctorParameters = [{ type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_ASYNC_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [control_value_accessor_1.NG_VALUE_ACCESSOR] }] }];\n    return NgFormControl;\n}(ng_control_1.NgControl);\nexports.NgFormControl = NgFormControl;\n//# sourceMappingURL=ng_form_control.js.map"},{"id":27,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_form_model.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_form_model.js","index":74,"index2":70,"size":6074,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_form_model","loc":"17:22-59"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_form_model","loc":"40:22-59"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_form_model","loc":"51:22-76"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar async_1 = require('../../facade/async');\nvar collection_1 = require('../../facade/collection');\nvar exceptions_1 = require('../../facade/exceptions');\nvar lang_1 = require('../../facade/lang');\nvar validators_1 = require('../validators');\nvar control_container_1 = require('./control_container');\nvar shared_1 = require('./shared');\nexports.formDirectiveProvider = {\n    provide: control_container_1.ControlContainer,\n    useExisting: core_1.forwardRef(function () {\n        return NgFormModel;\n    })\n};\nvar _formModelWarningDisplayed = false;\nvar NgFormModel = function (_super) {\n    __extends(NgFormModel, _super);\n    function NgFormModel(_validators, _asyncValidators) {\n        _super.call(this);\n        this._validators = _validators;\n        this._asyncValidators = _asyncValidators;\n        this._submitted = false;\n        this.form = null;\n        this.directives = [];\n        this.ngSubmit = new async_1.EventEmitter();\n        this._displayWarning();\n    }\n    NgFormModel.prototype._displayWarning = function () {\n        // TODO(kara): Update this when the new forms module becomes the default\n        if (!_formModelWarningDisplayed) {\n            _formModelWarningDisplayed = true;\n            console.warn(\"\\n      *It looks like you're using the old forms module. This will be opt-in in the next RC, and\\n      will eventually be removed in favor of the new forms module. For more information, see:\\n      https://docs.google.com/document/d/1RIezQqE4aEhBRmArIAS1mRIZtWFf6JxN_7B4meyWK0Y/preview\\n    \");\n        }\n    };\n    NgFormModel.prototype.ngOnChanges = function (changes) {\n        this._checkFormPresent();\n        if (collection_1.StringMapWrapper.contains(changes, 'form')) {\n            var sync = shared_1.composeValidators(this._validators);\n            this.form.validator = validators_1.Validators.compose([this.form.validator, sync]);\n            var async = shared_1.composeAsyncValidators(this._asyncValidators);\n            this.form.asyncValidator = validators_1.Validators.composeAsync([this.form.asyncValidator, async]);\n            this.form.updateValueAndValidity({ onlySelf: true, emitEvent: false });\n        }\n        this._updateDomValue();\n    };\n    Object.defineProperty(NgFormModel.prototype, \"submitted\", {\n        get: function get() {\n            return this._submitted;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFormModel.prototype, \"formDirective\", {\n        get: function get() {\n            return this;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFormModel.prototype, \"control\", {\n        get: function get() {\n            return this.form;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgFormModel.prototype, \"path\", {\n        get: function get() {\n            return [];\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgFormModel.prototype.addControl = function (dir) {\n        var ctrl = this.form.find(dir.path);\n        shared_1.setUpControl(ctrl, dir);\n        ctrl.updateValueAndValidity({ emitEvent: false });\n        this.directives.push(dir);\n    };\n    NgFormModel.prototype.getControl = function (dir) {\n        return this.form.find(dir.path);\n    };\n    NgFormModel.prototype.removeControl = function (dir) {\n        collection_1.ListWrapper.remove(this.directives, dir);\n    };\n    NgFormModel.prototype.addControlGroup = function (dir) {\n        var ctrl = this.form.find(dir.path);\n        shared_1.setUpControlGroup(ctrl, dir);\n        ctrl.updateValueAndValidity({ emitEvent: false });\n    };\n    NgFormModel.prototype.removeControlGroup = function (dir) {};\n    NgFormModel.prototype.getControlGroup = function (dir) {\n        return this.form.find(dir.path);\n    };\n    NgFormModel.prototype.updateModel = function (dir, value) {\n        var ctrl = this.form.find(dir.path);\n        ctrl.updateValue(value);\n    };\n    NgFormModel.prototype.onSubmit = function () {\n        this._submitted = true;\n        this.ngSubmit.emit(null);\n        return false;\n    };\n    /** @internal */\n    NgFormModel.prototype._updateDomValue = function () {\n        var _this = this;\n        this.directives.forEach(function (dir) {\n            var ctrl = _this.form.find(dir.path);\n            dir.valueAccessor.writeValue(ctrl.value);\n        });\n    };\n    NgFormModel.prototype._checkFormPresent = function () {\n        if (lang_1.isBlank(this.form)) {\n            throw new exceptions_1.BaseException(\"ngFormModel expects a form. Please pass one in. Example: <form [ngFormModel]=\\\"myCoolForm\\\">\");\n        }\n    };\n    /** @nocollapse */\n    NgFormModel.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[ngFormModel]',\n            providers: [exports.formDirectiveProvider],\n            inputs: ['form: ngFormModel'],\n            host: { '(submit)': 'onSubmit()' },\n            outputs: ['ngSubmit'],\n            exportAs: 'ngForm'\n        }] }];\n    /** @nocollapse */\n    NgFormModel.ctorParameters = [{ type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_ASYNC_VALIDATORS] }] }];\n    return NgFormModel;\n}(control_container_1.ControlContainer);\nexports.NgFormModel = NgFormModel;\n//# sourceMappingURL=ng_form_model.js.map"},{"id":28,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/ng_model.js","name":"./~/@angular/common/src/forms-deprecated/directives/ng_model.js","index":75,"index2":71,"size":3858,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_model","loc":"18:17-49"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/ng_model","loc":"42:17-49"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/ng_model","loc":"53:17-66"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar async_1 = require('../../facade/async');\nvar model_1 = require('../model');\nvar validators_1 = require('../validators');\nvar control_value_accessor_1 = require('./control_value_accessor');\nvar ng_control_1 = require('./ng_control');\nvar shared_1 = require('./shared');\nexports.formControlBinding = {\n    provide: ng_control_1.NgControl,\n    useExisting: core_1.forwardRef(function () {\n        return NgModel;\n    })\n};\nvar NgModel = function (_super) {\n    __extends(NgModel, _super);\n    function NgModel(_validators, _asyncValidators, valueAccessors) {\n        _super.call(this);\n        this._validators = _validators;\n        this._asyncValidators = _asyncValidators;\n        /** @internal */\n        this._control = new model_1.Control();\n        /** @internal */\n        this._added = false;\n        this.update = new async_1.EventEmitter();\n        this.valueAccessor = shared_1.selectValueAccessor(this, valueAccessors);\n    }\n    NgModel.prototype.ngOnChanges = function (changes) {\n        if (!this._added) {\n            shared_1.setUpControl(this._control, this);\n            this._control.updateValueAndValidity({ emitEvent: false });\n            this._added = true;\n        }\n        if (shared_1.isPropertyUpdated(changes, this.viewModel)) {\n            this._control.updateValue(this.model);\n            this.viewModel = this.model;\n        }\n    };\n    Object.defineProperty(NgModel.prototype, \"control\", {\n        get: function get() {\n            return this._control;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgModel.prototype, \"path\", {\n        get: function get() {\n            return [];\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgModel.prototype, \"validator\", {\n        get: function get() {\n            return shared_1.composeValidators(this._validators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgModel.prototype, \"asyncValidator\", {\n        get: function get() {\n            return shared_1.composeAsyncValidators(this._asyncValidators);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgModel.prototype.viewToModelUpdate = function (newValue) {\n        this.viewModel = newValue;\n        this.update.emit(newValue);\n    };\n    /** @nocollapse */\n    NgModel.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[ngModel]:not([ngControl]):not([ngFormControl])',\n            providers: [exports.formControlBinding],\n            inputs: ['model: ngModel'],\n            outputs: ['update: ngModelChange'],\n            exportAs: 'ngForm'\n        }] }];\n    /** @nocollapse */\n    NgModel.ctorParameters = [{ type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [validators_1.NG_ASYNC_VALIDATORS] }] }, { type: Array, decorators: [{ type: core_1.Optional }, { type: core_1.Self }, { type: core_1.Inject, args: [control_value_accessor_1.NG_VALUE_ACCESSOR] }] }];\n    return NgModel;\n}(ng_control_1.NgControl);\nexports.NgModel = NgModel;\n//# sourceMappingURL=ng_model.js.map"},{"id":29,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/number_value_accessor.js","index":46,"index2":40,"size":2218,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./number_value_accessor","loc":"17:30-64"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/number_value_accessor","loc":"19:30-75"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/number_value_accessor","loc":"44:30-75"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../../facade/lang');\nvar control_value_accessor_1 = require('./control_value_accessor');\nexports.NUMBER_VALUE_ACCESSOR = {\n    provide: control_value_accessor_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () {\n        return NumberValueAccessor;\n    }),\n    multi: true\n};\nvar NumberValueAccessor = function () {\n    function NumberValueAccessor(_renderer, _elementRef) {\n        this._renderer = _renderer;\n        this._elementRef = _elementRef;\n        this.onChange = function (_) {};\n        this.onTouched = function () {};\n    }\n    NumberValueAccessor.prototype.writeValue = function (value) {\n        // The value needs to be normalized for IE9, otherwise it is set to 'null' when null\n        var normalizedValue = lang_1.isBlank(value) ? '' : value;\n        this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', normalizedValue);\n    };\n    NumberValueAccessor.prototype.registerOnChange = function (fn) {\n        this.onChange = function (value) {\n            fn(value == '' ? null : lang_1.NumberWrapper.parseFloat(value));\n        };\n    };\n    NumberValueAccessor.prototype.registerOnTouched = function (fn) {\n        this.onTouched = fn;\n    };\n    /** @nocollapse */\n    NumberValueAccessor.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'input[type=number][ngControl],input[type=number][ngFormControl],input[type=number][ngModel]',\n            host: {\n                '(change)': 'onChange($event.target.value)',\n                '(input)': 'onChange($event.target.value)',\n                '(blur)': 'onTouched()'\n            },\n            providers: [exports.NUMBER_VALUE_ACCESSOR]\n        }] }];\n    /** @nocollapse */\n    NumberValueAccessor.ctorParameters = [{ type: core_1.Renderer }, { type: core_1.ElementRef }];\n    return NumberValueAccessor;\n}();\nexports.NumberValueAccessor = NumberValueAccessor;\n//# sourceMappingURL=number_value_accessor.js.map"},{"id":30,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","name":"./~/@angular/common/src/forms-deprecated/directives/select_multiple_control_value_accessor.js","index":50,"index2":44,"size":7029,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./select_multiple_control_value_accessor","loc":"20:47-98"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/select_multiple_control_value_accessor","loc":"22:47-109"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/select_multiple_control_value_accessor","loc":"52:47-109"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../../facade/collection');\nvar lang_1 = require('../../facade/lang');\nvar control_value_accessor_1 = require('./control_value_accessor');\nexports.SELECT_MULTIPLE_VALUE_ACCESSOR = {\n    provide: control_value_accessor_1.NG_VALUE_ACCESSOR,\n    useExisting: core_1.forwardRef(function () {\n        return SelectMultipleControlValueAccessor;\n    }),\n    multi: true\n};\nfunction _buildValueString(id, value) {\n    if (lang_1.isBlank(id)) return \"\" + value;\n    if (lang_1.isString(value)) value = \"'\" + value + \"'\";\n    if (!lang_1.isPrimitive(value)) value = 'Object';\n    return lang_1.StringWrapper.slice(id + \": \" + value, 0, 50);\n}\nfunction _extractId(valueString) {\n    return valueString.split(':')[0];\n}\n/** Mock interface for HTMLCollection */\nvar HTMLCollection = function () {\n    function HTMLCollection() {}\n    return HTMLCollection;\n}();\nvar SelectMultipleControlValueAccessor = function () {\n    function SelectMultipleControlValueAccessor() {\n        /** @internal */\n        this._optionMap = new Map();\n        /** @internal */\n        this._idCounter = 0;\n        this.onChange = function (_) {};\n        this.onTouched = function () {};\n    }\n    SelectMultipleControlValueAccessor.prototype.writeValue = function (value) {\n        var _this = this;\n        this.value = value;\n        if (value == null) return;\n        var values = value;\n        // convert values to ids\n        var ids = values.map(function (v) {\n            return _this._getOptionId(v);\n        });\n        this._optionMap.forEach(function (opt, o) {\n            opt._setSelected(ids.indexOf(o.toString()) > -1);\n        });\n    };\n    SelectMultipleControlValueAccessor.prototype.registerOnChange = function (fn) {\n        var _this = this;\n        this.onChange = function (_) {\n            var selected = [];\n            if (_.hasOwnProperty('selectedOptions')) {\n                var options = _.selectedOptions;\n                for (var i = 0; i < options.length; i++) {\n                    var opt = options.item(i);\n                    var val = _this._getOptionValue(opt.value);\n                    selected.push(val);\n                }\n            } else {\n                var options = _.options;\n                for (var i = 0; i < options.length; i++) {\n                    var opt = options.item(i);\n                    if (opt.selected) {\n                        var val = _this._getOptionValue(opt.value);\n                        selected.push(val);\n                    }\n                }\n            }\n            fn(selected);\n        };\n    };\n    SelectMultipleControlValueAccessor.prototype.registerOnTouched = function (fn) {\n        this.onTouched = fn;\n    };\n    /** @internal */\n    SelectMultipleControlValueAccessor.prototype._registerOption = function (value) {\n        var id = (this._idCounter++).toString();\n        this._optionMap.set(id, value);\n        return id;\n    };\n    /** @internal */\n    SelectMultipleControlValueAccessor.prototype._getOptionId = function (value) {\n        for (var _i = 0, _a = collection_1.MapWrapper.keys(this._optionMap); _i < _a.length; _i++) {\n            var id = _a[_i];\n            if (lang_1.looseIdentical(this._optionMap.get(id)._value, value)) return id;\n        }\n        return null;\n    };\n    /** @internal */\n    SelectMultipleControlValueAccessor.prototype._getOptionValue = function (valueString) {\n        var opt = this._optionMap.get(_extractId(valueString));\n        return lang_1.isPresent(opt) ? opt._value : valueString;\n    };\n    /** @nocollapse */\n    SelectMultipleControlValueAccessor.decorators = [{ type: core_1.Directive, args: [{\n            selector: 'select[multiple][ngControl],select[multiple][ngFormControl],select[multiple][ngModel]',\n            host: { '(change)': 'onChange($event.target)', '(blur)': 'onTouched()' },\n            providers: [exports.SELECT_MULTIPLE_VALUE_ACCESSOR]\n        }] }];\n    /** @nocollapse */\n    SelectMultipleControlValueAccessor.ctorParameters = [];\n    return SelectMultipleControlValueAccessor;\n}();\nexports.SelectMultipleControlValueAccessor = SelectMultipleControlValueAccessor;\nvar NgSelectMultipleOption = function () {\n    function NgSelectMultipleOption(_element, _renderer, _select) {\n        this._element = _element;\n        this._renderer = _renderer;\n        this._select = _select;\n        if (lang_1.isPresent(this._select)) {\n            this.id = this._select._registerOption(this);\n        }\n    }\n    Object.defineProperty(NgSelectMultipleOption.prototype, \"ngValue\", {\n        set: function set(value) {\n            if (this._select == null) return;\n            this._value = value;\n            this._setElementValue(_buildValueString(this.id, value));\n            this._select.writeValue(this._select.value);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgSelectMultipleOption.prototype, \"value\", {\n        set: function set(value) {\n            if (lang_1.isPresent(this._select)) {\n                this._value = value;\n                this._setElementValue(_buildValueString(this.id, value));\n                this._select.writeValue(this._select.value);\n            } else {\n                this._setElementValue(value);\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @internal */\n    NgSelectMultipleOption.prototype._setElementValue = function (value) {\n        this._renderer.setElementProperty(this._element.nativeElement, 'value', value);\n    };\n    /** @internal */\n    NgSelectMultipleOption.prototype._setSelected = function (selected) {\n        this._renderer.setElementProperty(this._element.nativeElement, 'selected', selected);\n    };\n    NgSelectMultipleOption.prototype.ngOnDestroy = function () {\n        if (lang_1.isPresent(this._select)) {\n            this._select._optionMap.delete(this.id);\n            this._select.writeValue(this._select.value);\n        }\n    };\n    /** @nocollapse */\n    NgSelectMultipleOption.decorators = [{ type: core_1.Directive, args: [{ selector: 'option' }] }];\n    /** @nocollapse */\n    NgSelectMultipleOption.ctorParameters = [{ type: core_1.ElementRef }, { type: core_1.Renderer }, { type: SelectMultipleControlValueAccessor, decorators: [{ type: core_1.Optional }, { type: core_1.Host }] }];\n    /** @nocollapse */\n    NgSelectMultipleOption.propDecorators = {\n        'ngValue': [{ type: core_1.Input, args: ['ngValue'] }],\n        'value': [{ type: core_1.Input, args: ['value'] }]\n    };\n    return NgSelectMultipleOption;\n}();\nexports.NgSelectMultipleOption = NgSelectMultipleOption;\nexports.SELECT_DIRECTIVES = [SelectMultipleControlValueAccessor, NgSelectMultipleOption];\n//# sourceMappingURL=select_multiple_control_value_accessor.js.map"},{"id":31,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/validators.js","name":"./~/@angular/common/src/forms-deprecated/directives/validators.js","index":76,"index2":72,"size":4174,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/validators","loc":"23:19-53"},{"moduleId":50,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","module":"./~/@angular/common/src/forms-deprecated/directives.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives.js","type":"cjs require","userRequest":"./directives/validators","loc":"55:19-53"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives/validators","loc":"58:19-70"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../../facade/lang');\nvar validators_1 = require('../validators');\nexports.REQUIRED = validators_1.Validators.required;\nexports.REQUIRED_VALIDATOR = {\n    provide: validators_1.NG_VALIDATORS,\n    useValue: exports.REQUIRED,\n    multi: true\n};\nvar RequiredValidator = function () {\n    function RequiredValidator() {}\n    /** @nocollapse */\n    RequiredValidator.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[required][ngControl],[required][ngFormControl],[required][ngModel]',\n            providers: [exports.REQUIRED_VALIDATOR]\n        }] }];\n    return RequiredValidator;\n}();\nexports.RequiredValidator = RequiredValidator;\n/**\n * Provivder which adds {@link MinLengthValidator} to {@link NG_VALIDATORS}.\n *\n * ## Example:\n *\n * {@example common/forms/ts/validators/validators.ts region='min'}\n */\nexports.MIN_LENGTH_VALIDATOR = {\n    provide: validators_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () {\n        return MinLengthValidator;\n    }),\n    multi: true\n};\nvar MinLengthValidator = function () {\n    function MinLengthValidator(minLength) {\n        this._validator = validators_1.Validators.minLength(lang_1.NumberWrapper.parseInt(minLength, 10));\n    }\n    MinLengthValidator.prototype.validate = function (c) {\n        return this._validator(c);\n    };\n    /** @nocollapse */\n    MinLengthValidator.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[minlength][ngControl],[minlength][ngFormControl],[minlength][ngModel]',\n            providers: [exports.MIN_LENGTH_VALIDATOR]\n        }] }];\n    /** @nocollapse */\n    MinLengthValidator.ctorParameters = [{ type: undefined, decorators: [{ type: core_1.Attribute, args: ['minlength'] }] }];\n    return MinLengthValidator;\n}();\nexports.MinLengthValidator = MinLengthValidator;\n/**\n * Provider which adds {@link MaxLengthValidator} to {@link NG_VALIDATORS}.\n *\n * ## Example:\n *\n * {@example common/forms/ts/validators/validators.ts region='max'}\n */\nexports.MAX_LENGTH_VALIDATOR = {\n    provide: validators_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () {\n        return MaxLengthValidator;\n    }),\n    multi: true\n};\nvar MaxLengthValidator = function () {\n    function MaxLengthValidator(maxLength) {\n        this._validator = validators_1.Validators.maxLength(lang_1.NumberWrapper.parseInt(maxLength, 10));\n    }\n    MaxLengthValidator.prototype.validate = function (c) {\n        return this._validator(c);\n    };\n    /** @nocollapse */\n    MaxLengthValidator.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[maxlength][ngControl],[maxlength][ngFormControl],[maxlength][ngModel]',\n            providers: [exports.MAX_LENGTH_VALIDATOR]\n        }] }];\n    /** @nocollapse */\n    MaxLengthValidator.ctorParameters = [{ type: undefined, decorators: [{ type: core_1.Attribute, args: ['maxlength'] }] }];\n    return MaxLengthValidator;\n}();\nexports.MaxLengthValidator = MaxLengthValidator;\nexports.PATTERN_VALIDATOR = {\n    provide: validators_1.NG_VALIDATORS,\n    useExisting: core_1.forwardRef(function () {\n        return PatternValidator;\n    }),\n    multi: true\n};\nvar PatternValidator = function () {\n    function PatternValidator(pattern) {\n        this._validator = validators_1.Validators.pattern(pattern);\n    }\n    PatternValidator.prototype.validate = function (c) {\n        return this._validator(c);\n    };\n    /** @nocollapse */\n    PatternValidator.decorators = [{ type: core_1.Directive, args: [{\n            selector: '[pattern][ngControl],[pattern][ngFormControl],[pattern][ngModel]',\n            providers: [exports.PATTERN_VALIDATOR]\n        }] }];\n    /** @nocollapse */\n    PatternValidator.ctorParameters = [{ type: undefined, decorators: [{ type: core_1.Attribute, args: ['pattern'] }] }];\n    return PatternValidator;\n}();\nexports.PatternValidator = PatternValidator;\n//# sourceMappingURL=validators.js.map"},{"id":32,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/localization.js","name":"./~/@angular/common/src/localization.js","index":15,"index2":9,"size":789,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":44,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_plural.js","module":"./~/@angular/common/src/directives/ng_plural.js","moduleName":"./~/@angular/common/src/directives/ng_plural.js","type":"cjs require","userRequest":"../localization","loc":"12:21-47"},{"moduleId":55,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_plural_pipe.js","module":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","moduleName":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","type":"cjs require","userRequest":"../localization","loc":"12:21-47"},{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/localization","loc":"23:21-50"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n/**\n * @experimental\n */\n\nvar NgLocalization = function () {\n  function NgLocalization() {}\n  return NgLocalization;\n}();\nexports.NgLocalization = NgLocalization;\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n *\n * @internal\n */\nfunction getPluralCategory(value, cases, ngLocalization) {\n  var nbCase = \"=\" + value;\n  return cases.indexOf(nbCase) > -1 ? nbCase : ngLocalization.getPluralCategory(value);\n}\nexports.getPluralCategory = getPluralCategory;\n//# sourceMappingURL=localization.js.map"},{"id":33,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/location.js","name":"./~/@angular/common/src/location/location.js","index":82,"index2":78,"size":5708,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":74,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","module":"./~/@angular/common/src/location.js","moduleName":"./~/@angular/common/src/location.js","type":"cjs require","userRequest":"./location/location","loc":"19:9-39"},{"moduleId":75,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/hash_location_strategy.js","module":"./~/@angular/common/src/location/hash_location_strategy.js","moduleName":"./~/@angular/common/src/location/hash_location_strategy.js","type":"cjs require","userRequest":"./location","loc":"20:17-38"},{"moduleId":76,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","module":"./~/@angular/common/src/location/path_location_strategy.js","moduleName":"./~/@angular/common/src/location/path_location_strategy.js","type":"cjs require","userRequest":"./location","loc":"21:17-38"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar location_strategy_1 = require('./location_strategy');\nvar Location = function () {\n    function Location(platformStrategy) {\n        var _this = this;\n        /** @internal */\n        this._subject = new core_1.EventEmitter();\n        this._platformStrategy = platformStrategy;\n        var browserBaseHref = this._platformStrategy.getBaseHref();\n        this._baseHref = Location.stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n        this._platformStrategy.onPopState(function (ev) {\n            _this._subject.emit({ 'url': _this.path(true), 'pop': true, 'type': ev.type });\n        });\n    }\n    /**\n     * Returns the normalized URL path.\n     */\n    // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n    // removed.\n    Location.prototype.path = function (includeHash) {\n        if (includeHash === void 0) {\n            includeHash = false;\n        }\n        return this.normalize(this._platformStrategy.path(includeHash));\n    };\n    /**\n     * Normalizes the given path and compares to the current normalized path.\n     */\n    Location.prototype.isCurrentPathEqualTo = function (path, query) {\n        if (query === void 0) {\n            query = '';\n        }\n        return this.path() == this.normalize(path + Location.normalizeQueryParams(query));\n    };\n    /**\n     * Given a string representing a URL, returns the normalized URL path without leading or\n     * trailing slashes\n     */\n    Location.prototype.normalize = function (url) {\n        return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n    };\n    /**\n     * Given a string representing a URL, returns the platform-specific external URL path.\n     * If the given URL doesn't begin with a leading slash (`'/'`), this method adds one\n     * before normalizing. This method will also add a hash if `HashLocationStrategy` is\n     * used, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n     */\n    Location.prototype.prepareExternalUrl = function (url) {\n        if (url.length > 0 && !url.startsWith('/')) {\n            url = '/' + url;\n        }\n        return this._platformStrategy.prepareExternalUrl(url);\n    };\n    // TODO: rename this method to pushState\n    /**\n     * Changes the browsers URL to the normalized version of the given URL, and pushes a\n     * new item onto the platform's history.\n     */\n    Location.prototype.go = function (path, query) {\n        if (query === void 0) {\n            query = '';\n        }\n        this._platformStrategy.pushState(null, '', path, query);\n    };\n    /**\n     * Changes the browsers URL to the normalized version of the given URL, and replaces\n     * the top item on the platform's history stack.\n     */\n    Location.prototype.replaceState = function (path, query) {\n        if (query === void 0) {\n            query = '';\n        }\n        this._platformStrategy.replaceState(null, '', path, query);\n    };\n    /**\n     * Navigates forward in the platform's history.\n     */\n    Location.prototype.forward = function () {\n        this._platformStrategy.forward();\n    };\n    /**\n     * Navigates back in the platform's history.\n     */\n    Location.prototype.back = function () {\n        this._platformStrategy.back();\n    };\n    /**\n     * Subscribe to the platform's `popState` events.\n     */\n    Location.prototype.subscribe = function (onNext, onThrow, onReturn) {\n        if (onThrow === void 0) {\n            onThrow = null;\n        }\n        if (onReturn === void 0) {\n            onReturn = null;\n        }\n        return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });\n    };\n    /**\n     * Given a string of url parameters, prepend with '?' if needed, otherwise return parameters as\n     * is.\n     */\n    Location.normalizeQueryParams = function (params) {\n        return params.length > 0 && params.substring(0, 1) != '?' ? '?' + params : params;\n    };\n    /**\n     * Given 2 parts of a url, join them with a slash if needed.\n     */\n    Location.joinWithSlash = function (start, end) {\n        if (start.length == 0) {\n            return end;\n        }\n        if (end.length == 0) {\n            return start;\n        }\n        var slashes = 0;\n        if (start.endsWith('/')) {\n            slashes++;\n        }\n        if (end.startsWith('/')) {\n            slashes++;\n        }\n        if (slashes == 2) {\n            return start + end.substring(1);\n        }\n        if (slashes == 1) {\n            return start + end;\n        }\n        return start + '/' + end;\n    };\n    /**\n     * If url has a trailing slash, remove it, otherwise return url as is.\n     */\n    Location.stripTrailingSlash = function (url) {\n        if (/\\/$/g.test(url)) {\n            url = url.substring(0, url.length - 1);\n        }\n        return url;\n    };\n    /** @nocollapse */\n    Location.decorators = [{ type: core_1.Injectable }];\n    /** @nocollapse */\n    Location.ctorParameters = [{ type: location_strategy_1.LocationStrategy }];\n    return Location;\n}();\nexports.Location = Location;\nfunction _stripBaseHref(baseHref, url) {\n    if (baseHref.length > 0 && url.startsWith(baseHref)) {\n        return url.substring(baseHref.length);\n    }\n    return url;\n}\nfunction _stripIndexHtml(url) {\n    if (/\\/index.html$/g.test(url)) {\n        // '/index.html'.length == 11\n        return url.substring(0, url.length - 11);\n    }\n    return url;\n}\n//# sourceMappingURL=location.js.map"},{"id":34,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/platform_location.js","name":"./~/@angular/common/src/location/platform_location.js","index":79,"index2":76,"size":2090,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":74,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","module":"./~/@angular/common/src/location.js","moduleName":"./~/@angular/common/src/location.js","type":"cjs require","userRequest":"./location/platform_location","loc":"15:9-48"},{"moduleId":75,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/hash_location_strategy.js","module":"./~/@angular/common/src/location/hash_location_strategy.js","moduleName":"./~/@angular/common/src/location/hash_location_strategy.js","type":"cjs require","userRequest":"./platform_location","loc":"22:26-56"},{"moduleId":76,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","module":"./~/@angular/common/src/location/path_location_strategy.js","moduleName":"./~/@angular/common/src/location/path_location_strategy.js","type":"cjs require","userRequest":"./platform_location","loc":"23:26-56"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM apis, which allows the Router to be platform\n * agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms\n * that angular supports. For example, the default `PlatformLocation` is {@link\n * BrowserPlatformLocation},\n * however when you run your app in a WebWorker you use {@link WebWorkerPlatformLocation}.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when\n * they need to interact with the DOM apis like pushState, popState, etc...\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by\n * the {@link Router} in order to navigate between routes. Since all interactions between {@link\n * Router} /\n * {@link Location} / {@link LocationStrategy} and DOM apis flow through the `PlatformLocation`\n * class\n * they are all platform independent.\n *\n * @stable\n */\n\nvar PlatformLocation = function () {\n    function PlatformLocation() {}\n    Object.defineProperty(PlatformLocation.prototype, \"pathname\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(PlatformLocation.prototype, \"search\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(PlatformLocation.prototype, \"hash\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return PlatformLocation;\n}();\nexports.PlatformLocation = PlatformLocation;\n//# sourceMappingURL=platform_location.js.map"},{"id":35,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observable.js","name":"./~/rxjs/Observable.js","index":54,"index2":59,"size":5978,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/async.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":9,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/async.js","module":"./~/@angular/common/src/facade/async.js","moduleName":"./~/@angular/common/src/facade/async.js","type":"cjs require","userRequest":"rxjs/Observable","loc":"21:19-45"},{"moduleId":63,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","module":"./~/rxjs/Subject.js","moduleName":"./~/rxjs/Subject.js","type":"cjs require","userRequest":"./Observable","loc":"11:19-42"},{"moduleId":80,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/observable/PromiseObservable.js","module":"./~/rxjs/observable/PromiseObservable.js","moduleName":"./~/rxjs/observable/PromiseObservable.js","type":"cjs require","userRequest":"../Observable","loc":"12:19-43"}],"source":"\"use strict\";\n\nvar root_1 = require('./util/root');\nvar toSubscriber_1 = require('./util/toSubscriber');\nvar observable_1 = require('./symbol/observable');\n/**\n * A representation of any set of values over any amount of time. This the most basic building block\n * of RxJS.\n *\n * @class Observable<T>\n */\nvar Observable = function () {\n    /**\n     * @constructor\n     * @param {Function} subscribe the function that is  called when the Observable is\n     * initially subscribed to. This function is given a Subscriber, to which new values\n     * can be `next`ed, or an `error` method can be called to raise an error, or\n     * `complete` can be called to notify of a successful completion.\n     */\n    function Observable(subscribe) {\n        this._isScalar = false;\n        if (subscribe) {\n            this._subscribe = subscribe;\n        }\n    }\n    /**\n     * Creates a new Observable, with this Observable as the source, and the passed\n     * operator defined as the new observable's operator.\n     * @method lift\n     * @param {Operator} operator the operator defining the operation to take on the observable\n     * @return {Observable} a new observable with the Operator applied\n     */\n    Observable.prototype.lift = function (operator) {\n        var observable = new Observable();\n        observable.source = this;\n        observable.operator = operator;\n        return observable;\n    };\n    /**\n     * Registers handlers for handling emitted values, error and completions from the observable, and\n     *  executes the observable's subscriber function, which will take action to set up the underlying data stream\n     * @method subscribe\n     * @param {PartialObserver|Function} observerOrNext (optional) either an observer defining all functions to be called,\n     *  or the first of three possible handlers, which is the handler for each value emitted from the observable.\n     * @param {Function} error (optional) a handler for a terminal event resulting from an error. If no error handler is provided,\n     *  the error will be thrown as unhandled\n     * @param {Function} complete (optional) a handler for a terminal event resulting from successful completion.\n     * @return {ISubscription} a subscription reference to the registered handlers\n     */\n    Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n        var operator = this.operator;\n        var sink = toSubscriber_1.toSubscriber(observerOrNext, error, complete);\n        if (operator) {\n            operator.call(sink, this);\n        } else {\n            sink.add(this._subscribe(sink));\n        }\n        if (sink.syncErrorThrowable) {\n            sink.syncErrorThrowable = false;\n            if (sink.syncErrorThrown) {\n                throw sink.syncErrorValue;\n            }\n        }\n        return sink;\n    };\n    /**\n     * @method forEach\n     * @param {Function} next a handler for each value emitted by the observable\n     * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise\n     * @return {Promise} a promise that either resolves on observable completion or\n     *  rejects with the handled error\n     */\n    Observable.prototype.forEach = function (next, PromiseCtor) {\n        var _this = this;\n        if (!PromiseCtor) {\n            if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {\n                PromiseCtor = root_1.root.Rx.config.Promise;\n            } else if (root_1.root.Promise) {\n                PromiseCtor = root_1.root.Promise;\n            }\n        }\n        if (!PromiseCtor) {\n            throw new Error('no Promise impl found');\n        }\n        return new PromiseCtor(function (resolve, reject) {\n            var subscription = _this.subscribe(function (value) {\n                if (subscription) {\n                    // if there is a subscription, then we can surmise\n                    // the next handling is asynchronous. Any errors thrown\n                    // need to be rejected explicitly and unsubscribe must be\n                    // called manually\n                    try {\n                        next(value);\n                    } catch (err) {\n                        reject(err);\n                        subscription.unsubscribe();\n                    }\n                } else {\n                    // if there is NO subscription, then we're getting a nexted\n                    // value synchronously during subscription. We can just call it.\n                    // If it errors, Observable's `subscribe` will ensure the\n                    // unsubscription logic is called, then synchronously rethrow the error.\n                    // After that, Promise will trap the error and send it\n                    // down the rejection path.\n                    next(value);\n                }\n            }, reject, resolve);\n        });\n    };\n    Observable.prototype._subscribe = function (subscriber) {\n        return this.source.subscribe(subscriber);\n    };\n    /**\n     * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n     * @method Symbol.observable\n     * @return {Observable} this instance of the observable\n     */\n    Observable.prototype[observable_1.$$observable] = function () {\n        return this;\n    };\n    // HACK: Since TypeScript inherits static properties too, we have to\n    // fight against TypeScript here so Subject can have a different static create signature\n    /**\n     * Creates a new cold Observable by calling the Observable constructor\n     * @static true\n     * @owner Observable\n     * @method create\n     * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n     * @return {Observable} a new cold observable\n     */\n    Observable.create = function (subscribe) {\n        return new Observable(subscribe);\n    };\n    return Observable;\n}();\nexports.Observable = Observable;\n//# sourceMappingURL=Observable.js.map"},{"id":36,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","name":"./~/rxjs/Subscription.js","index":58,"index2":53,"size":6244,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":63,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","module":"./~/rxjs/Subject.js","moduleName":"./~/rxjs/Subject.js","type":"cjs require","userRequest":"./Subscription","loc":"13:21-46"},{"moduleId":64,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscriber.js","module":"./~/rxjs/Subscriber.js","moduleName":"./~/rxjs/Subscriber.js","type":"cjs require","userRequest":"./Subscription","loc":"14:21-46"},{"moduleId":79,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/SubjectSubscription.js","module":"./~/rxjs/SubjectSubscription.js","moduleName":"./~/rxjs/SubjectSubscription.js","type":"cjs require","userRequest":"./Subscription","loc":"11:21-46"}],"source":"\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar isArray_1 = require('./util/isArray');\nvar isObject_1 = require('./util/isObject');\nvar isFunction_1 = require('./util/isFunction');\nvar tryCatch_1 = require('./util/tryCatch');\nvar errorObject_1 = require('./util/errorObject');\nvar UnsubscriptionError_1 = require('./util/UnsubscriptionError');\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nvar Subscription = function () {\n    /**\n     * @param {function(): void} [unsubscribe] A function describing how to\n     * perform the disposal of resources when the `unsubscribe` method is called.\n     */\n    function Subscription(unsubscribe) {\n        /**\n         * A flag to indicate whether this Subscription has already been unsubscribed.\n         * @type {boolean}\n         */\n        this.closed = false;\n        if (unsubscribe) {\n            this._unsubscribe = unsubscribe;\n        }\n    }\n    /**\n     * Disposes the resources held by the subscription. May, for instance, cancel\n     * an ongoing Observable execution or cancel any other type of work that\n     * started when the Subscription was created.\n     * @return {void}\n     */\n    Subscription.prototype.unsubscribe = function () {\n        var hasErrors = false;\n        var errors;\n        if (this.closed) {\n            return;\n        }\n        this.closed = true;\n        var _a = this,\n            _unsubscribe = _a._unsubscribe,\n            _subscriptions = _a._subscriptions;\n        this._subscriptions = null;\n        if (isFunction_1.isFunction(_unsubscribe)) {\n            var trial = tryCatch_1.tryCatch(_unsubscribe).call(this);\n            if (trial === errorObject_1.errorObject) {\n                hasErrors = true;\n                (errors = errors || []).push(errorObject_1.errorObject.e);\n            }\n        }\n        if (isArray_1.isArray(_subscriptions)) {\n            var index = -1;\n            var len = _subscriptions.length;\n            while (++index < len) {\n                var sub = _subscriptions[index];\n                if (isObject_1.isObject(sub)) {\n                    var trial = tryCatch_1.tryCatch(sub.unsubscribe).call(sub);\n                    if (trial === errorObject_1.errorObject) {\n                        hasErrors = true;\n                        errors = errors || [];\n                        var err = errorObject_1.errorObject.e;\n                        if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {\n                            errors = errors.concat(err.errors);\n                        } else {\n                            errors.push(err);\n                        }\n                    }\n                }\n            }\n        }\n        if (hasErrors) {\n            throw new UnsubscriptionError_1.UnsubscriptionError(errors);\n        }\n    };\n    /**\n     * Adds a tear down to be called during the unsubscribe() of this\n     * Subscription.\n     *\n     * If the tear down being added is a subscription that is already\n     * unsubscribed, is the same reference `add` is being called on, or is\n     * `Subscription.EMPTY`, it will not be added.\n     *\n     * If this subscription is already in an `closed` state, the passed\n     * tear down logic will be executed immediately.\n     *\n     * @param {TeardownLogic} teardown The additional logic to execute on\n     * teardown.\n     * @return {Subscription} Returns the Subscription used or created to be\n     * added to the inner subscriptions list. This Subscription can be used with\n     * `remove()` to remove the passed teardown logic from the inner subscriptions\n     * list.\n     */\n    Subscription.prototype.add = function (teardown) {\n        if (!teardown || teardown === Subscription.EMPTY) {\n            return Subscription.EMPTY;\n        }\n        if (teardown === this) {\n            return this;\n        }\n        var sub = teardown;\n        switch (typeof teardown === 'undefined' ? 'undefined' : _typeof(teardown)) {\n            case 'function':\n                sub = new Subscription(teardown);\n            case 'object':\n                if (sub.closed || typeof sub.unsubscribe !== 'function') {\n                    break;\n                } else if (this.closed) {\n                    sub.unsubscribe();\n                } else {\n                    (this._subscriptions || (this._subscriptions = [])).push(sub);\n                }\n                break;\n            default:\n                throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n        }\n        return sub;\n    };\n    /**\n     * Removes a Subscription from the internal list of subscriptions that will\n     * unsubscribe during the unsubscribe process of this Subscription.\n     * @param {Subscription} subscription The subscription to remove.\n     * @return {void}\n     */\n    Subscription.prototype.remove = function (subscription) {\n        // HACK: This might be redundant because of the logic in `add()`\n        if (subscription == null || subscription === this || subscription === Subscription.EMPTY) {\n            return;\n        }\n        var subscriptions = this._subscriptions;\n        if (subscriptions) {\n            var subscriptionIndex = subscriptions.indexOf(subscription);\n            if (subscriptionIndex !== -1) {\n                subscriptions.splice(subscriptionIndex, 1);\n            }\n        }\n    };\n    Subscription.EMPTY = function (empty) {\n        empty.closed = true;\n        return empty;\n    }(new Subscription());\n    return Subscription;\n}();\nexports.Subscription = Subscription;\n//# sourceMappingURL=Subscription.js.map"},{"id":37,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/symbol/rxSubscriber.js","name":"./~/rxjs/symbol/rxSubscriber.js","index":65,"index2":55,"size":269,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":63,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","module":"./~/rxjs/Subject.js","moduleName":"./~/rxjs/Subject.js","type":"cjs require","userRequest":"./symbol/rxSubscriber","loc":"16:21-53"},{"moduleId":64,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscriber.js","module":"./~/rxjs/Subscriber.js","moduleName":"./~/rxjs/Subscriber.js","type":"cjs require","userRequest":"./symbol/rxSubscriber","loc":"16:21-53"},{"moduleId":87,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/toSubscriber.js","module":"./~/rxjs/util/toSubscriber.js","moduleName":"./~/rxjs/util/toSubscriber.js","type":"cjs require","userRequest":"../symbol/rxSubscriber","loc":"4:21-54"}],"source":"\"use strict\";\n\nvar root_1 = require('../util/root');\nvar _Symbol = root_1.root.Symbol;\nexports.$$rxSubscriber = typeof _Symbol === 'function' && typeof _Symbol.for === 'function' ? _Symbol.for('rxSubscriber') : '@@rxSubscriber';\n//# sourceMappingURL=rxSubscriber.js.map"},{"id":38,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/utilities.js","name":"./core/src/utilities.js","index":88,"index2":86,"size":1647,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":68,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/conformToMask.js","module":"./core/src/conformToMask.js","moduleName":"./core/src/conformToMask.js","type":"cjs require","userRequest":"./utilities.js","loc":"8:17-42"},{"moduleId":69,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","module":"./core/src/createTextMaskInputElement.js","moduleName":"./core/src/createTextMaskInputElement.js","type":"cjs require","userRequest":"./utilities.js","loc":"21:17-42"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.convertMaskToPlaceholder = convertMaskToPlaceholder;\nexports.isString = isString;\nexports.isNumber = isNumber;\nexports.processCaretTraps = processCaretTraps;\n\nvar _constants = require('./constants.js');\n\nvar emptyArray = [];\n\nfunction convertMaskToPlaceholder() {\n  var mask = arguments.length <= 0 || arguments[0] === undefined ? emptyArray : arguments[0];\n  var placeholderChar = arguments.length <= 1 || arguments[1] === undefined ? _constants.placeholderChar : arguments[1];\n\n  if (mask.indexOf(placeholderChar) !== -1) {\n    throw new Error('Placeholder character must not be used as part of the mask. Please specify a character ' + 'that is not present in your mask as your placeholder character.\\n\\n' + ('The placeholder character that was received is: ' + JSON.stringify(placeholderChar) + '\\n\\n') + ('The mask that was received is: ' + JSON.stringify(mask)));\n  }\n\n  return mask.map(function (char) {\n    return char instanceof RegExp ? placeholderChar : char;\n  }).join('');\n}\n\nfunction isString(value) {\n  return typeof value === 'string' || value instanceof String;\n}\n\nfunction isNumber(value) {\n  return typeof value === 'number' && value.length === undefined && !isNaN(value);\n}\n\nvar strCaretTrap = '[]';\nfunction processCaretTraps(mask) {\n  var indexes = [];\n\n  var indexOfCaretTrap = void 0;\n  while (indexOfCaretTrap = mask.indexOf(strCaretTrap), indexOfCaretTrap !== -1) {\n    // eslint-disable-line\n    indexes.push(indexOfCaretTrap);\n\n    mask.splice(indexOfCaretTrap, 1);\n  }\n\n  return { maskWithoutCaretTraps: mask, indexes: indexes };\n}"},{"id":39,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/common_directives.js","name":"./~/@angular/common/src/common_directives.js","index":3,"index2":16,"size":1658,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/common_directives","loc":"16:26-60"},{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/common_directives","loc":"21:9-43"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar directives_1 = require('./directives');\n/**\n * A collection of Angular core directives that are likely to be used in each and every Angular\n * application. This includes core directives (e.g., NgIf and NgFor), and forms directives (e.g.,\n * NgModel).\n *\n * This collection can be used to quickly enumerate all the built-in directives in the `directives`\n * property of the `@Component` decorator.\n *\n * ### Example\n *\n * Instead of writing:\n *\n * ```typescript\n * import {NgClass, NgIf, NgFor, NgSwitch, NgSwitchWhen, NgSwitchDefault, NgModel, NgForm} from\n * '@angular/common';\n * import {OtherDirective} from './myDirectives';\n *\n * @Component({\n *   selector: 'my-component',\n *   templateUrl: 'myComponent.html',\n *   directives: [NgClass, NgIf, NgFor, NgSwitch, NgSwitchWhen, NgSwitchDefault, NgModel, NgForm,\n * OtherDirective]\n * })\n * export class MyComponent {\n *   ...\n * }\n * ```\n * one could import all the common directives at once:\n *\n * ```typescript\n * import {COMMON_DIRECTIVES} from '@angular/common';\n * import {OtherDirective} from './myDirectives';\n *\n * @Component({\n *   selector: 'my-component',\n *   templateUrl: 'myComponent.html',\n *   directives: [COMMON_DIRECTIVES, OtherDirective]\n * })\n * export class MyComponent {\n *   ...\n * }\n * ```\n *\n * @experimental Contains forms which are experimental.\n */\nexports.COMMON_DIRECTIVES = [directives_1.CORE_DIRECTIVES];\n//# sourceMappingURL=common_directives.js.map"},{"id":40,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","name":"./~/@angular/common/src/directives.js","index":4,"index2":15,"size":1269,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":39,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/common_directives.js","module":"./~/@angular/common/src/common_directives.js","moduleName":"./~/@angular/common/src/common_directives.js","type":"cjs require","userRequest":"./directives","loc":"10:19-42"},{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/directives","loc":"19:9-36"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n/**\n * @module\n * @description\n * Common directives shipped with Angular.\n */\n\nvar core_directives_1 = require('./directives/core_directives');\nexports.CORE_DIRECTIVES = core_directives_1.CORE_DIRECTIVES;\nvar ng_class_1 = require('./directives/ng_class');\nexports.NgClass = ng_class_1.NgClass;\nvar ng_for_1 = require('./directives/ng_for');\nexports.NgFor = ng_for_1.NgFor;\nvar ng_if_1 = require('./directives/ng_if');\nexports.NgIf = ng_if_1.NgIf;\nvar ng_plural_1 = require('./directives/ng_plural');\nexports.NgPlural = ng_plural_1.NgPlural;\nexports.NgPluralCase = ng_plural_1.NgPluralCase;\nvar ng_style_1 = require('./directives/ng_style');\nexports.NgStyle = ng_style_1.NgStyle;\nvar ng_switch_1 = require('./directives/ng_switch');\nexports.NgSwitch = ng_switch_1.NgSwitch;\nexports.NgSwitchCase = ng_switch_1.NgSwitchCase;\nexports.NgSwitchDefault = ng_switch_1.NgSwitchDefault;\nvar ng_template_outlet_1 = require('./directives/ng_template_outlet');\nexports.NgTemplateOutlet = ng_template_outlet_1.NgTemplateOutlet;\n//# sourceMappingURL=directives.js.map"},{"id":41,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_class.js","name":"./~/@angular/common/src/directives/ng_class.js","index":6,"index2":3,"size":5561,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_class","loc":"17:17-49"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_class","loc":"10:17-38"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../facade/collection');\nvar lang_1 = require('../facade/lang');\nvar NgClass = function () {\n    function NgClass(_iterableDiffers, _keyValueDiffers, _ngEl, _renderer) {\n        this._iterableDiffers = _iterableDiffers;\n        this._keyValueDiffers = _keyValueDiffers;\n        this._ngEl = _ngEl;\n        this._renderer = _renderer;\n        this._initialClasses = [];\n    }\n    Object.defineProperty(NgClass.prototype, \"initialClasses\", {\n        set: function set(v) {\n            this._applyInitialClasses(true);\n            this._initialClasses = lang_1.isPresent(v) && lang_1.isString(v) ? v.split(' ') : [];\n            this._applyInitialClasses(false);\n            this._applyClasses(this._rawClass, false);\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgClass.prototype, \"ngClass\", {\n        set: function set(v) {\n            this._cleanupClasses(this._rawClass);\n            if (lang_1.isString(v)) {\n                v = v.split(' ');\n            }\n            this._rawClass = v;\n            this._iterableDiffer = null;\n            this._keyValueDiffer = null;\n            if (lang_1.isPresent(v)) {\n                if (collection_1.isListLikeIterable(v)) {\n                    this._iterableDiffer = this._iterableDiffers.find(v).create(null);\n                } else {\n                    this._keyValueDiffer = this._keyValueDiffers.find(v).create(null);\n                }\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgClass.prototype.ngDoCheck = function () {\n        if (lang_1.isPresent(this._iterableDiffer)) {\n            var changes = this._iterableDiffer.diff(this._rawClass);\n            if (lang_1.isPresent(changes)) {\n                this._applyIterableChanges(changes);\n            }\n        }\n        if (lang_1.isPresent(this._keyValueDiffer)) {\n            var changes = this._keyValueDiffer.diff(this._rawClass);\n            if (lang_1.isPresent(changes)) {\n                this._applyKeyValueChanges(changes);\n            }\n        }\n    };\n    NgClass.prototype._cleanupClasses = function (rawClassVal) {\n        this._applyClasses(rawClassVal, true);\n        this._applyInitialClasses(false);\n    };\n    NgClass.prototype._applyKeyValueChanges = function (changes) {\n        var _this = this;\n        changes.forEachAddedItem(function (record) {\n            _this._toggleClass(record.key, record.currentValue);\n        });\n        changes.forEachChangedItem(function (record) {\n            _this._toggleClass(record.key, record.currentValue);\n        });\n        changes.forEachRemovedItem(function (record) {\n            if (record.previousValue) {\n                _this._toggleClass(record.key, false);\n            }\n        });\n    };\n    NgClass.prototype._applyIterableChanges = function (changes) {\n        var _this = this;\n        changes.forEachAddedItem(function (record) {\n            _this._toggleClass(record.item, true);\n        });\n        changes.forEachRemovedItem(function (record) {\n            _this._toggleClass(record.item, false);\n        });\n    };\n    NgClass.prototype._applyInitialClasses = function (isCleanup) {\n        var _this = this;\n        this._initialClasses.forEach(function (className) {\n            return _this._toggleClass(className, !isCleanup);\n        });\n    };\n    NgClass.prototype._applyClasses = function (rawClassVal, isCleanup) {\n        var _this = this;\n        if (lang_1.isPresent(rawClassVal)) {\n            if (lang_1.isArray(rawClassVal)) {\n                rawClassVal.forEach(function (className) {\n                    return _this._toggleClass(className, !isCleanup);\n                });\n            } else if (rawClassVal instanceof Set) {\n                rawClassVal.forEach(function (className) {\n                    return _this._toggleClass(className, !isCleanup);\n                });\n            } else {\n                collection_1.StringMapWrapper.forEach(rawClassVal, function (expVal, className) {\n                    if (lang_1.isPresent(expVal)) _this._toggleClass(className, !isCleanup);\n                });\n            }\n        }\n    };\n    NgClass.prototype._toggleClass = function (className, enabled) {\n        className = className.trim();\n        if (className.length > 0) {\n            if (className.indexOf(' ') > -1) {\n                var classes = className.split(/\\s+/g);\n                for (var i = 0, len = classes.length; i < len; i++) {\n                    this._renderer.setElementClass(this._ngEl.nativeElement, classes[i], enabled);\n                }\n            } else {\n                this._renderer.setElementClass(this._ngEl.nativeElement, className, enabled);\n            }\n        }\n    };\n    /** @nocollapse */\n    NgClass.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngClass]' }] }];\n    /** @nocollapse */\n    NgClass.ctorParameters = [{ type: core_1.IterableDiffers }, { type: core_1.KeyValueDiffers }, { type: core_1.ElementRef }, { type: core_1.Renderer }];\n    /** @nocollapse */\n    NgClass.propDecorators = {\n        'initialClasses': [{ type: core_1.Input, args: ['class'] }],\n        'ngClass': [{ type: core_1.Input }]\n    };\n    return NgClass;\n}();\nexports.NgClass = NgClass;\n//# sourceMappingURL=ng_class.js.map"},{"id":42,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_for.js","name":"./~/@angular/common/src/directives/ng_for.js","index":9,"index2":7,"size":5234,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_for","loc":"19:15-45"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_for","loc":"11:15-34"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar exceptions_1 = require('../facade/exceptions');\nvar lang_1 = require('../facade/lang');\nvar NgForRow = function () {\n    function NgForRow($implicit, index, count) {\n        this.$implicit = $implicit;\n        this.index = index;\n        this.count = count;\n    }\n    Object.defineProperty(NgForRow.prototype, \"first\", {\n        get: function get() {\n            return this.index === 0;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForRow.prototype, \"last\", {\n        get: function get() {\n            return this.index === this.count - 1;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForRow.prototype, \"even\", {\n        get: function get() {\n            return this.index % 2 === 0;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgForRow.prototype, \"odd\", {\n        get: function get() {\n            return !this.even;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return NgForRow;\n}();\nexports.NgForRow = NgForRow;\nvar NgFor = function () {\n    function NgFor(_viewContainer, _templateRef, _iterableDiffers, _cdr) {\n        this._viewContainer = _viewContainer;\n        this._templateRef = _templateRef;\n        this._iterableDiffers = _iterableDiffers;\n        this._cdr = _cdr;\n    }\n    Object.defineProperty(NgFor.prototype, \"ngForTemplate\", {\n        set: function set(value) {\n            if (lang_1.isPresent(value)) {\n                this._templateRef = value;\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgFor.prototype.ngOnChanges = function (changes) {\n        if ('ngForOf' in changes) {\n            // React on ngForOf changes only once all inputs have been initialized\n            var value = changes['ngForOf'].currentValue;\n            if (lang_1.isBlank(this._differ) && lang_1.isPresent(value)) {\n                try {\n                    this._differ = this._iterableDiffers.find(value).create(this._cdr, this.ngForTrackBy);\n                } catch (e) {\n                    throw new exceptions_1.BaseException(\"Cannot find a differ supporting object '\" + value + \"' of type '\" + lang_1.getTypeNameForDebugging(value) + \"'. NgFor only supports binding to Iterables such as Arrays.\");\n                }\n            }\n        }\n    };\n    NgFor.prototype.ngDoCheck = function () {\n        if (lang_1.isPresent(this._differ)) {\n            var changes = this._differ.diff(this.ngForOf);\n            if (lang_1.isPresent(changes)) this._applyChanges(changes);\n        }\n    };\n    NgFor.prototype._applyChanges = function (changes) {\n        var _this = this;\n        var insertTuples = [];\n        changes.forEachOperation(function (item, adjustedPreviousIndex, currentIndex) {\n            if (item.previousIndex == null) {\n                var view = _this._viewContainer.createEmbeddedView(_this._templateRef, new NgForRow(null, null, null), currentIndex);\n                var tuple = new RecordViewTuple(item, view);\n                insertTuples.push(tuple);\n            } else if (currentIndex == null) {\n                _this._viewContainer.remove(adjustedPreviousIndex);\n            } else {\n                var view = _this._viewContainer.get(adjustedPreviousIndex);\n                _this._viewContainer.move(view, currentIndex);\n                var tuple = new RecordViewTuple(item, view);\n                insertTuples.push(tuple);\n            }\n        });\n        for (var i = 0; i < insertTuples.length; i++) {\n            this._perViewChange(insertTuples[i].view, insertTuples[i].record);\n        }\n        for (var i = 0, ilen = this._viewContainer.length; i < ilen; i++) {\n            var viewRef = this._viewContainer.get(i);\n            viewRef.context.index = i;\n            viewRef.context.count = ilen;\n        }\n        changes.forEachIdentityChange(function (record) {\n            var viewRef = _this._viewContainer.get(record.currentIndex);\n            viewRef.context.$implicit = record.item;\n        });\n    };\n    NgFor.prototype._perViewChange = function (view, record) {\n        view.context.$implicit = record.item;\n    };\n    /** @nocollapse */\n    NgFor.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngFor][ngForOf]' }] }];\n    /** @nocollapse */\n    NgFor.ctorParameters = [{ type: core_1.ViewContainerRef }, { type: core_1.TemplateRef }, { type: core_1.IterableDiffers }, { type: core_1.ChangeDetectorRef }];\n    /** @nocollapse */\n    NgFor.propDecorators = {\n        'ngForOf': [{ type: core_1.Input }],\n        'ngForTrackBy': [{ type: core_1.Input }],\n        'ngForTemplate': [{ type: core_1.Input }]\n    };\n    return NgFor;\n}();\nexports.NgFor = NgFor;\nvar RecordViewTuple = function () {\n    function RecordViewTuple(record, view) {\n        this.record = record;\n        this.view = view;\n    }\n    return RecordViewTuple;\n}();\n//# sourceMappingURL=ng_for.js.map"},{"id":43,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_if.js","name":"./~/@angular/common/src/directives/ng_if.js","index":13,"index2":8,"size":1490,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_if","loc":"21:14-43"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_if","loc":"12:14-32"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar NgIf = function () {\n    function NgIf(_viewContainer, _templateRef) {\n        this._viewContainer = _viewContainer;\n        this._templateRef = _templateRef;\n        this._prevCondition = null;\n    }\n    Object.defineProperty(NgIf.prototype, \"ngIf\", {\n        set: function set(newCondition) {\n            if (newCondition && (lang_1.isBlank(this._prevCondition) || !this._prevCondition)) {\n                this._prevCondition = true;\n                this._viewContainer.createEmbeddedView(this._templateRef);\n            } else if (!newCondition && (lang_1.isBlank(this._prevCondition) || this._prevCondition)) {\n                this._prevCondition = false;\n                this._viewContainer.clear();\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    /** @nocollapse */\n    NgIf.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngIf]' }] }];\n    /** @nocollapse */\n    NgIf.ctorParameters = [{ type: core_1.ViewContainerRef }, { type: core_1.TemplateRef }];\n    /** @nocollapse */\n    NgIf.propDecorators = {\n        'ngIf': [{ type: core_1.Input }]\n    };\n    return NgIf;\n}();\nexports.NgIf = NgIf;\n//# sourceMappingURL=ng_if.js.map"},{"id":44,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_plural.js","name":"./~/@angular/common/src/directives/ng_plural.js","index":14,"index2":11,"size":2612,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_plural","loc":"23:18-51"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_plural","loc":"13:18-40"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar localization_1 = require('../localization');\nvar ng_switch_1 = require('./ng_switch');\nvar NgPlural = function () {\n    function NgPlural(_localization) {\n        this._localization = _localization;\n        this._caseViews = {};\n    }\n    Object.defineProperty(NgPlural.prototype, \"ngPlural\", {\n        set: function set(value) {\n            this._switchValue = value;\n            this._updateView();\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgPlural.prototype.addCase = function (value, switchView) {\n        this._caseViews[value] = switchView;\n    };\n    /** @internal */\n    NgPlural.prototype._updateView = function () {\n        this._clearViews();\n        var key = localization_1.getPluralCategory(this._switchValue, Object.keys(this._caseViews), this._localization);\n        this._activateView(this._caseViews[key]);\n    };\n    /** @internal */\n    NgPlural.prototype._clearViews = function () {\n        if (lang_1.isPresent(this._activeView)) this._activeView.destroy();\n    };\n    /** @internal */\n    NgPlural.prototype._activateView = function (view) {\n        if (!lang_1.isPresent(view)) return;\n        this._activeView = view;\n        this._activeView.create();\n    };\n    /** @nocollapse */\n    NgPlural.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngPlural]' }] }];\n    /** @nocollapse */\n    NgPlural.ctorParameters = [{ type: localization_1.NgLocalization }];\n    /** @nocollapse */\n    NgPlural.propDecorators = {\n        'ngPlural': [{ type: core_1.Input }]\n    };\n    return NgPlural;\n}();\nexports.NgPlural = NgPlural;\nvar NgPluralCase = function () {\n    function NgPluralCase(value, template, viewContainer, ngPlural) {\n        this.value = value;\n        ngPlural.addCase(value, new ng_switch_1.SwitchView(viewContainer, template));\n    }\n    /** @nocollapse */\n    NgPluralCase.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngPluralCase]' }] }];\n    /** @nocollapse */\n    NgPluralCase.ctorParameters = [{ type: undefined, decorators: [{ type: core_1.Attribute, args: ['ngPluralCase'] }] }, { type: core_1.TemplateRef }, { type: core_1.ViewContainerRef }, { type: NgPlural, decorators: [{ type: core_1.Host }] }];\n    return NgPluralCase;\n}();\nexports.NgPluralCase = NgPluralCase;\n//# sourceMappingURL=ng_plural.js.map"},{"id":45,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_style.js","name":"./~/@angular/common/src/directives/ng_style.js","index":17,"index2":12,"size":2357,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_style","loc":"26:17-49"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_style","loc":"14:17-38"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar NgStyle = function () {\n    function NgStyle(_differs, _ngEl, _renderer) {\n        this._differs = _differs;\n        this._ngEl = _ngEl;\n        this._renderer = _renderer;\n    }\n    Object.defineProperty(NgStyle.prototype, \"ngStyle\", {\n        set: function set(v) {\n            this._ngStyle = v;\n            if (lang_1.isBlank(this._differ) && lang_1.isPresent(v)) {\n                this._differ = this._differs.find(this._ngStyle).create(null);\n            }\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgStyle.prototype.ngDoCheck = function () {\n        if (lang_1.isPresent(this._differ)) {\n            var changes = this._differ.diff(this._ngStyle);\n            if (lang_1.isPresent(changes)) {\n                this._applyChanges(changes);\n            }\n        }\n    };\n    NgStyle.prototype._applyChanges = function (changes) {\n        var _this = this;\n        changes.forEachRemovedItem(function (record) {\n            _this._setStyle(record.key, null);\n        });\n        changes.forEachAddedItem(function (record) {\n            _this._setStyle(record.key, record.currentValue);\n        });\n        changes.forEachChangedItem(function (record) {\n            _this._setStyle(record.key, record.currentValue);\n        });\n    };\n    NgStyle.prototype._setStyle = function (name, val) {\n        var nameParts = name.split('.');\n        var nameToSet = nameParts[0];\n        var valToSet = lang_1.isPresent(val) && nameParts.length === 2 ? \"\" + val + nameParts[1] : val;\n        this._renderer.setElementStyle(this._ngEl.nativeElement, nameToSet, valToSet);\n    };\n    /** @nocollapse */\n    NgStyle.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngStyle]' }] }];\n    /** @nocollapse */\n    NgStyle.ctorParameters = [{ type: core_1.KeyValueDiffers }, { type: core_1.ElementRef }, { type: core_1.Renderer }];\n    /** @nocollapse */\n    NgStyle.propDecorators = {\n        'ngStyle': [{ type: core_1.Input }]\n    };\n    return NgStyle;\n}();\nexports.NgStyle = NgStyle;\n//# sourceMappingURL=ng_style.js.map"},{"id":46,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/ng_template_outlet.js","name":"./~/@angular/common/src/directives/ng_template_outlet.js","index":18,"index2":13,"size":1731,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/ng_template_outlet","loc":"32:27-69"},{"moduleId":71,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","module":"./~/@angular/common/src/directives/core_directives.js","moduleName":"./~/@angular/common/src/directives/core_directives.js","type":"cjs require","userRequest":"./ng_template_outlet","loc":"16:27-58"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar NgTemplateOutlet = function () {\n    function NgTemplateOutlet(_viewContainerRef) {\n        this._viewContainerRef = _viewContainerRef;\n    }\n    Object.defineProperty(NgTemplateOutlet.prototype, \"ngOutletContext\", {\n        set: function set(context) {\n            this._context = context;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(NgTemplateOutlet.prototype, \"ngTemplateOutlet\", {\n        set: function set(templateRef) {\n            this._templateRef = templateRef;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    NgTemplateOutlet.prototype.ngOnChanges = function () {\n        if (this._viewRef) {\n            this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._viewRef));\n        }\n        if (this._templateRef) {\n            this._viewRef = this._viewContainerRef.createEmbeddedView(this._templateRef, this._context);\n        }\n    };\n    /** @nocollapse */\n    NgTemplateOutlet.decorators = [{ type: core_1.Directive, args: [{ selector: '[ngTemplateOutlet]' }] }];\n    /** @nocollapse */\n    NgTemplateOutlet.ctorParameters = [{ type: core_1.ViewContainerRef }];\n    /** @nocollapse */\n    NgTemplateOutlet.propDecorators = {\n        'ngOutletContext': [{ type: core_1.Input }],\n        'ngTemplateOutlet': [{ type: core_1.Input }]\n    };\n    return NgTemplateOutlet;\n}();\nexports.NgTemplateOutlet = NgTemplateOutlet;\n//# sourceMappingURL=ng_template_outlet.js.map"},{"id":47,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/base_wrapped_exception.js","name":"./~/@angular/common/src/facade/base_wrapped_exception.js","index":11,"index2":4,"size":2205,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exceptions.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":7,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exceptions.js","module":"./~/@angular/common/src/facade/exceptions.js","moduleName":"./~/@angular/common/src/facade/exceptions.js","type":"cjs require","userRequest":"./base_wrapped_exception","loc":"18:31-66"},{"moduleId":48,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exception_handler.js","module":"./~/@angular/common/src/facade/exception_handler.js","moduleName":"./~/@angular/common/src/facade/exception_handler.js","type":"cjs require","userRequest":"./base_wrapped_exception","loc":"10:31-66"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * A base class for the WrappedException that can be used to identify\n * a WrappedException from ExceptionHandler without adding circular\n * dependency.\n */\nvar BaseWrappedException = function (_super) {\n    __extends(BaseWrappedException, _super);\n    function BaseWrappedException(message) {\n        _super.call(this, message);\n    }\n    Object.defineProperty(BaseWrappedException.prototype, \"wrapperMessage\", {\n        get: function get() {\n            return '';\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseWrappedException.prototype, \"wrapperStack\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseWrappedException.prototype, \"originalException\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseWrappedException.prototype, \"originalStack\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseWrappedException.prototype, \"context\", {\n        get: function get() {\n            return null;\n        },\n        enumerable: true,\n        configurable: true\n    });\n    Object.defineProperty(BaseWrappedException.prototype, \"message\", {\n        get: function get() {\n            return '';\n        },\n        enumerable: true,\n        configurable: true\n    });\n    return BaseWrappedException;\n}(Error);\nexports.BaseWrappedException = BaseWrappedException;\n//# sourceMappingURL=base_wrapped_exception.js.map"},{"id":48,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exception_handler.js","name":"./~/@angular/common/src/facade/exception_handler.js","index":12,"index2":5,"size":5798,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exceptions.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":7,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exceptions.js","module":"./~/@angular/common/src/facade/exceptions.js","moduleName":"./~/@angular/common/src/facade/exceptions.js","type":"cjs require","userRequest":"./exception_handler","loc":"19:26-56"},{"moduleId":7,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/exceptions.js","module":"./~/@angular/common/src/facade/exceptions.js","moduleName":"./~/@angular/common/src/facade/exceptions.js","type":"cjs require","userRequest":"./exception_handler","loc":"20:26-56"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar base_wrapped_exception_1 = require('./base_wrapped_exception');\nvar collection_1 = require('./collection');\nvar lang_1 = require('./lang');\nvar _ArrayLogger = function () {\n    function _ArrayLogger() {\n        this.res = [];\n    }\n    _ArrayLogger.prototype.log = function (s) {\n        this.res.push(s);\n    };\n    _ArrayLogger.prototype.logError = function (s) {\n        this.res.push(s);\n    };\n    _ArrayLogger.prototype.logGroup = function (s) {\n        this.res.push(s);\n    };\n    _ArrayLogger.prototype.logGroupEnd = function () {};\n    ;\n    return _ArrayLogger;\n}();\n/**\n * Provides a hook for centralized exception handling.\n *\n * The default implementation of `ExceptionHandler` prints error messages to the `Console`. To\n * intercept error handling,\n * write a custom exception handler that replaces this default as appropriate for your app.\n *\n * ### Example\n *\n * ```javascript\n *\n * class MyExceptionHandler implements ExceptionHandler {\n *   call(error, stackTrace = null, reason = null) {\n *     // do something with the exception\n *   }\n * }\n *\n * bootstrap(MyApp, [{provide: ExceptionHandler, useClass: MyExceptionHandler}])\n *\n * ```\n * @stable\n */\nvar ExceptionHandler = function () {\n    function ExceptionHandler(_logger, _rethrowException) {\n        if (_rethrowException === void 0) {\n            _rethrowException = true;\n        }\n        this._logger = _logger;\n        this._rethrowException = _rethrowException;\n    }\n    ExceptionHandler.exceptionToString = function (exception, stackTrace, reason) {\n        if (stackTrace === void 0) {\n            stackTrace = null;\n        }\n        if (reason === void 0) {\n            reason = null;\n        }\n        var l = new _ArrayLogger();\n        var e = new ExceptionHandler(l, false);\n        e.call(exception, stackTrace, reason);\n        return l.res.join('\\n');\n    };\n    ExceptionHandler.prototype.call = function (exception, stackTrace, reason) {\n        if (stackTrace === void 0) {\n            stackTrace = null;\n        }\n        if (reason === void 0) {\n            reason = null;\n        }\n        var originalException = this._findOriginalException(exception);\n        var originalStack = this._findOriginalStack(exception);\n        var context = this._findContext(exception);\n        this._logger.logGroup(\"EXCEPTION: \" + this._extractMessage(exception));\n        if (lang_1.isPresent(stackTrace) && lang_1.isBlank(originalStack)) {\n            this._logger.logError('STACKTRACE:');\n            this._logger.logError(this._longStackTrace(stackTrace));\n        }\n        if (lang_1.isPresent(reason)) {\n            this._logger.logError(\"REASON: \" + reason);\n        }\n        if (lang_1.isPresent(originalException)) {\n            this._logger.logError(\"ORIGINAL EXCEPTION: \" + this._extractMessage(originalException));\n        }\n        if (lang_1.isPresent(originalStack)) {\n            this._logger.logError('ORIGINAL STACKTRACE:');\n            this._logger.logError(this._longStackTrace(originalStack));\n        }\n        if (lang_1.isPresent(context)) {\n            this._logger.logError('ERROR CONTEXT:');\n            this._logger.logError(context);\n        }\n        this._logger.logGroupEnd();\n        // We rethrow exceptions, so operations like 'bootstrap' will result in an error\n        // when an exception happens. If we do not rethrow, bootstrap will always succeed.\n        if (this._rethrowException) throw exception;\n    };\n    /** @internal */\n    ExceptionHandler.prototype._extractMessage = function (exception) {\n        return exception instanceof base_wrapped_exception_1.BaseWrappedException ? exception.wrapperMessage : exception.toString();\n    };\n    /** @internal */\n    ExceptionHandler.prototype._longStackTrace = function (stackTrace) {\n        return collection_1.isListLikeIterable(stackTrace) ? stackTrace.join('\\n\\n-----async gap-----\\n') : stackTrace.toString();\n    };\n    /** @internal */\n    ExceptionHandler.prototype._findContext = function (exception) {\n        try {\n            if (!(exception instanceof base_wrapped_exception_1.BaseWrappedException)) return null;\n            return lang_1.isPresent(exception.context) ? exception.context : this._findContext(exception.originalException);\n        } catch (e) {\n            // exception.context can throw an exception. if it happens, we ignore the context.\n            return null;\n        }\n    };\n    /** @internal */\n    ExceptionHandler.prototype._findOriginalException = function (exception) {\n        if (!(exception instanceof base_wrapped_exception_1.BaseWrappedException)) return null;\n        var e = exception.originalException;\n        while (e instanceof base_wrapped_exception_1.BaseWrappedException && lang_1.isPresent(e.originalException)) {\n            e = e.originalException;\n        }\n        return e;\n    };\n    /** @internal */\n    ExceptionHandler.prototype._findOriginalStack = function (exception) {\n        if (!(exception instanceof base_wrapped_exception_1.BaseWrappedException)) return null;\n        var e = exception;\n        var stack = exception.originalStack;\n        while (e instanceof base_wrapped_exception_1.BaseWrappedException && lang_1.isPresent(e.originalException)) {\n            e = e.originalException;\n            if (e instanceof base_wrapped_exception_1.BaseWrappedException && lang_1.isPresent(e.originalException)) {\n                stack = e.originalStack;\n            }\n        }\n        return stack;\n    };\n    return ExceptionHandler;\n}();\nexports.ExceptionHandler = ExceptionHandler;\n//# sourceMappingURL=exception_handler.js.map"},{"id":49,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/intl.js","name":"./~/@angular/common/src/facade/intl.js","index":24,"index2":19,"size":8434,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":54,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","module":"./~/@angular/common/src/pipes/date_pipe.js","moduleName":"./~/@angular/common/src/pipes/date_pipe.js","type":"cjs require","userRequest":"../facade/intl","loc":"12:13-38"},{"moduleId":59,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/number_pipe.js","module":"./~/@angular/common/src/pipes/number_pipe.js","moduleName":"./~/@angular/common/src/pipes/number_pipe.js","type":"cjs require","userRequest":"../facade/intl","loc":"11:13-38"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\n(function (NumberFormatStyle) {\n    NumberFormatStyle[NumberFormatStyle[\"Decimal\"] = 0] = \"Decimal\";\n    NumberFormatStyle[NumberFormatStyle[\"Percent\"] = 1] = \"Percent\";\n    NumberFormatStyle[NumberFormatStyle[\"Currency\"] = 2] = \"Currency\";\n})(exports.NumberFormatStyle || (exports.NumberFormatStyle = {}));\nvar NumberFormatStyle = exports.NumberFormatStyle;\nvar NumberFormatter = function () {\n    function NumberFormatter() {}\n    NumberFormatter.format = function (num, locale, style, _a) {\n        var _b = _a === void 0 ? {} : _a,\n            minimumIntegerDigits = _b.minimumIntegerDigits,\n            minimumFractionDigits = _b.minimumFractionDigits,\n            maximumFractionDigits = _b.maximumFractionDigits,\n            currency = _b.currency,\n            _c = _b.currencyAsSymbol,\n            currencyAsSymbol = _c === void 0 ? false : _c;\n        var options = {\n            minimumIntegerDigits: minimumIntegerDigits,\n            minimumFractionDigits: minimumFractionDigits,\n            maximumFractionDigits: maximumFractionDigits,\n            style: NumberFormatStyle[style].toLowerCase()\n        };\n        if (style == NumberFormatStyle.Currency) {\n            options.currency = currency;\n            options.currencyDisplay = currencyAsSymbol ? 'symbol' : 'code';\n        }\n        return new Intl.NumberFormat(locale, options).format(num);\n    };\n    return NumberFormatter;\n}();\nexports.NumberFormatter = NumberFormatter;\nvar DATE_FORMATS_SPLIT = /((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/;\nvar PATTERN_ALIASES = {\n    yMMMdjms: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 3), digitCondition('day', 1), digitCondition('hour', 1), digitCondition('minute', 1), digitCondition('second', 1)])),\n    yMdjm: datePartGetterFactory(combine([digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1), digitCondition('hour', 1), digitCondition('minute', 1)])),\n    yMMMMEEEEd: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 4), nameCondition('weekday', 4), digitCondition('day', 1)])),\n    yMMMMd: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 4), digitCondition('day', 1)])),\n    yMMMd: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 3), digitCondition('day', 1)])),\n    yMd: datePartGetterFactory(combine([digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1)])),\n    jms: datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('second', 1), digitCondition('minute', 1)])),\n    jm: datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('minute', 1)]))\n};\nvar DATE_FORMATS = {\n    yyyy: datePartGetterFactory(digitCondition('year', 4)),\n    yy: datePartGetterFactory(digitCondition('year', 2)),\n    y: datePartGetterFactory(digitCondition('year', 1)),\n    MMMM: datePartGetterFactory(nameCondition('month', 4)),\n    MMM: datePartGetterFactory(nameCondition('month', 3)),\n    MM: datePartGetterFactory(digitCondition('month', 2)),\n    M: datePartGetterFactory(digitCondition('month', 1)),\n    LLLL: datePartGetterFactory(nameCondition('month', 4)),\n    dd: datePartGetterFactory(digitCondition('day', 2)),\n    d: datePartGetterFactory(digitCondition('day', 1)),\n    HH: digitModifier(hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), false)))),\n    H: hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), false))),\n    hh: digitModifier(hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), true)))),\n    h: hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), true))),\n    jj: datePartGetterFactory(digitCondition('hour', 2)),\n    j: datePartGetterFactory(digitCondition('hour', 1)),\n    mm: digitModifier(datePartGetterFactory(digitCondition('minute', 2))),\n    m: datePartGetterFactory(digitCondition('minute', 1)),\n    ss: digitModifier(datePartGetterFactory(digitCondition('second', 2))),\n    s: datePartGetterFactory(digitCondition('second', 1)),\n    // while ISO 8601 requires fractions to be prefixed with `.` or `,`\n    // we can be just safely rely on using `sss` since we currently don't support single or two digit\n    // fractions\n    sss: datePartGetterFactory(digitCondition('second', 3)),\n    EEEE: datePartGetterFactory(nameCondition('weekday', 4)),\n    EEE: datePartGetterFactory(nameCondition('weekday', 3)),\n    EE: datePartGetterFactory(nameCondition('weekday', 2)),\n    E: datePartGetterFactory(nameCondition('weekday', 1)),\n    a: hourClockExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), true))),\n    Z: timeZoneGetter('short'),\n    z: timeZoneGetter('long'),\n    ww: datePartGetterFactory({}),\n    // first Thursday of the year. not support ?\n    w: datePartGetterFactory({}),\n    // of the year not support ?\n    G: datePartGetterFactory(nameCondition('era', 1)),\n    GG: datePartGetterFactory(nameCondition('era', 2)),\n    GGG: datePartGetterFactory(nameCondition('era', 3)),\n    GGGG: datePartGetterFactory(nameCondition('era', 4))\n};\nfunction digitModifier(inner) {\n    return function (date, locale) {\n        var result = inner(date, locale);\n        return result.length == 1 ? '0' + result : result;\n    };\n}\nfunction hourClockExtracter(inner) {\n    return function (date, locale) {\n        var result = inner(date, locale);\n        return result.split(' ')[1];\n    };\n}\nfunction hourExtracter(inner) {\n    return function (date, locale) {\n        var result = inner(date, locale);\n        return result.split(' ')[0];\n    };\n}\nfunction timeZoneGetter(timezone) {\n    // To workaround `Intl` API restriction for single timezone let format with 24 hours\n    var format = { hour: '2-digit', hour12: false, timeZoneName: timezone };\n    return function (date, locale) {\n        var result = new Intl.DateTimeFormat(locale, format).format(date);\n        // Then extract first 3 letters that related to hours\n        return result ? result.substring(3) : '';\n    };\n}\nfunction hour12Modify(options, value) {\n    options.hour12 = value;\n    return options;\n}\nfunction digitCondition(prop, len) {\n    var result = {};\n    result[prop] = len == 2 ? '2-digit' : 'numeric';\n    return result;\n}\nfunction nameCondition(prop, len) {\n    var result = {};\n    result[prop] = len < 4 ? 'short' : 'long';\n    return result;\n}\nfunction combine(options) {\n    var result = {};\n    options.forEach(function (option) {\n        Object.assign(result, option);\n    });\n    return result;\n}\nfunction datePartGetterFactory(ret) {\n    return function (date, locale) {\n        return new Intl.DateTimeFormat(locale, ret).format(date);\n    };\n}\nvar datePartsFormatterCache = new Map();\nfunction dateFormatter(format, date, locale) {\n    var text = '';\n    var match;\n    var fn;\n    var parts = [];\n    if (PATTERN_ALIASES[format]) {\n        return PATTERN_ALIASES[format](date, locale);\n    }\n    if (datePartsFormatterCache.has(format)) {\n        parts = datePartsFormatterCache.get(format);\n    } else {\n        var matches = DATE_FORMATS_SPLIT.exec(format);\n        while (format) {\n            match = DATE_FORMATS_SPLIT.exec(format);\n            if (match) {\n                parts = concat(parts, match, 1);\n                format = parts.pop();\n            } else {\n                parts.push(format);\n                format = null;\n            }\n        }\n        datePartsFormatterCache.set(format, parts);\n    }\n    parts.forEach(function (part) {\n        fn = DATE_FORMATS[part];\n        text += fn ? fn(date, locale) : part === '\\'\\'' ? '\\'' : part.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n    });\n    return text;\n}\nvar slice = [].slice;\nfunction concat(array1 /** TODO #9100 */, array2 /** TODO #9100 */, index /** TODO #9100 */) {\n    return array1.concat(slice.call(array2, index));\n}\nvar DateFormatter = function () {\n    function DateFormatter() {}\n    DateFormatter.format = function (date, locale, pattern) {\n        return dateFormatter(pattern, date, locale);\n    };\n    return DateFormatter;\n}();\nexports.DateFormatter = DateFormatter;\n//# sourceMappingURL=intl.js.map"},{"id":50,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives.js","name":"./~/@angular/common/src/forms-deprecated/directives.js","index":34,"index2":73,"size":4930,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives","loc":"23:19-59"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/directives","loc":"26:19-59"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar checkbox_value_accessor_1 = require('./directives/checkbox_value_accessor');\nvar default_value_accessor_1 = require('./directives/default_value_accessor');\nvar ng_control_group_1 = require('./directives/ng_control_group');\nvar ng_control_name_1 = require('./directives/ng_control_name');\nvar ng_control_status_1 = require('./directives/ng_control_status');\nvar ng_form_1 = require('./directives/ng_form');\nvar ng_form_control_1 = require('./directives/ng_form_control');\nvar ng_form_model_1 = require('./directives/ng_form_model');\nvar ng_model_1 = require('./directives/ng_model');\nvar number_value_accessor_1 = require('./directives/number_value_accessor');\nvar radio_control_value_accessor_1 = require('./directives/radio_control_value_accessor');\nvar select_control_value_accessor_1 = require('./directives/select_control_value_accessor');\nvar select_multiple_control_value_accessor_1 = require('./directives/select_multiple_control_value_accessor');\nvar validators_1 = require('./directives/validators');\nvar checkbox_value_accessor_2 = require('./directives/checkbox_value_accessor');\nexports.CheckboxControlValueAccessor = checkbox_value_accessor_2.CheckboxControlValueAccessor;\nvar default_value_accessor_2 = require('./directives/default_value_accessor');\nexports.DefaultValueAccessor = default_value_accessor_2.DefaultValueAccessor;\nvar ng_control_1 = require('./directives/ng_control');\nexports.NgControl = ng_control_1.NgControl;\nvar ng_control_group_2 = require('./directives/ng_control_group');\nexports.NgControlGroup = ng_control_group_2.NgControlGroup;\nvar ng_control_name_2 = require('./directives/ng_control_name');\nexports.NgControlName = ng_control_name_2.NgControlName;\nvar ng_control_status_2 = require('./directives/ng_control_status');\nexports.NgControlStatus = ng_control_status_2.NgControlStatus;\nvar ng_form_2 = require('./directives/ng_form');\nexports.NgForm = ng_form_2.NgForm;\nvar ng_form_control_2 = require('./directives/ng_form_control');\nexports.NgFormControl = ng_form_control_2.NgFormControl;\nvar ng_form_model_2 = require('./directives/ng_form_model');\nexports.NgFormModel = ng_form_model_2.NgFormModel;\nvar ng_model_2 = require('./directives/ng_model');\nexports.NgModel = ng_model_2.NgModel;\nvar number_value_accessor_2 = require('./directives/number_value_accessor');\nexports.NumberValueAccessor = number_value_accessor_2.NumberValueAccessor;\nvar radio_control_value_accessor_2 = require('./directives/radio_control_value_accessor');\nexports.RadioButtonState = radio_control_value_accessor_2.RadioButtonState;\nexports.RadioControlValueAccessor = radio_control_value_accessor_2.RadioControlValueAccessor;\nvar select_control_value_accessor_2 = require('./directives/select_control_value_accessor');\nexports.NgSelectOption = select_control_value_accessor_2.NgSelectOption;\nexports.SelectControlValueAccessor = select_control_value_accessor_2.SelectControlValueAccessor;\nvar select_multiple_control_value_accessor_2 = require('./directives/select_multiple_control_value_accessor');\nexports.NgSelectMultipleOption = select_multiple_control_value_accessor_2.NgSelectMultipleOption;\nexports.SelectMultipleControlValueAccessor = select_multiple_control_value_accessor_2.SelectMultipleControlValueAccessor;\nvar validators_2 = require('./directives/validators');\nexports.MaxLengthValidator = validators_2.MaxLengthValidator;\nexports.MinLengthValidator = validators_2.MinLengthValidator;\nexports.PatternValidator = validators_2.PatternValidator;\nexports.RequiredValidator = validators_2.RequiredValidator;\n/**\n *\n * A list of all the form directives used as part of a `@Component` annotation.\n *\n *  This is a shorthand for importing them each individually.\n *\n * ### Example\n *\n * ```typescript\n * @Component({\n *   selector: 'my-app',\n *   directives: [FORM_DIRECTIVES]\n * })\n * class MyApp {}\n * ```\n * @experimental\n */\nexports.FORM_DIRECTIVES = [ng_control_name_1.NgControlName, ng_control_group_1.NgControlGroup, ng_form_control_1.NgFormControl, ng_model_1.NgModel, ng_form_model_1.NgFormModel, ng_form_1.NgForm, select_control_value_accessor_1.NgSelectOption, select_multiple_control_value_accessor_1.NgSelectMultipleOption, default_value_accessor_1.DefaultValueAccessor, number_value_accessor_1.NumberValueAccessor, checkbox_value_accessor_1.CheckboxControlValueAccessor, select_control_value_accessor_1.SelectControlValueAccessor, select_multiple_control_value_accessor_1.SelectMultipleControlValueAccessor, radio_control_value_accessor_1.RadioControlValueAccessor, ng_control_status_1.NgControlStatus, validators_1.RequiredValidator, validators_1.MinLengthValidator, validators_1.MaxLengthValidator, validators_1.PatternValidator];\n//# sourceMappingURL=directives.js.map"},{"id":51,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/form_builder.js","name":"./~/@angular/common/src/forms-deprecated/form_builder.js","index":77,"index2":74,"size":3667,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/form_builder","loc":"25:21-63"},{"moduleId":72,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","module":"./~/@angular/common/src/forms-deprecated.js","moduleName":"./~/@angular/common/src/forms-deprecated.js","type":"cjs require","userRequest":"./forms-deprecated/form_builder","loc":"63:21-63"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../facade/collection');\nvar lang_1 = require('../facade/lang');\nvar model_1 = require('./model');\nvar FormBuilder = function () {\n    function FormBuilder() {}\n    /**\n     * Construct a new {@link ControlGroup} with the given map of configuration.\n     * Valid keys for the `extra` parameter map are `optionals` and `validator`.\n     *\n     * See the {@link ControlGroup} constructor for more details.\n     */\n    FormBuilder.prototype.group = function (controlsConfig, extra) {\n        if (extra === void 0) {\n            extra = null;\n        }\n        var controls = this._reduceControls(controlsConfig);\n        var optionals = lang_1.isPresent(extra) ? collection_1.StringMapWrapper.get(extra, 'optionals') : null;\n        var validator = lang_1.isPresent(extra) ? collection_1.StringMapWrapper.get(extra, 'validator') : null;\n        var asyncValidator = lang_1.isPresent(extra) ? collection_1.StringMapWrapper.get(extra, 'asyncValidator') : null;\n        return new model_1.ControlGroup(controls, optionals, validator, asyncValidator);\n    };\n    /**\n     * Construct a new {@link Control} with the given `value`,`validator`, and `asyncValidator`.\n     */\n    FormBuilder.prototype.control = function (value, validator, asyncValidator) {\n        if (validator === void 0) {\n            validator = null;\n        }\n        if (asyncValidator === void 0) {\n            asyncValidator = null;\n        }\n        return new model_1.Control(value, validator, asyncValidator);\n    };\n    /**\n     * Construct an array of {@link Control}s from the given `controlsConfig` array of\n     * configuration, with the given optional `validator` and `asyncValidator`.\n     */\n    FormBuilder.prototype.array = function (controlsConfig, validator, asyncValidator) {\n        var _this = this;\n        if (validator === void 0) {\n            validator = null;\n        }\n        if (asyncValidator === void 0) {\n            asyncValidator = null;\n        }\n        var controls = controlsConfig.map(function (c) {\n            return _this._createControl(c);\n        });\n        return new model_1.ControlArray(controls, validator, asyncValidator);\n    };\n    /** @internal */\n    FormBuilder.prototype._reduceControls = function (controlsConfig) {\n        var _this = this;\n        var controls = {};\n        collection_1.StringMapWrapper.forEach(controlsConfig, function (controlConfig, controlName) {\n            controls[controlName] = _this._createControl(controlConfig);\n        });\n        return controls;\n    };\n    /** @internal */\n    FormBuilder.prototype._createControl = function (controlConfig) {\n        if (controlConfig instanceof model_1.Control || controlConfig instanceof model_1.ControlGroup || controlConfig instanceof model_1.ControlArray) {\n            return controlConfig;\n        } else if (lang_1.isArray(controlConfig)) {\n            var value = controlConfig[0];\n            var validator = controlConfig.length > 1 ? controlConfig[1] : null;\n            var asyncValidator = controlConfig.length > 2 ? controlConfig[2] : null;\n            return this.control(value, validator, asyncValidator);\n        } else {\n            return this.control(controlConfig);\n        }\n    };\n    /** @nocollapse */\n    FormBuilder.decorators = [{ type: core_1.Injectable }];\n    return FormBuilder;\n}();\nexports.FormBuilder = FormBuilder;\n//# sourceMappingURL=form_builder.js.map"},{"id":52,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","name":"./~/@angular/common/src/pipes.js","index":19,"index2":30,"size":1582,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/pipes","loc":"17:14-36"},{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/pipes","loc":"18:9-31"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n/**\n * @module\n * @description\n * This module provides a set of common Pipes.\n */\n\nvar async_pipe_1 = require('./pipes/async_pipe');\nexports.AsyncPipe = async_pipe_1.AsyncPipe;\nvar common_pipes_1 = require('./pipes/common_pipes');\nexports.COMMON_PIPES = common_pipes_1.COMMON_PIPES;\nvar date_pipe_1 = require('./pipes/date_pipe');\nexports.DatePipe = date_pipe_1.DatePipe;\nvar i18n_plural_pipe_1 = require('./pipes/i18n_plural_pipe');\nexports.I18nPluralPipe = i18n_plural_pipe_1.I18nPluralPipe;\nvar i18n_select_pipe_1 = require('./pipes/i18n_select_pipe');\nexports.I18nSelectPipe = i18n_select_pipe_1.I18nSelectPipe;\nvar json_pipe_1 = require('./pipes/json_pipe');\nexports.JsonPipe = json_pipe_1.JsonPipe;\nvar lowercase_pipe_1 = require('./pipes/lowercase_pipe');\nexports.LowerCasePipe = lowercase_pipe_1.LowerCasePipe;\nvar number_pipe_1 = require('./pipes/number_pipe');\nexports.CurrencyPipe = number_pipe_1.CurrencyPipe;\nexports.DecimalPipe = number_pipe_1.DecimalPipe;\nexports.PercentPipe = number_pipe_1.PercentPipe;\nvar replace_pipe_1 = require('./pipes/replace_pipe');\nexports.ReplacePipe = replace_pipe_1.ReplacePipe;\nvar slice_pipe_1 = require('./pipes/slice_pipe');\nexports.SlicePipe = slice_pipe_1.SlicePipe;\nvar uppercase_pipe_1 = require('./pipes/uppercase_pipe');\nexports.UpperCasePipe = uppercase_pipe_1.UpperCasePipe;\n//# sourceMappingURL=pipes.js.map"},{"id":53,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/async_pipe.js","name":"./~/@angular/common/src/pipes/async_pipe.js","index":20,"index2":18,"size":4170,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/async_pipe","loc":"15:19-48"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./async_pipe","loc":"15:19-42"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar ObservableStrategy = function () {\n    function ObservableStrategy() {}\n    ObservableStrategy.prototype.createSubscription = function (async, updateLatestValue) {\n        return async.subscribe({ next: updateLatestValue, error: function error(e) {\n                throw e;\n            } });\n    };\n    ObservableStrategy.prototype.dispose = function (subscription) {\n        subscription.unsubscribe();\n    };\n    ObservableStrategy.prototype.onDestroy = function (subscription) {\n        subscription.unsubscribe();\n    };\n    return ObservableStrategy;\n}();\nvar PromiseStrategy = function () {\n    function PromiseStrategy() {}\n    PromiseStrategy.prototype.createSubscription = function (async, updateLatestValue) {\n        return async.then(updateLatestValue, function (e) {\n            throw e;\n        });\n    };\n    PromiseStrategy.prototype.dispose = function (subscription) {};\n    PromiseStrategy.prototype.onDestroy = function (subscription) {};\n    return PromiseStrategy;\n}();\nvar _promiseStrategy = new PromiseStrategy();\nvar _observableStrategy = new ObservableStrategy();\nvar __unused;\nvar AsyncPipe = function () {\n    function AsyncPipe(_ref) {\n        /** @internal */\n        this._latestValue = null;\n        /** @internal */\n        this._latestReturnedValue = null;\n        /** @internal */\n        this._subscription = null;\n        /** @internal */\n        this._obj = null;\n        this._strategy = null;\n        this._ref = _ref;\n    }\n    AsyncPipe.prototype.ngOnDestroy = function () {\n        if (lang_1.isPresent(this._subscription)) {\n            this._dispose();\n        }\n    };\n    AsyncPipe.prototype.transform = function (obj) {\n        if (lang_1.isBlank(this._obj)) {\n            if (lang_1.isPresent(obj)) {\n                this._subscribe(obj);\n            }\n            this._latestReturnedValue = this._latestValue;\n            return this._latestValue;\n        }\n        if (obj !== this._obj) {\n            this._dispose();\n            return this.transform(obj);\n        }\n        if (this._latestValue === this._latestReturnedValue) {\n            return this._latestReturnedValue;\n        } else {\n            this._latestReturnedValue = this._latestValue;\n            return core_1.WrappedValue.wrap(this._latestValue);\n        }\n    };\n    /** @internal */\n    AsyncPipe.prototype._subscribe = function (obj) {\n        var _this = this;\n        this._obj = obj;\n        this._strategy = this._selectStrategy(obj);\n        this._subscription = this._strategy.createSubscription(obj, function (value) {\n            return _this._updateLatestValue(obj, value);\n        });\n    };\n    /** @internal */\n    AsyncPipe.prototype._selectStrategy = function (obj) {\n        if (lang_1.isPromise(obj)) {\n            return _promiseStrategy;\n        } else if (obj.subscribe) {\n            return _observableStrategy;\n        } else {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(AsyncPipe, obj);\n        }\n    };\n    /** @internal */\n    AsyncPipe.prototype._dispose = function () {\n        this._strategy.dispose(this._subscription);\n        this._latestValue = null;\n        this._latestReturnedValue = null;\n        this._subscription = null;\n        this._obj = null;\n    };\n    /** @internal */\n    AsyncPipe.prototype._updateLatestValue = function (async, value) {\n        if (async === this._obj) {\n            this._latestValue = value;\n            this._ref.markForCheck();\n        }\n    };\n    /** @nocollapse */\n    AsyncPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'async', pure: false }] }];\n    /** @nocollapse */\n    AsyncPipe.ctorParameters = [{ type: core_1.ChangeDetectorRef }];\n    return AsyncPipe;\n}();\nexports.AsyncPipe = AsyncPipe;\n//# sourceMappingURL=async_pipe.js.map"},{"id":54,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/date_pipe.js","name":"./~/@angular/common/src/pipes/date_pipe.js","index":23,"index2":20,"size":2311,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/date_pipe","loc":"19:18-46"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./date_pipe","loc":"16:18-40"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../facade/collection');\nvar intl_1 = require('../facade/intl');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\n// TODO: move to a global configurable location along with other i18n components.\nvar defaultLocale = 'en-US';\nvar DatePipe = function () {\n    function DatePipe() {}\n    DatePipe.prototype.transform = function (value, pattern) {\n        if (pattern === void 0) {\n            pattern = 'mediumDate';\n        }\n        if (lang_1.isBlank(value)) return null;\n        if (!this.supports(value)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(DatePipe, value);\n        }\n        if (lang_1.NumberWrapper.isNumeric(value)) {\n            value = lang_1.DateWrapper.fromMillis(lang_1.NumberWrapper.parseInt(value, 10));\n        } else if (lang_1.isString(value)) {\n            value = lang_1.DateWrapper.fromISOString(value);\n        }\n        if (collection_1.StringMapWrapper.contains(DatePipe._ALIASES, pattern)) {\n            pattern = collection_1.StringMapWrapper.get(DatePipe._ALIASES, pattern);\n        }\n        return intl_1.DateFormatter.format(value, defaultLocale, pattern);\n    };\n    DatePipe.prototype.supports = function (obj) {\n        if (lang_1.isDate(obj) || lang_1.NumberWrapper.isNumeric(obj)) {\n            return true;\n        }\n        if (lang_1.isString(obj) && lang_1.isDate(lang_1.DateWrapper.fromISOString(obj))) {\n            return true;\n        }\n        return false;\n    };\n    /** @internal */\n    DatePipe._ALIASES = {\n        'medium': 'yMMMdjms',\n        'short': 'yMdjm',\n        'fullDate': 'yMMMMEEEEd',\n        'longDate': 'yMMMMd',\n        'mediumDate': 'yMMMd',\n        'shortDate': 'yMd',\n        'mediumTime': 'jms',\n        'shortTime': 'jm'\n    };\n    /** @nocollapse */\n    DatePipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'date', pure: true }] }];\n    return DatePipe;\n}();\nexports.DatePipe = DatePipe;\n//# sourceMappingURL=date_pipe.js.map"},{"id":55,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_plural_pipe.js","name":"./~/@angular/common/src/pipes/i18n_plural_pipe.js","index":25,"index2":21,"size":1440,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/i18n_plural_pipe","loc":"21:25-60"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./i18n_plural_pipe","loc":"17:25-54"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar localization_1 = require('../localization');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar _INTERPOLATION_REGEXP = /#/g;\nvar I18nPluralPipe = function () {\n    function I18nPluralPipe(_localization) {\n        this._localization = _localization;\n    }\n    I18nPluralPipe.prototype.transform = function (value, pluralMap) {\n        if (lang_1.isBlank(value)) return '';\n        if (!lang_1.isStringMap(pluralMap)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(I18nPluralPipe, pluralMap);\n        }\n        var key = localization_1.getPluralCategory(value, Object.keys(pluralMap), this._localization);\n        return lang_1.StringWrapper.replaceAll(pluralMap[key], _INTERPOLATION_REGEXP, value.toString());\n    };\n    /** @nocollapse */\n    I18nPluralPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'i18nPlural', pure: true }] }];\n    /** @nocollapse */\n    I18nPluralPipe.ctorParameters = [{ type: localization_1.NgLocalization }];\n    return I18nPluralPipe;\n}();\nexports.I18nPluralPipe = I18nPluralPipe;\n//# sourceMappingURL=i18n_plural_pipe.js.map"},{"id":56,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/i18n_select_pipe.js","name":"./~/@angular/common/src/pipes/i18n_select_pipe.js","index":26,"index2":22,"size":1047,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/i18n_select_pipe","loc":"23:25-60"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./i18n_select_pipe","loc":"18:25-54"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar I18nSelectPipe = function () {\n    function I18nSelectPipe() {}\n    I18nSelectPipe.prototype.transform = function (value, mapping) {\n        if (lang_1.isBlank(value)) return '';\n        if (!lang_1.isStringMap(mapping)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(I18nSelectPipe, mapping);\n        }\n        return mapping.hasOwnProperty(value) ? mapping[value] : '';\n    };\n    /** @nocollapse */\n    I18nSelectPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'i18nSelect', pure: true }] }];\n    return I18nSelectPipe;\n}();\nexports.I18nSelectPipe = I18nSelectPipe;\n//# sourceMappingURL=i18n_select_pipe.js.map"},{"id":57,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/json_pipe.js","name":"./~/@angular/common/src/pipes/json_pipe.js","index":27,"index2":23,"size":664,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/json_pipe","loc":"25:18-46"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./json_pipe","loc":"19:18-40"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar JsonPipe = function () {\n    function JsonPipe() {}\n    JsonPipe.prototype.transform = function (value) {\n        return lang_1.Json.stringify(value);\n    };\n    /** @nocollapse */\n    JsonPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'json', pure: false }] }];\n    return JsonPipe;\n}();\nexports.JsonPipe = JsonPipe;\n//# sourceMappingURL=json_pipe.js.map"},{"id":58,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/lowercase_pipe.js","name":"./~/@angular/common/src/pipes/lowercase_pipe.js","index":28,"index2":24,"size":979,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/lowercase_pipe","loc":"27:23-56"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./lowercase_pipe","loc":"20:23-50"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar LowerCasePipe = function () {\n    function LowerCasePipe() {}\n    LowerCasePipe.prototype.transform = function (value) {\n        if (lang_1.isBlank(value)) return value;\n        if (!lang_1.isString(value)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(LowerCasePipe, value);\n        }\n        return value.toLowerCase();\n    };\n    /** @nocollapse */\n    LowerCasePipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'lowercase' }] }];\n    return LowerCasePipe;\n}();\nexports.LowerCasePipe = LowerCasePipe;\n//# sourceMappingURL=lowercase_pipe.js.map"},{"id":59,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/number_pipe.js","name":"./~/@angular/common/src/pipes/number_pipe.js","index":29,"index2":25,"size":3826,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/number_pipe","loc":"29:20-50"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./number_pipe","loc":"21:20-44"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar intl_1 = require('../facade/intl');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar defaultLocale = 'en-US';\nvar _NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(\\-(\\d+))?)?$/;\nfunction formatNumber(pipe, value, style, digits, currency, currencyAsSymbol) {\n    if (currency === void 0) {\n        currency = null;\n    }\n    if (currencyAsSymbol === void 0) {\n        currencyAsSymbol = false;\n    }\n    if (lang_1.isBlank(value)) return null;\n    // Convert strings to numbers\n    value = lang_1.isString(value) && lang_1.NumberWrapper.isNumeric(value) ? +value : value;\n    if (!lang_1.isNumber(value)) {\n        throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(pipe, value);\n    }\n    var minInt;\n    var minFraction;\n    var maxFraction;\n    if (style !== intl_1.NumberFormatStyle.Currency) {\n        // rely on Intl default for currency\n        minInt = 1;\n        minFraction = 0;\n        maxFraction = 3;\n    }\n    if (lang_1.isPresent(digits)) {\n        var parts = digits.match(_NUMBER_FORMAT_REGEXP);\n        if (parts === null) {\n            throw new Error(digits + \" is not a valid digit info for number pipes\");\n        }\n        if (lang_1.isPresent(parts[1])) {\n            minInt = lang_1.NumberWrapper.parseIntAutoRadix(parts[1]);\n        }\n        if (lang_1.isPresent(parts[3])) {\n            minFraction = lang_1.NumberWrapper.parseIntAutoRadix(parts[3]);\n        }\n        if (lang_1.isPresent(parts[5])) {\n            maxFraction = lang_1.NumberWrapper.parseIntAutoRadix(parts[5]);\n        }\n    }\n    return intl_1.NumberFormatter.format(value, defaultLocale, style, {\n        minimumIntegerDigits: minInt,\n        minimumFractionDigits: minFraction,\n        maximumFractionDigits: maxFraction,\n        currency: currency,\n        currencyAsSymbol: currencyAsSymbol\n    });\n}\nvar DecimalPipe = function () {\n    function DecimalPipe() {}\n    DecimalPipe.prototype.transform = function (value, digits) {\n        if (digits === void 0) {\n            digits = null;\n        }\n        return formatNumber(DecimalPipe, value, intl_1.NumberFormatStyle.Decimal, digits);\n    };\n    /** @nocollapse */\n    DecimalPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'number' }] }];\n    return DecimalPipe;\n}();\nexports.DecimalPipe = DecimalPipe;\nvar PercentPipe = function () {\n    function PercentPipe() {}\n    PercentPipe.prototype.transform = function (value, digits) {\n        if (digits === void 0) {\n            digits = null;\n        }\n        return formatNumber(PercentPipe, value, intl_1.NumberFormatStyle.Percent, digits);\n    };\n    /** @nocollapse */\n    PercentPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'percent' }] }];\n    return PercentPipe;\n}();\nexports.PercentPipe = PercentPipe;\nvar CurrencyPipe = function () {\n    function CurrencyPipe() {}\n    CurrencyPipe.prototype.transform = function (value, currencyCode, symbolDisplay, digits) {\n        if (currencyCode === void 0) {\n            currencyCode = 'USD';\n        }\n        if (symbolDisplay === void 0) {\n            symbolDisplay = false;\n        }\n        if (digits === void 0) {\n            digits = null;\n        }\n        return formatNumber(CurrencyPipe, value, intl_1.NumberFormatStyle.Currency, digits, currencyCode, symbolDisplay);\n    };\n    /** @nocollapse */\n    CurrencyPipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'currency' }] }];\n    return CurrencyPipe;\n}();\nexports.CurrencyPipe = CurrencyPipe;\n//# sourceMappingURL=number_pipe.js.map"},{"id":60,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/replace_pipe.js","name":"./~/@angular/common/src/pipes/replace_pipe.js","index":30,"index2":26,"size":2282,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/replace_pipe","loc":"33:21-52"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./replace_pipe","loc":"22:21-46"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar ReplacePipe = function () {\n    function ReplacePipe() {}\n    ReplacePipe.prototype.transform = function (value, pattern, replacement) {\n        if (lang_1.isBlank(value)) {\n            return value;\n        }\n        if (!this._supportedInput(value)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(ReplacePipe, value);\n        }\n        var input = value.toString();\n        if (!this._supportedPattern(pattern)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(ReplacePipe, pattern);\n        }\n        if (!this._supportedReplacement(replacement)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(ReplacePipe, replacement);\n        }\n        if (lang_1.isFunction(replacement)) {\n            var rgxPattern = lang_1.isString(pattern) ? new RegExp(pattern, 'g') : pattern;\n            return lang_1.StringWrapper.replaceAllMapped(input, rgxPattern, replacement);\n        }\n        if (pattern instanceof RegExp) {\n            // use the replaceAll variant\n            return lang_1.StringWrapper.replaceAll(input, pattern, replacement);\n        }\n        return lang_1.StringWrapper.replace(input, pattern, replacement);\n    };\n    ReplacePipe.prototype._supportedInput = function (input) {\n        return lang_1.isString(input) || lang_1.isNumber(input);\n    };\n    ReplacePipe.prototype._supportedPattern = function (pattern) {\n        return lang_1.isString(pattern) || pattern instanceof RegExp;\n    };\n    ReplacePipe.prototype._supportedReplacement = function (replacement) {\n        return lang_1.isString(replacement) || lang_1.isFunction(replacement);\n    };\n    /** @nocollapse */\n    ReplacePipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'replace' }] }];\n    return ReplacePipe;\n}();\nexports.ReplacePipe = ReplacePipe;\n//# sourceMappingURL=replace_pipe.js.map"},{"id":61,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/slice_pipe.js","name":"./~/@angular/common/src/pipes/slice_pipe.js","index":31,"index2":27,"size":1341,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/slice_pipe","loc":"35:19-48"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./slice_pipe","loc":"23:19-42"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar collection_1 = require('../facade/collection');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar SlicePipe = function () {\n    function SlicePipe() {}\n    SlicePipe.prototype.transform = function (value, start, end) {\n        if (end === void 0) {\n            end = null;\n        }\n        if (lang_1.isBlank(value)) return value;\n        if (!this.supports(value)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(SlicePipe, value);\n        }\n        if (lang_1.isString(value)) {\n            return lang_1.StringWrapper.slice(value, start, end);\n        }\n        return collection_1.ListWrapper.slice(value, start, end);\n    };\n    SlicePipe.prototype.supports = function (obj) {\n        return lang_1.isString(obj) || lang_1.isArray(obj);\n    };\n    /** @nocollapse */\n    SlicePipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'slice', pure: false }] }];\n    return SlicePipe;\n}();\nexports.SlicePipe = SlicePipe;\n//# sourceMappingURL=slice_pipe.js.map"},{"id":62,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/uppercase_pipe.js","name":"./~/@angular/common/src/pipes/uppercase_pipe.js","index":32,"index2":28,"size":979,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/uppercase_pipe","loc":"37:23-56"},{"moduleId":77,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","module":"./~/@angular/common/src/pipes/common_pipes.js","moduleName":"./~/@angular/common/src/pipes/common_pipes.js","type":"cjs require","userRequest":"./uppercase_pipe","loc":"24:23-50"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar invalid_pipe_argument_exception_1 = require('./invalid_pipe_argument_exception');\nvar UpperCasePipe = function () {\n    function UpperCasePipe() {}\n    UpperCasePipe.prototype.transform = function (value) {\n        if (lang_1.isBlank(value)) return value;\n        if (!lang_1.isString(value)) {\n            throw new invalid_pipe_argument_exception_1.InvalidPipeArgumentException(UpperCasePipe, value);\n        }\n        return value.toUpperCase();\n    };\n    /** @nocollapse */\n    UpperCasePipe.decorators = [{ type: core_1.Pipe, args: [{ name: 'uppercase' }] }];\n    return UpperCasePipe;\n}();\nexports.UpperCasePipe = UpperCasePipe;\n//# sourceMappingURL=uppercase_pipe.js.map"},{"id":63,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","name":"./~/rxjs/Subject.js","index":53,"index2":62,"size":5329,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/async.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":9,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/async.js","module":"./~/@angular/common/src/facade/async.js","moduleName":"./~/@angular/common/src/facade/async.js","type":"cjs require","userRequest":"rxjs/Subject","loc":"20:16-39"},{"moduleId":9,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/facade/async.js","module":"./~/@angular/common/src/facade/async.js","moduleName":"./~/@angular/common/src/facade/async.js","type":"cjs require","userRequest":"rxjs/Subject","loc":"23:16-39"}],"source":"\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('./Observable');\nvar Subscriber_1 = require('./Subscriber');\nvar Subscription_1 = require('./Subscription');\nvar ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError');\nvar SubjectSubscription_1 = require('./SubjectSubscription');\nvar rxSubscriber_1 = require('./symbol/rxSubscriber');\n/**\n * @class SubjectSubscriber<T>\n */\nvar SubjectSubscriber = function (_super) {\n    __extends(SubjectSubscriber, _super);\n    function SubjectSubscriber(destination) {\n        _super.call(this, destination);\n        this.destination = destination;\n    }\n    return SubjectSubscriber;\n}(Subscriber_1.Subscriber);\nexports.SubjectSubscriber = SubjectSubscriber;\n/**\n * @class Subject<T>\n */\nvar Subject = function (_super) {\n    __extends(Subject, _super);\n    function Subject() {\n        _super.call(this);\n        this.observers = [];\n        this.closed = false;\n        this.isStopped = false;\n        this.hasError = false;\n        this.thrownError = null;\n    }\n    Subject.prototype[rxSubscriber_1.$$rxSubscriber] = function () {\n        return new SubjectSubscriber(this);\n    };\n    Subject.prototype.lift = function (operator) {\n        var subject = new AnonymousSubject(this, this);\n        subject.operator = operator;\n        return subject;\n    };\n    Subject.prototype.next = function (value) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n        }\n        if (!this.isStopped) {\n            var observers = this.observers;\n            var len = observers.length;\n            var copy = observers.slice();\n            for (var i = 0; i < len; i++) {\n                copy[i].next(value);\n            }\n        }\n    };\n    Subject.prototype.error = function (err) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n        }\n        this.hasError = true;\n        this.thrownError = err;\n        this.isStopped = true;\n        var observers = this.observers;\n        var len = observers.length;\n        var copy = observers.slice();\n        for (var i = 0; i < len; i++) {\n            copy[i].error(err);\n        }\n        this.observers.length = 0;\n    };\n    Subject.prototype.complete = function () {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n        }\n        this.isStopped = true;\n        var observers = this.observers;\n        var len = observers.length;\n        var copy = observers.slice();\n        for (var i = 0; i < len; i++) {\n            copy[i].complete();\n        }\n        this.observers.length = 0;\n    };\n    Subject.prototype.unsubscribe = function () {\n        this.isStopped = true;\n        this.closed = true;\n        this.observers = null;\n    };\n    Subject.prototype._subscribe = function (subscriber) {\n        if (this.closed) {\n            throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n        } else if (this.hasError) {\n            subscriber.error(this.thrownError);\n            return Subscription_1.Subscription.EMPTY;\n        } else if (this.isStopped) {\n            subscriber.complete();\n            return Subscription_1.Subscription.EMPTY;\n        } else {\n            this.observers.push(subscriber);\n            return new SubjectSubscription_1.SubjectSubscription(this, subscriber);\n        }\n    };\n    Subject.prototype.asObservable = function () {\n        var observable = new Observable_1.Observable();\n        observable.source = this;\n        return observable;\n    };\n    Subject.create = function (destination, source) {\n        return new AnonymousSubject(destination, source);\n    };\n    return Subject;\n}(Observable_1.Observable);\nexports.Subject = Subject;\n/**\n * @class AnonymousSubject<T>\n */\nvar AnonymousSubject = function (_super) {\n    __extends(AnonymousSubject, _super);\n    function AnonymousSubject(destination, source) {\n        _super.call(this);\n        this.destination = destination;\n        this.source = source;\n    }\n    AnonymousSubject.prototype.next = function (value) {\n        var destination = this.destination;\n        if (destination && destination.next) {\n            destination.next(value);\n        }\n    };\n    AnonymousSubject.prototype.error = function (err) {\n        var destination = this.destination;\n        if (destination && destination.error) {\n            this.destination.error(err);\n        }\n    };\n    AnonymousSubject.prototype.complete = function () {\n        var destination = this.destination;\n        if (destination && destination.complete) {\n            this.destination.complete();\n        }\n    };\n    AnonymousSubject.prototype._subscribe = function (subscriber) {\n        var source = this.source;\n        if (source) {\n            return this.source.subscribe(subscriber);\n        } else {\n            return Subscription_1.Subscription.EMPTY;\n        }\n    };\n    return AnonymousSubject;\n}(Subject);\nexports.AnonymousSubject = AnonymousSubject;\n//# sourceMappingURL=Subject.js.map"},{"id":64,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscriber.js","name":"./~/rxjs/Subscriber.js","index":56,"index2":56,"size":9090,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":63,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","module":"./~/rxjs/Subject.js","moduleName":"./~/rxjs/Subject.js","type":"cjs require","userRequest":"./Subscriber","loc":"12:19-42"},{"moduleId":87,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/toSubscriber.js","module":"./~/rxjs/util/toSubscriber.js","moduleName":"./~/rxjs/util/toSubscriber.js","type":"cjs require","userRequest":"../Subscriber","loc":"3:19-43"}],"source":"\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isFunction_1 = require('./util/isFunction');\nvar Subscription_1 = require('./Subscription');\nvar Observer_1 = require('./Observer');\nvar rxSubscriber_1 = require('./symbol/rxSubscriber');\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber<T>\n */\nvar Subscriber = function (_super) {\n    __extends(Subscriber, _super);\n    /**\n     * @param {Observer|function(value: T): void} [destinationOrNext] A partially\n     * defined Observer or a `next` callback function.\n     * @param {function(e: ?any): void} [error] The `error` callback of an\n     * Observer.\n     * @param {function(): void} [complete] The `complete` callback of an\n     * Observer.\n     */\n    function Subscriber(destinationOrNext, error, complete) {\n        _super.call(this);\n        this.syncErrorValue = null;\n        this.syncErrorThrown = false;\n        this.syncErrorThrowable = false;\n        this.isStopped = false;\n        switch (arguments.length) {\n            case 0:\n                this.destination = Observer_1.empty;\n                break;\n            case 1:\n                if (!destinationOrNext) {\n                    this.destination = Observer_1.empty;\n                    break;\n                }\n                if ((typeof destinationOrNext === 'undefined' ? 'undefined' : _typeof(destinationOrNext)) === 'object') {\n                    if (destinationOrNext instanceof Subscriber) {\n                        this.destination = destinationOrNext;\n                        this.destination.add(this);\n                    } else {\n                        this.syncErrorThrowable = true;\n                        this.destination = new SafeSubscriber(this, destinationOrNext);\n                    }\n                    break;\n                }\n            default:\n                this.syncErrorThrowable = true;\n                this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n                break;\n        }\n    }\n    Subscriber.prototype[rxSubscriber_1.$$rxSubscriber] = function () {\n        return this;\n    };\n    /**\n     * A static factory for a Subscriber, given a (potentially partial) definition\n     * of an Observer.\n     * @param {function(x: ?T): void} [next] The `next` callback of an Observer.\n     * @param {function(e: ?any): void} [error] The `error` callback of an\n     * Observer.\n     * @param {function(): void} [complete] The `complete` callback of an\n     * Observer.\n     * @return {Subscriber<T>} A Subscriber wrapping the (partially defined)\n     * Observer represented by the given arguments.\n     */\n    Subscriber.create = function (next, error, complete) {\n        var subscriber = new Subscriber(next, error, complete);\n        subscriber.syncErrorThrowable = false;\n        return subscriber;\n    };\n    /**\n     * The {@link Observer} callback to receive notifications of type `next` from\n     * the Observable, with a value. The Observable may call this method 0 or more\n     * times.\n     * @param {T} [value] The `next` value.\n     * @return {void}\n     */\n    Subscriber.prototype.next = function (value) {\n        if (!this.isStopped) {\n            this._next(value);\n        }\n    };\n    /**\n     * The {@link Observer} callback to receive notifications of type `error` from\n     * the Observable, with an attached {@link Error}. Notifies the Observer that\n     * the Observable has experienced an error condition.\n     * @param {any} [err] The `error` exception.\n     * @return {void}\n     */\n    Subscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            this.isStopped = true;\n            this._error(err);\n        }\n    };\n    /**\n     * The {@link Observer} callback to receive a valueless notification of type\n     * `complete` from the Observable. Notifies the Observer that the Observable\n     * has finished sending push-based notifications.\n     * @return {void}\n     */\n    Subscriber.prototype.complete = function () {\n        if (!this.isStopped) {\n            this.isStopped = true;\n            this._complete();\n        }\n    };\n    Subscriber.prototype.unsubscribe = function () {\n        if (this.closed) {\n            return;\n        }\n        this.isStopped = true;\n        _super.prototype.unsubscribe.call(this);\n    };\n    Subscriber.prototype._next = function (value) {\n        this.destination.next(value);\n    };\n    Subscriber.prototype._error = function (err) {\n        this.destination.error(err);\n        this.unsubscribe();\n    };\n    Subscriber.prototype._complete = function () {\n        this.destination.complete();\n        this.unsubscribe();\n    };\n    return Subscriber;\n}(Subscription_1.Subscription);\nexports.Subscriber = Subscriber;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SafeSubscriber = function (_super) {\n    __extends(SafeSubscriber, _super);\n    function SafeSubscriber(_parent, observerOrNext, error, complete) {\n        _super.call(this);\n        this._parent = _parent;\n        var next;\n        var context = this;\n        if (isFunction_1.isFunction(observerOrNext)) {\n            next = observerOrNext;\n        } else if (observerOrNext) {\n            context = observerOrNext;\n            next = observerOrNext.next;\n            error = observerOrNext.error;\n            complete = observerOrNext.complete;\n            if (isFunction_1.isFunction(context.unsubscribe)) {\n                this.add(context.unsubscribe.bind(context));\n            }\n            context.unsubscribe = this.unsubscribe.bind(this);\n        }\n        this._context = context;\n        this._next = next;\n        this._error = error;\n        this._complete = complete;\n    }\n    SafeSubscriber.prototype.next = function (value) {\n        if (!this.isStopped && this._next) {\n            var _parent = this._parent;\n            if (!_parent.syncErrorThrowable) {\n                this.__tryOrUnsub(this._next, value);\n            } else if (this.__tryOrSetError(_parent, this._next, value)) {\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.error = function (err) {\n        if (!this.isStopped) {\n            var _parent = this._parent;\n            if (this._error) {\n                if (!_parent.syncErrorThrowable) {\n                    this.__tryOrUnsub(this._error, err);\n                    this.unsubscribe();\n                } else {\n                    this.__tryOrSetError(_parent, this._error, err);\n                    this.unsubscribe();\n                }\n            } else if (!_parent.syncErrorThrowable) {\n                this.unsubscribe();\n                throw err;\n            } else {\n                _parent.syncErrorValue = err;\n                _parent.syncErrorThrown = true;\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.complete = function () {\n        if (!this.isStopped) {\n            var _parent = this._parent;\n            if (this._complete) {\n                if (!_parent.syncErrorThrowable) {\n                    this.__tryOrUnsub(this._complete);\n                    this.unsubscribe();\n                } else {\n                    this.__tryOrSetError(_parent, this._complete);\n                    this.unsubscribe();\n                }\n            } else {\n                this.unsubscribe();\n            }\n        }\n    };\n    SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n        try {\n            fn.call(this._context, value);\n        } catch (err) {\n            this.unsubscribe();\n            throw err;\n        }\n    };\n    SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n        try {\n            fn.call(this._context, value);\n        } catch (err) {\n            parent.syncErrorValue = err;\n            parent.syncErrorThrown = true;\n            return true;\n        }\n        return false;\n    };\n    SafeSubscriber.prototype._unsubscribe = function () {\n        var _parent = this._parent;\n        this._context = null;\n        this._parent = null;\n        _parent.unsubscribe();\n    };\n    return SafeSubscriber;\n}(Subscriber);\n//# sourceMappingURL=Subscriber.js.map"},{"id":65,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/errorObject.js","name":"./~/rxjs/util/errorObject.js","index":62,"index2":50,"size":178,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":36,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","module":"./~/rxjs/Subscription.js","moduleName":"./~/rxjs/Subscription.js","type":"cjs require","userRequest":"./util/errorObject","loc":"9:20-49"},{"moduleId":88,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/tryCatch.js","module":"./~/rxjs/util/tryCatch.js","moduleName":"./~/rxjs/util/tryCatch.js","type":"cjs require","userRequest":"./errorObject","loc":"3:20-44"}],"source":"\"use strict\";\n// typeof any so that it we don't have to cast when comparing a result to the error object\n\nexports.errorObject = { e: {} };\n//# sourceMappingURL=errorObject.js.map"},{"id":66,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/isFunction.js","name":"./~/rxjs/util/isFunction.js","index":57,"index2":47,"size":149,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":36,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","module":"./~/rxjs/Subscription.js","moduleName":"./~/rxjs/Subscription.js","type":"cjs require","userRequest":"./util/isFunction","loc":"7:19-47"},{"moduleId":64,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscriber.js","module":"./~/rxjs/Subscriber.js","moduleName":"./~/rxjs/Subscriber.js","type":"cjs require","userRequest":"./util/isFunction","loc":"13:19-47"}],"source":"\"use strict\";\n\nfunction isFunction(x) {\n    return typeof x === 'function';\n}\nexports.isFunction = isFunction;\n//# sourceMappingURL=isFunction.js.map"},{"id":67,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/adjustCaretPosition.js","name":"./core/src/adjustCaretPosition.js","index":86,"index2":84,"size":9417,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":69,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","module":"./core/src/createTextMaskInputElement.js","moduleName":"./core/src/createTextMaskInputElement.js","type":"cjs require","userRequest":"./adjustCaretPosition.js","loc":"13:27-62"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = adjustCaretPosition;\nvar defaultArray = [];\nvar emptyString = '';\n\nfunction adjustCaretPosition(_ref) {\n  var _ref$previousConforme = _ref.previousConformedValue;\n  var previousConformedValue = _ref$previousConforme === undefined ? emptyString : _ref$previousConforme;\n  var _ref$currentCaretPosi = _ref.currentCaretPosition;\n  var currentCaretPosition = _ref$currentCaretPosi === undefined ? 0 : _ref$currentCaretPosi;\n  var conformedValue = _ref.conformedValue;\n  var rawValue = _ref.rawValue;\n  var placeholderChar = _ref.placeholderChar;\n  var placeholder = _ref.placeholder;\n  var _ref$indexesOfPipedCh = _ref.indexesOfPipedChars;\n  var indexesOfPipedChars = _ref$indexesOfPipedCh === undefined ? defaultArray : _ref$indexesOfPipedCh;\n  var _ref$caretTrapIndexes = _ref.caretTrapIndexes;\n  var caretTrapIndexes = _ref$caretTrapIndexes === undefined ? defaultArray : _ref$caretTrapIndexes;\n\n  if (currentCaretPosition === 0) {\n    return 0;\n  }\n\n  // Store lengths for faster performance?\n  var rawValueLength = rawValue.length;\n  var previousConformedValueLength = previousConformedValue.length;\n  var placeholderLength = placeholder.length;\n  var conformedValueLength = conformedValue.length;\n\n  // This tells us how long the edit is. If user modified input from `(2__)` to `(243__)`,\n  // we know the user in this instance pasted two characters\n  var editLength = rawValueLength - previousConformedValueLength;\n\n  // If the edit length is positive, that means the user is adding characters, not deleting.\n  var isAddition = editLength > 0;\n\n  // This is the first raw value the user entered that needs to be conformed to mask\n  var isFirstRawValue = previousConformedValueLength === 0;\n\n  // A partial multi-character edit happens when the user makes a partial selection in their\n  // input and edits that selection. That is going from `(123) 432-4348` to `() 432-4348` by\n  // selecting the first 3 digits and pressing backspace.\n  //\n  // Such cases can also happen when the user presses the backspace while holding down the ALT\n  // key.\n  var isPartialMultiCharEdit = editLength > 1 && !isAddition && !isFirstRawValue;\n\n  // This algorithm doesn't support all cases of multi-character edits, so we just return\n  // the current caret position.\n  //\n  // This works fine for most cases.\n  if (isPartialMultiCharEdit) {\n    return currentCaretPosition;\n  }\n\n  // For a mask like (111), if the `previousConformedValue` is (1__) and user attempts to enter\n  // `f` so the `rawValue` becomes (1f__), the new `conformedValue` would be (1__), which is the\n  // same as the original `previousConformedValue`. We handle this case differently for caret\n  // positioning.\n  var possiblyHasRejectedChar = isAddition && (previousConformedValue === conformedValue || conformedValue === placeholder);\n\n  var startingSearchIndex = 0;\n\n  if (possiblyHasRejectedChar) {\n    startingSearchIndex = currentCaretPosition - editLength;\n  } else {\n    (function () {\n      // At this point in the algorithm, we want to know where the caret is right before the raw input\n      // has been conformed, and then see if we can find that same spot in the conformed input.\n      //\n      // We do that by seeing what character lies immediately before the caret, and then look for that\n      // same character in the conformed input and place the caret there.\n\n      // First, we need to normalize the inputs so that letter capitalization between raw input and\n      // conformed input wouldn't matter.\n      var normalizedConformedValue = conformedValue.toLowerCase();\n      var normalizedRawValue = rawValue.toLowerCase();\n\n      // Then we take all characters that come before where the caret currently is.\n      var leftHalfChars = normalizedRawValue.substr(0, currentCaretPosition).split(emptyString);\n\n      // Now we find all the characters in the left half that exist in the conformed input\n      // This step ensures that we don't look for a character that was filtered out or rejected by `conformToMask`.\n      var intersection = leftHalfChars.filter(function (char) {\n        return normalizedConformedValue.indexOf(char) !== -1;\n      });\n\n      // The last character in the intersection is the character we want to look for in the conformed\n      // value and the one we want to adjust the caret close to\n      var targetChar = intersection[intersection.length - 1];\n\n      // It is possible that `targetChar` will appear multiple times in the conformed value.\n      // We need to know not to select a character that looks like our target character from the placeholder or\n      // the piped characters, so we inspect the piped characters and the placeholder to see if they contain\n      // characters that match our target character.\n\n      // If the `conformedValue` got piped, we need to know which characters were piped in so that when we look for\n      // our `targetChar`, we don't select a piped char by mistake\n      var pipedChars = indexesOfPipedChars.map(function (index) {\n        return normalizedConformedValue[index];\n      });\n\n      // We need to know how many times the `targetChar` occurs in the piped characters.\n      var countTargetCharInPipedChars = pipedChars.filter(function (char) {\n        return char === targetChar;\n      }).length;\n\n      // We need to know how many times it occurs in the intersection\n      var countTargetCharInIntersection = intersection.filter(function (char) {\n        return char === targetChar;\n      }).length;\n\n      // We need to know if the placeholder contains characters that look like\n      // our `targetChar`, so we don't select one of those by mistake.\n      var countTargetCharInPlaceholder = placeholder.substr(0, placeholder.indexOf(placeholderChar)).split(emptyString).filter(function (char, index) {\n        return (\n          // Check if `char` is the same as our `targetChar`, so we account for it\n          char === targetChar &&\n\n          // but also make sure that both the `rawValue` and placeholder don't have the same character at the same\n          // index because if they are equal, that means we are already counting those characters in\n          // `countTargetCharInIntersection`\n          rawValue[index] !== char\n        );\n      }).length;\n\n      // The number of times we need to see occurrences of the `targetChar` before we know it is the one we're looking\n      // for is:\n      var requiredNumberOfMatches = countTargetCharInPlaceholder + countTargetCharInIntersection + countTargetCharInPipedChars;\n\n      // Now we start looking for the location of the `targetChar`.\n      // We keep looping forward and store the index in every iteration. Once we have encountered\n      // enough occurrences of the target character, we break out of the loop\n      var numberOfEncounteredMatches = 0;\n      for (var i = 0; i < conformedValueLength; i++) {\n        var conformedValueChar = normalizedConformedValue[i];\n\n        startingSearchIndex = i + 1;\n\n        if (conformedValueChar === targetChar) {\n          numberOfEncounteredMatches++;\n        }\n\n        if (numberOfEncounteredMatches >= requiredNumberOfMatches) {\n          break;\n        }\n      }\n    })();\n  }\n\n  // At this point, if we simply return `startingSearchIndex` as the adjusted caret position,\n  // most cases would be handled. However, we want to fast forward or rewind the caret to the\n  // closest placeholder character if it happens to be in a non-editable spot. That's what the next\n  // logic is for.\n\n  // In case of addition, we fast forward.\n  if (isAddition) {\n    // We want to remember the last placeholder character encountered so that if the mask\n    // contains more characters after the last placeholder character, we don't forward the caret\n    // that far to the right. Instead, we stop it at the last encountered placeholder character.\n    var lastPlaceholderChar = startingSearchIndex;\n\n    for (var i = startingSearchIndex; i <= placeholderLength; i++) {\n      if (placeholder[i] === placeholderChar) {\n        lastPlaceholderChar = i;\n      }\n\n      if (\n      // If we're adding, we can position the caret at the next placeholder character.\n      placeholder[i] === placeholderChar ||\n\n      // If a caret trap was set by a mask function, we need to stop at the trap.\n      caretTrapIndexes.indexOf(i) !== -1 ||\n\n      // This is the end of the placeholder. We cannot move any further. Let's put the caret there.\n      i === placeholderLength) {\n        return lastPlaceholderChar;\n      }\n    }\n  } else {\n    // In case of deletion, we rewind.\n    for (var _i = startingSearchIndex; _i >= 0; _i--) {\n      // If we're deleting, we stop the caret right before the placeholder character.\n      // For example, for mask `(111) 11`, current conformed input `(456) 86`. If user\n      // modifies input to `(456 86`. That is, they deleted the `)`, we place the caret\n      // right after the first `6`\n      if (\n      // If we're deleting, we can position the caret right before the placeholder character\n      placeholder[_i - 1] === placeholderChar ||\n\n      // If a caret trap was set by a mask function, we need to stop at the trap.\n      caretTrapIndexes.indexOf(_i) !== -1 ||\n\n      // This is the beginning of the placeholder. We cannot move any further.\n      // Let's put the caret there.\n      _i === 0) {\n        return _i;\n      }\n    }\n  }\n}"},{"id":68,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/conformToMask.js","name":"./core/src/conformToMask.js","index":87,"index2":87,"size":12076,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":69,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","module":"./core/src/createTextMaskInputElement.js","moduleName":"./core/src/createTextMaskInputElement.js","type":"cjs require","userRequest":"./conformToMask.js","loc":"17:22-51"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = conformToMask;\n\nvar _utilities = require('./utilities.js');\n\nvar _constants = require('./constants.js');\n\nvar emptyString = '';\n\nfunction conformToMask() {\n  var rawValue = arguments.length <= 0 || arguments[0] === undefined ? emptyString : arguments[0];\n  var mask = arguments.length <= 1 || arguments[1] === undefined ? emptyString : arguments[1];\n  var config = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];\n\n  // These configurations tell us how to conform the mask\n  var _config$guide = config.guide;\n  var guide = _config$guide === undefined ? true : _config$guide;\n  var _config$previousConfo = config.previousConformedValue;\n  var previousConformedValue = _config$previousConfo === undefined ? emptyString : _config$previousConfo;\n  var _config$placeholderCh = config.placeholderChar;\n  var placeholderChar = _config$placeholderCh === undefined ? _constants.placeholderChar : _config$placeholderCh;\n  var _config$placeholder = config.placeholder;\n  var placeholder = _config$placeholder === undefined ? (0, _utilities.convertMaskToPlaceholder)(mask, placeholderChar) : _config$placeholder;\n  var currentCaretPosition = config.currentCaretPosition;\n  var keepCharPositions = config.keepCharPositions;\n\n  // The configs below indicate that the user wants the algorithm to work in *no guide* mode\n\n  var suppressGuide = guide === false && previousConformedValue !== undefined;\n\n  // Calculate lengths once for performance\n  var rawValueLength = rawValue.length;\n  var previousConformedValueLength = previousConformedValue.length;\n  var placeholderLength = placeholder.length;\n  var maskLength = mask.length;\n\n  // This tells us the number of edited characters and the direction in which they were edited (+/-)\n  var editDistance = rawValueLength - previousConformedValueLength;\n\n  // In *no guide* mode, we need to know if the user is trying to add a character or not\n  var isAddition = editDistance > 0;\n\n  // Tells us the index of the first change. For (438) 394-4938 to (38) 394-4938, that would be 1\n  var indexOfFirstChange = currentCaretPosition + (isAddition ? -editDistance : 0);\n\n  // We're also gonna need the index of last change, which we can derive as follows...\n  var indexOfLastChange = indexOfFirstChange + Math.abs(editDistance);\n\n  // If `conformToMask` is configured to keep character positions, that is, for mask 111, previous value\n  // _2_ and raw value 3_2_, the new conformed value should be 32_, not 3_2 (default behavior). That's in the case of\n  // addition. And in the case of deletion, previous value _23, raw value _3, the new conformed string should be\n  // __3, not _3_ (default behavior)\n  //\n  // The next block of logic handles keeping character positions for the case of deletion. (Keeping\n  // character positions for the case of addition is further down since it is handled differently.)\n  // To do this, we want to compensate for all characters that were deleted\n  if (keepCharPositions === true && !isAddition) {\n    // We will be storing the new placeholder characters in this variable.\n    var compensatingPlaceholderChars = emptyString;\n\n    // For every character that was deleted from a placeholder position, we add a placeholder char\n    for (var i = indexOfFirstChange; i < indexOfLastChange; i++) {\n      if (placeholder[i] === placeholderChar) {\n        compensatingPlaceholderChars += placeholderChar;\n      }\n    }\n\n    // Now we trick our algorithm by modifying the raw value to make it contain additional placeholder characters\n    // That way when the we start laying the characters again on the mask, it will keep the non-deleted characters\n    // in their positions.\n    rawValue = rawValue.slice(0, indexOfFirstChange) + compensatingPlaceholderChars + rawValue.slice(indexOfFirstChange, rawValueLength);\n  }\n\n  // Convert `rawValue` string to an array, and mark characters based on whether they are newly added or have\n  // existed in the previous conformed value. Identifying new and old characters is needed for `conformToMask`\n  // to work if it is configured to keep character positions.\n  var rawValueArr = rawValue.split(emptyString).map(function (char, i) {\n    return { char: char, isNew: i >= indexOfFirstChange && i < indexOfLastChange };\n  });\n\n  // The loop below removes masking characters from user input. For example, for mask\n  // `00 (111)`, the placeholder would be `00 (___)`. If user input is `00 (234)`, the loop below\n  // would remove all characters but `234` from the `rawValueArr`. The rest of the algorithm\n  // then would lay `234` on top of the available placeholder positions in the mask.\n  for (var _i = rawValueLength - 1; _i >= 0; _i--) {\n    var char = rawValueArr[_i].char;\n\n\n    if (char !== placeholderChar) {\n      var shouldOffset = _i >= indexOfFirstChange && previousConformedValueLength === maskLength;\n\n      if (char === placeholder[shouldOffset ? _i - editDistance : _i]) {\n        rawValueArr.splice(_i, 1);\n      }\n    }\n  }\n\n  // This is the variable that we will be filling with characters as we figure them out\n  // in the algorithm below\n  var conformedValue = emptyString;\n  var someCharsRejected = false;\n\n  // Ok, so first we loop through the placeholder looking for placeholder characters to fill up.\n  placeholderLoop: for (var _i2 = 0; _i2 < placeholderLength; _i2++) {\n    var charInPlaceholder = placeholder[_i2];\n\n    // We see one. Let's find out what we can put in it.\n    if (charInPlaceholder === placeholderChar) {\n      // But before that, do we actually have any user characters that need a place?\n      if (rawValueArr.length > 0) {\n        // We will keep chipping away at user input until either we run out of characters\n        // or we find at least one character that we can map.\n        while (rawValueArr.length > 0) {\n          // Let's retrieve the first user character in the queue of characters we have left\n          var _rawValueArr$shift = rawValueArr.shift();\n\n          var rawValueChar = _rawValueArr$shift.char;\n          var isNew = _rawValueArr$shift.isNew;\n\n          // If the character we got from the user input is a placeholder character (which happens\n          // regularly because user input could be something like (540) 90_-____, which includes\n          // a bunch of `_` which are placeholder characters) and we are not in *no guide* mode,\n          // then we map this placeholder character to the current spot in the placeholder\n\n          if (rawValueChar === placeholderChar && suppressGuide !== true) {\n            conformedValue += placeholderChar;\n\n            // And we go to find the next placeholder character that needs filling\n            continue placeholderLoop;\n\n            // Else if, the character we got from the user input is not a placeholder, let's see\n            // if the current position in the mask can accept it.\n          } else if (mask[_i2].test(rawValueChar)) {\n            // we map the character differently based on whether we are keeping character positions or not.\n            // If any of the conditions below are met, we simply map the raw value character to the\n            // placeholder position.\n            if (keepCharPositions !== true || isNew === false || previousConformedValue === emptyString || guide === false || !isAddition) {\n              conformedValue += rawValueChar;\n            } else {\n              // We enter this block of code if we are trying to keep character positions and none of the conditions\n              // above is met. In this case, we need to see if there's an available spot for the raw value character\n              // to be mapped to. If we couldn't find a spot, we will discard the character.\n              //\n              // For example, for mask `1111`, previous conformed value `_2__`, raw value `942_2__`. We can map the\n              // `9`, to the first available placeholder position, but then, there are no more spots available for the\n              // `4` and `2`. So, we discard them and end up with a conformed value of `92__`.\n              var rawValueArrLength = rawValueArr.length;\n              var indexOfNextAvailablePlaceholderChar = null;\n\n              // Let's loop through the remaining raw value characters. We are looking for either a suitable spot, ie,\n              // a placeholder character or a non-suitable spot, ie, a non-placeholder character that is not new.\n              // If we see a suitable spot first, we store its position and exit the loop. If we see a non-suitable\n              // spot first, we exit the loop and our `indexOfNextAvailablePlaceholderChar` will stay as `null`.\n              for (var _i3 = 0; _i3 < rawValueArrLength; _i3++) {\n                var charData = rawValueArr[_i3];\n\n                if (charData.char !== placeholderChar && charData.isNew === false) {\n                  break;\n                }\n\n                if (charData.char === placeholderChar) {\n                  indexOfNextAvailablePlaceholderChar = _i3;\n                  break;\n                }\n              }\n\n              // If `indexOfNextAvailablePlaceholderChar` is not `null`, that means the character is not blocked.\n              // We can map it. And to keep the character positions, we remove the placeholder character\n              // from the remaining characters\n              if (indexOfNextAvailablePlaceholderChar !== null) {\n                conformedValue += rawValueChar;\n                rawValueArr.splice(indexOfNextAvailablePlaceholderChar, 1);\n\n                // If `indexOfNextAvailablePlaceholderChar` is `null`, that means the character is blocked. We have to\n                // discard it.\n              } else {\n                _i2--;\n              }\n            }\n\n            // Since we've mapped this placeholder position. We move on to the next one.\n            continue placeholderLoop;\n          } else {\n            someCharsRejected = true;\n          }\n        }\n      }\n\n      // We reach this point when we've mapped all the user input characters to placeholder\n      // positions in the mask. In *guide* mode, we append the left over characters in the\n      // placeholder to the `conformedString`, but in *no guide* mode, we don't wanna do that.\n      //\n      // That is, for mask `(111)` and user input `2`, we want to return `(2`, not `(2__)`.\n      if (suppressGuide === false) {\n        conformedValue += placeholder.substr(_i2, placeholderLength);\n      }\n\n      // And we break\n      break;\n\n      // Else, the charInPlaceholder is not a placeholderChar. That is, we cannot fill it\n      // with user input. So we just map it to the final output\n    } else {\n      conformedValue += charInPlaceholder;\n    }\n  }\n\n  // The following logic is needed to deal with the case of deletion in *no guide* mode.\n  //\n  // Consider the silly mask `(111) /// 1`. What if user tries to delete the last placeholder\n  // position? Something like `(589) /// `. We want to conform that to `(589`. Not `(589) /// `.\n  // That's why the logic below finds the last filled placeholder character, and removes everything\n  // from that point on.\n  if (suppressGuide && isAddition === false) {\n    var indexOfLastFilledPlaceholderChar = null;\n\n    // Find the last filled placeholder position and substring from there\n    for (var _i4 = 0; _i4 < conformedValue.length; _i4++) {\n      if (placeholder[_i4] === placeholderChar) {\n        indexOfLastFilledPlaceholderChar = _i4;\n      }\n    }\n\n    if (indexOfLastFilledPlaceholderChar !== null) {\n      // We substring from the beginning until the position after the last filled placeholder char.\n      conformedValue = conformedValue.substr(0, indexOfLastFilledPlaceholderChar + 1);\n    } else {\n      // If we couldn't find `indexOfLastFilledPlaceholderChar` that means the user deleted\n      // the first character in the mask. So we return an empty string.\n      conformedValue = emptyString;\n    }\n  }\n\n  return { conformedValue: conformedValue, meta: { someCharsRejected: someCharsRejected } };\n}"},{"id":69,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/core/src/createTextMaskInputElement.js","name":"./core/src/createTextMaskInputElement.js","index":85,"index2":88,"size":12636,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":0,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","module":"./angular2/src/angular2TextMask.ts","moduleName":"./angular2/src/angular2TextMask.ts","type":"cjs require","userRequest":"../../core/src/createTextMaskInputElement","loc":"14:35-87"}],"source":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nexports.default = createTextMaskInputElement;\n\nvar _adjustCaretPosition = require('./adjustCaretPosition.js');\n\nvar _adjustCaretPosition2 = _interopRequireDefault(_adjustCaretPosition);\n\nvar _conformToMask2 = require('./conformToMask.js');\n\nvar _conformToMask3 = _interopRequireDefault(_conformToMask2);\n\nvar _utilities = require('./utilities.js');\n\nvar _constants = require('./constants.js');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar strFunction = 'function';\nvar emptyString = '';\nvar strNone = 'none';\nvar strObject = 'object';\n\nfunction createTextMaskInputElement(_ref) {\n  var inputElement = _ref.inputElement;\n  var providedMask = _ref.mask;\n  var guide = _ref.guide;\n  var pipe = _ref.pipe;\n  var _ref$placeholderChar = _ref.placeholderChar;\n  var placeholderChar = _ref$placeholderChar === undefined ? _constants.placeholderChar : _ref$placeholderChar;\n  var onAccept = _ref.onAccept;\n  var onReject = _ref.onReject;\n  var _ref$keepCharPosition = _ref.keepCharPositions;\n  var keepCharPositions = _ref$keepCharPosition === undefined ? false : _ref$keepCharPosition;\n\n  // Text Mask accepts masks that are a combination of a `mask` and a `pipe` that work together. If such a `mask` is\n  // passed, we destructure it below, so the rest of the code can work normally as if a separate `mask` and a `pipe`\n  // were passed.\n  if ((typeof providedMask === 'undefined' ? 'undefined' : _typeof(providedMask)) === strObject && providedMask.pipe !== undefined && providedMask.mask !== undefined) {\n    pipe = providedMask.pipe;\n    providedMask = providedMask.mask;\n  }\n\n  // Anything that we will need to keep between `update` calls, we will store in this `state` object.\n  var state = { previousConformedValue: emptyString, previousOnRejectRawValue: emptyString };\n\n  // The `placeholder` is an essential piece of how Text Mask works. For a mask like `(111)`, the placeholder would be\n  // `(___)` if the `placeholderChar` is set to `_`.\n  var placeholder = void 0;\n\n  // We don't know what the mask would be yet. If it is an array, we take it as is, but if it's a function, we will\n  // have to call that function to get the mask array.\n  var mask = void 0;\n\n  // If the provided mask is an array, we can call `convertMaskToPlaceholder` here once and we'll always have the\n  // correct `placeholder`.\n  if (providedMask instanceof Array) {\n    placeholder = (0, _utilities.convertMaskToPlaceholder)(providedMask, placeholderChar);\n  }\n\n  return {\n    state: state,\n\n    // `update` is called by framework components whenever they want to update the `value` of the input element.\n    // The caller can send a `rawValue` to be conformed and set on the input element. However, the default use-case\n    // is for this to be read from the `inputElement` directly.\n    update: function update() {\n      var rawValue = arguments.length <= 0 || arguments[0] === undefined ? inputElement.value : arguments[0];\n\n      // If `rawValue` equals `state.previousConformedValue`, we don't need to change anything. So, we return.\n      // This check is here to handle controlled framework components that repeat the `update` call on every render.\n      if (rawValue === state.previousConformedValue) {\n        return;\n      }\n\n      // We check the provided `rawValue` before moving further.\n      // If it's something we can't work with `getSafeRawValue` will throw.\n      var safeRawValue = getSafeRawValue(rawValue);\n\n      // `selectionStart` indicates to us where the caret position is after the user has typed into the input\n      var currentCaretPosition = inputElement.selectionStart;\n\n      // We need to know what the `previousConformedValue` is from the previous `update` call\n\n      var previousConformedValue = state.previousConformedValue;\n\n\n      var caretTrapIndexes = void 0;\n\n      // If the `providedMask` is a function. We need to call it at every `update` to get the `mask` array.\n      // Then we also need to get the `placeholder`\n      if ((typeof providedMask === 'undefined' ? 'undefined' : _typeof(providedMask)) === strFunction) {\n        mask = providedMask(safeRawValue, { currentCaretPosition: currentCaretPosition, previousConformedValue: previousConformedValue, placeholderChar: placeholderChar });\n\n        // mask functions can setup caret traps to have some control over how the caret moves. We need to process\n        // the mask for any caret traps. `processCaretTraps` will remove the caret traps from the mask and return\n        // the indexes of the caret traps.\n\n        var _processCaretTraps = (0, _utilities.processCaretTraps)(mask);\n\n        var maskWithoutCaretTraps = _processCaretTraps.maskWithoutCaretTraps;\n        var indexes = _processCaretTraps.indexes;\n\n\n        mask = maskWithoutCaretTraps; // The processed mask is what we're interested in\n        caretTrapIndexes = indexes; // And we need to store these indexes because they're needed by `adjustCaretPosition`\n\n        placeholder = (0, _utilities.convertMaskToPlaceholder)(mask, placeholderChar);\n\n        // If the `providedMask` is not a function, we just use it as-is.\n      } else {\n        mask = providedMask;\n      }\n\n      // The following object will be passed to `conformToMask` to determine how the `rawValue` will be conformed\n      var conformToMaskConfig = {\n        previousConformedValue: previousConformedValue,\n        guide: guide,\n        placeholderChar: placeholderChar,\n        pipe: pipe,\n        placeholder: placeholder,\n        currentCaretPosition: currentCaretPosition,\n        keepCharPositions: keepCharPositions\n      };\n\n      // `conformToMask` returns the information below: we need the `conformedValue` and we need to know whether\n      // some characters were rejected. We'll use `someCharsRejected` to know whether we should call the `onReject`\n      // callback\n\n      var _conformToMask = (0, _conformToMask3.default)(safeRawValue, mask, conformToMaskConfig);\n\n      var conformedValue = _conformToMask.conformedValue;\n      var someCharsRejected = _conformToMask.meta.someCharsRejected;\n\n      // The following few lines are to support the `pipe` feature.\n\n      var piped = (typeof pipe === 'undefined' ? 'undefined' : _typeof(pipe)) === strFunction;\n\n      var pipeResults = {};\n\n      // If `pipe` is a function, we call it.\n      if (piped) {\n        // `pipe` receives the `conformedValue` and the configurations with which `conformToMask` was called.\n        pipeResults = pipe(conformedValue, _extends({ rawValue: safeRawValue }, conformToMaskConfig));\n\n        // `pipeResults` should be an object. But as a convenience, we allow the pipe author to just return `false` to\n        // indicate rejection. Or return just a string when there are no piped characters.\n        // If the `pipe` returns `false` or a string, the block below turns it into an object that the rest\n        // of the code can work with.\n        if (pipeResults === false) {\n          // If the `pipe` rejects `conformedValue`, we use the `previousConformedValue`, and set `rejected` to `true`.\n          pipeResults = { value: previousConformedValue, rejected: true };\n        } else if ((0, _utilities.isString)(pipeResults)) {\n          pipeResults = { value: pipeResults };\n        }\n      }\n\n      // Before we proceed, we need to know which conformed value to use, the one returned by the pipe or the one\n      // returned by `conformToMask`.\n      var finalConformedValue = piped ? pipeResults.value : conformedValue;\n\n      // After determining the conformed value, we will need to know where to set\n      // the caret position. `adjustCaretPosition` will tell us.\n      var adjustedCaretPosition = (0, _adjustCaretPosition2.default)({\n        previousConformedValue: previousConformedValue,\n        conformedValue: finalConformedValue,\n        placeholder: placeholder,\n        rawValue: safeRawValue,\n        currentCaretPosition: currentCaretPosition,\n        placeholderChar: placeholderChar,\n        indexesOfPipedChars: pipeResults.indexesOfPipedChars,\n        caretTrapIndexes: caretTrapIndexes\n      });\n\n      // Text Mask sets the input value to an empty string when the condition below is set. It provides a better UX.\n      var inputValueShouldBeEmpty = finalConformedValue === placeholder && adjustedCaretPosition === 0;\n      var inputElementValue = inputValueShouldBeEmpty ? emptyString : finalConformedValue;\n\n      state.previousConformedValue = inputElementValue; // store value for access for next time\n\n      // In some cases, this `update` method will be repeatedly called with a raw value that has already been conformed\n      // and set to `inputElement.value`. The below check guards against needlessly readjusting the input state.\n      // See https://github.com/text-mask/text-mask/issues/231\n      if (inputElement.value === inputElementValue) {\n        return;\n      }\n\n      inputElement.value = inputElementValue; // set the input value\n      safeSetSelection(inputElement, adjustedCaretPosition); // adjust caret position\n\n      // If we set a value to the input element that's different form `previousConformedValue`, it means user input\n      // was accepted, and we call the `onAccept` callback if it's a function. However, there's an exception. When\n      // the first character is rejected, the input might go from empty string to placeholder. We don't want to call\n      // `onAccept` in that case.\n      if ((typeof onAccept === 'undefined' ? 'undefined' : _typeof(onAccept)) === strFunction && inputElementValue !== previousConformedValue && inputElementValue !== placeholder) {\n        state.previousOnRejectRawValue = null; // See `onReject` comments for explanation for this\n\n        onAccept();\n      }\n\n      // Now we need to figure out if user input was rejected to decide whether to call `onReject` callback or not.\n      // We need to know if the operation is deletion, because if it is, then we definitely don't need to call\n      // `onReject` in that case.\n      var isDeletion = safeRawValue.length < previousConformedValue.length;\n\n      // To call `onReject`\n      if (\n      // `onReject` has to be a function\n      (typeof onReject === 'undefined' ? 'undefined' : _typeof(onReject)) === strFunction && (\n\n      // `someCharsRejected` or `pipeResults.rejected` has to be true\n      someCharsRejected || pipeResults.rejected) &&\n\n      // the operation needs to be addition, not deletion\n      isDeletion === false &&\n\n      // the `rawValue` should not be the same as the previous rejected `rawValue`. We have this check to prevent\n      // an infinite loop where `onReject` causes `update` to be called, So we end-up with:\n      // `onReject` -> `update` -> `onReject` -> `update` -> etc...\n      state.previousOnRejectRawValue !== rawValue) {\n        // So, remember the `rawValue` which was rejected. `state.previousOnRejectRawValue` is also reset to `null`\n        // when the value is accepted, as you can see `onAccept` above.\n        state.previousOnRejectRawValue = rawValue;\n\n        // `onReject` receives the `finalConformedValue` and booleans for `pipeRejection` and `maskRejection`\n        // so know whether the user input was rejected by the mask pattern or by the pipe.\n        onReject({\n          conformedValue: finalConformedValue,\n          pipeRejection: pipeResults.rejected,\n          maskRejection: someCharsRejected\n        });\n      }\n    }\n  };\n}\n\nfunction safeSetSelection(element, selectionPosition) {\n  if (document.activeElement === element) {\n    element.setSelectionRange(selectionPosition, selectionPosition, strNone);\n  }\n}\n\nfunction getSafeRawValue(inputValue) {\n  if ((0, _utilities.isString)(inputValue)) {\n    return inputValue;\n  } else if ((0, _utilities.isNumber)(inputValue)) {\n    return String(inputValue);\n  } else if (inputValue === undefined || inputValue === null) {\n    return emptyString;\n  } else {\n    throw new Error(\"The 'value' provided to Text Mask needs to be a string or a number. The value \" + ('received was:\\n\\n ' + JSON.stringify(inputValue)));\n  }\n}"},{"id":70,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","name":"./~/@angular/common/index.js","index":2,"index2":82,"size":1186,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":0,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","module":"./angular2/src/angular2TextMask.ts","moduleName":"./angular2/src/angular2TextMask.ts","type":"cjs require","userRequest":"@angular/common","loc":"12:15-41"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nfunction __export(m) {\n    for (var p in m) {\n        if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n    }\n}\nvar core_1 = require('@angular/core');\nvar common_directives_1 = require('./src/common_directives');\nvar pipes_1 = require('./src/pipes');\n__export(require('./src/pipes'));\n__export(require('./src/directives'));\n__export(require('./src/forms-deprecated'));\n__export(require('./src/common_directives'));\n__export(require('./src/location'));\nvar localization_1 = require('./src/localization');\nexports.NgLocalization = localization_1.NgLocalization;\nvar CommonModule = function () {\n    function CommonModule() {}\n    /** @nocollapse */\n    CommonModule.decorators = [{ type: core_1.NgModule, args: [{ declarations: [common_directives_1.COMMON_DIRECTIVES, pipes_1.COMMON_PIPES], exports: [common_directives_1.COMMON_DIRECTIVES, pipes_1.COMMON_PIPES] }] }];\n    return CommonModule;\n}();\nexports.CommonModule = CommonModule;\n//# sourceMappingURL=index.js.map"},{"id":71,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives/core_directives.js","name":"./~/@angular/common/src/directives/core_directives.js","index":5,"index2":14,"size":1990,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":40,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/directives.js","module":"./~/@angular/common/src/directives.js","moduleName":"./~/@angular/common/src/directives.js","type":"cjs require","userRequest":"./directives/core_directives","loc":"15:24-63"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar ng_class_1 = require('./ng_class');\nvar ng_for_1 = require('./ng_for');\nvar ng_if_1 = require('./ng_if');\nvar ng_plural_1 = require('./ng_plural');\nvar ng_style_1 = require('./ng_style');\nvar ng_switch_1 = require('./ng_switch');\nvar ng_template_outlet_1 = require('./ng_template_outlet');\n/**\n * A collection of Angular core directives that are likely to be used in each and every Angular\n * application.\n *\n * This collection can be used to quickly enumerate all the built-in directives in the `directives`\n * property of the `@Component` annotation.\n *\n * ### Example ([live demo](http://plnkr.co/edit/yakGwpCdUkg0qfzX5m8g?p=preview))\n *\n * Instead of writing:\n *\n * ```typescript\n * import {NgClass, NgIf, NgFor, NgSwitch, NgSwitchWhen, NgSwitchDefault} from '@angular/common';\n * import {OtherDirective} from './myDirectives';\n *\n * @Component({\n *   selector: 'my-component',\n *   templateUrl: 'myComponent.html',\n *   directives: [NgClass, NgIf, NgFor, NgSwitch, NgSwitchWhen, NgSwitchDefault, OtherDirective]\n * })\n * export class MyComponent {\n *   ...\n * }\n * ```\n * one could import all the core directives at once:\n *\n * ```typescript\n * import {CORE_DIRECTIVES} from '@angular/common';\n * import {OtherDirective} from './myDirectives';\n *\n * @Component({\n *   selector: 'my-component',\n *   templateUrl: 'myComponent.html',\n *   directives: [CORE_DIRECTIVES, OtherDirective]\n * })\n * export class MyComponent {\n *   ...\n * }\n * ```\n *\n * @stable\n */\nexports.CORE_DIRECTIVES = [ng_class_1.NgClass, ng_for_1.NgFor, ng_if_1.NgIf, ng_template_outlet_1.NgTemplateOutlet, ng_style_1.NgStyle, ng_switch_1.NgSwitch, ng_switch_1.NgSwitchCase, ng_switch_1.NgSwitchDefault, ng_plural_1.NgPlural, ng_plural_1.NgPluralCase];\n//# sourceMappingURL=core_directives.js.map"},{"id":72,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated.js","name":"./~/@angular/common/src/forms-deprecated.js","index":33,"index2":75,"size":4881,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/forms-deprecated","loc":"20:9-42"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n/**\n * @module\n * @description\n * This module is used for handling user input, by defining and building a {@link ControlGroup} that\n * consists of\n * {@link Control} objects, and mapping them onto the DOM. {@link Control} objects can then be used\n * to read information\n * from the form DOM elements.\n *\n * Forms providers are not included in default providers; you must import these providers\n * explicitly.\n */\n\nvar core_1 = require('@angular/core');\nvar directives_1 = require('./forms-deprecated/directives');\nvar radio_control_value_accessor_1 = require('./forms-deprecated/directives/radio_control_value_accessor');\nvar form_builder_1 = require('./forms-deprecated/form_builder');\nvar directives_2 = require('./forms-deprecated/directives');\nexports.FORM_DIRECTIVES = directives_2.FORM_DIRECTIVES;\nexports.RadioButtonState = directives_2.RadioButtonState;\nvar abstract_control_directive_1 = require('./forms-deprecated/directives/abstract_control_directive');\nexports.AbstractControlDirective = abstract_control_directive_1.AbstractControlDirective;\nvar checkbox_value_accessor_1 = require('./forms-deprecated/directives/checkbox_value_accessor');\nexports.CheckboxControlValueAccessor = checkbox_value_accessor_1.CheckboxControlValueAccessor;\nvar control_container_1 = require('./forms-deprecated/directives/control_container');\nexports.ControlContainer = control_container_1.ControlContainer;\nvar control_value_accessor_1 = require('./forms-deprecated/directives/control_value_accessor');\nexports.NG_VALUE_ACCESSOR = control_value_accessor_1.NG_VALUE_ACCESSOR;\nvar default_value_accessor_1 = require('./forms-deprecated/directives/default_value_accessor');\nexports.DefaultValueAccessor = default_value_accessor_1.DefaultValueAccessor;\nvar ng_control_1 = require('./forms-deprecated/directives/ng_control');\nexports.NgControl = ng_control_1.NgControl;\nvar ng_control_group_1 = require('./forms-deprecated/directives/ng_control_group');\nexports.NgControlGroup = ng_control_group_1.NgControlGroup;\nvar ng_control_name_1 = require('./forms-deprecated/directives/ng_control_name');\nexports.NgControlName = ng_control_name_1.NgControlName;\nvar ng_control_status_1 = require('./forms-deprecated/directives/ng_control_status');\nexports.NgControlStatus = ng_control_status_1.NgControlStatus;\nvar ng_form_1 = require('./forms-deprecated/directives/ng_form');\nexports.NgForm = ng_form_1.NgForm;\nvar ng_form_control_1 = require('./forms-deprecated/directives/ng_form_control');\nexports.NgFormControl = ng_form_control_1.NgFormControl;\nvar ng_form_model_1 = require('./forms-deprecated/directives/ng_form_model');\nexports.NgFormModel = ng_form_model_1.NgFormModel;\nvar ng_model_1 = require('./forms-deprecated/directives/ng_model');\nexports.NgModel = ng_model_1.NgModel;\nvar select_control_value_accessor_1 = require('./forms-deprecated/directives/select_control_value_accessor');\nexports.NgSelectOption = select_control_value_accessor_1.NgSelectOption;\nexports.SelectControlValueAccessor = select_control_value_accessor_1.SelectControlValueAccessor;\nvar validators_1 = require('./forms-deprecated/directives/validators');\nexports.MaxLengthValidator = validators_1.MaxLengthValidator;\nexports.MinLengthValidator = validators_1.MinLengthValidator;\nexports.PatternValidator = validators_1.PatternValidator;\nexports.RequiredValidator = validators_1.RequiredValidator;\nvar form_builder_2 = require('./forms-deprecated/form_builder');\nexports.FormBuilder = form_builder_2.FormBuilder;\nvar model_1 = require('./forms-deprecated/model');\nexports.AbstractControl = model_1.AbstractControl;\nexports.Control = model_1.Control;\nexports.ControlArray = model_1.ControlArray;\nexports.ControlGroup = model_1.ControlGroup;\nvar validators_2 = require('./forms-deprecated/validators');\nexports.NG_ASYNC_VALIDATORS = validators_2.NG_ASYNC_VALIDATORS;\nexports.NG_VALIDATORS = validators_2.NG_VALIDATORS;\nexports.Validators = validators_2.Validators;\n/**\n * Shorthand set of providers used for building Angular forms.\n *\n * ### Example\n *\n * ```typescript\n * bootstrap(MyApp, [FORM_PROVIDERS]);\n * ```\n *\n * @experimental\n */\nexports.FORM_PROVIDERS = [form_builder_1.FormBuilder, radio_control_value_accessor_1.RadioControlRegistry];\nvar DeprecatedFormsModule = function () {\n  function DeprecatedFormsModule() {}\n  /** @nocollapse */\n  DeprecatedFormsModule.decorators = [{ type: core_1.NgModule, args: [{\n      providers: [exports.FORM_PROVIDERS],\n      declarations: directives_1.FORM_DIRECTIVES,\n      exports: directives_1.FORM_DIRECTIVES\n    }] }];\n  return DeprecatedFormsModule;\n}();\nexports.DeprecatedFormsModule = DeprecatedFormsModule;\n//# sourceMappingURL=forms-deprecated.js.map"},{"id":73,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/normalize_validator.js","name":"./~/@angular/common/src/forms-deprecated/directives/normalize_validator.js","index":45,"index2":39,"size":808,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":10,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/directives/shared.js","module":"./~/@angular/common/src/forms-deprecated/directives/shared.js","moduleName":"./~/@angular/common/src/forms-deprecated/directives/shared.js","type":"cjs require","userRequest":"./normalize_validator","loc":"16:28-60"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nfunction normalizeValidator(validator) {\n    if (validator.validate !== undefined) {\n        return function (c) {\n            return validator.validate(c);\n        };\n    } else {\n        return validator;\n    }\n}\nexports.normalizeValidator = normalizeValidator;\nfunction normalizeAsyncValidator(validator) {\n    if (validator.validate !== undefined) {\n        return function (c) {\n            return validator.validate(c);\n        };\n    } else {\n        return validator;\n    }\n}\nexports.normalizeAsyncValidator = normalizeAsyncValidator;\n//# sourceMappingURL=normalize_validator.js.map"},{"id":74,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","name":"./~/@angular/common/src/location.js","index":78,"index2":81,"size":615,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":70,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/index.js","module":"./~/@angular/common/index.js","moduleName":"./~/@angular/common/index.js","type":"cjs require","userRequest":"./src/location","loc":"22:9-34"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nfunction __export(m) {\n  for (var p in m) {\n    if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n  }\n}\n__export(require('./location/platform_location'));\n__export(require('./location/location_strategy'));\n__export(require('./location/hash_location_strategy'));\n__export(require('./location/path_location_strategy'));\n__export(require('./location/location'));\n//# sourceMappingURL=location.js.map"},{"id":75,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/hash_location_strategy.js","name":"./~/@angular/common/src/location/hash_location_strategy.js","index":81,"index2":79,"size":3453,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":74,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","module":"./~/@angular/common/src/location.js","moduleName":"./~/@angular/common/src/location.js","type":"cjs require","userRequest":"./location/hash_location_strategy","loc":"17:9-53"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar lang_1 = require('../facade/lang');\nvar location_1 = require('./location');\nvar location_strategy_1 = require('./location_strategy');\nvar platform_location_1 = require('./platform_location');\nvar HashLocationStrategy = function (_super) {\n    __extends(HashLocationStrategy, _super);\n    function HashLocationStrategy(_platformLocation, _baseHref) {\n        _super.call(this);\n        this._platformLocation = _platformLocation;\n        this._baseHref = '';\n        if (lang_1.isPresent(_baseHref)) {\n            this._baseHref = _baseHref;\n        }\n    }\n    HashLocationStrategy.prototype.onPopState = function (fn) {\n        this._platformLocation.onPopState(fn);\n        this._platformLocation.onHashChange(fn);\n    };\n    HashLocationStrategy.prototype.getBaseHref = function () {\n        return this._baseHref;\n    };\n    HashLocationStrategy.prototype.path = function (includeHash) {\n        if (includeHash === void 0) {\n            includeHash = false;\n        }\n        // the hash value is always prefixed with a `#`\n        // and if it is empty then it will stay empty\n        var path = this._platformLocation.hash;\n        if (!lang_1.isPresent(path)) path = '#';\n        return path.length > 0 ? path.substring(1) : path;\n    };\n    HashLocationStrategy.prototype.prepareExternalUrl = function (internal) {\n        var url = location_1.Location.joinWithSlash(this._baseHref, internal);\n        return url.length > 0 ? '#' + url : url;\n    };\n    HashLocationStrategy.prototype.pushState = function (state, title, path, queryParams) {\n        var url = this.prepareExternalUrl(path + location_1.Location.normalizeQueryParams(queryParams));\n        if (url.length == 0) {\n            url = this._platformLocation.pathname;\n        }\n        this._platformLocation.pushState(state, title, url);\n    };\n    HashLocationStrategy.prototype.replaceState = function (state, title, path, queryParams) {\n        var url = this.prepareExternalUrl(path + location_1.Location.normalizeQueryParams(queryParams));\n        if (url.length == 0) {\n            url = this._platformLocation.pathname;\n        }\n        this._platformLocation.replaceState(state, title, url);\n    };\n    HashLocationStrategy.prototype.forward = function () {\n        this._platformLocation.forward();\n    };\n    HashLocationStrategy.prototype.back = function () {\n        this._platformLocation.back();\n    };\n    /** @nocollapse */\n    HashLocationStrategy.decorators = [{ type: core_1.Injectable }];\n    /** @nocollapse */\n    HashLocationStrategy.ctorParameters = [{ type: platform_location_1.PlatformLocation }, { type: undefined, decorators: [{ type: core_1.Optional }, { type: core_1.Inject, args: [location_strategy_1.APP_BASE_HREF] }] }];\n    return HashLocationStrategy;\n}(location_strategy_1.LocationStrategy);\nexports.HashLocationStrategy = HashLocationStrategy;\n//# sourceMappingURL=hash_location_strategy.js.map"},{"id":76,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location/path_location_strategy.js","name":"./~/@angular/common/src/location/path_location_strategy.js","index":83,"index2":80,"size":3500,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":74,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/location.js","module":"./~/@angular/common/src/location.js","moduleName":"./~/@angular/common/src/location.js","type":"cjs require","userRequest":"./location/path_location_strategy","loc":"18:9-53"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar core_1 = require('@angular/core');\nvar exceptions_1 = require('../facade/exceptions');\nvar lang_1 = require('../facade/lang');\nvar location_1 = require('./location');\nvar location_strategy_1 = require('./location_strategy');\nvar platform_location_1 = require('./platform_location');\nvar PathLocationStrategy = function (_super) {\n    __extends(PathLocationStrategy, _super);\n    function PathLocationStrategy(_platformLocation, href) {\n        _super.call(this);\n        this._platformLocation = _platformLocation;\n        if (lang_1.isBlank(href)) {\n            href = this._platformLocation.getBaseHrefFromDOM();\n        }\n        if (lang_1.isBlank(href)) {\n            throw new exceptions_1.BaseException(\"No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.\");\n        }\n        this._baseHref = href;\n    }\n    PathLocationStrategy.prototype.onPopState = function (fn) {\n        this._platformLocation.onPopState(fn);\n        this._platformLocation.onHashChange(fn);\n    };\n    PathLocationStrategy.prototype.getBaseHref = function () {\n        return this._baseHref;\n    };\n    PathLocationStrategy.prototype.prepareExternalUrl = function (internal) {\n        return location_1.Location.joinWithSlash(this._baseHref, internal);\n    };\n    PathLocationStrategy.prototype.path = function (includeHash) {\n        if (includeHash === void 0) {\n            includeHash = false;\n        }\n        var pathname = this._platformLocation.pathname + location_1.Location.normalizeQueryParams(this._platformLocation.search);\n        var hash = this._platformLocation.hash;\n        return hash && includeHash ? \"\" + pathname + hash : pathname;\n    };\n    PathLocationStrategy.prototype.pushState = function (state, title, url, queryParams) {\n        var externalUrl = this.prepareExternalUrl(url + location_1.Location.normalizeQueryParams(queryParams));\n        this._platformLocation.pushState(state, title, externalUrl);\n    };\n    PathLocationStrategy.prototype.replaceState = function (state, title, url, queryParams) {\n        var externalUrl = this.prepareExternalUrl(url + location_1.Location.normalizeQueryParams(queryParams));\n        this._platformLocation.replaceState(state, title, externalUrl);\n    };\n    PathLocationStrategy.prototype.forward = function () {\n        this._platformLocation.forward();\n    };\n    PathLocationStrategy.prototype.back = function () {\n        this._platformLocation.back();\n    };\n    /** @nocollapse */\n    PathLocationStrategy.decorators = [{ type: core_1.Injectable }];\n    /** @nocollapse */\n    PathLocationStrategy.ctorParameters = [{ type: platform_location_1.PlatformLocation }, { type: undefined, decorators: [{ type: core_1.Optional }, { type: core_1.Inject, args: [location_strategy_1.APP_BASE_HREF] }] }];\n    return PathLocationStrategy;\n}(location_strategy_1.LocationStrategy);\nexports.PathLocationStrategy = PathLocationStrategy;\n//# sourceMappingURL=path_location_strategy.js.map"},{"id":77,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes/common_pipes.js","name":"./~/@angular/common/src/pipes/common_pipes.js","index":22,"index2":29,"size":1489,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":52,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/pipes.js","module":"./~/@angular/common/src/pipes.js","moduleName":"./~/@angular/common/src/pipes.js","type":"cjs require","userRequest":"./pipes/common_pipes","loc":"17:21-52"}],"source":"/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\"use strict\";\n/**\n * @module\n * @description\n * This module provides a set of common Pipes.\n */\n\nvar async_pipe_1 = require('./async_pipe');\nvar date_pipe_1 = require('./date_pipe');\nvar i18n_plural_pipe_1 = require('./i18n_plural_pipe');\nvar i18n_select_pipe_1 = require('./i18n_select_pipe');\nvar json_pipe_1 = require('./json_pipe');\nvar lowercase_pipe_1 = require('./lowercase_pipe');\nvar number_pipe_1 = require('./number_pipe');\nvar replace_pipe_1 = require('./replace_pipe');\nvar slice_pipe_1 = require('./slice_pipe');\nvar uppercase_pipe_1 = require('./uppercase_pipe');\n/**\n * A collection of Angular core pipes that are likely to be used in each and every\n * application.\n *\n * This collection can be used to quickly enumerate all the built-in pipes in the `pipes`\n * property of the `@Component` decorator.\n *\n * @experimental Contains i18n pipes which are experimental\n */\nexports.COMMON_PIPES = [async_pipe_1.AsyncPipe, uppercase_pipe_1.UpperCasePipe, lowercase_pipe_1.LowerCasePipe, json_pipe_1.JsonPipe, slice_pipe_1.SlicePipe, number_pipe_1.DecimalPipe, number_pipe_1.PercentPipe, number_pipe_1.CurrencyPipe, date_pipe_1.DatePipe, replace_pipe_1.ReplacePipe, i18n_plural_pipe_1.I18nPluralPipe, i18n_select_pipe_1.I18nSelectPipe];\n//# sourceMappingURL=common_pipes.js.map"},{"id":78,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observer.js","name":"./~/rxjs/Observer.js","index":64,"index2":54,"size":221,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscriber.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":64,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscriber.js","module":"./~/rxjs/Subscriber.js","moduleName":"./~/rxjs/Subscriber.js","type":"cjs require","userRequest":"./Observer","loc":"15:17-38"}],"source":"\"use strict\";\n\nexports.empty = {\n    closed: true,\n    next: function next(value) {},\n    error: function error(err) {\n        throw err;\n    },\n    complete: function complete() {}\n};\n//# sourceMappingURL=Observer.js.map"},{"id":79,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/SubjectSubscription.js","name":"./~/rxjs/SubjectSubscription.js","index":68,"index2":61,"size":1431,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":63,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","module":"./~/rxjs/Subject.js","moduleName":"./~/rxjs/Subject.js","type":"cjs require","userRequest":"./SubjectSubscription","loc":"15:28-60"}],"source":"\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscription_1 = require('./Subscription');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SubjectSubscription = function (_super) {\n    __extends(SubjectSubscription, _super);\n    function SubjectSubscription(subject, subscriber) {\n        _super.call(this);\n        this.subject = subject;\n        this.subscriber = subscriber;\n        this.closed = false;\n    }\n    SubjectSubscription.prototype.unsubscribe = function () {\n        if (this.closed) {\n            return;\n        }\n        this.closed = true;\n        var subject = this.subject;\n        var observers = subject.observers;\n        this.subject = null;\n        if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n            return;\n        }\n        var subscriberIndex = observers.indexOf(this.subscriber);\n        if (subscriberIndex !== -1) {\n            observers.splice(subscriberIndex, 1);\n        }\n    };\n    return SubjectSubscription;\n}(Subscription_1.Subscription);\nexports.SubjectSubscription = SubjectSubscription;\n//# sourceMappingURL=SubjectSubscription.js.map"},{"id":80,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/observable/PromiseObservable.js","name":"./~/rxjs/observable/PromiseObservable.js","index":72,"index2":66,"size":4731,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/model.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":17,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/model.js","module":"./~/@angular/common/src/forms-deprecated/model.js","moduleName":"./~/@angular/common/src/forms-deprecated/model.js","type":"cjs require","userRequest":"rxjs/observable/PromiseObservable","loc":"18:26-70"}],"source":"\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = require('../util/root');\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar PromiseObservable = function (_super) {\n    __extends(PromiseObservable, _super);\n    function PromiseObservable(promise, scheduler) {\n        _super.call(this);\n        this.promise = promise;\n        this.scheduler = scheduler;\n    }\n    /**\n     * Converts a Promise to an Observable.\n     *\n     * <span class=\"informal\">Returns an Observable that just emits the Promise's\n     * resolved value, then completes.</span>\n     *\n     * Converts an ES2015 Promise or a Promises/A+ spec compliant Promise to an\n     * Observable. If the Promise resolves with a value, the output Observable\n     * emits that resolved value as a `next`, and then completes. If the Promise\n     * is rejected, then the output Observable emits the corresponding Error.\n     *\n     * @example <caption>Convert the Promise returned by Fetch to an Observable</caption>\n     * var result = Rx.Observable.fromPromise(fetch('http://myserver.com/'));\n     * result.subscribe(x => console.log(x), e => console.error(e));\n     *\n     * @see {@link bindCallback}\n     * @see {@link from}\n     *\n     * @param {Promise<T>} promise The promise to be converted.\n     * @param {Scheduler} [scheduler] An optional Scheduler to use for scheduling\n     * the delivery of the resolved value (or the rejection).\n     * @return {Observable<T>} An Observable which wraps the Promise.\n     * @static true\n     * @name fromPromise\n     * @owner Observable\n     */\n    PromiseObservable.create = function (promise, scheduler) {\n        return new PromiseObservable(promise, scheduler);\n    };\n    PromiseObservable.prototype._subscribe = function (subscriber) {\n        var _this = this;\n        var promise = this.promise;\n        var scheduler = this.scheduler;\n        if (scheduler == null) {\n            if (this._isScalar) {\n                if (!subscriber.closed) {\n                    subscriber.next(this.value);\n                    subscriber.complete();\n                }\n            } else {\n                promise.then(function (value) {\n                    _this.value = value;\n                    _this._isScalar = true;\n                    if (!subscriber.closed) {\n                        subscriber.next(value);\n                        subscriber.complete();\n                    }\n                }, function (err) {\n                    if (!subscriber.closed) {\n                        subscriber.error(err);\n                    }\n                }).then(null, function (err) {\n                    // escape the promise trap, throw unhandled errors\n                    root_1.root.setTimeout(function () {\n                        throw err;\n                    });\n                });\n            }\n        } else {\n            if (this._isScalar) {\n                if (!subscriber.closed) {\n                    return scheduler.schedule(dispatchNext, 0, { value: this.value, subscriber: subscriber });\n                }\n            } else {\n                promise.then(function (value) {\n                    _this.value = value;\n                    _this._isScalar = true;\n                    if (!subscriber.closed) {\n                        subscriber.add(scheduler.schedule(dispatchNext, 0, { value: value, subscriber: subscriber }));\n                    }\n                }, function (err) {\n                    if (!subscriber.closed) {\n                        subscriber.add(scheduler.schedule(dispatchError, 0, { err: err, subscriber: subscriber }));\n                    }\n                }).then(null, function (err) {\n                    // escape the promise trap, throw unhandled errors\n                    root_1.root.setTimeout(function () {\n                        throw err;\n                    });\n                });\n            }\n        }\n    };\n    return PromiseObservable;\n}(Observable_1.Observable);\nexports.PromiseObservable = PromiseObservable;\nfunction dispatchNext(arg) {\n    var value = arg.value,\n        subscriber = arg.subscriber;\n    if (!subscriber.closed) {\n        subscriber.next(value);\n        subscriber.complete();\n    }\n}\nfunction dispatchError(arg) {\n    var err = arg.err,\n        subscriber = arg.subscriber;\n    if (!subscriber.closed) {\n        subscriber.error(err);\n    }\n}\n//# sourceMappingURL=PromiseObservable.js.map"},{"id":81,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/operator/toPromise.js","name":"./~/rxjs/operator/toPromise.js","index":40,"index2":35,"size":913,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/validators.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":5,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/@angular/common/src/forms-deprecated/validators.js","module":"./~/@angular/common/src/forms-deprecated/validators.js","moduleName":"./~/@angular/common/src/forms-deprecated/validators.js","type":"cjs require","userRequest":"rxjs/operator/toPromise","loc":"11:18-52"}],"source":"\"use strict\";\n\nvar root_1 = require('../util/root');\n/**\n * @param PromiseCtor\n * @return {Promise<T>}\n * @method toPromise\n * @owner Observable\n */\nfunction toPromise(PromiseCtor) {\n    var _this = this;\n    if (!PromiseCtor) {\n        if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {\n            PromiseCtor = root_1.root.Rx.config.Promise;\n        } else if (root_1.root.Promise) {\n            PromiseCtor = root_1.root.Promise;\n        }\n    }\n    if (!PromiseCtor) {\n        throw new Error('no Promise impl found');\n    }\n    return new PromiseCtor(function (resolve, reject) {\n        var value;\n        _this.subscribe(function (x) {\n            return value = x;\n        }, function (err) {\n            return reject(err);\n        }, function () {\n            return resolve(value);\n        });\n    });\n}\nexports.toPromise = toPromise;\n//# sourceMappingURL=toPromise.js.map"},{"id":82,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/symbol/observable.js","name":"./~/rxjs/symbol/observable.js","index":66,"index2":58,"size":626,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observable.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":35,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observable.js","module":"./~/rxjs/Observable.js","moduleName":"./~/rxjs/Observable.js","type":"cjs require","userRequest":"./symbol/observable","loc":"5:19-49"}],"source":"\"use strict\";\n\nvar root_1 = require('../util/root');\nfunction getSymbolObservable(context) {\n    var $$observable;\n    var _Symbol = context.Symbol;\n    if (typeof _Symbol === 'function') {\n        if (_Symbol.observable) {\n            $$observable = _Symbol.observable;\n        } else {\n            $$observable = _Symbol('observable');\n            _Symbol.observable = $$observable;\n        }\n    } else {\n        $$observable = '@@observable';\n    }\n    return $$observable;\n}\nexports.getSymbolObservable = getSymbolObservable;\nexports.$$observable = getSymbolObservable(root_1.root);\n//# sourceMappingURL=observable.js.map"},{"id":83,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/ObjectUnsubscribedError.js","name":"./~/rxjs/util/ObjectUnsubscribedError.js","index":67,"index2":60,"size":985,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":63,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subject.js","module":"./~/rxjs/Subject.js","moduleName":"./~/rxjs/Subject.js","type":"cjs require","userRequest":"./util/ObjectUnsubscribedError","loc":"14:32-73"}],"source":"\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nvar ObjectUnsubscribedError = function (_super) {\n    __extends(ObjectUnsubscribedError, _super);\n    function ObjectUnsubscribedError() {\n        var err = _super.call(this, 'object unsubscribed');\n        this.name = err.name = 'ObjectUnsubscribedError';\n        this.stack = err.stack;\n        this.message = err.message;\n    }\n    return ObjectUnsubscribedError;\n}(Error);\nexports.ObjectUnsubscribedError = ObjectUnsubscribedError;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map"},{"id":84,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/UnsubscriptionError.js","name":"./~/rxjs/util/UnsubscriptionError.js","index":63,"index2":52,"size":1102,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":36,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","module":"./~/rxjs/Subscription.js","moduleName":"./~/rxjs/Subscription.js","type":"cjs require","userRequest":"./util/UnsubscriptionError","loc":"10:28-65"}],"source":"\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n    for (var p in b) {\n        if (b.hasOwnProperty(p)) d[p] = b[p];\n    }function __() {\n        this.constructor = d;\n    }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nvar UnsubscriptionError = function (_super) {\n    __extends(UnsubscriptionError, _super);\n    function UnsubscriptionError(errors) {\n        _super.call(this);\n        this.errors = errors;\n        var err = Error.call(this, errors ? errors.length + \" errors occurred during unsubscription:\\n  \" + errors.map(function (err, i) {\n            return i + 1 + \") \" + err.toString();\n        }).join('\\n  ') : '');\n        this.name = err.name = 'UnsubscriptionError';\n        this.stack = err.stack;\n        this.message = err.message;\n    }\n    return UnsubscriptionError;\n}(Error);\nexports.UnsubscriptionError = UnsubscriptionError;\n//# sourceMappingURL=UnsubscriptionError.js.map"},{"id":85,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/isArray.js","name":"./~/rxjs/util/isArray.js","index":59,"index2":48,"size":147,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":36,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","module":"./~/rxjs/Subscription.js","moduleName":"./~/rxjs/Subscription.js","type":"cjs require","userRequest":"./util/isArray","loc":"5:16-41"}],"source":"\"use strict\";\n\nexports.isArray = Array.isArray || function (x) {\n  return x && typeof x.length === 'number';\n};\n//# sourceMappingURL=isArray.js.map"},{"id":86,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/isObject.js","name":"./~/rxjs/util/isObject.js","index":60,"index2":49,"size":440,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":36,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","module":"./~/rxjs/Subscription.js","moduleName":"./~/rxjs/Subscription.js","type":"cjs require","userRequest":"./util/isObject","loc":"6:17-43"}],"source":"\"use strict\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nfunction isObject(x) {\n    return x != null && (typeof x === \"undefined\" ? \"undefined\" : _typeof(x)) === 'object';\n}\nexports.isObject = isObject;\n//# sourceMappingURL=isObject.js.map"},{"id":87,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/toSubscriber.js","name":"./~/rxjs/util/toSubscriber.js","index":55,"index2":57,"size":708,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observable.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":35,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Observable.js","module":"./~/rxjs/Observable.js","moduleName":"./~/rxjs/Observable.js","type":"cjs require","userRequest":"./util/toSubscriber","loc":"4:21-51"}],"source":"\"use strict\";\n\nvar Subscriber_1 = require('../Subscriber');\nvar rxSubscriber_1 = require('../symbol/rxSubscriber');\nfunction toSubscriber(nextOrObserver, error, complete) {\n    if (nextOrObserver) {\n        if (nextOrObserver instanceof Subscriber_1.Subscriber) {\n            return nextOrObserver;\n        }\n        if (nextOrObserver[rxSubscriber_1.$$rxSubscriber]) {\n            return nextOrObserver[rxSubscriber_1.$$rxSubscriber]();\n        }\n    }\n    if (!nextOrObserver && !error && !complete) {\n        return new Subscriber_1.Subscriber();\n    }\n    return new Subscriber_1.Subscriber(nextOrObserver, error, complete);\n}\nexports.toSubscriber = toSubscriber;\n//# sourceMappingURL=toSubscriber.js.map"},{"id":88,"identifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/util/tryCatch.js","name":"./~/rxjs/util/tryCatch.js","index":61,"index2":51,"size":419,"cacheable":true,"built":true,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":36,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/babel-loader/index.js!/Users/mk/Code/github/msafi/text-mask/node_modules/rxjs/Subscription.js","module":"./~/rxjs/Subscription.js","moduleName":"./~/rxjs/Subscription.js","type":"cjs require","userRequest":"./util/tryCatch","loc":"8:17-43"}],"source":"\"use strict\";\n\nvar errorObject_1 = require('./errorObject');\nvar tryCatchTarget;\nfunction tryCatcher() {\n    try {\n        return tryCatchTarget.apply(this, arguments);\n    } catch (e) {\n        errorObject_1.errorObject.e = e;\n        return errorObject_1.errorObject;\n    }\n}\nfunction tryCatch(fn) {\n    tryCatchTarget = fn;\n    return tryCatcher;\n}\nexports.tryCatch = tryCatch;\n;\n//# sourceMappingURL=tryCatch.js.map"},{"id":89,"identifier":"external {\"root\":[\"ng\",\"forms\"],\"commonjs\":\"@angular/forms\",\"commonjs2\":\"@angular/forms\",\"amd\":\"@angular/forms\"}","name":"external {\"root\":[\"ng\",\"forms\"],\"commonjs\":\"@angular/forms\",\"commonjs2\":\"@angular/forms\",\"amd\":\"@angular/forms\"}","index":84,"index2":83,"size":42,"cacheable":false,"built":false,"optional":false,"prefetched":false,"chunks":[0],"assets":[],"issuer":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","failed":false,"errors":0,"warnings":0,"reasons":[{"moduleId":0,"moduleIdentifier":"/Users/mk/Code/github/msafi/text-mask/node_modules/awesome-typescript-loader/dist.babel/entry.js?{\"tsconfig\":\"./angular2/tsconfig.json\",\"declaration\":true}!/Users/mk/Code/github/msafi/text-mask/angular2/src/angular2TextMask.ts","module":"./angular2/src/angular2TextMask.ts","moduleName":"./angular2/src/angular2TextMask.ts","type":"cjs require","userRequest":"@angular/forms","loc":"13:14-39"}]}],"filteredModules":0,"children":[]}